Open Bug 1570639 Opened 5 years ago Updated 2 years ago

[meta] Implement an omniscient Browser toolbox, piercing through the processes

Categories

(DevTools :: General, task)

task

Tracking

(Not tracked)

People

(Reporter: ochameau, Unassigned)

References

(Depends on 1 open bug, Blocks 1 open bug)

Details

(Keywords: meta)

Until now, the browser toolbox was limited to inspect and debug resources of the main process on only that.
With the necessary work to support Fission and inner <iframe> loaded in distinct processes, DevTools architecture has to support cross processes debugging within one toolbox.

The goal here is the implement an omniscient Browser Toolbox, which could potentially inspect and debug any resource of Firefox, no matter in which thread or process this resource is.

More concretely, it means that the browser toolbox will debug:

  • All resources from all the processes:
    • the main parent process (as today)
    • the content processes (NEW)
    • the web extension processes (NEW)
    • any other process we may use that we don't know about?
  • By all resources, we mean:
    • All the documents:
      • For the main process, it will be browser.xhtml and any other document loaded in the parent process, like DevTools toolbox.xul
      • For the content process, it will be web page documents
      • For the web extension, it will be the eventual documents used by the extension, like its background page.
    • All document inner resources:
      • HTML/XUL DOM documents inspectable via the inspector
      • CSS and JS files of these documents
      • Workers of these documents
    • Non-document workers, like Service workers, shared and chrome workers
    • Privileged JS files, like JSMs and JS XPCOMs

This feature means that we can get rid of the "browser content toolboxes" and have everything debuggable from a single toolbox.
This will also be a nice playground to experiment with the neccesary architecture changes required for fission, before enabling it to a larger audience via the regular DevTools working with fission remoted iframes.

Looks like we are doing this work via plenty of other bugs. Do we really need this bug here? There are other metas that track this work I believe.

Flags: needinfo?(poirot.alex)

This one bug tried to described what the "Omniscient Browser Toolbox" could be, beyond just the Fission playground.
In M1, we focused only on adding support for Content Processes, but at some point it may be great to continue adding new targets:

  • workers (regular, service and special chrome workers)
  • addons (background page, popups, content scripts)

I'm not sure we have any bug to describe these opportunities?

Blocks: browser-toolbox
No longer blocks: dt-fission
Flags: needinfo?(poirot.alex)
Depends on: 1625937
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.