Title: [221077] trunk
Revision
221077
Author
[email protected]
Date
2017-08-23 09:25:21 -0700 (Wed, 23 Aug 2017)

Log Message

Ensure media controls host exists before using it
https://bugs.webkit.org/show_bug.cgi?id=175833
<rdar://problem/34001219>

Reviewed by Jer Noble.

Source/WebCore:

Although we ensure that the media controls shadow root exists before updating the text track
container, we don't check that the media controls host has been created yet. We do check
and create in other places in HTMLMediaElement.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::updateTextTrackDisplay): 

LayoutTests:

* media/track/track-display-before-controls-crash-expected.txt: Added.
* media/track/track-display-before-controls-crash.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (221076 => 221077)


--- trunk/LayoutTests/ChangeLog	2017-08-23 16:21:43 UTC (rev 221076)
+++ trunk/LayoutTests/ChangeLog	2017-08-23 16:25:21 UTC (rev 221077)
@@ -1,3 +1,14 @@
+2017-08-23  Brent Fulgham  <[email protected]>
+
+        Ensure media controls host exists before using it
+        https://bugs.webkit.org/show_bug.cgi?id=175833
+        <rdar://problem/34001219>
+
+        Reviewed by Jer Noble.
+
+        * media/track/track-display-before-controls-crash-expected.txt: Added.
+        * media/track/track-display-before-controls-crash.html: Added.
+
 2017-08-23  Carlos Alberto Lopez Perez  <[email protected]>
 
         [WPE] Some event handlers not working.

Added: trunk/LayoutTests/media/track/track-display-before-controls-crash-expected.txt (0 => 221077)


--- trunk/LayoutTests/media/track/track-display-before-controls-crash-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/media/track/track-display-before-controls-crash-expected.txt	2017-08-23 16:25:21 UTC (rev 221077)
@@ -0,0 +1,9 @@
+Tests triggering track display before media controls are created. Test passes if it does not crash.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS successfullyParsed is true
+
+TEST COMPLETE
+

Added: trunk/LayoutTests/media/track/track-display-before-controls-crash.html (0 => 221077)


--- trunk/LayoutTests/media/track/track-display-before-controls-crash.html	                        (rev 0)
+++ trunk/LayoutTests/media/track/track-display-before-controls-crash.html	2017-08-23 16:25:21 UTC (rev 221077)
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src=""
+<script>
+    description("Tests triggering track display before media controls are created. Test passes if it does not crash.");
+</script>
+</head>
+<body>
+    <template>
+        <video>
+            <source>
+                <audio>
+                    <track src="" default="C">Test Track 1</track>
+                </audio>
+            </source>
+        </video>
+    </template>
+</body>
+</html>

Modified: trunk/Source/WebCore/ChangeLog (221076 => 221077)


--- trunk/Source/WebCore/ChangeLog	2017-08-23 16:21:43 UTC (rev 221076)
+++ trunk/Source/WebCore/ChangeLog	2017-08-23 16:25:21 UTC (rev 221077)
@@ -1,3 +1,18 @@
+2017-08-23  Brent Fulgham  <[email protected]>
+
+        Ensure media controls host exists before using it
+        https://bugs.webkit.org/show_bug.cgi?id=175833
+        <rdar://problem/34001219>
+
+        Reviewed by Jer Noble.
+
+        Although we ensure that the media controls shadow root exists before updating the text track
+        container, we don't check that the media controls host has been created yet. We do check
+        and create in other places in HTMLMediaElement.
+
+        * html/HTMLMediaElement.cpp:
+        (WebCore::HTMLMediaElement::updateTextTrackDisplay): 
+
 2017-08-23  Carlos Alberto Lopez Perez  <[email protected]>
 
         [WPE] Some event handlers not working.

Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (221076 => 221077)


--- trunk/Source/WebCore/html/HTMLMediaElement.cpp	2017-08-23 16:21:43 UTC (rev 221076)
+++ trunk/Source/WebCore/html/HTMLMediaElement.cpp	2017-08-23 16:25:21 UTC (rev 221077)
@@ -5966,7 +5966,8 @@
 {
 #if ENABLE(MEDIA_CONTROLS_SCRIPT)
     ensureMediaControlsShadowRoot();
-    ASSERT(m_mediaControlsHost);
+    if (!m_mediaControlsHost)
+        m_mediaControlsHost = MediaControlsHost::create(this);
     m_mediaControlsHost->updateTextTrackContainer();
 #else
     if (!hasMediaControls() && !createMediaControls())
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to