Title: [160261] trunk
Revision
160261
Author
[email protected]
Date
2013-12-06 16:56:24 -0800 (Fri, 06 Dec 2013)

Log Message

[MSE] Add a runtime-setting for the MediaSource constructor.
https://bugs.webkit.org/show_bug.cgi?id=125336

Reviewed by Eric Carlson.

Source/WebCore:

Add a Setting to enable the MediaSource constructor.

* Modules/mediasource/MediaSource.idl:
* page/Settings.in:

Source/WebKit/mac:

Add a private WebPreference which controls the WebCore mediaSourceEnabled setting.

* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences mediaSourceEnabled]):
(-[WebPreferences setMediaSourceEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Source/WebKit2:

Add a private WKPreferences API to control the WebCore mediaSourceEnabled setting.

* Shared/WebPreferencesStore.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetMediaSourceEnabled):
(WKPreferencesGetMediaSourceEnabled):
* UIProcess/API/C/WKPreferencesPrivate.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):

Tools:

Enable MediaSource in DRT and WKTR.

* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (160260 => 160261)


--- trunk/Source/WebCore/ChangeLog	2013-12-07 00:45:11 UTC (rev 160260)
+++ trunk/Source/WebCore/ChangeLog	2013-12-07 00:56:24 UTC (rev 160261)
@@ -1,3 +1,15 @@
+2013-12-05  Jer Noble  <[email protected]>
+
+        [MSE] Add a runtime-setting for the MediaSource constructor.
+        https://bugs.webkit.org/show_bug.cgi?id=125336
+
+        Reviewed by Eric Carlson.
+
+        Add a Setting to enable the MediaSource constructor.
+
+        * Modules/mediasource/MediaSource.idl:
+        * page/Settings.in:
+
 2013-12-06  Tim Horton  <[email protected]>
 
         [mac] Keep around more decoded image data, since it's purgeable

Modified: trunk/Source/WebCore/Modules/mediasource/MediaSource.idl (160260 => 160261)


--- trunk/Source/WebCore/Modules/mediasource/MediaSource.idl	2013-12-07 00:45:11 UTC (rev 160260)
+++ trunk/Source/WebCore/Modules/mediasource/MediaSource.idl	2013-12-07 00:56:24 UTC (rev 160261)
@@ -32,6 +32,7 @@
     Conditional=MEDIA_SOURCE,
     ActiveDOMObject,
     EventTarget,
+    EnabledBySetting=MediaSource,
     JSGenerateToJSObject,
     JSGenerateToNativeObject,
     Constructor,

Modified: trunk/Source/WebCore/page/Settings.in (160260 => 160261)


--- trunk/Source/WebCore/page/Settings.in	2013-12-07 00:45:11 UTC (rev 160260)
+++ trunk/Source/WebCore/page/Settings.in	2013-12-07 00:56:24 UTC (rev 160261)
@@ -213,3 +213,4 @@
 simpleLineLayoutDebugBordersEnabled initial=false, setNeedsStyleRecalcInAllFrames=1
 
 backgroundShouldExtendBeyondPage initial=false
+mediaSourceEnabled initial=false

Modified: trunk/Source/WebKit/mac/ChangeLog (160260 => 160261)


--- trunk/Source/WebKit/mac/ChangeLog	2013-12-07 00:45:11 UTC (rev 160260)
+++ trunk/Source/WebKit/mac/ChangeLog	2013-12-07 00:56:24 UTC (rev 160261)
@@ -1,3 +1,21 @@
+2013-12-05  Jer Noble  <[email protected]>
+
+        [MSE] Add a runtime-setting for the MediaSource constructor.
+        https://bugs.webkit.org/show_bug.cgi?id=125336
+
+        Reviewed by Eric Carlson.
+
+        Add a private WebPreference which controls the WebCore mediaSourceEnabled setting.
+
+        * WebView/WebPreferenceKeysPrivate.h:
+        * WebView/WebPreferences.mm:
+        (+[WebPreferences initialize]):
+        (-[WebPreferences mediaSourceEnabled]):
+        (-[WebPreferences setMediaSourceEnabled:]):
+        * WebView/WebPreferencesPrivate.h:
+        * WebView/WebView.mm:
+        (-[WebView _preferencesChanged:]):
+
 2013-12-05  Mark Lam  <[email protected]>
 
         C Loop LLINT layout test regressions.

Modified: trunk/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h (160260 => 160261)


--- trunk/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h	2013-12-07 00:45:11 UTC (rev 160260)
+++ trunk/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h	2013-12-07 00:56:24 UTC (rev 160261)
@@ -136,6 +136,7 @@
 #define WebKitHiddenPageCSSAnimationSuspensionEnabledPreferenceKey @"WebKitHiddenPageCSSAnimationSuspensionEnabled"
 #define WebKitLowPowerVideoAudioBufferSizeEnabledPreferenceKey @"WebKitLowPowerVideoAudioBufferSizeEnabled"
 #define WebKitUseLegacyTextAlignPositionedElementBehaviorPreferenceKey @"WebKitUseLegacyTextAlignPositionedElementBehavior"
