Title: [91872] trunk
- Revision
- 91872
- Author
- [email protected]
- Date
- 2011-07-27 15:01:02 -0700 (Wed, 27 Jul 2011)
Log Message
2011-07-27 Eric Carlson <[email protected]>
Load delegate not consulted before loading some poster images
https://bugs.webkit.org/show_bug.cgi?id=65270
Reviewed by Darin Adler.
Test: media/video-poster-blocked-by-willsendrequest.html
* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::setDisplayMode): Don't ask media engine to set poster if
willLoadMediaElementURL returns false.
2011-07-27 Eric Carlson <[email protected]>
Load delegate not consulted before loading some poster images
https://bugs.webkit.org/show_bug.cgi?id=65270
Reviewed by Darin Adler.
* media/video-poster-blocked-by-willsendrequest-expected.txt: Added.
* media/video-poster-blocked-by-willsendrequest.html: Added.
Modified Paths
Added Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (91871 => 91872)
--- trunk/LayoutTests/ChangeLog 2011-07-27 21:55:40 UTC (rev 91871)
+++ trunk/LayoutTests/ChangeLog 2011-07-27 22:01:02 UTC (rev 91872)
@@ -1,3 +1,13 @@
+2011-07-27 Eric Carlson <[email protected]>
+
+ Load delegate not consulted before loading some poster images
+ https://bugs.webkit.org/show_bug.cgi?id=65270
+
+ Reviewed by Darin Adler.
+
+ * media/video-poster-blocked-by-willsendrequest-expected.txt: Added.
+ * media/video-poster-blocked-by-willsendrequest.html: Added.
+
2011-07-27 Ryosuke Niwa <[email protected]>
Chromium rebaselines for r89627 and r91497.
Added: trunk/LayoutTests/media/video-poster-blocked-by-willsendrequest-expected.txt (0 => 91872)
--- trunk/LayoutTests/media/video-poster-blocked-by-willsendrequest-expected.txt (rev 0)
+++ trunk/LayoutTests/media/video-poster-blocked-by-willsendrequest-expected.txt 2011-07-27 22:01:02 UTC (rev 91872)
@@ -0,0 +1,13 @@
+Test for https://bugs.webkit.org/show_bug.cgi?id=65270.
+Resource load delegate should be able to block poster loading.
+
+
+Testing before setting poster
+EXPECTED (video.clientWidth == '300') OK
+EXPECTED (video.clientHeight == '150') OK
+
+Test after setting poster
+EXPECTED (video.clientWidth == '300') OK
+EXPECTED (video.clientHeight == '150') OK
+END OF TEST
+
Added: trunk/LayoutTests/media/video-poster-blocked-by-willsendrequest.html (0 => 91872)
--- trunk/LayoutTests/media/video-poster-blocked-by-willsendrequest.html (rev 0)
+++ trunk/LayoutTests/media/video-poster-blocked-by-willsendrequest.html 2011-07-27 22:01:02 UTC (rev 91872)
@@ -0,0 +1,52 @@
+<!doctype html>
+<html>
+ <head>
+ <style>
+ video {
+ border: 3px solid red;
+ background-color: magenta;
+ }
+ </style>
+
+ <script src=""
+ <script>
+
+ var width, height;
+
+ function testAfterLoadingPoster()
+ {
+ consoleWrite("<br><b>Test after setting poster</b>");
+
+ testExpected("video.clientWidth", 300);
+ testExpected("video.clientHeight", 150);
+
+ endTest();
+ }
+
+ function start()
+ {
+ if (window.layoutTestController) {
+ layoutTestController.dumpAsText();
+ layoutTestController.setWillSendRequestReturnsNull(true);
+ } else
+ consoleWrite("<b>This test can only be run in DumpRenderTree!</b>");
+
+ video = document.querySelectorAll('video')[0];
+
+ consoleWrite("<br><b>Testing before setting poster</b>");
+ testExpected("video.clientWidth", 300);
+ testExpected("video.clientHeight", 150);
+
+ video.poster = "content/abe.png";
+
+ setTimeout(testAfterLoadingPoster, 100);
+ }
+ </script>
+ </head>
+
+ <body _onload_="start()">
+ <video id=video></video>
+ <p>Test for <a href="" <br>
+ Resource load delegate should be able to block poster loading.</p>
+ </body>
+</html>
Modified: trunk/Source/WebCore/ChangeLog (91871 => 91872)
--- trunk/Source/WebCore/ChangeLog 2011-07-27 21:55:40 UTC (rev 91871)
+++ trunk/Source/WebCore/ChangeLog 2011-07-27 22:01:02 UTC (rev 91872)
@@ -1,3 +1,16 @@
+2011-07-27 Eric Carlson <[email protected]>
+
+ Load delegate not consulted before loading some poster images
+ https://bugs.webkit.org/show_bug.cgi?id=65270
+
+ Reviewed by Darin Adler.
+
+ Test: media/video-poster-blocked-by-willsendrequest.html
+
+ * html/HTMLVideoElement.cpp:
+ (WebCore::HTMLVideoElement::setDisplayMode): Don't ask media engine to set poster if
+ willLoadMediaElementURL returns false.
+
2011-07-27 Stephen White <[email protected]>
Fix for printing with accelerated <canvas>
Modified: trunk/Source/WebCore/html/HTMLVideoElement.cpp (91871 => 91872)
--- trunk/Source/WebCore/html/HTMLVideoElement.cpp 2011-07-27 21:55:40 UTC (rev 91871)
+++ trunk/Source/WebCore/html/HTMLVideoElement.cpp 2011-07-27 22:01:02 UTC (rev 91872)
@@ -34,6 +34,7 @@
#include "ChromeClient.h"
#include "Document.h"
#include "ExceptionCode.h"
+#include "Frame.h"
#include "HTMLImageLoader.h"
#include "HTMLNames.h"
#include "Page.h"
@@ -196,8 +197,12 @@
HTMLMediaElement::setDisplayMode(mode);
- if (player() && player()->canLoadPoster())
- player()->setPoster(poster);
+ if (player() && player()->canLoadPoster()) {
+ Frame* frame = document()->frame();
+ FrameLoader* loader = frame ? frame->loader() : 0;
+ if (loader && loader->willLoadMediaElementURL(poster))
+ player()->setPoster(poster);
+ }
#if !ENABLE(PLUGIN_PROXY_FOR_VIDEO)
if (renderer() && displayMode() != oldMode)
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes