Changeset 85458 in webkit


Ignore:
Timestamp:
May 1, 2011 10:59:46 PM (13 years ago)
Author:
inferno@chromium.org
Message:

2011-05-01 Abhishek Arya <inferno@chromium.org>

Reviewed by Eric Carlson.

Regression(r74787): Media document mouse click and double-click
events should be checked on target node only and not its descendants.
https://bugs.webkit.org/show_bug.cgi?id=59886

  • html/MediaDocument.cpp: (WebCore::MediaDocument::defaultEventHandler):
Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r85453 r85458  
     12011-05-01  Abhishek Arya  <inferno@chromium.org>
     2
     3        Reviewed by Eric Carlson.
     4
     5        Regression(r74787): Media document mouse click and double-click
     6        events should be checked on target node only and not its descendants.
     7        https://bugs.webkit.org/show_bug.cgi?id=59886
     8
     9        * html/MediaDocument.cpp:
     10        (WebCore::MediaDocument::defaultEventHandler):
     11
    1122011-05-01  Adam Barth  <abarth@webkit.org>
    213
  • trunk/Source/WebCore/html/MediaDocument.cpp

    r78342 r85458  
    155155        return;
    156156
    157     HTMLVideoElement* video = descendentVideoElement(targetNode);
    158     if (!video)
    159         return;
    160 
    161     if (event->type() == eventNames().clickEvent) {
    162         if (!video->canPlay()) {
    163             video->pause(event->fromUserGesture());
    164             event->setDefaultHandled();
     157    if (targetNode->hasTagName(videoTag)) {
     158        HTMLVideoElement* video = static_cast<HTMLVideoElement*>(targetNode);
     159        if (event->type() == eventNames().clickEvent) {
     160            if (!video->canPlay()) {
     161                video->pause(event->fromUserGesture());
     162                event->setDefaultHandled();
     163            }
     164        } else if (event->type() == eventNames().dblclickEvent) {
     165            if (video->canPlay()) {
     166                video->play(event->fromUserGesture());
     167                event->setDefaultHandled();
     168            }
    165169        }
    166     } else if (event->type() == eventNames().dblclickEvent) {
    167         if (video->canPlay()) {
    168             video->play(event->fromUserGesture());
    169             event->setDefaultHandled();
    170         }
    171     } else if (event->type() == eventNames().keydownEvent && event->isKeyboardEvent()) {
     170    }
     171   
     172    if (event->type() == eventNames().keydownEvent && event->isKeyboardEvent()) {
     173        HTMLVideoElement* video = descendentVideoElement(targetNode);
     174        if (!video)
     175            return;
     176
    172177        KeyboardEvent* keyboardEvent = static_cast<KeyboardEvent*>(event);
    173178        if (keyboardEvent->keyIdentifier() == "U+0020") { // space
Note: See TracChangeset for help on using the changeset viewer.