WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
161264
REGRESSION (
r203535
): Web Inspector: Inspector overlay node info has disappeared
https://bugs.webkit.org/show_bug.cgi?id=161264
Summary
REGRESSION (r203535): Web Inspector: Inspector overlay node info has disappeared
Devin Rousso
Reported
2016-08-26 13:44:20 PDT
In the DOM tree (or for any logged nodes), hovering them shows a highlight overlay for that node in the inspected page. The highlight overlay still shows, but the information about the node (width, height, id, class, role, etc) has disappeared.
Attachments
Patch
(1.50 KB, patch)
2016-08-26 16:13 PDT
,
Devin Rousso
no flags
Details
Formatted Diff
Diff
Patch
(3.96 KB, patch)
2016-08-26 17:40 PDT
,
Devin Rousso
no flags
Details
Formatted Diff
Diff
Patch
(3.91 KB, patch)
2016-08-26 19:15 PDT
,
Devin Rousso
joepeck
: review+
Details
Formatted Diff
Diff
Patch
(3.73 KB, patch)
2016-08-26 19:25 PDT
,
Devin Rousso
no flags
Details
Formatted Diff
Diff
Show Obsolete
(3)
View All
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2016-08-26 13:44:45 PDT
<
rdar://problem/28035989
>
Joseph Pecoraro
Comment 2
2016-08-26 13:53:09 PDT
This appears to have broken with: <
https://trac.webkit.org/changeset/203535
>
Joseph Pecoraro
Comment 3
2016-08-26 13:54:00 PDT
Maybe this doesn't work anymore? We should audit InspectorOverlayPage.js for issues after that change: DOMBuilder.prototype.appendTextNode = function(content) { var node = document.createTextNode(); node.textContent = content; this.element.appendChild(node); return node; }
Matt Baker
Comment 4
2016-08-26 14:32:55 PDT
Regressed in
https://trac.webkit.org/changeset/203535
.
Devin Rousso
Comment 5
2016-08-26 16:13:21 PDT
Created
attachment 287166
[details]
Patch
Joseph Pecoraro
Comment 6
2016-08-26 16:41:24 PDT
Comment on
attachment 287166
[details]
Patch We should be able to test this by crashing on debug builds if there was any exception in the overlay page. We should never have exceptions evaluating something in the overlay page. Here is what we could do: Source/WebCore/inspector/InspectorOverlay.cpp has a few "evaluateInOverlay*" methods that look like: overlayPage()->mainFrame().script().evaluate(ScriptSourceCode(makeString("dispatch(", command->toJSONString(), ')'))); This is using ScriptController's evaluate method which includes optional exception details: JSC::JSValue evaluate(const ScriptSourceCode&, ExceptionDetails* = nullptr); We could pass in exception details and try to ASSERT that there was an exception. ASSERT(exceptionDetails.message.isNull()); Let me know what you decide to do, because ultimately we will want something like this.
Joseph Pecoraro
Comment 7
2016-08-26 16:45:22 PDT
> We could pass in exception details and try to ASSERT that there was an > exception. ASSERT(exceptionDetails.message.isNull());
Or even simpler (based off of WebPage.cpp's use of evaluate()): JSValue result = overlayPage()->mainFrame().script().evaluate(...); ASSERT_UNUSED(result, !result); // Should never have exceptions evaluating in the overlay page.
Devin Rousso
Comment 8
2016-08-26 17:40:34 PDT
Created
attachment 287180
[details]
Patch
Joseph Pecoraro
Comment 9
2016-08-26 18:40:43 PDT
Comment on
attachment 287180
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=287180&action=review
> Source/WebCore/inspector/InspectorOverlay.cpp:928 > + ExceptionDetails exceptionDetails; > + page->mainFrame().script().evaluate(ScriptSourceCode(makeString("dispatch(", command->toJSONString(), ')')), &exceptionDetails); > + ASSERT(exceptionDetails.message.isNull()); // There should never be exceptions when evaluating in the overlay page.
Err instead of this could you just do the other assert? static void evaluateCommandInOverlay(Page* page, Ref<InspectorArray>&& command) { JSValue result = page->mainFrame().script().evaluate(ScriptSourceCode(makeString("dispatch(", command->toJSONString(), ')'))); ASSERT_UNUSED(result, result); // There should never be exceptions when evaluating in the overlay page. }
Devin Rousso
Comment 10
2016-08-26 19:15:58 PDT
Created
attachment 287189
[details]
Patch
Joseph Pecoraro
Comment 11
2016-08-26 19:20:33 PDT
Comment on
attachment 287189
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=287189&action=review
r=me
> Source/WebCore/ChangeLog:8 > + No new tests. Fixing JavaScript error in Inspector overlay.
You could say that adding the ASSERT would cause tests to crash if this happens in the future.
Devin Rousso
Comment 12
2016-08-26 19:25:13 PDT
Created
attachment 287191
[details]
Patch
WebKit Commit Bot
Comment 13
2016-08-26 19:55:24 PDT
Comment on
attachment 287191
[details]
Patch Clearing flags on attachment: 287191 Committed
r205068
: <
http://trac.webkit.org/changeset/205068
>
WebKit Commit Bot
Comment 14
2016-08-26 19:55:28 PDT
All reviewed patches have been landed. Closing bug.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug