Changeset 99667 in webkit


Ignore:
Timestamp:
Nov 9, 2011 12:56:36 AM (12 years ago)
Author:
commit-queue@webkit.org
Message:

Select multiple options with mouse drag in Select element.
https://bugs.webkit.org/show_bug.cgi?id=71128

Patch by Rakesh KN <rakesh.kn@motorola.com> on 2011-11-09
Reviewed by Ryosuke Niwa.

Multiple selection of option elements in select element with an mouse drag.
Other browsers(IE, Firefox, Opera) support this feature.

Source/WebCore:

Test: fast/forms/select-multiple-elements-with-mouse-drag.html

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleMouseDraggedEvent):
Allow auto scroll to be fired if current node(option) under mouse does not have renderer
but its container node(select) can autoscroll and has renderer for specific case of ListBox

LayoutTests:

  • fast/forms/select-multiple-elements-with-mouse-drag-expected.txt: Added.
  • fast/forms/select-multiple-elements-with-mouse-drag.html: Added.
Location:
trunk
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r99660 r99667  
     12011-11-09  Rakesh KN  <rakesh.kn@motorola.com>
     2
     3        Select multiple options with mouse drag in Select element.
     4        https://bugs.webkit.org/show_bug.cgi?id=71128
     5
     6        Reviewed by Ryosuke Niwa.
     7
     8        Multiple selection of option elements in select element with an mouse drag.
     9        Other browsers(IE, Firefox, Opera) support this feature.
     10
     11        * fast/forms/select-multiple-elements-with-mouse-drag-expected.txt: Added.
     12        * fast/forms/select-multiple-elements-with-mouse-drag.html: Added.
     13
    1142011-11-08  Yuta Kitamura  <yutak@chromium.org>
    215
  • trunk/Source/WebCore/ChangeLog

    r99666 r99667  
     12011-11-09  Rakesh KN  <rakesh.kn@motorola.com>
     2
     3        Select multiple options with mouse drag in Select element.
     4        https://bugs.webkit.org/show_bug.cgi?id=71128
     5
     6        Reviewed by Ryosuke Niwa.
     7
     8        Multiple selection of option elements in select element with an mouse drag.
     9        Other browsers(IE, Firefox, Opera) support this feature.
     10
     11        Test: fast/forms/select-multiple-elements-with-mouse-drag.html
     12
     13        * page/EventHandler.cpp:
     14        (WebCore::EventHandler::handleMouseDraggedEvent):
     15        Allow auto scroll to be fired if current node(option) under mouse does not have renderer
     16        but its container node(select) can autoscroll and has renderer for specific case of ListBox
     17
    1182011-11-09  Simon Hausmann  <simon.hausmann@nokia.com>
    219
  • trunk/Source/WebCore/page/EventHandler.cpp

    r99493 r99667  
    558558
    559559    Node* targetNode = EventHandler::targetNode(event);
    560     if (event.event().button() != LeftButton || !targetNode || !targetNode->renderer())
    561         return false;
     560    if (event.event().button() != LeftButton || !targetNode)
     561        return false;
     562
     563    RenderObject* renderer = targetNode->renderer();
     564    if (!renderer) {
     565        renderer = targetNode->parentNode() ? targetNode->parentNode()->renderer() : 0;
     566        if (!renderer || !renderer->isListBox())
     567            return false;
     568    }
    562569
    563570#if PLATFORM(MAC) // FIXME: Why does this assertion fire on other platforms?
     
    569576    if (m_mouseDownMayStartAutoscroll && !m_panScrollInProgress) {           
    570577        // Find a renderer that can autoscroll.
    571         RenderObject* renderer = targetNode->renderer();
    572578        while (renderer && !canAutoscroll(renderer)) {
    573579            if (!renderer->parent() && renderer->node() == renderer->document() && renderer->document()->ownerElement())
Note: See TracChangeset for help on using the changeset viewer.