+#define WebKitMediaSourceEnabledPreferenceKey @"WebKitMediaSourceEnabled"
 
 // These are private both because callers should be using the cover methods and because the
 // cover methods themselves are private.

Modified: trunk/Source/WebKit/mac/WebView/WebPreferences.mm (160260 => 160261)


--- trunk/Source/WebKit/mac/WebView/WebPreferences.mm	2013-12-07 00:45:11 UTC (rev 160260)
+++ trunk/Source/WebKit/mac/WebView/WebPreferences.mm	2013-12-07 00:56:24 UTC (rev 160261)
@@ -431,6 +431,9 @@
 #if !PLATFORM(IOS)
         [NSNumber numberWithBool:NO],   WebKitVideoPluginProxyEnabledKey,
 #endif
+#if ENABLE(MEDIA_SOURCE)
+        [NSNumber numberWithBool:NO], WebKitMediaSourceEnabledPreferenceKey,
+#endif
         nil];
 
 
@@ -1946,6 +1949,16 @@
     [self _setBoolValue:enabled forKey:WebKitUseLegacyTextAlignPositionedElementBehaviorPreferenceKey];
 }
 
+- (BOOL)mediaSourceEnabled
+{
+    return [self _boolValueForKey:WebKitMediaSourceEnabledPreferenceKey];
+}
+
+- (void)setMediaSourceEnabled:(BOOL)enabled
+{
+    [self _setBoolValue:enabled forKey:WebKitMediaSourceEnabledPreferenceKey];
+}
+
 @end
 
 @implementation WebPreferences (WebInternal)

Modified: trunk/Source/WebKit/mac/WebView/WebPreferencesPrivate.h (160260 => 160261)


--- trunk/Source/WebKit/mac/WebView/WebPreferencesPrivate.h	2013-12-07 00:45:11 UTC (rev 160260)
+++ trunk/Source/WebKit/mac/WebView/WebPreferencesPrivate.h	2013-12-07 00:56:24 UTC (rev 160261)
@@ -352,4 +352,7 @@
 - (void)setUseLegacyTextAlignPositionedElementBehavior:(BOOL)flag;
 - (BOOL)useLegacyTextAlignPositionedElementBehavior;
 
+- (void)setMediaSourceEnabled:(BOOL)flag;
+- (BOOL)mediaSourceEnabled;
+
 @end

Modified: trunk/Source/WebKit/mac/WebView/WebView.mm (160260 => 160261)


--- trunk/Source/WebKit/mac/WebView/WebView.mm	2013-12-07 00:45:11 UTC (rev 160260)
+++ trunk/Source/WebKit/mac/WebView/WebView.mm	2013-12-07 00:56:24 UTC (rev 160261)
@@ -1688,6 +1688,10 @@
     settings->setVideoPluginProxyEnabled([preferences isVideoPluginProxyEnabled]);
 #endif
 
+#if ENABLE(MEDIA_SOURCE)
+    settings.setMediaSourceEnabled([preferences mediaSourceEnabled]);
+#endif
+
     switch ([preferences storageBlockingPolicy]) {
     case WebAllowAllStorage:
         settings.setStorageBlockingPolicy(SecurityOrigin::AllowAllStorage);

Modified: trunk/Source/WebKit2/ChangeLog (160260 => 160261)


--- trunk/Source/WebKit2/ChangeLog	2013-12-07 00:45:11 UTC (rev 160260)
+++ trunk/Source/WebKit2/ChangeLog	2013-12-07 00:56:24 UTC (rev 160261)
@@ -1,3 +1,20 @@
+2013-12-05  Jer Noble  <[email protected]>
+
+        [MSE] Add a runtime-setting for the MediaSource constructor.
+        https://bugs.webkit.org/show_bug.cgi?id=125336
+
+        Reviewed by Eric Carlson.
+
+        Add a private WKPreferences API to control the WebCore mediaSourceEnabled setting.
+
+        * Shared/WebPreferencesStore.h:
+        * UIProcess/API/C/WKPreferences.cpp:
+        (WKPreferencesSetMediaSourceEnabled):
+        (WKPreferencesGetMediaSourceEnabled):
+        * UIProcess/API/C/WKPreferencesPrivate.h:
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::updatePreferences):
+
 2013-12-06  Dan Bernstein  <[email protected]>
 
         <rdar://problem/15606872> REGRESSION (r160148): Mail throws an exception during launch

Modified: trunk/Source/WebKit2/Shared/WebPreferencesStore.h (160260 => 160261)


--- trunk/Source/WebKit2/Shared/WebPreferencesStore.h	2013-12-07 00:45:11 UTC (rev 160260)
+++ trunk/Source/WebKit2/Shared/WebPreferencesStore.h	2013-12-07 00:56:24 UTC (rev 160261)
@@ -178,6 +178,7 @@
     macro(VideoPluginProxyEnabled, isVideoPluginProxyEnabled, Bool, bool, DEFAULT_VIDEO_PLUGIN_PROXY_ENABLED) \
     macro(UseLegacyTextAlignPositionedElementBehavior, useLegacyTextAlignPositionedElementBehavior, Bool, bool, false) \
     macro(SpatialNavigationEnabled, spatialNavigationEnabled, Bool, bool, false) \
