Changeset 187688 in webkit


Ignore:
Timestamp:
Jul 31, 2015 3:59:04 PM (9 years ago)
Author:
eric.carlson@apple.com
Message:

[iOS] use a media-specific user gesture check
https://bugs.webkit.org/show_bug.cgi?id=147509

Reviewed by Jer Noble.

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::processingUserGestureForMedia): New.

  • bindings/js/ScriptController.h:
  • dom/UserGestureIndicator.cpp:

(WebCore::isDefinite): Allow DefinitelyProcessingMediaUserGesture.
(WebCore::UserGestureIndicator::processingUserGestureForMedia): New.

  • dom/UserGestureIndicator.h:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::load): Use ScriptController::processingUserGestureForMedia instead of

ScriptController::processingUserGesture

(WebCore::HTMLMediaElement::play): Ditto.

Location:
trunk/Source/WebCore
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r187687 r187688  
     12015-07-31  Eric Carlson  <eric.carlson@apple.com>
     2
     3        [iOS] use a media-specific user gesture check
     4        https://bugs.webkit.org/show_bug.cgi?id=147509
     5
     6        Reviewed by Jer Noble.
     7
     8        * bindings/js/ScriptController.cpp:
     9        (WebCore::ScriptController::processingUserGestureForMedia): New.
     10        * bindings/js/ScriptController.h:
     11
     12        * dom/UserGestureIndicator.cpp:
     13        (WebCore::isDefinite): Allow DefinitelyProcessingMediaUserGesture.
     14        (WebCore::UserGestureIndicator::processingUserGestureForMedia): New.
     15        * dom/UserGestureIndicator.h:
     16
     17        * html/HTMLMediaElement.cpp:
     18        (WebCore::HTMLMediaElement::load): Use ScriptController::processingUserGestureForMedia instead of
     19          ScriptController::processingUserGesture
     20        (WebCore::HTMLMediaElement::play): Ditto.
     21
    1222015-07-31  Andreas Kling  <akling@apple.com>
    223
  • trunk/Source/WebCore/bindings/js/ScriptController.cpp

    r186574 r187688  
    307307}
    308308
     309bool ScriptController::processingUserGestureForMedia()
     310{
     311    return UserGestureIndicator::processingUserGestureForMedia();
     312}
     313
    309314bool ScriptController::canAccessFromCurrentOrigin(Frame *frame)
    310315{
  • trunk/Source/WebCore/bindings/js/ScriptController.h

    r178820 r187688  
    122122
    123123    WEBCORE_EXPORT static bool processingUserGesture();
     124    WEBCORE_EXPORT static bool processingUserGestureForMedia();
    124125
    125126    static bool canAccessFromCurrentOrigin(Frame*);
  • trunk/Source/WebCore/dom/UserGestureIndicator.cpp

    r174700 r187688  
    3434static bool isDefinite(ProcessingUserGestureState state)
    3535{
    36     return state == DefinitelyProcessingUserGesture || state == DefinitelyNotProcessingUserGesture;
     36    return state == DefinitelyProcessingUserGesture || state == DefinitelyNotProcessingUserGesture || state == DefinitelyProcessingMediaUserGesture;
    3737}
    3838
     
    6767}
    6868
     69bool UserGestureIndicator::processingUserGestureForMedia()
     70{
     71    if (!isMainThread())
     72        return false;
     73
     74    return s_state == DefinitelyProcessingUserGesture || s_state == DefinitelyProcessingMediaUserGesture;
    6975}
     76
     77}
  • trunk/Source/WebCore/dom/UserGestureIndicator.h

    r174700 r187688  
    3535enum ProcessingUserGestureState {
    3636    DefinitelyProcessingUserGesture,
     37    DefinitelyProcessingMediaUserGesture,
    3738    PossiblyProcessingUserGesture,
    3839    DefinitelyNotProcessingUserGesture
     
    4344public:
    4445    static bool processingUserGesture();
     46    static bool processingUserGestureForMedia();
    4547
    4648    // If a document is provided, its last known user gesture timestamp is updated.
  • trunk/Source/WebCore/html/HTMLMediaElement.cpp

    r187687 r187688  
    921921    if (!m_mediaSession->dataLoadingPermitted(*this))
    922922        return;
    923     if (ScriptController::processingUserGesture())
     923    if (ScriptController::processingUserGestureForMedia())
    924924        removeBehaviorsRestrictionsAfterFirstUserGesture();
    925925
     
    28402840    if (!m_mediaSession->playbackPermitted(*this))
    28412841        return;
    2842     if (ScriptController::processingUserGesture())
     2842    if (ScriptController::processingUserGestureForMedia())
    28432843        removeBehaviorsRestrictionsAfterFirstUserGesture();
    28442844
Note: See TracChangeset for help on using the changeset viewer.