Skip to content

Commit 642620d

Browse files
committed
WIP: WebView extraction - Rename android from RNC to RCT
1 parent 922151e commit 642620d

File tree

6 files changed

+37
-41
lines changed

6 files changed

+37
-41
lines changed

README.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,6 @@ Additional properties are supported and will be added here; for now, refer to th
4545

4646
Simply install React Native WebView and then use it in place of the core WebView. Their APIs are currently identical.
4747

48-
## Contributing
49-
50-
_Guide coming soon_
51-
5248
### Contributor Notes
5349

5450
* I've removed all PropTypes for now. Instead, we'll be moving toward Flow or TypeScript at some later date

android/src/main/java/com/reactnativecommunity/webview/RNCWebViewManager.java renamed to android/src/main/java/com/reactnativecommunity/webview/RCTWebViewManager.java

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -83,10 +83,10 @@
8383
* - canGoBack - boolean, whether there is anything on a history stack to go back
8484
* - canGoForward - boolean, whether it is possible to request GO_FORWARD command
8585
*/
86-
@ReactModule(name = RNCWebViewManager.REACT_CLASS)
87-
public class RNCWebViewManager extends SimpleViewManager<WebView> {
86+
@ReactModule(name = RCTWebViewManager.REACT_CLASS)
87+
public class RCTWebViewManager extends SimpleViewManager<WebView> {
8888

89-
protected static final String REACT_CLASS = "RNCWebView";
89+
protected static final String REACT_CLASS = "RCTWebView";
9090

9191
protected static final String HTML_ENCODING = "UTF-8";
9292
protected static final String HTML_MIME_TYPE = "text/html";
@@ -108,7 +108,7 @@ public class RNCWebViewManager extends SimpleViewManager<WebView> {
108108
protected WebViewConfig mWebViewConfig;
109109
protected @Nullable WebView.PictureListener mPictureListener;
110110

111-
protected static class RNCWebViewClient extends WebViewClient {
111+
protected static class RCTWebViewClient extends WebViewClient {
112112

113113
protected boolean mLastLoadFailed = false;
114114
protected @Nullable ReadableArray mUrlPrefixesForDefaultIntent;
@@ -119,7 +119,7 @@ public void onPageFinished(WebView webView, String url) {
119119
super.onPageFinished(webView, url);
120120

121121
if (!mLastLoadFailed) {
122-
RNCWebView reactWebView = (RNCWebView) webView;
122+
RCTWebView reactWebView = (RCTWebView) webView;
123123
reactWebView.callInjectedJavaScript();
124124
reactWebView.linkBridge();
125125
emitFinishEvent(webView, url);
@@ -242,15 +242,15 @@ public void setOriginWhitelist(List<Pattern> originWhitelist) {
242242
* Subclass of {@link WebView} that implements {@link LifecycleEventListener} interface in order
243243
* to call {@link WebView#destroy} on activity destroy event and also to clear the client
244244
*/
245-
protected static class RNCWebView extends WebView implements LifecycleEventListener {
245+
protected static class RCTWebView extends WebView implements LifecycleEventListener {
246246
protected @Nullable String injectedJS;
247247
protected boolean messagingEnabled = false;
248-
protected @Nullable RNCWebViewClient mRNCWebViewClient;
248+
protected @Nullable RCTWebViewClient mRCTWebViewClient;
249249

250-
protected class RNCWebViewBridge {
251-
RNCWebView mContext;
250+
protected class RCTWebViewBridge {
251+
RCTWebView mContext;
252252

253-
RNCWebViewBridge(RNCWebView c) {
253+
RCTWebViewBridge(RCTWebView c) {
254254
mContext = c;
255255
}
256256

@@ -267,7 +267,7 @@ public void postMessage(String message) {
267267
* Reactive Native needed for access to ReactNative internal system functionality
268268
*
269269
*/
270-
public RNCWebView(ThemedReactContext reactContext) {
270+
public RCTWebView(ThemedReactContext reactContext) {
271271
super(reactContext);
272272
}
273273

@@ -289,19 +289,19 @@ public void onHostDestroy() {
289289
@Override
290290
public void setWebViewClient(WebViewClient client) {
291291
super.setWebViewClient(client);
292-
mRNCWebViewClient = (RNCWebViewClient)client;
292+
mRCTWebViewClient = (RCTWebViewClient)client;
293293
}
294294

295-
public @Nullable RNCWebViewClient getRNCWebViewClient() {
296-
return mRNCWebViewClient;
295+
public @Nullable RCTWebViewClient getRCTWebViewClient() {
296+
return mRCTWebViewClient;
297297
}
298298

299299
public void setInjectedJavaScript(@Nullable String js) {
300300
injectedJS = js;
301301
}
302302

303-
protected RNCWebViewBridge createRNCWebViewBridge(RNCWebView webView) {
304-
return new RNCWebViewBridge(webView);
303+
protected RCTWebViewBridge createRCTWebViewBridge(RCTWebView webView) {
304+
return new RCTWebViewBridge(webView);
305305
}
306306

307307
public void setMessagingEnabled(boolean enabled) {
@@ -311,7 +311,7 @@ public void setMessagingEnabled(boolean enabled) {
311311

312312
messagingEnabled = enabled;
313313
if (enabled) {
314-
addJavascriptInterface(createRNCWebViewBridge(this), BRIDGE_NAME);
314+
addJavascriptInterface(createRCTWebViewBridge(this), BRIDGE_NAME);
315315
linkBridge();
316316
} else {
317317
removeJavascriptInterface(BRIDGE_NAME);
@@ -360,14 +360,14 @@ protected void cleanupCallbacksAndDestroy() {
360360
}
361361
}
362362

363-
public RNCWebViewManager() {
363+
public RCTWebViewManager() {
364364
mWebViewConfig = new WebViewConfig() {
365365
public void configWebView(WebView webView) {
366366
}
367367
};
368368
}
369369

370-
public RNCWebViewManager(WebViewConfig webViewConfig) {
370+
public RCTWebViewManager(WebViewConfig webViewConfig) {
371371
mWebViewConfig = webViewConfig;
372372
}
373373

@@ -376,14 +376,14 @@ public String getName() {
376376
return REACT_CLASS;
377377
}
378378

379-
protected RNCWebView createRNCWebViewInstance(ThemedReactContext reactContext) {
380-
return new RNCWebView(reactContext);
379+
protected RCTWebView createRCTWebViewInstance(ThemedReactContext reactContext) {
380+
return new RCTWebView(reactContext);
381381
}
382382

383383
@Override
384384
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
385385
protected WebView createViewInstance(ThemedReactContext reactContext) {
386-
RNCWebView webView = createRNCWebViewInstance(reactContext);
386+
RCTWebView webView = createRCTWebViewInstance(reactContext);
387387
webView.setWebChromeClient(new WebChromeClient() {
388388
@Override
389389
public boolean onConsoleMessage(ConsoleMessage message) {
@@ -474,12 +474,12 @@ public void setSaveFormDataDisabled(WebView view, boolean disable) {
474474

475475
@ReactProp(name = "injectedJavaScript")
476476
public void setInjectedJavaScript(WebView view, @Nullable String injectedJavaScript) {
477-
((RNCWebView) view).setInjectedJavaScript(injectedJavaScript);
477+
((RCTWebView) view).setInjectedJavaScript(injectedJavaScript);
478478
}
479479

480480
@ReactProp(name = "messagingEnabled")
481481
public void setMessagingEnabled(WebView view, boolean enabled) {
482-
((RNCWebView) view).setMessagingEnabled(enabled);
482+
((RCTWebView) view).setMessagingEnabled(enabled);
483483
}
484484

485485
@ReactProp(name = "source")
@@ -568,7 +568,7 @@ public void setMixedContentMode(WebView view, @Nullable String mixedContentMode)
568568
public void setUrlPrefixesForDefaultIntent(
569569
WebView view,
570570
@Nullable ReadableArray urlPrefixesForDefaultIntent) {
571-
RNCWebViewClient client = ((RNCWebView) view).getRNCWebViewClient();
571+
RCTWebViewClient client = ((RCTWebView) view).getRCTWebViewClient();
572572
if (client != null && urlPrefixesForDefaultIntent != null) {
573573
client.setUrlPrefixesForDefaultIntent(urlPrefixesForDefaultIntent);
574574
}
@@ -585,7 +585,7 @@ public void setGeolocationEnabled(
585585
public void setOriginWhitelist(
586586
WebView view,
587587
@Nullable ReadableArray originWhitelist) {
588-
RNCWebViewClient client = ((RNCWebView) view).getRNCWebViewClient();
588+
RCTWebViewClient client = ((RCTWebView) view).getRCTWebViewClient();
589589
if (client != null && originWhitelist != null) {
590590
List<Pattern> whiteList = new LinkedList<>();
591591
for (int i = 0 ; i < originWhitelist.size() ; i++) {
@@ -598,7 +598,7 @@ public void setOriginWhitelist(
598598
@Override
599599
protected void addEventEmitters(ThemedReactContext reactContext, WebView view) {
600600
// Do not register default touch emitter and let WebView implementation handle touches
601-
view.setWebViewClient(new RNCWebViewClient());
601+
view.setWebViewClient(new RCTWebViewClient());
602602
}
603603

604604
@Override
@@ -656,8 +656,8 @@ public void receiveCommand(WebView root, int commandId, @Nullable ReadableArray
656656
@Override
657657
public void onDropViewInstance(WebView webView) {
658658
super.onDropViewInstance(webView);
659-
((ThemedReactContext) webView.getContext()).removeLifecycleEventListener((RNCWebView) webView);
660-
((RNCWebView) webView).cleanupCallbacksAndDestroy();
659+
((ThemedReactContext) webView.getContext()).removeLifecycleEventListener((RCTWebView) webView);
660+
((RCTWebView) webView).cleanupCallbacksAndDestroy();
661661
}
662662

663663
protected WebView.PictureListener getPictureListener() {

android/src/main/java/com/reactnativecommunity/webview/RNCWebViewModule.java renamed to android/src/main/java/com/reactnativecommunity/webview/RCTWebViewModule.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,17 @@
66
import com.facebook.react.bridge.ReactMethod;
77
import com.facebook.react.bridge.Callback;
88

9-
public class RNCWebViewModule extends ReactContextBaseJavaModule {
9+
public class RCTWebViewModule extends ReactContextBaseJavaModule {
1010

1111
private final ReactApplicationContext reactContext;
1212

13-
public RNCWebViewModule(ReactApplicationContext reactContext) {
13+
public RCTWebViewModule(ReactApplicationContext reactContext) {
1414
super(reactContext);
1515
this.reactContext = reactContext;
1616
}
1717

1818
@Override
1919
public String getName() {
20-
return "RNCWebView";
20+
return "RCTWebView";
2121
}
2222
}

android/src/main/java/com/reactnativecommunity/webview/RNCWebViewPackage.java renamed to android/src/main/java/com/reactnativecommunity/webview/RCTWebViewPackage.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@
1010
import com.facebook.react.bridge.ReactApplicationContext;
1111
import com.facebook.react.uimanager.ViewManager;
1212
import com.facebook.react.bridge.JavaScriptModule;
13-
public class RNCWebViewPackage implements ReactPackage {
13+
public class RCTWebViewPackage implements ReactPackage {
1414
@Override
1515
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
16-
return Arrays.<NativeModule>asList(new RNCWebViewModule(reactContext));
16+
return Arrays.<NativeModule>asList(new RCTWebViewModule(reactContext));
1717
}
1818

1919
// Deprecated from RN 0.47
@@ -23,7 +23,7 @@ public List<Class<? extends JavaScriptModule>> createJSModules() {
2323

2424
@Override
2525
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
26-
RNCWebViewManager viewManager = new RNCWebViewManager();
26+
RCTWebViewManager viewManager = new RCTWebViewManager();
2727
return Arrays.<ViewManager>asList(viewManager);
2828
}
2929
}

android/src/main/java/com/reactnativecommunity/webview/WebViewConfig.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
/**
66
* Implement this interface in order to config your {@link WebView}. An instance of that
7-
* implementation will have to be given as a constructor argument to {@link RNCWebViewManager}.
7+
* implementation will have to be given as a constructor argument to {@link RCTWebViewManager}.
88
*/
99
public interface WebViewConfig {
1010

js/WebView.android.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ import WebViewShared from './WebViewShared';
2727

2828
const resolveAssetSource = Image.resolveAssetSource;
2929

30-
const RNC_WEBVIEW_REF = 'webview';
30+
const RCT_WEBVIEW_REF = 'webview';
3131

3232
const WebViewState = keyMirror({
3333
IDLE: null,

0 commit comments

Comments
 (0)