Skip to content

Commit 8fefa5e

Browse files
committed
fix(webview): ios ensure configuration is correctly set in view creation
1 parent 1c6a4ce commit 8fefa5e

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

src/webview/index.ios.ts

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ export class AWebView extends WebViewExtBase {
4747

4848
public viewPortSize = { initialScale: 1.0 };
4949
private limitsNavigationsToAppBoundDomains = false;
50+
private allowsInlineMediaPlayback = false;
51+
private mediaTypesRequiringUser = true;
5052

5153
public createNativeView() {
5254
const configuration = WKWebViewConfiguration.new();
@@ -60,18 +62,18 @@ export class AWebView extends WebViewExtBase {
6062
configuration.preferences.setValueForKey(true, 'allowFileAccessFromFileURLs');
6163
configuration.setValueForKey(true, 'allowUniversalAccessFromFileURLs');
6264
configuration.limitsNavigationsToAppBoundDomains = this.limitsNavigationsToAppBoundDomains;
65+
configuration.mediaTypesRequiringUserActionForPlayback = this.mediaTypesRequiringUser ? WKAudiovisualMediaTypes.All : WKAudiovisualMediaTypes.None;
66+
configuration.allowsInlineMediaPlayback = this.allowsInlineMediaPlayback;
6367

6468
if (this.supportXLocalScheme) {
6569
this.wkCustomUrlSchemeHandler = new CustomUrlSchemeHandler();
6670
configuration.setURLSchemeHandlerForURLScheme(this.wkCustomUrlSchemeHandler, this.interceptScheme);
6771
}
6872

69-
const webview = new WKWebView({
73+
return new WKWebView({
7074
frame: CGRectZero,
7175
configuration
7276
});
73-
74-
return webview;
7577
}
7678

7779
public initNativeView() {
@@ -455,12 +457,12 @@ export class AWebView extends WebViewExtBase {
455457
nativeView.scrollView.userInteractionEnabled = !!enabled;
456458
}
457459
[mediaPlaybackRequiresUserActionProperty.setNative](enabled: boolean) {
458-
// this.nativeViewProtected.configuration.mediaTypesRequiringUserActionForPlayback = enabled ? WKAudiovisualMediaTypes.All : WKAudiovisualMediaTypes.None;
459-
this.nativeViewProtected.configuration.setValueForKey(enabled ? WKAudiovisualMediaTypes.All : WKAudiovisualMediaTypes.None, 'mediaTypesRequiringUserActionForPlayback');
460+
this.nativeViewProtected.configuration.mediaTypesRequiringUserActionForPlayback = enabled ? WKAudiovisualMediaTypes.All : WKAudiovisualMediaTypes.None;
461+
// this.nativeViewProtected.configuration.setValueForKey(enabled ? WKAudiovisualMediaTypes.All : WKAudiovisualMediaTypes.None, 'mediaTypesRequiringUserActionForPlayback');
460462
}
461463
[allowsInlineMediaPlaybackProperty.setNative](enabled: boolean) {
462-
this.nativeViewProtected.configuration.setValueForKey(enabled, 'allowsInlineMediaPlayback');
463-
// this.nativeViewProtected.configuration.allowsInlineMediaPlayback = enabled;
464+
// this.nativeViewProtected.configuration.setValueForKey(enabled, 'allowsInlineMediaPlayback');
465+
this.nativeViewProtected.configuration.allowsInlineMediaPlayback = enabled;
464466
}
465467

466468
/**

0 commit comments

Comments
 (0)