Closed
Bug 924899
Opened 12 years ago
Closed 10 years ago
[Highlighter] Selecting nodes during page navigation
Categories
(DevTools :: Inspector, defect, P3)
Tracking
(Not tracked)
RESOLVED
WORKSFORME
People
(Reporter: pbro, Unassigned)
References
Details
Here is another navigation scenario that ends up in an exception.
STR:
- Open the inspector on any page
- Start loading a new page (preferably one that takes some time to load)
- Before the load is finished, activate the highlighter and move your mouse over the content document
You should have JS exceptions:
Message: TypeError: this.rootDoc is null
Stack:
@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/server/actors/inspector.js:982
@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/server/protocol.js:906
DSC_onPacket@resource://gre/modules/devtools/dbg-server.jsm -> resource://gre/modules/devtools/server/main.js:1018
@resource://gre/modules/devtools/dbg-server.jsm -> resource://gre/modules/devtools/server/main.js -> resource://gre/modules/devtools/server/transport.js:258
@resource://gre/modules/devtools/dbg-server.jsm -> resource://gre/modules/devtools/server/main.js -> resource://gre/modules/devtools/DevToolsUtils.js:75
And
Message: TypeError: this.rawNode.ownerDocument.location is null
Stack:
@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/server/actors/styles.js:676
@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/server/protocol.js:275
@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/server/protocol.js:185
@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/server/protocol.js:217
@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/server/protocol.js:475
@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/server/protocol.js:610
@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/server/protocol.js:608
@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/server/protocol.js:914
resolve@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/core/promise.js:118
then@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/core/promise.js:43
then@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/core/promise.js:153
@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/server/protocol.js:927
@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/server/protocol.js:830
@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/server/protocol.js:924
DSC_onPacket@resource://gre/modules/devtools/dbg-server.jsm -> resource://gre/modules/devtools/server/main.js:1018
@resource://gre/modules/devtools/dbg-server.jsm -> resource://gre/modules/devtools/server/main.js -> resource://gre/modules/devtools/server/transport.js:258
@resource://gre/modules/devtools/dbg-server.jsm -> resource://gre/modules/devtools/server/main.js -> resource://gre/modules/devtools/DevToolsUtils.js:75
Comment 1•12 years ago
|
||
(In reply to Patrick Brosset from comment #0)
> Here is another navigation scenario that ends up in an exception.
>
> STR:
>
> - Open the inspector on any page
> - Start loading a new page (preferably one that takes some time to load)
> - Before the load is finished, activate the highlighter and move your mouse
> over the content document
>
> You should have JS exceptions:
>
> Message: TypeError: this.rootDoc is null
> Stack:
> @resource://gre/modules/commonjs/toolkit/loader.js ->
> resource://gre/modules/devtools/server/actors/inspector.js:982
> @resource://gre/modules/commonjs/toolkit/loader.js ->
> resource://gre/modules/devtools/server/protocol.js:906
> DSC_onPacket@resource://gre/modules/devtools/dbg-server.jsm ->
> resource://gre/modules/devtools/server/main.js:1018
> @resource://gre/modules/devtools/dbg-server.jsm ->
> resource://gre/modules/devtools/server/main.js ->
> resource://gre/modules/devtools/server/transport.js:258
> @resource://gre/modules/devtools/dbg-server.jsm ->
> resource://gre/modules/devtools/server/main.js ->
> resource://gre/modules/devtools/DevToolsUtils.js:75
>
> And
>
> Message: TypeError: this.rawNode.ownerDocument.location is null
> Stack:
> @resource://gre/modules/commonjs/toolkit/loader.js ->
> resource://gre/modules/devtools/server/actors/styles.js:676
> @resource://gre/modules/commonjs/toolkit/loader.js ->
> resource://gre/modules/devtools/server/protocol.js:275
> @resource://gre/modules/commonjs/toolkit/loader.js ->
> resource://gre/modules/devtools/server/protocol.js:185
> @resource://gre/modules/commonjs/toolkit/loader.js ->
> resource://gre/modules/devtools/server/protocol.js:217
> @resource://gre/modules/commonjs/toolkit/loader.js ->
> resource://gre/modules/devtools/server/protocol.js:475
> @resource://gre/modules/commonjs/toolkit/loader.js ->
> resource://gre/modules/devtools/server/protocol.js:610
> @resource://gre/modules/commonjs/toolkit/loader.js ->
> resource://gre/modules/devtools/server/protocol.js:608
> @resource://gre/modules/commonjs/toolkit/loader.js ->
> resource://gre/modules/devtools/server/protocol.js:914
> resolve@resource://gre/modules/commonjs/toolkit/loader.js ->
> resource://gre/modules/commonjs/sdk/core/promise.js:118
> then@resource://gre/modules/commonjs/toolkit/loader.js ->
> resource://gre/modules/commonjs/sdk/core/promise.js:43
> then@resource://gre/modules/commonjs/toolkit/loader.js ->
> resource://gre/modules/commonjs/sdk/core/promise.js:153
> @resource://gre/modules/commonjs/toolkit/loader.js ->
> resource://gre/modules/devtools/server/protocol.js:927
> @resource://gre/modules/commonjs/toolkit/loader.js ->
> resource://gre/modules/devtools/server/protocol.js:830
> @resource://gre/modules/commonjs/toolkit/loader.js ->
> resource://gre/modules/devtools/server/protocol.js:924
> DSC_onPacket@resource://gre/modules/devtools/dbg-server.jsm ->
> resource://gre/modules/devtools/server/main.js:1018
> @resource://gre/modules/devtools/dbg-server.jsm ->
> resource://gre/modules/devtools/server/main.js ->
> resource://gre/modules/devtools/server/transport.js:258
> @resource://gre/modules/devtools/dbg-server.jsm ->
> resource://gre/modules/devtools/server/main.js ->
> resource://gre/modules/devtools/DevToolsUtils.js:75
Related to this:
1) Could we redraw the markup tree on DOMContentLoaded rather than waiting for load for redrawing the inspector? This would probably make the biggest difference as far as snappiness and how the whole inspector panel feels during navigation.
2) Should we empty out the markup tree when it is invalid (in between page loads)? Alternatively, we could draw a markup tree like this during the time between the page loading: <html><head></head><body></body></html>
| Reporter | ||
Comment 2•12 years ago
|
||
I agree with both of these points.
Let's try and land bug 922125 first, which empties the markup view during navigation and which waits for the load event. And right after this is done, let's work on this one to fix the issue mentioned and make things feel snappier.
Thanks.
Comment 3•10 years ago
|
||
Can't reproduce as the markup view is cleared as soon as we navigate.
Do you agree ?
Flags: needinfo?(pbrosset)
Priority: -- → P3
| Reporter | ||
Comment 4•10 years ago
|
||
Right, this works fine now.
Status: NEW → RESOLVED
Closed: 10 years ago
Flags: needinfo?(pbrosset)
Resolution: --- → WORKSFORME
Updated•7 years ago
|
Product: Firefox → DevTools
You need to log in
before you can comment on or make changes to this bug.
Description
•