+    macro(MediaSourceEnabled, mediaSourceEnabled, Bool, bool, false) \
     \
 
 #define FOR_EACH_WEBKIT_DOUBLE_PREFERENCE(macro) \

Modified: trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp (160260 => 160261)


--- trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp	2013-12-07 00:45:11 UTC (rev 160260)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp	2013-12-07 00:56:24 UTC (rev 160261)
@@ -1245,3 +1245,13 @@
 {
     return toImpl(preferencesRef)->spatialNavigationEnabled();
 }
+
+void WKPreferencesSetMediaSourceEnabled(WKPreferencesRef preferencesRef, bool enabled)
+{
+    toImpl(preferencesRef)->setMediaSourceEnabled(enabled);
+}
+
+bool WKPreferencesGetMediaSourceEnabled(WKPreferencesRef preferencesRef)
+{
+    return toImpl(preferencesRef)->mediaSourceEnabled();
+}

Modified: trunk/Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h (160260 => 160261)


--- trunk/Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h	2013-12-07 00:45:11 UTC (rev 160260)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h	2013-12-07 00:56:24 UTC (rev 160261)
@@ -314,6 +314,10 @@
 WK_EXPORT void WKPreferencesSetUseLegacyTextAlignPositionedElementBehavior(WKPreferencesRef preferencesRef, bool enabled);
 WK_EXPORT bool WKPreferencesUseLegacyTextAlignPositionedElementBehavior(WKPreferencesRef preferencesRef);
 
+// Defaults to false.
+WK_EXPORT void WKPreferencesSetMediaSourceEnabled(WKPreferencesRef preferencesRef, bool enabled);
+WK_EXPORT bool WKPreferencesGetMediaSourceEnabled(WKPreferencesRef preferencesRef);
+
 #ifdef __cplusplus
 }
 #endif

Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (160260 => 160261)


--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp	2013-12-07 00:45:11 UTC (rev 160260)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp	2013-12-07 00:56:24 UTC (rev 160261)
@@ -2528,6 +2528,10 @@
 
     settings.setUseLegacyTextAlignPositionedElementBehavior(store.getBoolValueForKey(WebPreferencesKey::useLegacyTextAlignPositionedElementBehaviorKey()));
 
+#if ENABLE(MEDIA_SOURCE)
+    settings.setMediaSourceEnabled(store.getBoolValueForKey(WebPreferencesKey::mediaSourceEnabledKey()));
+#endif
+
     platformPreferencesDidChange(store);
 
     if (m_drawingArea)

Modified: trunk/Tools/ChangeLog (160260 => 160261)


--- trunk/Tools/ChangeLog	2013-12-07 00:45:11 UTC (rev 160260)
+++ trunk/Tools/ChangeLog	2013-12-07 00:56:24 UTC (rev 160261)
@@ -1,5 +1,19 @@
 2013-12-06  Jer Noble  <[email protected]>
 
+        [MSE] Add a runtime-setting for the MediaSource constructor.
+        https://bugs.webkit.org/show_bug.cgi?id=125336
+
+        Reviewed by Eric Carlson.
+
+        Enable MediaSource in DRT and WKTR.
+
+        * DumpRenderTree/mac/DumpRenderTree.mm:
+        (resetWebPreferencesToConsistentValues):
+        * WebKitTestRunner/TestController.cpp:
+        (WTR::TestController::resetPreferencesToConsistentValues):
+
+2013-12-06  Jer Noble  <[email protected]>
+
         Strip out extraneous logging from AppleGVA in media tests.
         https://bugs.webkit.org/show_bug.cgi?id=125357
 

Modified: trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm (160260 => 160261)


--- trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm	2013-12-07 00:45:11 UTC (rev 160260)
+++ trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm	2013-12-07 00:56:24 UTC (rev 160261)
@@ -670,6 +670,10 @@
 
     [preferences setScreenFontSubstitutionEnabled:YES];
 
+#if ENABLE(MEDIA_SOURCE)
+    [preferences setMediaSourceEnabled:YES];
+#endif
+
     [WebPreferences _setCurrentNetworkLoaderSessionCookieAcceptPolicy:NSHTTPCookieAcceptPolicyOnlyFromMainDocumentDomain];
 }
 

Modified: trunk/Tools/WebKitTestRunner/TestController.cpp (160260 => 160261)


--- trunk/Tools/WebKitTestRunner/TestController.cpp	2013-12-07 00:45:11 UTC (rev 160260)
+++ trunk/Tools/WebKitTestRunner/TestController.cpp	2013-12-07 00:56:24 UTC (rev 160261)
@@ -554,6 +554,9 @@
     WKPreferencesSetSerifFontFamily(preferences, serifFontFamily);
     WKPreferencesSetScreenFontSubstitutionEnabled(preferences, true);
     WKPreferencesSetAsynchronousSpellCheckingEnabled(preferences, false);
+#if ENABLE(WEB_AUDIO)
+    WKPreferencesSetMediaSourceEnabled(preferences, true);
+#endif
 }
 
 bool TestController::resetStateToConsistentValues()
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to