Changeset 91337 in webkit


Ignore:
Timestamp:
Jul 19, 2011 10:52:24 PM (13 years ago)
Author:
sjl@chromium.org
Message:

[chromium] Media player controls do not fade out.
https://bugs.webkit.org/show_bug.cgi?id=64837

Media controls were not fading out when the mouse leaves the video
due to underlying changes in webkit media controls.
Fix was to copy missing code from MediaControlRootElement to
MediaControlRootElementChromium.

Reviewed by Dimitri Glazkov.

  • html/shadow/MediaControlRootElementChromium.cpp:

(WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
(WebCore::MediaControlRootElementChromium::playbackProgressed):
(WebCore::MediaControlRootElementChromium::containsRelatedTarget):
(WebCore::MediaControlRootElementChromium::defaultEventHandler):

  • html/shadow/MediaControlRootElementChromium.h:
Location:
trunk/Source/WebCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r91336 r91337  
     12011-07-19  Steve Lacey  <sjl@chromium.org>
     2
     3        [chromium] Media player controls do not fade out.
     4        https://bugs.webkit.org/show_bug.cgi?id=64837
     5
     6        Media controls were not fading out when the mouse leaves the video
     7        due to underlying changes in webkit media controls.
     8        Fix was to copy missing code from MediaControlRootElement to
     9        MediaControlRootElementChromium.
     10
     11        Reviewed by Dimitri Glazkov.
     12
     13        * html/shadow/MediaControlRootElementChromium.cpp:
     14        (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
     15        (WebCore::MediaControlRootElementChromium::playbackProgressed):
     16        (WebCore::MediaControlRootElementChromium::containsRelatedTarget):
     17        (WebCore::MediaControlRootElementChromium::defaultEventHandler):
     18        * html/shadow/MediaControlRootElementChromium.h:
     19
    1202011-07-19  Luke Macpherson   <macpherson@chromium.org>
    221
  • trunk/Source/WebCore/html/shadow/MediaControlRootElementChromium.cpp

    r87671 r91337  
    3131
    3232#include "MediaControlElements.h"
     33#include "MouseEvent.h"
    3334#include "Page.h"
    3435#include "RenderTheme.h"
     
    5051    , m_panel(0)
    5152    , m_opaque(true)
     53    , m_isMouseOverControls(false)
    5254{
    5355}
     
    210212    m_timeline->setPosition(m_mediaElement->currentTime());
    211213    updateTimeDisplay();
     214
     215    if (!m_isMouseOverControls && m_mediaElement->hasVideo())
     216        makeTransparent();
    212217}
    213218
     
    260265}
    261266
     267bool MediaControlRootElementChromium::containsRelatedTarget(Event* event)
     268{
     269    if (!event->isMouseEvent())
     270        return false;
     271    EventTarget* relatedTarget = static_cast<MouseEvent*>(event)->relatedTarget();
     272    if (!relatedTarget)
     273        return false;
     274    return contains(relatedTarget->toNode());
     275}
     276
     277void MediaControlRootElementChromium::defaultEventHandler(Event* event)
     278{
     279    MediaControls::defaultEventHandler(event);
     280
     281    if (event->type() == eventNames().mouseoverEvent) {
     282        if (!containsRelatedTarget(event)) {
     283            m_isMouseOverControls = true;
     284            if (!m_mediaElement->canPlay())
     285                makeOpaque();
     286        }
     287    } else if (event->type() == eventNames().mouseoutEvent) {
     288        if (!containsRelatedTarget(event))
     289            m_isMouseOverControls = false;
     290    }
     291}
     292
    262293void MediaControlRootElementChromium::changedClosedCaptionsVisibility()
    263294{
  • trunk/Source/WebCore/html/shadow/MediaControlRootElementChromium.h

    r87671 r91337  
    9090    MediaControlRootElementChromium(HTMLMediaElement*);
    9191
     92    virtual void defaultEventHandler(Event*);
     93
    9294    virtual const AtomicString& shadowPseudoId() const;
     95
     96    bool containsRelatedTarget(Event*);
    9397
    9498    HTMLMediaElement* m_mediaElement;
     
    104108
    105109    bool m_opaque;
     110    bool m_isMouseOverControls;
    106111};
    107112
Note: See TracChangeset for help on using the changeset viewer.