Closed Bug 1565200 Opened 3 years ago Closed 2 years ago

Use JSWindowActor API instead of message manager in DebuggerServer.connectToFrame

Categories

(DevTools :: Framework, task, P1)

task

Tracking

(Fission Milestone:M6, firefox73 fixed)

RESOLVED FIXED
Firefox 73
Fission Milestone M6
Tracking Status
firefox73 --- fixed

People

(Reporter: ochameau, Assigned: jdescottes)

References

(Blocks 3 open bugs)

Details

(Whiteboard: dt-fission-m1)

Attachments

(1 file, 3 obsolete files)

See bug 1565197.

This bug is about focusing on DebuggerServer.connectToFrame:
https://searchfox.org/mozilla-central/source/devtools/server/main.js#658
And see from there if we can replace all message manager usages that unroll from this without refactoring the DevTools universe completely.

I tend to believe that setupInParent should be automagically working without much specifics.

Note that this work should ignore the fact that we could have remoted iframes.
We can pass allFrame: false to ChromeUtils.registerWindowActor.
The focus here should be to convert to the new API sooner than later.

I think that using this API would help support process switching of tabs.
This is a side effect of Fission, where there isn't necessarily remoted iframes.
When you navigate from one URL to another, the tab may load the two documents in distinct process and we would have to support that nicely. For now, the toolbox closes and reopen...

Blocks: 1565263
Type: enhancement → task
Priority: -- → P2
Assignee: nobody → jdescottes
Status: NEW → ASSIGNED

I would like to do some cleanup in main.js
After this initial split I would also like to extract the connectToFrame/connectToWorker blocks
But before I go too deep into this I'd like to check if this seems ok with you and if it doesn't conflict
with too many other inflight patches.

Depends on: 1572390

Comment on attachment 9083669 [details]
Bug 1565200 - Split main.js in debugger-server and debugger-server-connection

Revision D41009 was moved to bug 1572390. Setting attachment 9083669 [details] to obsolete.

Attachment #9083669 - Attachment is obsolete: true
Blocks: 1565197
Depends on: 1572436
Priority: P2 → P1
Whiteboard: dt-fission
Blocks: 1573777
Blocks: 1578745
Blocks: 1578978
Attachment #9092681 - Attachment is obsolete: true
See Also: → 1587502
Blocks: 1593764

Tentatively moving all bugs whose summaries mention "Fission" (or other Fission-related keywords) but are not assigned to a Fission Milestone to the "?" triage milestone.

This will generate a lot of bugmail, so you can filter your bugmail for the following UUID and delete them en masse:

0ee3c76a-bc79-4eb2-8d12-05dc0b68e732

Fission Milestone: --- → ?
Attachment #9092680 - Attachment is obsolete: true

Making DevTools Fission-compatible is a prerequisite for enabling Fission in Nightly (M6).

Fission Milestone: ? → M6
Blocks: 1600602
Blocks: 1600612
Blocks: 1600700
Blocks: 1600723
Blocks: 1602748
Whiteboard: dt-fission → dt-fission dt-fission-m1
Blocks: 1603209
Pushed by jdescottes@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/dcfe51a156b9
Add frame connector relying on JsWindowActor instead of message manager r=ochameau
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 73
Blocks: 1605027
Whiteboard: dt-fission dt-fission-m1 → dt-fission-m1
You need to log in before you can comment on or make changes to this bug.