In prevision of Promise.jsm removal, use defer helper module instead of Promise.jsm
as that's the only one feature that DOM Promise don't support.
PART2: Substitutes promise.defer usages with defer
$ sed -i 's/promise.defer/defer/gI' $(egrep -lir "promise.defer\(\)" devtools)
Reset modification to the following files as they are using deprecated syncable promises as we don't want to touch them.
http://searchfox.org/mozilla-central/search?q=deprecated-sync-thenables&case=true®exp=false&path=
$ git checkout devtools/client/debugger/test/mochitest/
$ git checkout devtools/shared/client/main.js
$ git checkout devtools/client/debugger/
$ git checkout devtools/server/main.js
MozReview-Commit-ID: DGN5ae68wtn
In prevision of Promise.jsm removal, use defer helper module instead of Promise.jsm
as that's the only one feature that DOM Promise don't support.
PART1: Import devtools/shared/defer
$ sed -i '/require("promise")/a const defer = require("devtools/shared/defer");' $(egrep -lir "promise.defer\(\)" $(egrep -rl "require\(\"promise\"\)" devtools))
But ignore debugger as it still uses sync promises and would better be handled manually
$ git checkout devtools/client/debugger/
MozReview-Commit-ID: 7FvhNxULB2x
The legacy performance path supports servers running Firefox 42 and earlier.
Now that Firefox OS is no longer supported, there's no reason to keep this
around.
MozReview-Commit-ID: K40e93VUjj9
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
toolbox.js was using Cu.import(gDevTools) without second argument
and ended up injecting gDevTools into all next modules being loaded.
Hopefully, fonts.js seems to be the only one relying on this!
In a following patch, all DevTools moz.build files will use DevToolsModules to
install JS modules at a path that corresponds directly to their source tree
location. Here we rewrite all require and import calls to match the new
location that these files are installed to.
Move major DevTools files to new directories using the following steps:
hg mv browser/devtools devtools/client
hg mv toolkit/devtools/server devtools/server
hg mv toolkit/devtools devtools/shared
No other changes are made.