Without this, server side target were breaking stack record in the memory panel.
We have to ensure toggling stack record ON before the page starts loading.
Differential Revision: https://phabricator.services.mozilla.com/D124823
The memory actor is a target scoped one and they are all destroyed
when the toolbox closes. So memory actor's destroy method is called.
It then calls bridge's destroy, which also detach the actor if it was
attached.
Differential Revision: https://phabricator.services.mozilla.com/D39710
The memory actor is a target scoped one and they are all destroyed
when the toolbox closes. So memory actor's destroy method is called.
It then calls bridge's destroy, which also detach the actor if it was
attached.
Differential Revision: https://phabricator.services.mozilla.com/D39710
"async" methods defined in scripts loaded via a <script> tag seem
to indirectly use the document's Promise, which is not usable after
the DOM of the document has been destroyed.
This is an issue if we invoke this code during the destroy of the
toolbox.
MozReview-Commit-ID: C8juQqJlVDN
This patch was autogenerated by my decomponents.py
It covers almost every file with the extension js, jsm, html, py,
xhtml, or xul.
It removes blank lines after removed lines, when the removed lines are
preceded by either blank lines or the start of a new block. The "start
of a new block" is defined fairly hackily: either the line starts with
//, ends with */, ends with {, <![CDATA[, """ or '''. The first two
cover comments, the third one covers JS, the fourth covers JS embedded
in XUL, and the final two cover JS embedded in Python. This also
applies if the removed line was the first line of the file.
It covers the pattern matching cases like "var {classes: Cc,
interfaces: Ci, utils: Cu, results: Cr} = Components;". It'll remove
the entire thing if they are all either Ci, Cr, Cc or Cu, or it will
remove the appropriate ones and leave the residue behind. If there's
only one behind, then it will turn it into a normal, non-pattern
matching variable definition. (For instance, "const { classes: Cc,
Constructor: CC, interfaces: Ci, utils: Cu } = Components" becomes
"const CC = Components.Constructor".)
MozReview-Commit-ID: DeSHcClQ7cG
If we happen to pass the current scope (`this`), the browser-loader codebase fails
when passing it as sandboxPrototype. It only works when passing an xray wrapper.
The document scope happen to not be an xray when using the addon, whereas `window`
always is no matter if we are using the addon or not.
MozReview-Commit-ID: GjYHkaCGBDd
For simple rules like function spacing, we can auto-fix these across the code
base so they are followed in a consistent way.
To generate this patch, I ran:
./mach eslint devtools --no-ignore --fix
After this, I reverted any changes to third party files that we really do want
to ignore.
MozReview-Commit-ID: 6Q8BApkAW20