Reviewed by Maciej.
authorantti <antti@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 13 Feb 2007 08:55:05 +0000 (08:55 +0000)
committerantti <antti@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 13 Feb 2007 08:55:05 +0000 (08:55 +0000)
        -fix REGRESSION: <select disabled size="5"> listbox cannot be scrolled
        http://bugs.webkit.org/show_bug.cgi?id=11852
        <rdar://problem/4960129>

        Pass mouse press events to scrollbars even if event is swallowed.

        No layout test, DumpRenderTree eventSender can't hit scrollbars.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMousePressEvent):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@19596 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebCore/ChangeLog
WebCore/page/EventHandler.cpp

index 34ce93aec8b59f775834f6256e25d30053a1bc3d..89279460c4121658331bf931b725d3940838f48a 100644 (file)
@@ -1,3 +1,18 @@
+2007-02-12  Antti Koivisto  <antti@apple.com>
+
+        Reviewed by Maciej.
+
+        -fix REGRESSION: <select disabled size="5"> listbox cannot be scrolled
+        http://bugs.webkit.org/show_bug.cgi?id=11852
+        <rdar://problem/4960129>
+        
+        Pass mouse press events to scrollbars even if event is swallowed.
+        
+        No layout test, DumpRenderTree eventSender can't hit scrollbars.
+
+        * page/EventHandler.cpp:
+        (WebCore::EventHandler::handleMousePressEvent):
+
 2007-02-12  David Hyatt  <hyatt@apple.com>
 
         Fix for bug 12149 (Radar Bug#4928692), external CSS causes incomplete
index dc70d9889dad4396dea558b24749d5eba2560a4a..03c613c2e7c3acd80aba65f0eb6d1c685206cd83 100644 (file)
@@ -799,7 +799,11 @@ bool EventHandler::handleMousePressEvent(const PlatformMouseEvent& mouseEvent)
 
     bool swallowEvent = dispatchMouseEvent(mousedownEvent, mev.targetNode(), true, m_clickCount, mouseEvent, true);
 
-    if (!swallowEvent) {
+    if (swallowEvent) {
+        // scrollbars should get events anyway, even disabled controls might be scrollable
+        if (mev.scrollbar())
+            passMousePressEventToScrollbar(mev, mev.scrollbar());
+    } else {
         // Refetch the event target node if it currently is the shadow node inside an <input> element.
         // If a mouse event handler changes the input element type to one that has a widget associated,
         // we'd like to EventHandler::handleMousePressEvent to pass the event to the widget and thus the