react-native-webview-bootpay 13.8.42 → 13.13.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/README.md +53 -69
  2. package/android/build.gradle +1 -11
  3. package/android/gradle.properties +0 -42
  4. package/android/src/main/AndroidManifest.xml +3 -1
  5. package/android/src/main/AndroidManifestNew.xml +13 -0
  6. package/android/src/main/java/kr/co/bootpay/webview/BPCWebChromeClient.java +54 -10
  7. package/android/src/main/java/kr/co/bootpay/webview/BPCWebView.java +101 -68
  8. package/android/src/main/java/kr/co/bootpay/webview/BPCWebViewClient.java +68 -60
  9. package/android/src/main/java/kr/co/bootpay/webview/BPCWebViewManagerImpl.kt +119 -65
  10. package/android/src/main/java/kr/co/bootpay/webview/BPCWebViewMessagingModule.kt +9 -0
  11. package/android/src/main/java/kr/co/bootpay/webview/BPCWebViewModuleImpl.java +1 -1
  12. package/android/src/main/java/kr/co/bootpay/webview/BootpayUrlHelper.java +4 -12
  13. package/android/src/newarch/{com/reactnativecommunity → kr/co/bootpay}/webview/BPCWebViewManager.java +118 -109
  14. package/android/src/newarch/{com/reactnativecommunity → kr/co/bootpay}/webview/BPCWebViewModule.java +1 -1
  15. package/android/src/{main/java → oldarch}/kr/co/bootpay/webview/BPCWebViewManager.java +63 -58
  16. package/android/src/{main/java → oldarch}/kr/co/bootpay/webview/BPCWebViewModule.java +1 -1
  17. package/apple/BPCWebView.mm +21 -12
  18. package/apple/BPCWebViewImpl.h +11 -1
  19. package/apple/BPCWebViewImpl.m +278 -216
  20. package/apple/BPCWebViewManager.mm +5 -24
  21. package/apple/BPCWebViewModule.h +23 -0
  22. package/apple/BPCWebViewModule.mm +34 -0
  23. package/apple/RCTConvert+WKDataDetectorTypes.h +11 -0
  24. package/apple/RCTConvert+WKDataDetectorTypes.m +27 -0
  25. package/ios/RNCWebView.xcodeproj/project.pbxproj +24 -24
  26. package/ios/RNCWebView.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  27. package/ios/RNCWebView.xcodeproj/project.xcworkspace/xcuserdata/taesupyoon.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  28. package/ios/RNCWebView.xcodeproj/xcuserdata/taesupyoon.xcuserdatad/xcschemes/xcschememanagement.plist +14 -0
  29. package/lib/BPCWebViewNativeComponent.d.ts +24 -25
  30. package/lib/BPCWebViewNativeComponent.js +1 -1
  31. package/lib/{NativeBPCWebView.d.ts → NativeBPCWebViewModule.d.ts} +2 -5
  32. package/lib/{NativeBPCWebView.js → NativeBPCWebViewModule.js} +1 -1
  33. package/lib/WebView.android.d.ts +0 -1
  34. package/lib/WebView.android.js +1 -1
  35. package/lib/WebView.d.ts +0 -1
  36. package/lib/WebView.ios.d.ts +0 -1
  37. package/lib/WebView.ios.js +1 -1
  38. package/lib/WebView.js +1 -1
  39. package/lib/WebView.macos.d.ts +0 -1
  40. package/lib/WebView.macos.js +1 -1
  41. package/lib/WebView.styles.d.ts +37 -11
  42. package/lib/WebView.styles.js +1 -1
  43. package/lib/WebView.windows.d.ts +0 -1
  44. package/lib/WebView.windows.js +1 -1
  45. package/lib/WebViewNativeComponent.macos.d.ts +1 -2
  46. package/lib/WebViewNativeComponent.windows.d.ts +1 -2
  47. package/lib/WebViewShared.d.ts +0 -1
  48. package/lib/WebViewShared.js +1 -1
  49. package/lib/WebViewTypes.d.ts +51 -3
  50. package/lib/WebViewTypes.js +1 -1
  51. package/lib/index.d.ts +0 -1
  52. package/macos/RNCWebView.xcodeproj/project.pbxproj +36 -36
  53. package/package.json +13 -12
  54. package/react-native.config.js +1 -5
  55. package/src/BPCWebViewNativeComponent.ts +143 -79
  56. package/src/NativeBPCWebViewModule.ts +13 -0
  57. package/src/WebView.android.tsx +295 -190
  58. package/src/WebView.ios.tsx +253 -186
  59. package/src/WebView.macos.tsx +220 -152
  60. package/src/WebView.styles.ts +9 -12
  61. package/src/WebView.tsx +14 -7
  62. package/src/WebView.windows.tsx +180 -126
  63. package/src/WebViewNativeComponent.macos.ts +4 -5
  64. package/src/WebViewNativeComponent.windows.ts +6 -8
  65. package/src/WebViewShared.tsx +139 -91
  66. package/src/WebViewTypes.ts +80 -35
  67. package/src/__tests__/WebViewShared-test.js +170 -55
  68. package/windows/ReactNativeWebView/ReactNativeWebView.vcxproj +8 -17
  69. package/windows/ReactNativeWebView/ReactPackageProvider.cpp +5 -1
  70. package/windows/ReactNativeWebView/ReactWebView.cpp +73 -6
  71. package/windows/ReactNativeWebView/ReactWebView.h +11 -1
  72. package/windows/ReactNativeWebView/ReactWebView.idl +12 -3
  73. package/windows/ReactNativeWebView/ReactWebView2.cpp +294 -129
  74. package/windows/ReactNativeWebView/ReactWebView2.h +42 -5
  75. package/windows/ReactNativeWebView/ReactWebView2Manager.cpp +60 -34
  76. package/windows/ReactNativeWebView/ReactWebView2Manager.h +4 -4
  77. package/windows/ReactNativeWebView/ReactWebViewHelpers.cpp +70 -0
  78. package/windows/ReactNativeWebView/ReactWebViewHelpers.h +16 -0
  79. package/windows/ReactNativeWebView/ReactWebViewManager.cpp +22 -3
  80. package/windows/ReactNativeWebView/ReactWebViewManager.h +6 -1
  81. package/windows/ReactNativeWebView/pch.h +11 -7
  82. package/windows/ReactNativeWebView.sln +14 -14
  83. package/ios/main.jsbundle +0 -457
  84. package/lib/BPCWebViewNativeComponent.d.ts.map +0 -1
  85. package/lib/NativeBPCWebView.d.ts.map +0 -1
  86. package/lib/WebView.android.d.ts.map +0 -1
  87. package/lib/WebView.d.ts.map +0 -1
  88. package/lib/WebView.ios.d.ts.map +0 -1
  89. package/lib/WebView.macos.d.ts.map +0 -1
  90. package/lib/WebView.styles.d.ts.map +0 -1
  91. package/lib/WebView.windows.d.ts.map +0 -1
  92. package/lib/WebViewNativeComponent.macos.d.ts.map +0 -1
  93. package/lib/WebViewNativeComponent.windows.d.ts.map +0 -1
  94. package/lib/WebViewShared.d.ts.map +0 -1
  95. package/lib/WebViewTypes.d.ts.map +0 -1
  96. package/lib/index.d.ts.map +0 -1
  97. package/react-native-webview-bootpay.podspec +0 -46
  98. package/src/NativeBPCWebView.ts +0 -14
  99. package/windows/ReactNativeWebView/packages.config +0 -5
  100. /package/android/src/main/java/kr/co/bootpay/webview/{BPCWebviewWrapper.kt → BPCWebViewWrapper.kt} +0 -0
