Closed Bug 1505813 Opened 6 years ago Closed 5 years ago

[remote-dbg-next] Inconsistent toolbox depending on debug target (opens new window, new tab...)

Categories

(DevTools :: about:debugging, enhancement, P1)

enhancement

Tracking

(firefox68 verified, firefox69 verified)

VERIFIED FIXED
Firefox 68
Tracking Status
firefox68 --- verified
firefox69 --- verified

People

(Reporter: jdescottes, Assigned: daisuke)

References

(Blocks 1 open bug)

Details

(Whiteboard: [remote-debugging-reserve] old-remote-debugging-ng-m3)

Attachments

(4 files)

This is something that has been an issue since the original about:debugging. Depending on the target type, clicking on inspect will not necessarily produce the same result:

- tabs: toolbox will open in a new tab pointing to `about:devtools-toolbox`

- addons: 
  - local addon: toolbox will open in a new window which is actually a new instance of Firefox (is this because legacy extensions could run is the main process? hence breaking on their code would freeze the UI?)
  - remote addon: new window but same Firefox instance

- workers: same story as for addons

- processes: for local processes we would probably face the same limitations as for other targets: need to spawn a new Firefox instance in order to debug the main process. For remote process we can most likely use about:devtools-toolbox in a new tab.

We probably want to try to be consistent as much as possible. Technically I don't think we will be able to always use tabs (because debugging main process for local firefox will be impossible there). This leaves us with several options:
- always separate window (always separate Firefox instance as well? consistent but slower)
- always tab except when technically impossible
Priority: -- → P3
filter on remote-debugging-next-move-m3-to-m2
filter on remote-debugging-next-move-m3-to-m2
filter on remote-debugging-next-move-m3-to-m2
No longer blocks: remote-debugging-ng-m3
Whiteboard: old-remote-debugging-ng-m3
Assignee: nobody → dakatsuka
Status: NEW → ASSIGNED
Priority: P3 → P1
Whiteboard: old-remote-debugging-ng-m3 → [remote-debugging-reserve] old-remote-debugging-ng-m3

Depends on D24860

Pushed by dakatsuka@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/fefd6d2807bc
Open extension debugger at a tab. r=jdescottes
https://hg.mozilla.org/integration/autoland/rev/a57c02213eac
Open worker debugger at a tab. r=jdescottes
https://hg.mozilla.org/integration/autoland/rev/c9ecb85dfa53
Open process debugger at a tab. r=jdescottes
https://hg.mozilla.org/integration/autoland/rev/1beac7d86248
Refactor debug-target. r=jdescottes

\o/ awesome change Daisuke!

We can probably leverage that in a couple of other places like:

  • browser toolbox:
    Before bug 1525533 landed, we couldn't use about:devtools-toolbox URI because there was no way to specify which addon to debug. But you also removed the add-on codepath there, so it should be easier to make it so that the browser toolbox loads about:devtools-toolbox?type=process. We do not yet support creating such client via query parameter, so there is still a blocker.
  • e10s:
    In order to try loading a toolbox or a tool in a distinct process, about:devtools-toolbox is going to be helpful as we could load the toolbox or panel with a precise query parameter in order to let it spawn the right client and connect to the right target front. So you work is going to simplify working on devtools frontend moved OOP!

Verified as fixed on Firefox Nightly 69.0a1 (2019-05-21) and on 68.0b3 on Windows 10 x 64, Mac OS X 10.14 and on Ubuntu 18.04 x64.

Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: