|
@@ -146,7 +146,7 @@ static NSDictionary* customCertificatesForHost;
|
146
|
146
|
selector:@selector(appDidBecomeActive)
|
147
|
147
|
name:UIApplicationDidBecomeActiveNotification
|
148
|
148
|
object:nil];
|
149
|
|
-
|
|
149
|
+
|
150
|
150
|
[[NSNotificationCenter defaultCenter]addObserver:self
|
151
|
151
|
selector:@selector(appWillResignActive)
|
152
|
152
|
name:UIApplicationWillResignActiveNotification
|
|
@@ -174,7 +174,7 @@ static NSDictionary* customCertificatesForHost;
|
174
|
174
|
selector:@selector(hideFullScreenVideoStatusBars)
|
175
|
175
|
name:UIWindowDidBecomeHiddenNotification
|
176
|
176
|
object:nil];
|
177
|
|
-
|
|
177
|
+
|
178
|
178
|
}
|
179
|
179
|
#endif // !TARGET_OS_OSX
|
180
|
180
|
return self;
|
|
@@ -242,7 +242,7 @@ static NSDictionary* customCertificatesForHost;
|
242
|
242
|
if (_applicationNameForUserAgent) {
|
243
|
243
|
wkWebViewConfig.applicationNameForUserAgent = [NSString stringWithFormat:@"%@ %@", wkWebViewConfig.applicationNameForUserAgent, _applicationNameForUserAgent];
|
244
|
244
|
}
|
245
|
|
-
|
|
245
|
+
|
246
|
246
|
return wkWebViewConfig;
|
247
|
247
|
}
|
248
|
248
|
|
|
@@ -307,6 +307,10 @@ static NSDictionary* customCertificatesForHost;
|
307
|
307
|
_webView.scrollView.delegate = nil;
|
308
|
308
|
#endif // !TARGET_OS_OSX
|
309
|
309
|
_webView = nil;
|
|
310
|
+ if (_onContentProcessDidTerminate) {
|
|
311
|
+ NSMutableDictionary<NSString *, id> *event = [self baseEvent];
|
|
312
|
+ _onContentProcessDidTerminate(event);
|
|
313
|
+ }
|
310
|
314
|
}
|
311
|
315
|
|
312
|
316
|
[super removeFromSuperview];
|
|
@@ -1102,7 +1106,7 @@ static NSDictionary* customCertificatesForHost;
|
1102
|
1106
|
if (_ignoreSilentHardwareSwitch) {
|
1103
|
1107
|
[self forceIgnoreSilentHardwareSwitch:true];
|
1104
|
1108
|
}
|
1105
|
|
-
|
|
1109
|
+
|
1106
|
1110
|
if (_onLoadingFinish) {
|
1107
|
1111
|
_onLoadingFinish([self baseEvent]);
|
1108
|
1112
|
}
|
|
@@ -1155,11 +1159,11 @@ static NSDictionary* customCertificatesForHost;
|
1155
|
1159
|
|
1156
|
1160
|
- (void)setInjectedJavaScript:(NSString *)source {
|
1157
|
1161
|
_injectedJavaScript = source;
|
1158
|
|
-
|
|
1162
|
+
|
1159
|
1163
|
self.atEndScript = source == nil ? nil : [[WKUserScript alloc] initWithSource:source
|
1160
|
1164
|
injectionTime:WKUserScriptInjectionTimeAtDocumentEnd
|
1161
|
1165
|
forMainFrameOnly:_injectedJavaScriptForMainFrameOnly];
|
1162
|
|
-
|
|
1166
|
+
|
1163
|
1167
|
if(_webView != nil){
|
1164
|
1168
|
[self resetupScripts:_webView.configuration];
|
1165
|
1169
|
}
|
|
@@ -1167,11 +1171,11 @@ static NSDictionary* customCertificatesForHost;
|
1167
|
1171
|
|
1168
|
1172
|
- (void)setInjectedJavaScriptBeforeContentLoaded:(NSString *)source {
|
1169
|
1173
|
_injectedJavaScriptBeforeContentLoaded = source;
|
1170
|
|
-
|
|
1174
|
+
|
1171
|
1175
|
self.atStartScript = source == nil ? nil : [[WKUserScript alloc] initWithSource:source
|
1172
|
1176
|
injectionTime:WKUserScriptInjectionTimeAtDocumentStart
|
1173
|
1177
|
forMainFrameOnly:_injectedJavaScriptBeforeContentLoadedForMainFrameOnly];
|
1174
|
|
-
|
|
1178
|
+
|
1175
|
1179
|
if(_webView != nil){
|
1176
|
1180
|
[self resetupScripts:_webView.configuration];
|
1177
|
1181
|
}
|
|
@@ -1189,7 +1193,7 @@ static NSDictionary* customCertificatesForHost;
|
1189
|
1193
|
|
1190
|
1194
|
- (void)setMessagingEnabled:(BOOL)messagingEnabled {
|
1191
|
1195
|
_messagingEnabled = messagingEnabled;
|
1192
|
|
-
|
|
1196
|
+
|
1193
|
1197
|
self.postMessageScript = _messagingEnabled ?
|
1194
|
1198
|
[
|
1195
|
1199
|
[WKUserScript alloc]
|
|
@@ -1209,7 +1213,7 @@ static NSDictionary* customCertificatesForHost;
|
1209
|
1213
|
forMainFrameOnly:YES
|
1210
|
1214
|
] :
|
1211
|
1215
|
nil;
|
1212
|
|
-
|
|
1216
|
+
|
1213
|
1217
|
if(_webView != nil){
|
1214
|
1218
|
[self resetupScripts:_webView.configuration];
|
1215
|
1219
|
}
|
|
@@ -1218,7 +1222,7 @@ static NSDictionary* customCertificatesForHost;
|
1218
|
1222
|
- (void)resetupScripts:(WKWebViewConfiguration *)wkWebViewConfig {
|
1219
|
1223
|
[wkWebViewConfig.userContentController removeAllUserScripts];
|
1220
|
1224
|
[wkWebViewConfig.userContentController removeScriptMessageHandlerForName:MessageHandlerName];
|
1221
|
|
-
|
|
1225
|
+
|
1222
|
1226
|
NSString *html5HistoryAPIShimSource = [NSString stringWithFormat:
|
1223
|
1227
|
@"(function(history) {\n"
|
1224
|
1228
|
" function notify(type) {\n"
|
|
@@ -1241,7 +1245,7 @@ static NSDictionary* customCertificatesForHost;
|
1241
|
1245
|
];
|
1242
|
1246
|
WKUserScript *script = [[WKUserScript alloc] initWithSource:html5HistoryAPIShimSource injectionTime:WKUserScriptInjectionTimeAtDocumentStart forMainFrameOnly:YES];
|
1243
|
1247
|
[wkWebViewConfig.userContentController addUserScript:script];
|
1244
|
|
-
|
|
1248
|
+
|
1245
|
1249
|
if(_sharedCookiesEnabled) {
|
1246
|
1250
|
// More info to sending cookies with WKWebView
|
1247
|
1251
|
// https://stackoverflow.com/questions/26573137/can-i-set-the-cookies-to-be-used-by-a-wkwebview/26577303#26577303
|
|
@@ -1303,7 +1307,7 @@ static NSDictionary* customCertificatesForHost;
|
1303
|
1307
|
[wkWebViewConfig.userContentController addUserScript:cookieInScript];
|
1304
|
1308
|
}
|
1305
|
1309
|
}
|
1306
|
|
-
|
|
1310
|
+
|
1307
|
1311
|
if(_messagingEnabled){
|
1308
|
1312
|
if (self.postMessageScript){
|
1309
|
1313
|
[wkWebViewConfig.userContentController addScriptMessageHandler:[[RNCWeakScriptMessageDelegate alloc] initWithDelegate:self]
|