Bug 17138

Summary: REGRESSION: Node highlight not updated properly
Product: WebKit Reporter: Matt Lilek <dev+webkit>
Component: Web Inspector (Deprecated)Assignee: Adam Roben (:aroben) <aroben>
Status: RESOLVED FIXED    
Severity: Normal CC: aroben
Priority: P1 Keywords: InRadar, PlatformOnly, Regression
Version: 528+ (Nightly build)   
Hardware: PC   
OS: Windows XP   
URL: data:text/html,<div style="width: 500px; height: 50px; background: red;">Top</div><div style="position: absolute; top: 1500px; width: 500px; height: 50px; background: green;">Bottom</div>
Attachments:
Description Flags
patch with changelog darin: review+

Description Matt Lilek 2008-02-01 09:40:58 PST
After Adam's reworking of the node highlight code yesterday, the highlight no longer updates on Windows when switching dom nodes until the inspected window is focused.  Also, while docked, the node highlights can disappear completely at times.

For example:
1. Load the testcase in the URL and inspect the Top div - the highlight is correct.
2. Switch to the Bottom div - the hole for the Top div is gone and the entire webview is faded grey.
3. Click in the inspected window - the hole for the Bottom div appears.
4. Dock the inspector.
5. Walk the DOM from <html> down and notice the different highlight behaviors, especially how toggling back and forth between the Top and Bottom divs never causes a hole to appear.
Comment 1 Matt Lilek 2008-02-01 09:53:52 PST
(In reply to comment #0)
> After Adam's reworking of the node highlight code yesterday [snip]

For future reference, that would be the following check ins:
<http://trac.webkit.org/projects/webkit/changeset/29886>
<http://trac.webkit.org/projects/webkit/changeset/29887>
<http://trac.webkit.org/projects/webkit/changeset/29888>
Comment 2 Mark Rowe (bdash) 2008-02-01 10:47:55 PST
<rdar://problem/5719869>
Comment 3 Adam Roben (:aroben) 2008-02-07 11:43:38 PST
I think the problem is that we translate the context before scrolling the element into view, which could change how much we need to translate by.
Comment 4 Adam Roben (:aroben) 2008-02-07 12:10:14 PST
Created attachment 18988 [details]
patch with changelog
Comment 5 Darin Adler 2008-02-07 12:20:30 PST
Comment on attachment 18988 [details]
patch with changelog

r=me

+    context.translate(-overlayRect.x(), -overlayRect.y());

Should we use save/restore instead?
Comment 6 Adam Roben (:aroben) 2008-02-07 12:22:37 PST
(In reply to comment #5)
> (From update of attachment 18988 [details] [edit])
> +    context.translate(-overlayRect.x(), -overlayRect.y());
> 
> Should we use save/restore instead?

I think it would be "in addition to" rather than "instead". I think we could save/restore in case the InspectorClient wanted to do more drawing of its own, but since the hope is that all drawing will go through this method I don't think it's really necessary.
Comment 7 Adam Roben (:aroben) 2008-02-07 15:37:10 PST
Fixed in r30081