Title: [86904] trunk
Revision
86904
Author
jer.no...@apple.com
Date
2011-05-19 16:17:00 -0700 (Thu, 19 May 2011)

Log Message

2011-05-18  Jeremy Noble  <jer.no...@apple.com>

        Reviewed by Darin Adler.

        Poster is not shown in Safari for video element with no playable source elements.
        https://bugs.webkit.org/show_bug.cgi?id=61109

        * media/video-src-invalid-poster-expected.txt: Added.
        * media/video-src-invalid-poster.html: Added.
2011-05-18  Jeremy Noble  <jer.no...@apple.com>

        Reviewed by Darin Adler.

        Poster is not shown in Safari for video element with no playable source elements.
        https://bugs.webkit.org/show_bug.cgi?id=61109

        Test: media/video-src-invalid-poster.html

        In the case where no video sources are playable, update the display state and
        renderer, allowing the poster image to display.

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

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (86903 => 86904)


--- trunk/LayoutTests/ChangeLog	2011-05-19 22:53:52 UTC (rev 86903)
+++ trunk/LayoutTests/ChangeLog	2011-05-19 23:17:00 UTC (rev 86904)
@@ -1,3 +1,13 @@
+2011-05-18  Jeremy Noble  <jer.no...@apple.com>
+
+        Reviewed by Darin Adler.
+
+        Poster is not shown in Safari for video element with no playable source elements.
+        https://bugs.webkit.org/show_bug.cgi?id=61109
+
+        * media/video-src-invalid-poster-expected.txt: Added.
+        * media/video-src-invalid-poster.html: Added.
+
 2011-05-19  Andrew Wilson  <atwil...@chromium.org>
 
         Reviewed by Darin Adler.

Added: trunk/LayoutTests/media/video-src-invalid-poster-expected.txt (0 => 86904)


--- trunk/LayoutTests/media/video-src-invalid-poster-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/media/video-src-invalid-poster-expected.txt	2011-05-19 23:17:00 UTC (rev 86904)
@@ -0,0 +1,4 @@
+EXPECTED (video.clientWidth == '76') OK
+EXPECTED (video.clientHeight == '103') OK
+END OF TEST
+

Added: trunk/LayoutTests/media/video-src-invalid-poster.html (0 => 86904)


--- trunk/LayoutTests/media/video-src-invalid-poster.html	                        (rev 0)
+++ trunk/LayoutTests/media/video-src-invalid-poster.html	2011-05-19 23:17:00 UTC (rev 86904)
@@ -0,0 +1,26 @@
+<script src=""
+<video poster="content/abe.png">
+    <source src="" type="bogus">
+</video>
+<script>
+    findMediaElement();
+
+    function listenForWidthAndHeight(expectedWidth, expectedHeight, callback) {
+        if (video.clientWidth == expectedWidth && video.clientHeight == expectedHeight) {
+            callback();
+        } else {
+            // This uses a 20ms sleep loop to accomplish the wait, since the
+            // standard specifies no events that fire on poster load or error.
+            window.setTimeout(listenForWidthAndHeight, 20, expectedWidth, expectedHeight, callback);
+        }
+    }
+
+    function expected() {
+        testExpected("video.clientWidth", 76);
+        testExpected("video.clientHeight", 103);
+        endTest();
+    }
+
+    listenForWidthAndHeight(76, 103, expected);
+    failTestIn(1000);
+</script>

Modified: trunk/Source/WebCore/ChangeLog (86903 => 86904)


--- trunk/Source/WebCore/ChangeLog	2011-05-19 22:53:52 UTC (rev 86903)
+++ trunk/Source/WebCore/ChangeLog	2011-05-19 23:17:00 UTC (rev 86904)
@@ -1,3 +1,18 @@
+2011-05-18  Jeremy Noble  <jer.no...@apple.com>
+
+        Reviewed by Darin Adler.
+
+        Poster is not shown in Safari for video element with no playable source elements.
+        https://bugs.webkit.org/show_bug.cgi?id=61109
+
+        Test: media/video-src-invalid-poster.html
+
+        In the case where no video sources are playable, update the display state and 
+        renderer, allowing the poster image to display.
+
+        * html/HTMLMediaElement.cpp:
+        (WebCore::HTMLMediaElement::waitForSourceChange): 
+
 2011-05-19  Andrew Wilson  <atwil...@chromium.org>
 
         Reviewed by Darin Adler.

Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (86903 => 86904)


--- trunk/Source/WebCore/html/HTMLMediaElement.cpp	2011-05-19 22:53:52 UTC (rev 86903)
+++ trunk/Source/WebCore/html/HTMLMediaElement.cpp	2011-05-19 23:17:00 UTC (rev 86904)
@@ -772,6 +772,11 @@
 
     // 6.18 - Set the element's delaying-the-load-event flag to false. This stops delaying the load event.
     setShouldDelayLoadEvent(false);
+
+    updateDisplayState();
+
+    if (renderer())
+        renderer()->updateFromElement();
 }
 
 void HTMLMediaElement::noneSupported()
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to