Move and rename the server's frame script that starts DevTools in remote frames
from `child.js` to `startup/frame.js`. `connectToChild` also becomes the more
generic `connectToFrame`. A few b2g-isms like "app" are also removed.
These code paths will likely change more as Site Isolation work continues, but
for now, we have this light cleanup to gather startup-related paths together.
MozReview-Commit-ID: El8a0OE99gZ
--HG--
rename : devtools/server/child.js => devtools/server/startup/frame.js
rename : devtools/server/tests/mochitest/test_connectToChild.html => devtools/server/tests/mochitest/test_connectToFrame.html
extra : rebase_source : 2735c53587257b215d720204cf7c4581088eba42
devtools/shared/system is a complex module retrieving details device/platform
information. Modules that only need to get AppConstants should not pull down
such a complex dependency.
MozReview-Commit-ID: 2FmCO8nBSpP
--HG--
rename : devtools/client/shared/webpack/shims/system-stub.js => devtools/client/shared/webpack/shims/app-constants-stub.js
extra : rebase_source : 0ec5e4d320c8b1543d5fe579d8adf51c5fa4286d
This isn't needed since Console is an interface and not an object
MozReview-Commit-ID: ZoIo2TS9QL
--HG--
extra : rebase_source : 7ccb86dd4290e5d7ac829cab6dcf2f9548d89f11
By moving only the rejections that actually still apply into each test and out
of the shared head file, we are much more likely to notice new instances and
catch them when writing and editing tests in the future.
Bug 1018184 can be used to actually resolve these issues.
MozReview-Commit-ID: Qb71PsuutB
--HG--
extra : rebase_source : 7056bbf9fcd76ffe00015119d811db0bd788aa59
Move frame-script-utils.js into shared/test since it is a test only file. In
addition, it's removed from jar.mn so it won't be part the file we ship. Test
manifests can use the absolute path syntax to make it accessible in new
directories.
MozReview-Commit-ID: 5sKYvv2rsJs
--HG--
rename : devtools/client/shared/frame-script-utils.js => devtools/client/shared/test/frame-script-utils.js
extra : rebase_source : 8c4d77c37cacdae36d17102b4dbf1222ec1fbd8a
Use `loadFrameScriptUtils` from shared-head as a central utility for loading the
frame script utils helper. This means less stray references to the utils file's
path across our tests.
As part of this, I went ahead and converted Canvas Debugger, Shader Editor, and
Web Audio Editor to shared-head, as that seemed like the best path to reduce
duplication.
(I left one extra path reference in profiler-mm-utils.js as-is, since it's a
module, so shared-head is not easily usable there.)
MozReview-Commit-ID: AKbZt8Jo0GM
--HG--
extra : rebase_source : e70b29153ef8d96d7026bc3abd0fb0d2306849bc
Move frame-script-utils.js into shared/test since it is a test only file. In
addition, it's removed from jar.mn so it won't be part the file we ship. Test
manifests can use the absolute path syntax to make it accessible in new
directories.
MozReview-Commit-ID: 5sKYvv2rsJs
--HG--
rename : devtools/client/shared/frame-script-utils.js => devtools/client/shared/test/frame-script-utils.js
extra : rebase_source : cb18b88016df8bc7fba1620534beed473ebb406a
Use `loadFrameScriptUtils` from shared-head as a central utility for loading the
frame script utils helper. This means less stray references to the utils file's
path across our tests.
As part of this, I went ahead and converted Canvas Debugger, Shader Editor, and
Web Audio Editor to shared-head, as that seemed like the best path to reduce
duplication.
(I left one extra path reference in profiler-mm-utils.js as-is, since it's a
module, so shared-head is not easily usable there.)
MozReview-Commit-ID: AKbZt8Jo0GM
--HG--
extra : rebase_source : d00f578d7c9078088be8c33ad80eb30a59d6a6e8
Usage was removed from devtools/client/framework/sidebar as well since it emits
events with the parent component.
MozReview-Commit-ID: 24LLmnSZ89I
--HG--
extra : rebase_source : 3ede287d862c80817fe4767e8d029dda26cbb58b
The overlay elements with children of editMenuOverlay.xul are moved into
include files (editMenuCommands.inc.xul and editMenuKeys.inc.xul). For
the other single elements in the overlay, the attributes are inlined
wherever they are used.
MozReview-Commit-ID: 792cuzUvQxT
--HG--
extra : rebase_source : 58e4c05bde16cee873d37c6198de102d048499c2
Importing this object is unnecessary after the updates to the WebIDL console from Bug 1425574
and the follow-ups blocking Bug 1430810. There are still callers that access Console.jsm
to create custom ConsoleAPI objects, but those will be handled separately.
MozReview-Commit-ID: 9ojFxtkpPId
--HG--
extra : rebase_source : 971bf99f709b8d2afe300f3693665724f747aa5e
The onclick handler of the toolbox close button looked like this... spot the deliberate mistake:
```
onClick: () => {
closeToolbox();
focusButton(closeButtonId);
},
```
So we were closing the toolbox and then trying to focus the toolbox's close button.
There is also an obvious race condition with setState inside the toolbox controller not using a callback even though the next line calls a function that uses this.state, which could cause intermittent issues.
MozReview-Commit-ID: 9VRcZw4RvE5
--HG--
extra : rebase_source : 17c21aafe5a72042c23472342c53fd730784a5ae
I believe this fixes all warnings except for one. This warning appears the first time the memory panel is selected:
"Warning: Failed prop type: Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types
in MemoryApp (created by Connect(MemoryApp))
in Connect(MemoryApp) (created by bound createElementWithValidation)
in bound createElementWithValidation
in Provider"
This appears to be an issue with `devtools/client/memory/app.js` but I will log a new bug for this.
MozReview-Commit-ID: 341zdQyfgrN
--HG--
extra : rebase_source : ce25569407b89a7547e4db688373b202d17d2475
To accomplish this, the added aria-pressed attribute turns the buttons into toggle buttons, and the one that is visually selected, gets the "true" attribute value, others are "false". That way, the screen reader and other assistive technologies will indicate that this is the selected or pressed button.
MozReview-Commit-ID: L2lcw2wOyYw
--HG--
extra : rebase_source : 1c0ad241319f50c34c120ce05b85e795e9a5b080
Track connection status at various points during Browser Toolbox startup. If
connecting takes a long time or triggers an error, the status panel is revealed
with the most recent message displayed.
MozReview-Commit-ID: H8240rv3KRe
--HG--
extra : rebase_source : 7c2c10c710095ede7d1b9c1ac87ca21bd3deb969
Note that this patch also replaces legacy VK_* with KEY_*, and replaces
synthesizeKey() for inputting some characters with sendString() because
it's better and clearer what it does and it sets shiftKey state properly.
MozReview-Commit-ID: De4enbjux3T
--HG--
extra : rebase_source : 2296b84bff8e22f01eeb48cd8614fac5db11136a
The sandbox used in this test isn't immediately destroyed when the test finishes.
So use a unique file name to always refer to the expected sandbox/file in this debugger test.
MozReview-Commit-ID: FJYXPN0RQS2
--HG--
extra : rebase_source : 438ae8cf97bfef8bc11e86e7850b3d6d8e8f1ccc
The breakpoint is set in a function called every second.
We have to unregister it before test finishes, otherwise it gets randomly called during test shutdown.
MozReview-Commit-ID: IEHxnVjk1xW
--HG--
extra : rebase_source : be6cdad0d700e24f80c9e520be49ec5c9d02375b
Since gBrowser is going to become a plain JS object instead of a DOM node,
we don't want any callers directly referring to the DOM node to get ahold of it.
MozReview-Commit-ID: KbE5dlTWmS
--HG--
extra : rebase_source : ef4caea778db406205b58b9f007846dabb062978
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
--HG--
extra : rebase_source : d9c41878036c1ef7766ef5e91a7005025bc1d72b
Inspector actor traits were used for backward compatibility, with
versions of Firefox older than 45. Our policy is to support servers
up to the last ESR version, which is 52 at the moment so these
should be safe to remove.
MozReview-Commit-ID: 6MwUp8vbW29
--HG--
extra : rebase_source : b36799130e66e4abdaee628d48ad1b056bc1afcd
This was done using the following script:
37e3803c7a/processors/chromeutils-import.jsm
MozReview-Commit-ID: 1Nc3XDu0wGl
--HG--
extra : source : 12fc4dee861c812fd2bd032c63ef17af61800c70
extra : intermediate-source : 34c999fa006bffe8705cf50c54708aa21a962e62
extra : histedit_source : b2be2c5e5d226e6c347312456a6ae339c1e634b0
This was done using the following script:
37e3803c7a/processors/chromeutils-import.jsm
MozReview-Commit-ID: 1Nc3XDu0wGl
--HG--
extra : source : 12fc4dee861c812fd2bd032c63ef17af61800c70
This was done using the following script:
37e3803c7a/processors/chromeutils-import.jsm
MozReview-Commit-ID: 1Nc3XDu0wGl
--HG--
extra : rebase_source : c004a023389f1f6bf3d2f3efe93c13d423b23ccd
While this feature is still being worked on, it's nice if the BT is rendered
properly (there are currently issues with iframe sizing that make it hard to
use the inspector).
MozReview-Commit-ID: AULRq2N6Miv
--HG--
extra : rebase_source : b7596abe13bb8c0f5a3ea488dc84c8736614885d
This changeset adds basic remote connection functionality to about:debugging.
About:debugging can target a remote firefox instance if the host and port
parameters are passed as URL search params.
The feature is not explicitly exposed at the moment and there is no UI to
connect an instance, and no UI feedback when connected to a remote instance.
When connected, about:debugging should correctly list tabs, workers and addons
for the target instance of Firefox. Debugging features work for all supported
targets.
Known limitations:
- preferences are read from the local Firefox instance (multiprocess, addon
debugging etc...). At the moment the remote instance must be manually
correctly configured
MozReview-Commit-ID: DOekSCb96XC
--HG--
extra : rebase_source : 89b73e885e50bfba4e1888f8791f637a5ba05ca7
extra : intermediate-source : 840e23f2a496e2cec280643fef127095bd67d518
extra : source : 6cc5cc4494e67ae9dd7371420710c3f8afe5b256
This patch adds a new performance recording panel that interfaes with
perf.html. It is enabled through the new preferences:
"devtools.performance.new-panel-enabled"
MozReview-Commit-ID: 1HBLsbREDPk
--HG--
extra : rebase_source : 22cc2826138c4891024c34947f145574f55b4541
This patch adds a new performance recording panel that interfaes with
perf.html. It is enabled through the new preferences:
"devtools.performance.new-panel-enabled"
MozReview-Commit-ID: 1HBLsbREDPk
--HG--
extra : rebase_source : 4db73267d9868c4c62d2619111f875338c8e6171
The tab argument was unused in the method. All the call sites have been updated to
stop providing this argument. The method now supports an optional tab argument.
It defaults to the selected tab if no argument is provided.
MozReview-Commit-ID: 621dgljHdtD
--HG--
extra : rebase_source : 676c998cb4b2f126d9ee075760e2d7d30078344b
Most of the codebase that needs to create a debugger server
can use a server with all actors registered.
Define an additional method registerAllActors to do that.
By previous implementations, all the call sites that were
using browser: true were indirectly using tab & root: true
as well. So all the call sites using browser: true have been
migrated to registerAllActors and the specific behavior of
the browser: true case has been removed. Passing browser:true
to registerActors now only registers browser specific actors.
MozReview-Commit-ID: F3sx71eGrdG
--HG--
extra : rebase_source : 7704264e84d96e03a0c789103ff466980913d4d2
DebuggerServer.init() already bails out if it was previously initialized
so we could avoid guarding the calls to init() with it everywhere.
Registering an actor module several times is also a noop as the Server
keeps a map of all the already registered modules and will bail out if
the module is already known.
MozReview-Commit-ID: 4ONLlx9253i
--HG--
extra : rebase_source : a6fce209baf5e019b6a216761c01832a30332343
DebuggerServer has old APIs addBrowserActors & addTabActors that can be
replaced by calls to registerActors.
MozReview-Commit-ID: KpYJpbSHM8I
--HG--
extra : rebase_source : c7f20edf503b944ef2582b5fe73bd6d899c0d1cc
We need to retrieve the toolbox object created in openContentProcessToolbox in order
to use it in tests;
MozReview-Commit-ID: BC8bWaiYAnS
--HG--
extra : rebase_source : 50d135beac736720aebce587d69ea59281152db4
We need to retrieve the toolbox object created in openContentProcessToolbox in order
to use it in tests;
MozReview-Commit-ID: BC8bWaiYAnS
--HG--
extra : rebase_source : 50d135beac736720aebce587d69ea59281152db4
This removes the last spot that sets the obsolete
devtools.debugger.client-source-maps-enabled pref. Note that the
definition of the pref remains; it will be deleted upstream once this
lands, and then removed from M-C by the next debugger bundle landing.
MozReview-Commit-ID: DTd2iDJI1y0
--HG--
extra : rebase_source : f7ac30f2ef707c11ad3d717ea49d13e1e883bd95
Using fill instead of filter we don't need to define each icon as
invertable or not. If the icon is a SVG and supports fill="context-fill"
then it will be inverted/highlighted etc... as expected.
If not then it won't be impacted by DevTools themes.
MozReview-Commit-ID: CLFprKMuCt9
--HG--
extra : rebase_source : 391f3567c2bdf319dcfd0a3b0c87f0479f85eabd
Instead of duplicating SVGs to apply a different fill color, we
can use fill from css + fill="context-fill" to achieve the same
effect. This applies to all tools that have a highlighted state
for their icon: debugger, memory and performance tools.
MozReview-Commit-ID: GmqeTKS3PC
--HG--
extra : rebase_source : c613fc38ce7fedcfe111bed74216c1c38b511b9d
Remove the main file that we don't need anymore and modify all
the imports to target the specific file they now need.
MozReview-Commit-ID: 2uWjTnAMAU0
--HG--
extra : rebase_source : ebf75886fac79aaebfab16c03997f402e9f5a278
This removes the switching based on the RDM.html pref and the pref itself.
Some files in old RDM are updated for completeness, but they are about to be
removed anyway.
MozReview-Commit-ID: JnTC7ZF3UCC
--HG--
extra : rebase_source : 6a520a726fe77c560ecb71c5f633a9e2d7b956f7
This removes the switching based on the RDM.html pref and the pref itself.
Some files in old RDM are updated for completeness, but they are about to be
removed anyway.
MozReview-Commit-ID: JnTC7ZF3UCC
--HG--
extra : rebase_source : d591e04148d748c2659093295160adc6a3d2c445
Intercept the applySourceMap source map worker request, so that when a
source is pretty-printed, source map subscribers can be updated.
That this does not yet handle pretty-printing original sources. This
isn't supported yet by the debugger, and since the plan is to handle it
by augmenting the existing source map, it should be easy to fix this
code when it is implemented.
The mochitest is included here for testing but I am going to land it
upstream as well.
MozReview-Commit-ID: 3Lp1ikO8IzZ
--HG--
extra : rebase_source : f2f02e9e963864567a9dbe3a7e050afcb5f4d3b6