Changeset 223807 in webkit


Ignore:
Timestamp:
Oct 20, 2017 10:04:28 PM (7 years ago)
Author:
Matt Baker
Message:

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):

Location:
trunk/Source/WebInspectorUI
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebInspectorUI/ChangeLog

    r223806 r223807  
     12017-10-20  Matt Baker  <mattbaker@apple.com>
     2
     3        Web Inspector: scrolling the editor while debugging shouldn't trigger popovers
     4        https://bugs.webkit.org/show_bug.cgi?id=178325
     5
     6        Reviewed by Devin Rousso.
     7
     8        Ignore the next "mousemove" event immediately following a "mousewheel",
     9        when determining the hovered item for purposes of triggering a popover.
     10
     11        * UserInterface/Controllers/CodeMirrorTokenTrackingController.js:
     12        (WI.CodeMirrorTokenTrackingController):
     13        (WI.CodeMirrorTokenTrackingController.prototype._startTracking):
     14        (WI.CodeMirrorTokenTrackingController.prototype._stopTracking):
     15        (WI.CodeMirrorTokenTrackingController.prototype.handleEvent):
     16        (WI.CodeMirrorTokenTrackingController.prototype._mouseMovedOverEditor):
     17
    1182017-10-20  Joseph Pecoraro  <pecoraro@apple.com>
    219
  • trunk/Source/WebInspectorUI/UserInterface/Controllers/CodeMirrorTokenTrackingController.js

    r220119 r223807  
    4444        this._previousTokenInfo = null;
    4545        this._hoveredMarker = null;
     46        this._ignoreNextMouseMove = false;
    4647
    4748        const hidePopover = this._hidePopover.bind(this);
     
    199200
    200201        this._tracking = true;
     202        this._ignoreNextMouseMove = false;
    201203
    202204        var wrapper = this._codeMirror.getWrapperElement();
     
    205207        wrapper.addEventListener("mousedown", this, false);
    206208        wrapper.addEventListener("mouseup", this, false);
     209        wrapper.addEventListener("mousewheel", this, false);
    207210        window.addEventListener("blur", this, true);
    208211    }
     
    221224        wrapper.removeEventListener("mousedown", this, false);
    222225        wrapper.removeEventListener("mouseup", this, false);
     226        wrapper.removeEventListener("mousewheel", this, false);
    223227        window.removeEventListener("blur", this, true);
    224228        window.removeEventListener("mousemove", this, true);
     
    253257            this._mouseButtonWasReleasedOverEditor(event);
    254258            break;
     259        case "mousewheel":
     260            this._ignoreNextMouseMove = true;
     261            break;
    255262        case "blur":
    256263            this._windowLostFocus(event);
     
    319326    _mouseMovedOverEditor(event)
    320327    {
     328        if (this._ignoreNextMouseMove) {
     329            this._ignoreNextMouseMove = false;
     330            return;
     331        }
     332
    321333        this._updateHoveredTokenInfo({left: event.pageX, top: event.pageY});
    322334    }
Note: See TracChangeset for help on using the changeset viewer.