Title: [126445] trunk/Source/WebCore
Revision
126445
Author
[email protected]
Date
2012-08-23 10:45:59 -0700 (Thu, 23 Aug 2012)

Log Message

Web Inspector: dblclick on Timeline overview no longer selects entire timeline range
https://bugs.webkit.org/show_bug.cgi?id=94826

Reviewed by Vsevolod Vlasov.

Only install a glass pane for drag-n-drop upon first mouseout event -- otherwise, glass pane
will interfere with double clicks.

* inspector/front-end/UIUtils.js:
(WebInspector._elementDragStart.onMouseOut):
(WebInspector._elementDragStart):
(WebInspector._elementDragEnd):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (126444 => 126445)


--- trunk/Source/WebCore/ChangeLog	2012-08-23 17:41:18 UTC (rev 126444)
+++ trunk/Source/WebCore/ChangeLog	2012-08-23 17:45:59 UTC (rev 126445)
@@ -1,3 +1,18 @@
+2012-08-23  Andrey Kosyakov  <[email protected]>
+
+        Web Inspector: dblclick on Timeline overview no longer selects entire timeline range
+        https://bugs.webkit.org/show_bug.cgi?id=94826
+
+        Reviewed by Vsevolod Vlasov.
+
+        Only install a glass pane for drag-n-drop upon first mouseout event -- otherwise, glass pane
+        will interfere with double clicks.
+
+        * inspector/front-end/UIUtils.js:
+        (WebInspector._elementDragStart.onMouseOut):
+        (WebInspector._elementDragStart):
+        (WebInspector._elementDragEnd):
+
 2012-08-23  Adrienne Walker  <[email protected]>
 
         Convert ScrollableArea ASSERT_NOT_REACHED virtuals

Modified: trunk/Source/WebCore/inspector/front-end/UIUtils.js (126444 => 126445)


--- trunk/Source/WebCore/inspector/front-end/UIUtils.js	2012-08-23 17:41:18 UTC (rev 126444)
+++ trunk/Source/WebCore/inspector/front-end/UIUtils.js	2012-08-23 17:45:59 UTC (rev 126445)
@@ -60,29 +60,46 @@
     if (elementDragStart && !elementDragStart(event))
         return;
 
-    // Install glass pane
-    if (WebInspector._elementDraggingGlassPane)
+    if (WebInspector._elementDraggingGlassPane) {
         WebInspector._elementDraggingGlassPane.dispose();
+        delete WebInspector._elementDraggingGlassPane;
+    }
 
-    WebInspector._elementDraggingGlassPane = new WebInspector.GlassPane();
+    var targetDocument = event.target.ownerDocument;
 
     WebInspector._elementDraggingEventListener = elementDrag;
     WebInspector._elementEndDraggingEventListener = elementDragEnd;
+    WebInspector._mouseOutWhileDraggingTargetDocument = targetDocument;
 
-    var targetDocument = event.target.ownerDocument;
     targetDocument.addEventListener("mousemove", WebInspector._elementDraggingEventListener, true);
     targetDocument.addEventListener("mouseup", WebInspector._elementDragEnd, true);
+    targetDocument.addEventListener("mouseout", WebInspector._mouseOutWhileDragging, true);
 
     targetDocument.body.style.cursor = cursor;
 
     event.preventDefault();
 }
 
+WebInspector._mouseOutWhileDragging = function()
+{
+    WebInspector._unregisterMouseOutWhileDragging();
+    WebInspector._elementDraggingGlassPane = new WebInspector.GlassPane();
+}
+
+WebInspector._unregisterMouseOutWhileDragging = function()
+{
+    if (!WebInspector._mouseOutWhileDraggingTargetDocument)
+        return;
+    WebInspector._mouseOutWhileDraggingTargetDocument.removeEventListener("mouseout", WebInspector._mouseOutWhileDragging, true);
+    delete WebInspector._mouseOutWhileDraggingTargetDocument;
+}
+
 WebInspector._elementDragEnd = function(event)
 {
     var targetDocument = event.target.ownerDocument;
     targetDocument.removeEventListener("mousemove", WebInspector._elementDraggingEventListener, true);
     targetDocument.removeEventListener("mouseup", WebInspector._elementDragEnd, true);
+    WebInspector._unregisterMouseOutWhileDragging();
 
     targetDocument.body.style.removeProperty("cursor");
 
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to