Title: [229915] trunk
Revision
229915
Author
[email protected]
Date
2018-03-23 13:11:52 -0700 (Fri, 23 Mar 2018)

Log Message

HTMLElement factory doesn't need to call MediaPlayer::isAvailable
https://bugs.webkit.org/show_bug.cgi?id=183946
<rdar://problem/38802687>

Reviewed by Youenn Fablet.

Source/WebCore:

Test: media/media-disabled.html

* dom/make_names.pl:
(printConstructorInterior):
* page/Settings.yaml:
* page/SettingsDefaultValues.h:

LayoutTests:

* media/media-disabled-expected.txt: Added.
* media/media-disabled.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (229914 => 229915)


--- trunk/LayoutTests/ChangeLog	2018-03-23 19:54:01 UTC (rev 229914)
+++ trunk/LayoutTests/ChangeLog	2018-03-23 20:11:52 UTC (rev 229915)
@@ -1,3 +1,14 @@
+2018-03-23  Eric Carlson  <[email protected]>
+
+        HTMLElement factory doesn't need to call MediaPlayer::isAvailable
+        https://bugs.webkit.org/show_bug.cgi?id=183946
+        <rdar://problem/38802687>
+
+        Reviewed by Youenn Fablet.
+
+        * media/media-disabled-expected.txt: Added.
+        * media/media-disabled.html: Added.
+
 2018-03-23  Ryan Haddad  <[email protected]>
 
         Only enable LayoutTest fast/css/apple-system-control-colors.html on macOS.

Added: trunk/LayoutTests/media/media-disabled-expected.txt (0 => 229915)


--- trunk/LayoutTests/media/media-disabled-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/media/media-disabled-expected.txt	2018-03-23 20:11:52 UTC (rev 229915)
@@ -0,0 +1,15 @@
+RUN(internals.settings.setMediaEnabled(false))
+RUN(video = document.createElement("video"))
+EXPECTED (video instanceof HTMLVideoElement == 'false') OK
+EXPECTED (video instanceof HTMLUnknownElement == 'true') OK
+RUN(audio = document.createElement("audio"))
+EXPECTED (audio instanceof HTMLAudioElement == 'false') OK
+EXPECTED (audio instanceof HTMLUnknownElement == 'true') OK
+
+RUN(internals.settings.setMediaEnabled(true))
+RUN(video = document.createElement("video"))
+EXPECTED (video instanceof HTMLVideoElement == 'true') OK
+RUN(audio = document.createElement("audio"))
+EXPECTED (audio instanceof HTMLAudioElement == 'true') OK
+END OF TEST
+

Added: trunk/LayoutTests/media/media-disabled.html (0 => 229915)


--- trunk/LayoutTests/media/media-disabled.html	                        (rev 0)
+++ trunk/LayoutTests/media/media-disabled.html	2018-03-23 20:11:52 UTC (rev 229915)
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <title>media-disabled</title>
+    <script src=""
+    <script>
+        
+        window.addEventListener('load', event => {
+            run("internals.settings.setMediaEnabled(false)");
+            run('video = document.createElement("video")');
+            testExpected('video instanceof HTMLVideoElement', false);
+            testExpected('video instanceof HTMLUnknownElement', true);
+
+            run('audio = document.createElement("audio")');
+            testExpected('audio instanceof HTMLAudioElement', false);
+            testExpected('audio instanceof HTMLUnknownElement', true);
+
+            consoleWrite("");
+            run("internals.settings.setMediaEnabled(true)");
+            run('video = document.createElement("video")');
+            testExpected('video instanceof HTMLVideoElement', true);
+
+            run('audio = document.createElement("audio")');
+            testExpected('audio instanceof HTMLAudioElement', true);
+
+            endTest();
+        });
+    </script>
+</head>
+<body>
+</body>
+</html>
+
+

Modified: trunk/Source/WebCore/ChangeLog (229914 => 229915)


--- trunk/Source/WebCore/ChangeLog	2018-03-23 19:54:01 UTC (rev 229914)
+++ trunk/Source/WebCore/ChangeLog	2018-03-23 20:11:52 UTC (rev 229915)
@@ -1,3 +1,18 @@
+2018-03-23  Eric Carlson  <[email protected]>
+
+        HTMLElement factory doesn't need to call MediaPlayer::isAvailable
+        https://bugs.webkit.org/show_bug.cgi?id=183946
+        <rdar://problem/38802687>
+
+        Reviewed by Youenn Fablet.
+
+        Test: media/media-disabled.html
+
+        * dom/make_names.pl:
+        (printConstructorInterior):
+        * page/Settings.yaml:
+        * page/SettingsDefaultValues.h:
+
 2018-03-23  David Kilzer  <[email protected]>
 
         Stop using dispatch_set_target_queue()

Modified: trunk/Source/WebCore/dom/make_names.pl (229914 => 229915)


--- trunk/Source/WebCore/dom/make_names.pl	2018-03-23 19:54:01 UTC (rev 229914)
+++ trunk/Source/WebCore/dom/make_names.pl	2018-03-23 20:11:52 UTC (rev 229915)
@@ -412,7 +412,7 @@
     # instead of having all the support for this here in this script?
     if ($enabledTags{$tagName}{wrapperOnlyIfMediaIsAvailable}) {
         print F <<END
-    if (!MediaPlayer::isAvailable() || !document.settings().mediaEnabled())
+    if (!document.settings().mediaEnabled())
         return $parameters{fallbackInterfaceName}::create($constructorTagName, document);
     
 END

Modified: trunk/Source/WebCore/page/Settings.yaml (229914 => 229915)


--- trunk/Source/WebCore/page/Settings.yaml	2018-03-23 19:54:01 UTC (rev 229914)
+++ trunk/Source/WebCore/page/Settings.yaml	2018-03-23 20:11:52 UTC (rev 229915)
@@ -328,7 +328,7 @@
 cookieEnabled:
   initial: true
 mediaEnabled:
-  initial: true
+  initial: defaultMediaEnabled
 DOMPasteAllowed:
   initial: false
 

Modified: trunk/Source/WebCore/page/SettingsDefaultValues.h (229914 => 229915)


--- trunk/Source/WebCore/page/SettingsDefaultValues.h	2018-03-23 19:54:01 UTC (rev 229914)
+++ trunk/Source/WebCore/page/SettingsDefaultValues.h	2018-03-23 20:11:52 UTC (rev 229915)
@@ -98,4 +98,10 @@
 static const bool defaultSmartInsertDeleteEnabled = true;
 static const bool defaultSelectTrailingWhitespaceEnabled = false;
 
+#if ENABLE(VIDEO) && (USE(AVFOUNDATION) || USE(GSTREAMER))
+static const bool defaultMediaEnabled = true;
+#else
+static const bool defaultMediaEnabled = false;
+#endif
+
 }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to