(cross-posting to dev-platform and dev-developer-tools, please respond to
*firefox-dev*)

The short version:

The new Multiprocess Browser Toolbox (which can inspect and debug both
parent and content processes) is now enabled in nightly! If you see
anything wrong, please file a bug that blocks the dt-fission
<https://bugzilla.mozilla.org/show_bug.cgi?id=dt-fission> bug.

The longer version:

If you have ever worked on browser code, you likely already know what
the Browser
Toolbox <https://developer.mozilla.org/en-US/docs/Tools/Browser_Toolbox>
is. If you don't, think of it as the developer tools for the browser itself
(it allows you to debug the browser's own JavaScript and inspect/modify the
browser's own UI).

Up until now, the Browser Toolbox allowed you to interact with the things
that lived in the parent Firefox process only.

However, over the past few months, we have been hard at work on improving
the Browser Toolbox. It can do much more: not only can it interact with the
parent process as before, it can now also see into content processes (i.e.
walk the DOM inside <browser remote> elements, log messages from all
processes to the console, set breakpoints and debug scripts from all
threads, etc.).

We did this because it gave us the right environment to get DevTools ready
for Fission.

Indeed, by making the Browser Toolbox aware of more than just one process
(the parent) we can almost just as easily make the normal DevTools (i.e.
inside a tab) aware of all of the processes that make up a web page (other
origin iframes, workers, etc.)

If you are remote debugging Fenix/Firefox Preview, this also means that
debugging the main process will now give you access to content processes as
well (see this comment
<https://bugzilla.mozilla.org/show_bug.cgi?id=1488513#c7>).

This work has been done under the DevTools Fission M1 project (completion
chart <https://arewefissionyet.com/devtools/>), which is now complete!

*Today, we are pleased to announce that the new Multiprocess Browser
Toolbox has been enabled in Nightly (bug 1588050
<https://bugzilla.mozilla.org/show_bug.cgi?id=1588050>).*

A lot of work <https://mzl.la/2PcnUck> was done to make this possible, and
a lot of code changed, so it is possible that you encounter issues. This is
why we are keeping this in nightly for now.

If you see anything wrong, please let us know by filing a bug that blocks
the dt-fission <https://bugzilla.mozilla.org/show_bug.cgi?id=dt-fission>
bug.

If you have any questions about any of this, the answer may be in this FAQ
<https://docs.google.com/document/d/17Q2snja9MgxkcgaN5hRhEhaz2uJKBkZ3urDB4zjMBRA/edit#>,
if not, feel free to let us know.


We hope you like this new Browser Toolbox!

What's next?

Because the new Browser Toolbox can be used to debug content processes, we
will be retiring the Browser Content Toolbox soon (in bug 1603376
<https://bugzilla.mozilla.org/show_bug.cgi?id=1603376>).

But more importantly, our next milestone for making DevTools Fission
compatible will start beginning of 2020 (we call it M2, see the completion
chart <https://arewefissionyet.com/devtools/>). We plan on working on the
following tracks:


   -

   Making the necessary DevTools framework adjustments to support remote
   iframes inside web pages.
   -

   Making all tools support navigation process switches (already underway).
   -

   Re-architecting highlighters (the things that appear over the content
   page when ve.g. selecting a node) so they work cross-frames.
   -

   And implementing new UI allowing users to switch JS execution context
   throughout the tools.


Patrick
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to