Media engine should not be told to prepare for playback if media loading is not allowed
authoreric.carlson@apple.com <eric.carlson@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 12 Apr 2012 19:58:10 +0000 (19:58 +0000)
committereric.carlson@apple.com <eric.carlson@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 12 Apr 2012 19:58:10 +0000 (19:58 +0000)
commit081193e4dd1d60898bad68578c0c9ffedc4243bc
treea51500f4988b5ac8c569da3e745a75fe6b54f6b9
parent77dc4dc50619423f22ab1e35d9d76d18ce1995fa
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
13 files changed:
LayoutTests/ChangeLog
LayoutTests/media/video-load-require-user-gesture-expected.txt [new file with mode: 0644]
LayoutTests/media/video-load-require-user-gesture.html [new file with mode: 0644]
LayoutTests/media/video-play-require-user-gesture.html
LayoutTests/platform/efl/Skipped
Source/WebCore/ChangeLog
Source/WebCore/html/HTMLMediaElement.cpp
Source/WebCore/testing/InternalSettings.cpp
Source/WebCore/testing/InternalSettings.h
Source/WebCore/testing/InternalSettings.idl
Source/WebCore/testing/Internals.cpp
Source/WebCore/testing/Internals.h
Source/WebCore/testing/Internals.idl