@@ -7,8 +7,8 @@ import com.facebook.react.bridge.ReadableArray;
7
7
  import com.facebook.react.bridge.ReadableMap;
8
8
  import com.facebook.react.common.MapBuilder;
9
9
  import com.facebook.react.module.annotations.ReactModule;
10
- import com.facebook.react.uimanager.SimpleViewManager;
11
10
  import com.facebook.react.uimanager.ThemedReactContext;
11
+ import com.facebook.react.uimanager.ViewGroupManager;
12
12
  import com.facebook.react.uimanager.ViewManagerDelegate;
13
13
  import com.facebook.react.uimanager.annotations.ReactProp;
14
14
  import com.facebook.react.viewmanagers.BPCWebViewManagerDelegate;
@@ -33,20 +33,20 @@ import org.json.JSONObject;
33
33
  import java.util.Map;
34
34
 
35
35
  @ReactModule(name = BPCWebViewManagerImpl.NAME)
36
- public class BPCWebViewManager extends SimpleViewManager<BPCWebView>
37
- implements BPCWebViewManagerInterface<BPCWebView> {
36
+ public class BPCWebViewManager extends ViewGroupManager<BPCWebViewWrapper>
37
+ implements BPCWebViewManagerInterface<BPCWebViewWrapper> {
38
38
 
39
- private final ViewManagerDelegate<BPCWebView> mDelegate;
39
+ private final ViewManagerDelegate<BPCWebViewWrapper> mDelegate;
40
40
  private final BPCWebViewManagerImpl mBPCWebViewManagerImpl;
41
41
 
42
42
  public BPCWebViewManager() {
43
43
  mDelegate = new BPCWebViewManagerDelegate<>(this);
44
- mBPCWebViewManagerImpl = new BPCWebViewManagerImpl();
44
+ mBPCWebViewManagerImpl = new BPCWebViewManagerImpl(true);
45
45
  }
46
46
 
47
47
  @Nullable
48
48
  @Override
49
- protected ViewManagerDelegate<BPCWebView> getDelegate() {
49
+ protected ViewManagerDelegate<BPCWebViewWrapper> getDelegate() {
50
50
  return mDelegate;
51
51
  }
52
52
 
@@ -58,405 +58,410 @@ public class BPCWebViewManager extends SimpleViewManager<BPCWebView>
58
58
 
59
59
  @NonNull
60
60
  @Override
61
- protected BPCWebView createViewInstance(@NonNull ThemedReactContext context) {
61
+ protected BPCWebViewWrapper createViewInstance(@NonNull ThemedReactContext context) {
62
62
  return mBPCWebViewManagerImpl.createViewInstance(context);
63
63
  }
64
64
 
65
65
  @Override
66
66
  @ReactProp(name = "allowFileAccess")
67
- public void setAllowFileAccess(BPCWebView view, boolean value) {
67
+ public void setAllowFileAccess(BPCWebViewWrapper view, boolean value) {
68
68
  mBPCWebViewManagerImpl.setAllowFileAccess(view, value);
69
69
  }
70
70
 
71
71
  @Override
72
72
  @ReactProp(name = "allowFileAccessFromFileURLs")
73
- public void setAllowFileAccessFromFileURLs(BPCWebView view, boolean value) {
73
+ public void setAllowFileAccessFromFileURLs(BPCWebViewWrapper view, boolean value) {
74
74
  mBPCWebViewManagerImpl.setAllowFileAccessFromFileURLs(view, value);
75
75
 
76
76
  }
77
77
 
78
78
  @Override
79
79
  @ReactProp(name = "allowUniversalAccessFromFileURLs")
80
- public void setAllowUniversalAccessFromFileURLs(BPCWebView view, boolean value) {
80
+ public void setAllowUniversalAccessFromFileURLs(BPCWebViewWrapper view, boolean value) {
81
81
  mBPCWebViewManagerImpl.setAllowUniversalAccessFromFileURLs(view, value);
82
82
  }
83
83
 
84
84
  @Override
85
85
  @ReactProp(name = "allowsFullscreenVideo")
86
- public void setAllowsFullscreenVideo(BPCWebView view, boolean value) {
86
+ public void setAllowsFullscreenVideo(BPCWebViewWrapper view, boolean value) {
87
87
  mBPCWebViewManagerImpl.setAllowsFullscreenVideo(view, value);
88
88
  }
89
89
 
90
90
  @Override
91
91
  @ReactProp(name = "allowsProtectedMedia")
92
- public void setAllowsProtectedMedia(BPCWebView view, boolean value) {
92
+ public void setAllowsProtectedMedia(BPCWebViewWrapper view, boolean value) {
93
93
  mBPCWebViewManagerImpl.setAllowsProtectedMedia(view, value);
94
94
  }
95
95
 
96
96
  @Override
97
97
  @ReactProp(name = "androidLayerType")
98
- public void setAndroidLayerType(BPCWebView view, @Nullable String value) {
98
+ public void setAndroidLayerType(BPCWebViewWrapper view, @Nullable String value) {
99
99
  mBPCWebViewManagerImpl.setAndroidLayerType(view, value);
100
100
  }
101
101
 
102
102
  @Override
103
103
  @ReactProp(name = "applicationNameForUserAgent")
104
- public void setApplicationNameForUserAgent(BPCWebView view, @Nullable String value) {
104
+ public void setApplicationNameForUserAgent(BPCWebViewWrapper view, @Nullable String value) {
105
105
  mBPCWebViewManagerImpl.setApplicationNameForUserAgent(view, value);
106
106
  }
107
107
 
108
108
  @Override
109
109
  @ReactProp(name = "basicAuthCredential")
110
- public void setBasicAuthCredential(BPCWebView view, @Nullable ReadableMap value) {
110
+ public void setBasicAuthCredential(BPCWebViewWrapper view, @Nullable ReadableMap value) {
111
111
  mBPCWebViewManagerImpl.setBasicAuthCredential(view, value);
112
112
  }
113
113
 
114
114
  @Override
115
115
  @ReactProp(name = "cacheEnabled")
116
- public void setCacheEnabled(BPCWebView view, boolean value) {
116
+ public void setCacheEnabled(BPCWebViewWrapper view, boolean value) {
117
117
  mBPCWebViewManagerImpl.setCacheEnabled(view, value);
118
118
  }
119
119
 
120
120
  @Override
121
121
  @ReactProp(name = "cacheMode")
122
- public void setCacheMode(BPCWebView view, @Nullable String value) {
122
+ public void setCacheMode(BPCWebViewWrapper view, @Nullable String value) {
123
123
  mBPCWebViewManagerImpl.setCacheMode(view, value);
124
124
  }
125
125
 
126
126
  @Override
127
127
  @ReactProp(name = "domStorageEnabled")
128
- public void setDomStorageEnabled(BPCWebView view, boolean value) {
128
+ public void setDomStorageEnabled(BPCWebViewWrapper view, boolean value) {
129
129
  mBPCWebViewManagerImpl.setDomStorageEnabled(view, value);
130
130
  }
131
131
 
132
132
  @Override
133
133
  @ReactProp(name = "downloadingMessage")
134
- public void setDownloadingMessage(BPCWebView view, @Nullable String value) {
134
+ public void setDownloadingMessage(BPCWebViewWrapper view, @Nullable String value) {
135
135
  mBPCWebViewManagerImpl.setDownloadingMessage(value);
136
136
  }
137
137
 
138
138
  @Override
139
139
  @ReactProp(name = "forceDarkOn")
140
- public void setForceDarkOn(BPCWebView view, boolean value) {
140
+ public void setForceDarkOn(BPCWebViewWrapper view, boolean value) {
141
141
  mBPCWebViewManagerImpl.setForceDarkOn(view, value);
142
142
  }
143
143
 
144
144
  @Override
145
145
  @ReactProp(name = "geolocationEnabled")
146
- public void setGeolocationEnabled(BPCWebView view, boolean value) {
146
+ public void setGeolocationEnabled(BPCWebViewWrapper view, boolean value) {
147
147
  mBPCWebViewManagerImpl.setGeolocationEnabled(view, value);
148
148
  }
149
149
 
150
150
  @Override
151
151
  @ReactProp(name = "hasOnScroll")
152
- public void setHasOnScroll(BPCWebView view, boolean hasScrollEvent) {
152
+ public void setHasOnScroll(BPCWebViewWrapper view, boolean hasScrollEvent) {
153
153
  mBPCWebViewManagerImpl.setHasOnScroll(view, hasScrollEvent);
154
154
  }
155
155
 
156
156
  @Override
157
157
  @ReactProp(name = "incognito")
158
- public void setIncognito(BPCWebView view, boolean value) {
158
+ public void setIncognito(BPCWebViewWrapper view, boolean value) {
159
159
  mBPCWebViewManagerImpl.setIncognito(view, value);
160
160
  }
161
161
 
162
162
  @Override
163
163
  @ReactProp(name = "injectedJavaScript")
164
- public void setInjectedJavaScript(BPCWebView view, @Nullable String value) {
164
+ public void setInjectedJavaScript(BPCWebViewWrapper view, @Nullable String value) {
165
165
  mBPCWebViewManagerImpl.setInjectedJavaScript(view, value);
166
166
  }
167
167
 
168
168
  @Override
169
169
  @ReactProp(name = "injectedJavaScriptBeforeContentLoaded")
170
- public void setInjectedJavaScriptBeforeContentLoaded(BPCWebView view, @Nullable String value) {
170
+ public void setInjectedJavaScriptBeforeContentLoaded(BPCWebViewWrapper view, @Nullable String value) {
171
171
  mBPCWebViewManagerImpl.setInjectedJavaScriptBeforeContentLoaded(view, value);
172
172
  }
173
173
 
174
174
  @Override
175
175
  @ReactProp(name = "injectedJavaScriptForMainFrameOnly")
176
- public void setInjectedJavaScriptForMainFrameOnly(BPCWebView view, boolean value) {
176
+ public void setInjectedJavaScriptForMainFrameOnly(BPCWebViewWrapper view, boolean value) {
177
177
  mBPCWebViewManagerImpl.setInjectedJavaScriptForMainFrameOnly(view, value);
178
178
 
179
179
  }
180
180
 
181
181
  @Override
182
182
  @ReactProp(name = "injectedJavaScriptBeforeContentLoadedForMainFrameOnly")
183
- public void setInjectedJavaScriptBeforeContentLoadedForMainFrameOnly(BPCWebView view, boolean value) {
183
+ public void setInjectedJavaScriptBeforeContentLoadedForMainFrameOnly(BPCWebViewWrapper view, boolean value) {
184
184
  mBPCWebViewManagerImpl.setInjectedJavaScriptBeforeContentLoadedForMainFrameOnly(view, value);
185
185
 
186
186
  }
187
187
 
188
188
  @ReactProp(name = "injectedJavaScriptObject")
189
- public void setInjectedJavaScriptObject(BPCWebView view, @Nullable String value) {
189
+ public void setInjectedJavaScriptObject(BPCWebViewWrapper view, @Nullable String value) {
190
190
  mBPCWebViewManagerImpl.setInjectedJavaScriptObject(view, value);
191
191
  }
192
192
 
193
193
  @Override
194
194
  @ReactProp(name = "javaScriptCanOpenWindowsAutomatically")
195
- public void setJavaScriptCanOpenWindowsAutomatically(BPCWebView view, boolean value) {
195
+ public void setJavaScriptCanOpenWindowsAutomatically(BPCWebViewWrapper view, boolean value) {
196
196
  mBPCWebViewManagerImpl.setJavaScriptCanOpenWindowsAutomatically(view, value);
197
197
  }
198
198
 
199
199
  @ReactProp(name = "javaScriptEnabled")
200
- public void setJavaScriptEnabled(BPCWebView view, boolean enabled) {
200
+ public void setJavaScriptEnabled(BPCWebViewWrapper view, boolean enabled) {
201
201
  mBPCWebViewManagerImpl.setJavaScriptEnabled(view, enabled);
202
202
  }
203
203
 
204
204
  @Override
205
205
  @ReactProp(name = "lackPermissionToDownloadMessage")
206
- public void setLackPermissionToDownloadMessage(BPCWebView view, @Nullable String value) {
206
+ public void setLackPermissionToDownloadMessage(BPCWebViewWrapper view, @Nullable String value) {
207
207
  mBPCWebViewManagerImpl.setLackPermissionToDownloadMessage(value);
208
208
  }
209
209
 
210
210
  @Override
211
211
  @ReactProp(name = "hasOnOpenWindowEvent")
212
- public void setHasOnOpenWindowEvent(BPCWebView view, boolean hasEvent) {
212
+ public void setHasOnOpenWindowEvent(BPCWebViewWrapper view, boolean hasEvent) {
213
213
  mBPCWebViewManagerImpl.setHasOnOpenWindowEvent(view, hasEvent);
214
214
  }
215
215
 
216
216
  @Override
217
217
  @ReactProp(name = "mediaPlaybackRequiresUserAction")
218
- public void setMediaPlaybackRequiresUserAction(BPCWebView view, boolean value) {
218
+ public void setMediaPlaybackRequiresUserAction(BPCWebViewWrapper view, boolean value) {
219
219
  mBPCWebViewManagerImpl.setMediaPlaybackRequiresUserAction(view, value);
220
220
  }
221
221
 
222
222
  @Override
223
223
  @ReactProp(name = "menuItems")
224
- public void setMenuItems(BPCWebView view, @Nullable ReadableArray items) {
224
+ public void setMenuItems(BPCWebViewWrapper view, @Nullable ReadableArray items) {
225
225
  mBPCWebViewManagerImpl.setMenuCustomItems(view, items);
226
226
  }
227
227
 
228
228
  @Override
229
229
  @ReactProp(name = "suppressMenuItems ")
230
- public void setSuppressMenuItems(BPCWebView view, @Nullable ReadableArray items) {}
230
+ public void setSuppressMenuItems(BPCWebViewWrapper view, @Nullable ReadableArray items) {}
231
231
 
232
232
  @Override
233
233
  @ReactProp(name = "messagingEnabled")
234
- public void setMessagingEnabled(BPCWebView view, boolean value) {
234
+ public void setMessagingEnabled(BPCWebViewWrapper view, boolean value) {
235
235
  mBPCWebViewManagerImpl.setMessagingEnabled(view, value);
236
236
  }
237
237
 
238
238
  @Override
239
239
  @ReactProp(name = "messagingModuleName")
240
- public void setMessagingModuleName(BPCWebView view, @Nullable String value) {
240
+ public void setMessagingModuleName(BPCWebViewWrapper view, @Nullable String value) {
241
241
  mBPCWebViewManagerImpl.setMessagingModuleName(view, value);
242
242
  }
243
243
 
244
244
  @Override
245
245
  @ReactProp(name = "minimumFontSize")
246
- public void setMinimumFontSize(BPCWebView view, int value) {
246
+ public void setMinimumFontSize(BPCWebViewWrapper view, int value) {
247
247
  mBPCWebViewManagerImpl.setMinimumFontSize(view, value);
248
248
  }
249
249
 
250
250
  @Override
251
251
  @ReactProp(name = "mixedContentMode")
252
- public void setMixedContentMode(BPCWebView view, @Nullable String value) {
252
+ public void setMixedContentMode(BPCWebViewWrapper view, @Nullable String value) {
253
253
  mBPCWebViewManagerImpl.setMixedContentMode(view, value);
254
254
  }
255
255
 
256
256
  @Override
257
257
  @ReactProp(name = "nestedScrollEnabled")
258
- public void setNestedScrollEnabled(BPCWebView view, boolean value) {
258
+ public void setNestedScrollEnabled(BPCWebViewWrapper view, boolean value) {
259
259
  mBPCWebViewManagerImpl.setNestedScrollEnabled(view, value);
260
260
  }
261
261
 
262
262
  @Override
263
263
  @ReactProp(name = "overScrollMode")
264
- public void setOverScrollMode(BPCWebView view, @Nullable String value) {
264
+ public void setOverScrollMode(BPCWebViewWrapper view, @Nullable String value) {
265
265
  mBPCWebViewManagerImpl.setOverScrollMode(view, value);
266
266
  }
267
267
 
268
268
  @Override
269
269
  @ReactProp(name = "saveFormDataDisabled")
270
- public void setSaveFormDataDisabled(BPCWebView view, boolean value) {
270
+ public void setSaveFormDataDisabled(BPCWebViewWrapper view, boolean value) {
271
271
  mBPCWebViewManagerImpl.setSaveFormDataDisabled(view, value);
272
272
  }
273
273
 
274
274
  @Override
275
275
  @ReactProp(name = "scalesPageToFit")
276
- public void setScalesPageToFit(BPCWebView view, boolean value) {
276
+ public void setScalesPageToFit(BPCWebViewWrapper view, boolean value) {
277
277
  mBPCWebViewManagerImpl.setScalesPageToFit(view, value);
278
278
  }
279
279
 
280
280
  @Override
281
281
  @ReactProp(name = "setBuiltInZoomControls")
282
- public void setSetBuiltInZoomControls(BPCWebView view, boolean value) {
282
+ public void setSetBuiltInZoomControls(BPCWebViewWrapper view, boolean value) {
283
283
  mBPCWebViewManagerImpl.setSetBuiltInZoomControls(view, value);
284
284
  }
285
285
 
286
286
  @Override
287
287
  @ReactProp(name = "setDisplayZoomControls")
288
- public void setSetDisplayZoomControls(BPCWebView view, boolean value) {
288
+ public void setSetDisplayZoomControls(BPCWebViewWrapper view, boolean value) {
289
289
  mBPCWebViewManagerImpl.setSetDisplayZoomControls(view, value);
290
290
  }
291
291
 
292
292
  @Override
293
293
  @ReactProp(name = "setSupportMultipleWindows")
294
- public void setSetSupportMultipleWindows(BPCWebView view, boolean value) {
294
+ public void setSetSupportMultipleWindows(BPCWebViewWrapper view, boolean value) {
295
295
  mBPCWebViewManagerImpl.setSetSupportMultipleWindows(view, value);
296
296
  }
297
297
 
298
298
  @Override
299
299
  @ReactProp(name = "showsHorizontalScrollIndicator")
300
- public void setShowsHorizontalScrollIndicator(BPCWebView view, boolean value) {
300
+ public void setShowsHorizontalScrollIndicator(BPCWebViewWrapper view, boolean value) {
301
301
  mBPCWebViewManagerImpl.setShowsHorizontalScrollIndicator(view, value);
302
302
  }
303
303
 
304
304
  @Override
305
305
  @ReactProp(name = "showsVerticalScrollIndicator")
306
- public void setShowsVerticalScrollIndicator(BPCWebView view, boolean value) {
306
+ public void setShowsVerticalScrollIndicator(BPCWebViewWrapper view, boolean value) {
307
307
  mBPCWebViewManagerImpl.setShowsVerticalScrollIndicator(view, value);
308
308
  }
309
309
 
310
310
  @Override
311
311
  @ReactProp(name = "newSource")
312
- public void setNewSource(BPCWebView view, @Nullable ReadableMap value) {
313
- mBPCWebViewManagerImpl.setSource(view, value, true);
312
+ public void setNewSource(BPCWebViewWrapper view, @Nullable ReadableMap value) {
313
+ mBPCWebViewManagerImpl.setSource(view, value);
314
314
  }
315
315
 
316
316
  @Override
317
317
  @ReactProp(name = "textZoom")
318
- public void setTextZoom(BPCWebView view, int value) {
318
+ public void setTextZoom(BPCWebViewWrapper view, int value) {
319
319
  mBPCWebViewManagerImpl.setTextZoom(view, value);
320
320
  }
321
321
 
322
322
  @Override
323
323
  @ReactProp(name = "thirdPartyCookiesEnabled")
324
- public void setThirdPartyCookiesEnabled(BPCWebView view, boolean value) {
324
+ public void setThirdPartyCookiesEnabled(BPCWebViewWrapper view, boolean value) {
325
325
  mBPCWebViewManagerImpl.setThirdPartyCookiesEnabled(view, value);
326
326
  }
327
327
 
328
328
  @Override
329
329
  @ReactProp(name = "webviewDebuggingEnabled")
330
- public void setWebviewDebuggingEnabled(BPCWebView view, boolean value) {
330
+ public void setWebviewDebuggingEnabled(BPCWebViewWrapper view, boolean value) {
331
331
  mBPCWebViewManagerImpl.setWebviewDebuggingEnabled(view, value);
332
332
  }
333
333
 
334
334
  /* iOS PROPS - no implemented here */
335
335
  @Override
336
- public void setAllowingReadAccessToURL(BPCWebView view, @Nullable String value) {}
336
+ public void setAllowingReadAccessToURL(BPCWebViewWrapper view, @Nullable String value) {}
337
337
 
338
338
  @Override
339
- public void setAllowsBackForwardNavigationGestures(BPCWebView view, boolean value) {}
339
+ public void setAllowsBackForwardNavigationGestures(BPCWebViewWrapper view, boolean value) {}
340
340
 
341
341
  @Override
342
- public void setAllowsInlineMediaPlayback(BPCWebView view, boolean value) {}
342
+ public void setAllowsInlineMediaPlayback(BPCWebViewWrapper view, boolean value) {}
343
343
 
344
344
  @Override
345
- public void setAllowsAirPlayForMediaPlayback(BPCWebView view, boolean value) {}
345
+ public void setAllowsPictureInPictureMediaPlayback(BPCWebViewWrapper view, boolean value) {}
346
346
 
347
347
  @Override
348
- public void setAllowsLinkPreview(BPCWebView view, boolean value) {}
348
+ public void setAllowsAirPlayForMediaPlayback(BPCWebViewWrapper view, boolean value) {}
349
349
 
350
350
  @Override
351
- public void setAutomaticallyAdjustContentInsets(BPCWebView view, boolean value) {}
351
+ public void setAllowsLinkPreview(BPCWebViewWrapper view, boolean value) {}
352
352
 
353
353
  @Override
354
- public void setAutoManageStatusBarEnabled(BPCWebView view, boolean value) {}
354
+ public void setAutomaticallyAdjustContentInsets(BPCWebViewWrapper view, boolean value) {}
355
355
 
356
356
  @Override
357
- public void setBounces(BPCWebView view, boolean value) {}
357
+ public void setAutoManageStatusBarEnabled(BPCWebViewWrapper view, boolean value) {}
358
358
 
359
359
  @Override
360
- public void setContentInset(BPCWebView view, @Nullable ReadableMap value) {}
360
+ public void setBounces(BPCWebViewWrapper view, boolean value) {}
361
361
 
362
362
  @Override
363
- public void setContentInsetAdjustmentBehavior(BPCWebView view, @Nullable String value) {}
363
+ public void setContentInset(BPCWebViewWrapper view, @Nullable ReadableMap value) {}
364
364
 
365
365
  @Override
366
- public void setContentMode(BPCWebView view, @Nullable String value) {}
366
+ public void setContentInsetAdjustmentBehavior(BPCWebViewWrapper view, @Nullable String value) {}
367
367
 
368
368
  @Override
369
- public void setDataDetectorTypes(BPCWebView view, @Nullable ReadableArray value) {}
369
+ public void setContentMode(BPCWebViewWrapper view, @Nullable String value) {}
370
370
 
371
371
  @Override
372
- public void setDecelerationRate(BPCWebView view, double value) {}
372
+ public void setDataDetectorTypes(BPCWebViewWrapper view, @Nullable ReadableArray value) {}
373
373
 
374
374
  @Override
375
- public void setDirectionalLockEnabled(BPCWebView view, boolean value) {}
375
+ public void setDecelerationRate(BPCWebViewWrapper view, double value) {}
376
376
 
377
377
  @Override
378
- public void setEnableApplePay(BPCWebView view, boolean value) {}
378
+ public void setDirectionalLockEnabled(BPCWebViewWrapper view, boolean value) {}
379
379
 
380
380
  @Override
381
- public void setHideKeyboardAccessoryView(BPCWebView view, boolean value) {}
381
+ public void setEnableApplePay(BPCWebViewWrapper view, boolean value) {}
382
382
 
383
383
  @Override
384
- public void setKeyboardDisplayRequiresUserAction(BPCWebView view, boolean value) {}
384
+ public void setHideKeyboardAccessoryView(BPCWebViewWrapper view, boolean value) {}
385
385
 
386
386
  @Override
387
- public void setPagingEnabled(BPCWebView view, boolean value) {}
387
+ public void setKeyboardDisplayRequiresUserAction(BPCWebViewWrapper view, boolean value) {}
388
388
 
389
389
  @Override
390
- public void setPullToRefreshEnabled(BPCWebView view, boolean value) {}
390
+ public void setPagingEnabled(BPCWebViewWrapper view, boolean value) {}
391
391
 
392
392
  @Override
393
- public void setScrollEnabled(BPCWebView view, boolean value) {}
393
+ public void setPullToRefreshEnabled(BPCWebViewWrapper view, boolean value) {}
394
394
 
395
395
  @Override
396
- public void setSharedCookiesEnabled(BPCWebView view, boolean value) {}
396
+ public void setRefreshControlLightMode(BPCWebViewWrapper view, boolean value) {}
397
397
 
398
398
  @Override
399
- public void setUseSharedProcessPool(BPCWebView view, boolean value) {}
399
+ public void setScrollEnabled(BPCWebViewWrapper view, boolean value) {}
400
400
 
401
401
  @Override
402
- public void setLimitsNavigationsToAppBoundDomains(BPCWebView view, boolean value) {}
402
+ public void setSharedCookiesEnabled(BPCWebViewWrapper view, boolean value) {}
403
403
 
404
404
  @Override
405
- public void setTextInteractionEnabled(BPCWebView view, boolean value) {}
405
+ public void setUseSharedProcessPool(BPCWebViewWrapper view, boolean value) {}
406
406
 
407
407
  @Override
408
- public void setHasOnFileDownload(BPCWebView view, boolean value) {}
408
+ public void setLimitsNavigationsToAppBoundDomains(BPCWebViewWrapper view, boolean value) {}
409
409
 
410
410
  @Override
411
- public void setMediaCapturePermissionGrantType(BPCWebView view, @Nullable String value) {}
411
+ public void setTextInteractionEnabled(BPCWebViewWrapper view, boolean value) {}
412
412
 
413
413
  @Override
414
- public void setFraudulentWebsiteWarningEnabled(BPCWebView view, boolean value) {}
414
+ public void setHasOnFileDownload(BPCWebViewWrapper view, boolean value) {}
415
+
416
+ @Override
417
+ public void setMediaCapturePermissionGrantType(BPCWebViewWrapper view, @Nullable String value) {}
418
+
419
+ @Override
420
+ public void setFraudulentWebsiteWarningEnabled(BPCWebViewWrapper view, boolean value) {}
415
421
  /* !iOS PROPS - no implemented here */
416
422
 
417
423
  @Override
418
424
  @ReactProp(name = "userAgent")
419
- public void setUserAgent(BPCWebView view, @Nullable String value) {
425
+ public void setUserAgent(BPCWebViewWrapper view, @Nullable String value) {
420
426
  mBPCWebViewManagerImpl.setUserAgent(view, value);
421
427
  }
422
428
 
423
- // These will never be called because we use the shared impl for now
424
429
  @Override
425
- public void goBack(BPCWebView view) {
426
- view.goBack();
430
+ public void goBack(BPCWebViewWrapper view) {
431
+ view.getWebView().goBack();
427
432
  }
428
433
 
429
434
  @Override
430
- public void goForward(BPCWebView view) {
431
- view.goForward();
435
+ public void goForward(BPCWebViewWrapper view) {
436
+ view.getWebView().goForward();
432
437
  }
433
438
 
434
439
  @Override
435
- public void reload(BPCWebView view) {
436
- view.reload();
440
+ public void reload(BPCWebViewWrapper view) {
441
+ view.getWebView().reload();
437
442
  }
438
443
 
439
444
  @Override
440
- public void stopLoading(BPCWebView view) {
441
- view.stopLoading();
445
+ public void stopLoading(BPCWebViewWrapper view) {
446
+ view.getWebView().stopLoading();
442
447
  }
443
448
 
444
449
  @Override
445
- public void injectJavaScript(BPCWebView view, String javascript) {
446
- view.evaluateJavascriptWithFallback(javascript);
450
+ public void injectJavaScript(BPCWebViewWrapper view, String javascript) {
451
+ view.getWebView().evaluateJavascriptWithFallback(javascript);
447
452
  }
448
453
 
449
454
  @Override
450
- public void requestFocus(BPCWebView view) {
455
+ public void requestFocus(BPCWebViewWrapper view) {
451
456
  view.requestFocus();
452
457
  }
453
458
 
454
459
  @Override
455
- public void postMessage(BPCWebView view, String data) {
460
+ public void postMessage(BPCWebViewWrapper view, String data) {
456
461
  try {
457
462
  JSONObject eventInitDict = new JSONObject();
458
463
  eventInitDict.put("data", data);
459
- view.evaluateJavascriptWithFallback(
464
+ view.getWebView().evaluateJavascriptWithFallback(
460
465
  "(function () {" +
461
466
  "var event;" +
462
467
  "var data = " + eventInitDict.toString() + ";" +
@@ -475,30 +480,29 @@ public class BPCWebViewManager extends SimpleViewManager<BPCWebView>
475
480
  }
476
481
 
477
482
  @Override
478
- public void loadUrl(BPCWebView view, String url) {
479
- view.loadUrl(url);
483
+ public void loadUrl(BPCWebViewWrapper view, String url) {
484
+ view.getWebView().loadUrl(url);
480
485
  }
481
486
 
482
487
  @Override
483
- public void clearFormData(BPCWebView view) {
484
- view.clearFormData();
488
+ public void clearFormData(BPCWebViewWrapper view) {
489
+ view.getWebView().clearFormData();
485
490
  }
486
491
 
487
492
  @Override
488
- public void clearCache(BPCWebView view, boolean includeDiskFiles) {
489
- view.clearCache(includeDiskFiles);
493
+ public void clearCache(BPCWebViewWrapper view, boolean includeDiskFiles) {
494
+ view.getWebView().clearCache(includeDiskFiles);
490
495
  }
491
496
 
492
497
  @Override
493
- public void clearHistory(BPCWebView view) {
494
- view.clearHistory();
498
+ public void clearHistory(BPCWebViewWrapper view) {
499
+ view.getWebView().clearHistory();
495
500
  }
496
- // !These will never be called
497
501
 
498
502
  @Override
499
- protected void addEventEmitters(@NonNull ThemedReactContext reactContext, BPCWebView view) {
503
+ protected void addEventEmitters(@NonNull ThemedReactContext reactContext, BPCWebViewWrapper view) {
500
504
  // Do not register default touch emitter and let WebView implementation handle touches
501
- view.setWebViewClient(new BPCWebViewClient());
505
+ view.getWebView().setWebViewClient(new BPCWebViewClient());
502
506
  }
503
507
 
504
508
  @Override
@@ -531,13 +535,18 @@ public class BPCWebViewManager extends SimpleViewManager<BPCWebView>
531
535
  }
532
536
 
533
537
  @Override
534
- public void receiveCommand(@NonNull BPCWebView reactWebView, String commandId, @Nullable ReadableArray args) {
535
- mBPCWebViewManagerImpl.receiveCommand(reactWebView, commandId, args);
538
+ public void receiveCommand(@NonNull BPCWebViewWrapper reactWebView, String commandId, @Nullable ReadableArray args) {
536
539
  super.receiveCommand(reactWebView, commandId, args);
537
540
  }
538
541
 
539
542
  @Override
540
- public void onDropViewInstance(@NonNull BPCWebView view) {
543
+ protected void onAfterUpdateTransaction(@NonNull BPCWebViewWrapper view) {
544
+ super.onAfterUpdateTransaction(view);
545
+ mBPCWebViewManagerImpl.onAfterUpdateTransaction(view);
546
+ }
547
+
548
+ @Override
549
+ public void onDropViewInstance(@NonNull BPCWebViewWrapper view) {
541
550
  mBPCWebViewManagerImpl.onDropViewInstance(view);
542
551
  super.onDropViewInstance(view);
543
552
  }
@@ -11,7 +11,7 @@ import com.facebook.react.bridge.ReactApplicationContext;
11
11
  import com.facebook.react.module.annotations.ReactModule;
12
12
 
13
13
  @ReactModule(name = BPCWebViewModuleImpl.NAME)
14
- public class BPCWebViewModule extends NativeBPCWebViewSpec {
14
+ public class BPCWebViewModule extends NativeBPCWebViewModuleSpec {
15
15
  final private BPCWebViewModuleImpl mBPCWebViewModuleImpl;
16
16
 
17
17
  public BPCWebViewModule(ReactApplicationContext reactContext) {