Closed Bug 1561281 Opened 5 years ago Closed 5 years ago

The Node highlighter sometimes stays visible even if the node isn't hovered anymore

Categories

(DevTools :: Debugger, defect, P3)

defect

Tracking

(firefox72 fixed)

RESOLVED FIXED
Firefox 72
Tracking Status
firefox72 --- fixed

People

(Reporter: nchevobbe, Assigned: nchevobbe)

References

(Blocks 1 open bug)

Details

Attachments

(2 files)

Steps to reproduce

  1. Open the debugger
  2. Create a new watch expression with document.body
  3. Quickly move over it and out with your mouse a few time

Actual results

There might be cases where the highlighter stays visible on the page, even if the user don't hover the node anymore (i.e. we have a Zombie Highlighter)


The same problem was fixed in the console in Bug 1358983. We should also use toolbox.js's getHighlighter to properly highlight nodes from the debugger.

So, the attached patch should fix the issue, and it seems to work when I test it manually.
However, I can't get the test to pass, as the node never unhighlight (with or without my fix in panel.js).

I guess some part is related to Bug 1562165.
If I early return in WhyPaused render function, at least I get the unhighlight event I'm waiting for.
But, the highlighter is still visible, which is weird.
My guess is that some re-render is causing trouble? But I'm not sure about that.

It would be nice to get another pair of eyes on this, as I've been testing some things without figuring what's really going on.

Assignee: nobody → nchevobbe
Status: NEW → ASSIGNED
Blocks: 1565711
Blocks: 1565713
No longer blocks: 1565711
No longer blocks: 1565713

Some panels, like the debugger, might handle both nodeFronts and grips
at the same time, so there's no way to know ahead of time which kind
of object we're going to deal with.
This patch remove the isGrip parameter, and perform a check on the
passed object to see if it's a nodeFront instance or not.

Depends on D48810

Pushed by nchevobbe@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/ed351e41d3d5
Remove toolbox getHighlighter `isGrip` parameter. r=davidwalsh.
https://hg.mozilla.org/integration/autoland/rev/8acdee03fb76
Fix debugger zombie highlighters. r=davidwalsh.
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 72
You need to log in before you can comment on or make changes to this bug.