Diff
Modified: trunk/Source/WebCore/ChangeLog (253062 => 253063)
--- trunk/Source/WebCore/ChangeLog 2019-12-03 22:35:42 UTC (rev 253062)
+++ trunk/Source/WebCore/ChangeLog 2019-12-03 22:56:46 UTC (rev 253063)
@@ -1,3 +1,13 @@
+2019-12-03 Eric Carlson <eric.carl...@apple.com>
+
+ Add a runtime setting for media in the GPU process
+ https://bugs.webkit.org/show_bug.cgi?id=204801
+ <rdar://problem/57596199>
+
+ Reviewed by Jer Noble.
+
+ * page/Settings.yaml:
+
2019-12-03 Jer Noble <jer.no...@apple.com>
Experimental support for HDR media query
Modified: trunk/Source/WebCore/page/Settings.yaml (253062 => 253063)
--- trunk/Source/WebCore/page/Settings.yaml 2019-12-03 22:35:42 UTC (rev 253062)
+++ trunk/Source/WebCore/page/Settings.yaml 2019-12-03 22:56:46 UTC (rev 253063)
@@ -320,6 +320,9 @@
genericCueAPIEnabled:
initial: false
conditional: VIDEO_TRACK
+outOfProcessMediaEnabled:
+ initial: false
+ conditional: VIDEO
scrollingCoordinatorEnabled:
initial: false
scrollingTreeIncludesFrames:
Modified: trunk/Source/WebKit/ChangeLog (253062 => 253063)
--- trunk/Source/WebKit/ChangeLog 2019-12-03 22:35:42 UTC (rev 253062)
+++ trunk/Source/WebKit/ChangeLog 2019-12-03 22:56:46 UTC (rev 253063)
@@ -1,3 +1,15 @@
+2019-12-03 Eric Carlson <eric.carl...@apple.com>
+
+ Add a runtime setting for media in the GPU process
+ https://bugs.webkit.org/show_bug.cgi?id=204801
+ <rdar://problem/57596199>
+
+ Reviewed by Jer Noble.
+
+ * Shared/WebPreferences.yaml:
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
+
2019-12-03 Per Arne Vollan <pvol...@apple.com>
Unreviewed assertion fix for older macOS versions after r253011.
Modified: trunk/Source/WebKit/Shared/WebPreferences.yaml (253062 => 253063)
--- trunk/Source/WebKit/Shared/WebPreferences.yaml 2019-12-03 22:35:42 UTC (rev 253062)
+++ trunk/Source/WebKit/Shared/WebPreferences.yaml 2019-12-03 22:56:46 UTC (rev 253063)
@@ -1837,6 +1837,15 @@
humanReadableName: "Remote Playback API"
humanReadableDescription: "Enable Remote Playback API"
+OutOfProcessMediaEnabled:
+ type: bool
+ defaultValue: false
+ condition: ENABLE(VIDEO)
+ humanReadableName: "Media in GPU process"
+ humanReadableDescription: "Do all media loading and playback in the GPU process"
+ category: experimental
+ webcoreName: outOfProcessMediaEnabled
+
# Deprecated
ICECandidateFilteringEnabled:
Modified: trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp (253062 => 253063)
--- trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp 2019-12-03 22:35:42 UTC (rev 253062)
+++ trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp 2019-12-03 22:56:46 UTC (rev 253063)
@@ -247,6 +247,15 @@
}
#endif
+#if ENABLE(VIDEO)
+ if (preference == "WebKitOutOfProcessMediaEnabled") {
+ WebPreferencesStore::overrideBoolValueForKey(WebPreferencesKey::imageControlsEnabledKey(), enabled);
+ for (auto* page : pages)
+ page->settings().setOutOfProcessMediaEnabled(enabled);
+ return;
+ }
+#endif
+
if (preference == "WebKitIsSecureContextAttributeEnabled") {
WebPreferencesStore::overrideBoolValueForKey(WebPreferencesKey::isSecureContextAttributeEnabledKey(), enabled);
RuntimeEnabledFeatures::sharedFeatures().setIsSecureContextAttributeEnabled(enabled);
Modified: trunk/Source/WebKitLegacy/mac/ChangeLog (253062 => 253063)
--- trunk/Source/WebKitLegacy/mac/ChangeLog 2019-12-03 22:35:42 UTC (rev 253062)
+++ trunk/Source/WebKitLegacy/mac/ChangeLog 2019-12-03 22:56:46 UTC (rev 253063)
@@ -1,3 +1,20 @@
+2019-12-03 Eric Carlson <eric.carl...@apple.com>
+
+ Add a runtime setting for media in the GPU process
+ https://bugs.webkit.org/show_bug.cgi?id=204801
+ <rdar://problem/57596199>
+
+ Reviewed by Jer Noble.
+
+ * WebView/WebPreferenceKeysPrivate.h:
+ * WebView/WebPreferences.mm:
+ (+[WebPreferences initialize]):
+ (-[WebPreferences outOfProcessMediaEnabled]):
+ (-[WebPreferences setOutOfProcessMediaEnabled:]):
+ * WebView/WebPreferencesPrivate.h:
+ * WebView/WebView.mm:
+ (-[WebView _preferencesChanged:]):
+
2019-12-03 Antoine Quint <grao...@apple.com>
[Web Animations] Add a runtime flag for Web Animations composite operations
Modified: trunk/Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h (253062 => 253063)
--- trunk/Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h 2019-12-03 22:35:42 UTC (rev 253062)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h 2019-12-03 22:56:46 UTC (rev 253063)
@@ -263,6 +263,7 @@
#define WebKitEncryptedMediaAPIEnabledKey @"WebKitEncryptedMediaAPIEnabled"
#define WebKitPictureInPictureAPIEnabledKey @"WebKitPictureInPictureAPIEnabled"
#define WebKitGenericCueAPIEnabledKey @"WebKitGenericCueAPIEnabled"
+#define WebKitOutOfProcessMediaEnabledKey @"WebKitOutOfProcessMediaEnabled"
#define WebKitAllowMediaContentTypesRequiringHardwareSupportAsFallbackKey @"WebKitAllowMediaContentTypesRequiringHardwareSupportAsFallback"
#define WebKitInspectorAdditionsEnabledPreferenceKey @"WebKitInspectorAdditionsEnabled"
#define WebKitAccessibilityObjectModelEnabledPreferenceKey @"WebKitAccessibilityObjectModelEnabled"
Modified: trunk/Source/WebKitLegacy/mac/WebView/WebPreferences.mm (253062 => 253063)
--- trunk/Source/WebKitLegacy/mac/WebView/WebPreferences.mm 2019-12-03 22:35:42 UTC (rev 253062)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebPreferences.mm 2019-12-03 22:56:46 UTC (rev 253063)
@@ -617,6 +617,10 @@
@NO, WebKitGenericCueAPIEnabledKey,
#endif
+#if ENABLE(VIDEO)
+ @NO, WebKitOutOfProcessMediaEnabledKey,
+#endif
+
#if ENABLE(MEDIA_STREAM)
@NO, WebKitMockCaptureDevicesEnabledPreferenceKey,
@YES, WebKitMockCaptureDevicesPromptEnabledPreferenceKey,
@@ -3368,6 +3372,16 @@
[self _setBoolValue:flag forKey:WebKitGenericCueAPIEnabledKey];
}
+- (BOOL)outOfProcessMediaEnabled
+{
+ return [self _boolValueForKey:WebKitOutOfProcessMediaEnabledKey];
+}
+
+- (void)setOutOfProcessMediaEnabled:(BOOL)flag
+{
+ [self _setBoolValue:flag forKey:WebKitOutOfProcessMediaEnabledKey];
+}
+
- (BOOL)viewportFitEnabled
{
return [self _boolValueForKey:WebKitViewportFitEnabledPreferenceKey];
Modified: trunk/Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h (253062 => 253063)
--- trunk/Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h 2019-12-03 22:35:42 UTC (rev 253062)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h 2019-12-03 22:56:46 UTC (rev 253063)
@@ -649,6 +649,7 @@
@property (nonatomic) BOOL encryptedMediaAPIEnabled;
@property (nonatomic) BOOL pictureInPictureAPIEnabled;
@property (nonatomic) BOOL genericCueAPIEnabled;
+@property (nonatomic) BOOL outOfProcessMediaEnabled;
@property (nonatomic) BOOL viewportFitEnabled;
@property (nonatomic) BOOL constantPropertiesEnabled;
@property (nonatomic) BOOL colorFilterEnabled;
Modified: trunk/Source/WebKitLegacy/mac/WebView/WebView.mm (253062 => 253063)
--- trunk/Source/WebKitLegacy/mac/WebView/WebView.mm 2019-12-03 22:35:42 UTC (rev 253062)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebView.mm 2019-12-03 22:56:46 UTC (rev 253063)
@@ -3209,6 +3209,10 @@
settings.setGenericCueAPIEnabled(preferences.genericCueAPIEnabled);
#endif
+#if ENABLE(VIDEO)
+ settings.setOutOfProcessMediaEnabled(preferences.outOfProcessMediaEnabled);
+#endif
+
RuntimeEnabledFeatures::sharedFeatures().setInspectorAdditionsEnabled(preferences.inspectorAdditionsEnabled);
settings.setAllowMediaContentTypesRequiringHardwareSupportAsFallback(preferences.allowMediaContentTypesRequiringHardwareSupportAsFallback);