From 081193e4dd1d60898bad68578c0c9ffedc4243bc Mon Sep 17 00:00:00 2001 From: "eric.carlson@apple.com" Date: Thu, 12 Apr 2012 19:58:10 +0000 Subject: [PATCH] Media engine should not be told to prepare for playback if media loading is not allowed https://bugs.webkit.org/show_bug.cgi?id=83620 Reviewed by Dan Bernstein. Source/WebCore: Test: media/video-load-require-user-gesture.html * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::load): Early return if user gesture requirement is not met. * testing/InternalSettings.cpp: (WebCore::InternalSettings::setMediaPlaybackRequiresUserGesture): Moved the method here from Internals to be with the rest of the Internals methods that expose preferences. * testing/InternalSettings.h: * testing/InternalSettings.idl: * testing/Internals.cpp: Moved setMediaPlaybackRequiresUserGesture to InternalSettings. * testing/Internals.h: * testing/Internals.idl: LayoutTests: * media/video-load-require-user-gesture-expected.txt: Added. * media/video-load-require-user-gesture.html: Added. * media/video-play-require-user-gesture.html: Update for move of setMediaPlaybackRequiresUserGesture from window.internals to window.internals.settings. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@114021 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- LayoutTests/ChangeLog | 13 +++++ .../video-load-require-user-gesture-expected.txt | 9 ++++ .../media/video-load-require-user-gesture.html | 56 ++++++++++++++++++++++ .../media/video-play-require-user-gesture.html | 4 +- LayoutTests/platform/efl/Skipped | 1 + Source/WebCore/ChangeLog | 22 +++++++++ Source/WebCore/html/HTMLMediaElement.cpp | 21 ++++---- Source/WebCore/testing/InternalSettings.cpp | 7 +++ Source/WebCore/testing/InternalSettings.h | 1 + Source/WebCore/testing/InternalSettings.idl | 1 + Source/WebCore/testing/Internals.cpp | 10 ---- Source/WebCore/testing/Internals.h | 2 - Source/WebCore/testing/Internals.idl | 2 - 13 files changed, 124 insertions(+), 25 deletions(-) create mode 100644 LayoutTests/media/video-load-require-user-gesture-expected.txt create mode 100644 LayoutTests/media/video-load-require-user-gesture.html diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog index 2bfb56a..06e4c07 100644 --- a/LayoutTests/ChangeLog +++ b/LayoutTests/ChangeLog @@ -1,3 +1,16 @@ +2012-04-12 Eric Carlson + + Media engine should not be told to prepare for playback if media loading is not allowed + https://bugs.webkit.org/show_bug.cgi?id=83620 + + Reviewed by Dan Bernstein. + + * platform/efl/Skipped: Skipped new test because it requires preload=none support. + * media/video-load-require-user-gesture-expected.txt: Added. + * media/video-load-require-user-gesture.html: Added. + * media/video-play-require-user-gesture.html: Update for move of setMediaPlaybackRequiresUserGesture + from window.internals to window.internals.settings. + 2012-04-12 Bear Travis [CSS Exclusions] Add flag to enable / disable exclusions at runtime diff --git a/LayoutTests/media/video-load-require-user-gesture-expected.txt b/LayoutTests/media/video-load-require-user-gesture-expected.txt new file mode 100644 index 0000000..3aa1842 --- /dev/null +++ b/LayoutTests/media/video-load-require-user-gesture-expected.txt @@ -0,0 +1,9 @@ +Test that video.load() should not cause media loading when user gesture is required. + +* Setting video.src, no data should load. + +* Calling video.load(). It should throw an exception, and no data should load. +TEST(video.load()) THROWS(DOMException.INVALID_STATE_ERR) OK + +END OF TEST + diff --git a/LayoutTests/media/video-load-require-user-gesture.html b/LayoutTests/media/video-load-require-user-gesture.html new file mode 100644 index 0000000..d1cb743 --- /dev/null +++ b/LayoutTests/media/video-load-require-user-gesture.html @@ -0,0 +1,56 @@ + + + + + + + + + +

Test that video.load() should not cause media loading when user gesture is required.

+ + diff --git a/LayoutTests/media/video-play-require-user-gesture.html b/LayoutTests/media/video-play-require-user-gesture.html index 74edab1..dd3a868 100644 --- a/LayoutTests/media/video-play-require-user-gesture.html +++ b/LayoutTests/media/video-play-require-user-gesture.html @@ -7,11 +7,11 @@