Title: [94749] trunk/Source/WebCore
Revision
94749
Author
ca...@chromium.org
Date
2011-09-08 01:55:43 -0700 (Thu, 08 Sep 2011)

Log Message

2011-09-07  Andrey Kosyakov  <ca...@chromium.org>

        Web Inspector: trying to scroll mouse wheel when in TextViewer's gutter pane causes EventException::DISPATCH_REQUEST_ERR
        https://bugs.webkit.org/show_bug.cgi?id=67715

        Reviewed by Yury Semikhatsky.

        - avoid exception on attempt to dispatch an event that is being dispatched by cloning the event.

        * inspector/front-end/TextViewer.js:
        (WebInspector.TextViewer.forwardWheelEvent):
        (WebInspector.TextViewer):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (94748 => 94749)


--- trunk/Source/WebCore/ChangeLog	2011-09-08 08:55:32 UTC (rev 94748)
+++ trunk/Source/WebCore/ChangeLog	2011-09-08 08:55:43 UTC (rev 94749)
@@ -1,3 +1,16 @@
+2011-09-07  Andrey Kosyakov  <ca...@chromium.org>
+
+        Web Inspector: trying to scroll mouse wheel when in TextViewer's gutter pane causes EventException::DISPATCH_REQUEST_ERR
+        https://bugs.webkit.org/show_bug.cgi?id=67715
+
+        Reviewed by Yury Semikhatsky.
+
+        - avoid exception on attempt to dispatch an event that is being dispatched by cloning the event.
+
+        * inspector/front-end/TextViewer.js:
+        (WebInspector.TextViewer.forwardWheelEvent):
+        (WebInspector.TextViewer):
+
 2011-09-07  Sheriff Bot  <webkit.review....@gmail.com>
 
         Unreviewed, rolling out r94674 and r94689.

Modified: trunk/Source/WebCore/inspector/front-end/TextViewer.js (94748 => 94749)


--- trunk/Source/WebCore/inspector/front-end/TextViewer.js	2011-09-08 08:55:32 UTC (rev 94748)
+++ trunk/Source/WebCore/inspector/front-end/TextViewer.js	2011-09-08 08:55:43 UTC (rev 94749)
@@ -51,9 +51,17 @@
     this.element.appendChild(this._gutterPanel.element);
 
     // Forward mouse wheel events from the unscrollable gutter to the main panel.
-    this._gutterPanel.element.addEventListener("mousewheel", function(e) {
-        this._mainPanel.element.dispatchEvent(e);
-    }.bind(this), false);
+    function forwardWheelEvent(event)
+    {
+        var clone = document.createEvent("WheelEvent");
+        clone.initWebKitWheelEvent(event.wheelDeltaX, event.wheelDeltaY,
+                                   event.view,
+                                   event.screenX, event.screenY,
+                                   event.clientX, event.clientY,
+                                   event.ctrlKey, event.altKey, event.shiftKey, event.metaKey);
+        this._mainPanel.element.dispatchEvent(clone);
+    }
+    this._gutterPanel.element.addEventListener("mousewheel", forwardWheelEvent.bind(this), false);
 
     this.element.addEventListener("dblclick", this._doubleClick.bind(this), true);
     this.element.addEventListener("keydown", this._handleKeyDown.bind(this), false);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to