Modified: trunk/Source/WebInspectorUI/ChangeLog (223806 => 223807)
--- trunk/Source/WebInspectorUI/ChangeLog 2017-10-21 05:00:00 UTC (rev 223806)
+++ trunk/Source/WebInspectorUI/ChangeLog 2017-10-21 05:04:28 UTC (rev 223807)
@@ -1,3 +1,20 @@
+2017-10-20 Matt Baker <mattba...@apple.com>
+
+ Web Inspector: scrolling the editor while debugging shouldn't trigger popovers
+ https://bugs.webkit.org/show_bug.cgi?id=178325
+
+ Reviewed by Devin Rousso.
+
+ Ignore the next "mousemove" event immediately following a "mousewheel",
+ when determining the hovered item for purposes of triggering a popover.
+
+ * UserInterface/Controllers/CodeMirrorTokenTrackingController.js:
+ (WI.CodeMirrorTokenTrackingController):
+ (WI.CodeMirrorTokenTrackingController.prototype._startTracking):
+ (WI.CodeMirrorTokenTrackingController.prototype._stopTracking):
+ (WI.CodeMirrorTokenTrackingController.prototype.handleEvent):
+ (WI.CodeMirrorTokenTrackingController.prototype._mouseMovedOverEditor):
+
2017-10-20 Joseph Pecoraro <pecor...@apple.com>
Web Inspector: preview content view for MIME type application/json should be a collapsible tree outline
Modified: trunk/Source/WebInspectorUI/UserInterface/Controllers/CodeMirrorTokenTrackingController.js (223806 => 223807)
--- trunk/Source/WebInspectorUI/UserInterface/Controllers/CodeMirrorTokenTrackingController.js 2017-10-21 05:00:00 UTC (rev 223806)
+++ trunk/Source/WebInspectorUI/UserInterface/Controllers/CodeMirrorTokenTrackingController.js 2017-10-21 05:04:28 UTC (rev 223807)
@@ -43,6 +43,7 @@
this._tracking = false;
this._previousTokenInfo = null;
this._hoveredMarker = null;
+ this._ignoreNextMouseMove = false;
const hidePopover = this._hidePopover.bind(this);
@@ -198,6 +199,7 @@
return;
this._tracking = true;
+ this._ignoreNextMouseMove = false;
var wrapper = this._codeMirror.getWrapperElement();
wrapper.addEventListener("mousemove", this, true);
@@ -204,6 +206,7 @@
wrapper.addEventListener("mouseout", this, false);
wrapper.addEventListener("mousedown", this, false);
wrapper.addEventListener("mouseup", this, false);
+ wrapper.addEventListener("mousewheel", this, false);
window.addEventListener("blur", this, true);
}
@@ -220,6 +223,7 @@
wrapper.removeEventListener("mouseout", this, false);
wrapper.removeEventListener("mousedown", this, false);
wrapper.removeEventListener("mouseup", this, false);
+ wrapper.removeEventListener("mousewheel", this, false);
window.removeEventListener("blur", this, true);
window.removeEventListener("mousemove", this, true);
@@ -252,6 +256,9 @@
case "mouseup":
this._mouseButtonWasReleasedOverEditor(event);
break;
+ case "mousewheel":
+ this._ignoreNextMouseMove = true;
+ break;
case "blur":
this._windowLostFocus(event);
break;
@@ -318,6 +325,11 @@
_mouseMovedOverEditor(event)
{
+ if (this._ignoreNextMouseMove) {
+ this._ignoreNextMouseMove = false;
+ return;
+ }
+
this._updateHoveredTokenInfo({left: event.pageX, top: event.pageY});
}