Implements PerformanceTiming, nsITimedChannel, and devtools 'tls setup'
Also captures telemetry on this as we do for all other attributes of timedChannel
Also propogates some null transaction timings onto first real
transaction of a connection
MozReview-Commit-ID: 47TQJYVHnKC
--HG--
extra : rebase_source : a7723962986de0c2ab00d479a22c3f5fd185c8b2
Here we make updates on reflow slower (with a throttle) cause we don't
really need to update live.
We also filter all reflows that do not cause either the list of grids or
the current outline to change.
Finally, we also attach NodeActors to GridActor forms (when they are know)
in order to avoid one more round-trip to the server.
Globally, this makes performance of the grid panel far better on pages that
cause many reflows.
Note that this commit also fixes a debounce vs. throttle confusion that
existed in an inspector utils file. The throttle function there was actually
a debounce function, so it was renamed, and an actual throttle function
was added.
MozReview-Commit-ID: GeqgZR0o0E6
--HG--
extra : rebase_source : 6b9719379dcbd4479bded26014aa3742bd75208e
Here we make updates on reflow slower (with a throttle) cause we don't
really need to update live.
We also filter all reflows that do not cause either the list of grids or
the current outline to change.
Finally, we also attach NodeActors to GridActor forms (when they are know)
in order to avoid one more round-trip to the server.
Globally, this makes performance of the grid panel far better on pages that
cause many reflows.
Note that this commit also fixes a debounce vs. throttle confusion that
existed in an inspector utils file. The throttle function there was actually
a debounce function, so it was renamed, and an actual throttle function
was added.
MozReview-Commit-ID: GeqgZR0o0E6
--HG--
extra : rebase_source : a2792a0ec4cad2034965d36648f0675ae4f52d86
Changes to Promise tests designed to test .then(null) have been reverted, and the browser/extensions directory was excluded because the projects it contains have a separate process for accepting changes.
MozReview-Commit-ID: 1buqgX1EP4P
--HG--
extra : rebase_source : 3a9ea310d3e4a8642aabbc10636c04bfe2e77070
The current way to configure compare-locales has a lot of
assumptions that make our l10n system really stubborn.
The generic configuration is independent of python, and uses
toml files for configuration. They're still modular, but
there's only one file format.
See http://moz-l10n-config.readthedocs.io/en/latest/fileformat.html
for the specification.
Also fixes a few nits in filter.py, where we compared the
entity key as bool, which is false if we pass in ''.
Explicitly compare as "entity is None" to be precise about
when we're checking files.
MozReview-Commit-ID: 5TmfobaImF4
--HG--
extra : rebase_source : 84e56eb2076e74f79677df9e0368811579c1f173
The current way to configure compare-locales has a lot of
assumptions that make our l10n system really stubborn.
The generic configuration is independent of python, and uses
toml files for configuration. They're still modular, but
there's only one file format.
See http://moz-l10n-config.readthedocs.io/en/latest/fileformat.html
for the specification.
Also fixes a few nits in filter.py, where we compared the
entity key as bool, which is false if we pass in ''.
Explicitly compare as "entity is None" to be precise about
when we're checking files.
MozReview-Commit-ID: 5TmfobaImF4
--HG--
extra : rebase_source : 7c6feee0aa178315cc69fd6e8c7938365193224c
Used the new chrome-only API to obtain the transformation matrix of the current
node, relative to the inspected window's root element.
That also includes all the transformations from the element's ancestor; plus
the method is more robust and we can simplify the current code, removing also
some hack.
Deleted also the test for dom_matrix_2d, since one of the method was testing
now doesn't exist anymore, and the second it's just a map to native method
that has its own tests on platform.
MozReview-Commit-ID: 35rs34RSMYA
Used the new chrome-only API to obtain the transformation matrix of the current
node, relative to the inspected window's root element.
That also includes all the transformations from the element's ancestor; plus
the method is more robust and we can simplify the current code, removing also
some hack.
MozReview-Commit-ID: 35rs34RSMYA
This replaces the JS policy service stubs with a pure C++ version which
directly makes policy decisions based on active WebExtensionPolicy objects.
This is the first step in a larger refactoring, which will remove the
ExtensionManagement module entirely, and replace the current add-on policy
service with direct, non-virtual access to native WebExtensionPolicy objects.
It will also be followed by related changes to migrate the content script and
extension page matching to native code, based on the existing MatchPattern and
WebExtensionPolicy bindings.
MozReview-Commit-ID: 2MpbmXZGiPZ
--HG--
extra : rebase_source : 8b268618164b45605143e858665e592de829a6fa
Removed obsolete browser_dbg_event-listeners-03/4.js tests (they are for the
old debugger, and the new debugger doesn't even support event listeners
yet, so no use keeping this test around).
Removed getBrowserForTab SDK dependency from command-state.js.
Changed the implementation of addTab/removeTab in perf test's tab-utils
helper.
MozReview-Commit-ID: 7EXJ5K3kaJm
--HG--
extra : rebase_source : 5b235deb65ede4a15d3f189d95c4a81f385185a9
Removed obsolete browser_dbg_event-listeners-03/4.js tests (they are for the
old debugger, and the new debugger doesn't even support event listeners
yet, so no use keeping this test around).
Removed getBrowserForTab SDK dependency from command-state.js.
Changed the implementation of addTab/removeTab in perf test's tab-utils
helper.
MozReview-Commit-ID: 7EXJ5K3kaJm
--HG--
extra : rebase_source : 1922ba94fe72d3d10e6a4d8a9769cf475b9f113d
This patch applies all the changes needed to the devtools actors
and the toolbox-process-window, to be able to debug a webextension
running in an extension child process (as well as a webextension
running in the main process).
The devtools actor used to debug a webextension is splitted into
3 actors:
- the WebExtensionActor is the actor that is created when the
"root.listTabs" RDP request is received, it provides the addon
metadata (name, icon and addon id) and two RDP methods:
- reload: used to reload the addon (e.g. from the "about:debugging#addons" page)
- connectAddonDebuggingActor: which provides the actorID of the actor
that is connected to the process where the extension is running
(used by toolbox-process-window.js to connect the toolbox to the needed
devtools actors, e.g. console, inspector etc.)
- the WebExtensionParentActor is the actor that connects to the
process where the extension is running and ensures that a
WebExtensionChildActor instance is created and connected
(this actor is only the entrypoint to reach the WebExtensionChildActor,
and so it does not provide any RDP request on its own, it only connect
itself to its child counterpart and then it returns the RDP "form" of
the child actor, and the client is then connected directly to the
child actor)
- the WebExtensionChildActor is the actor that is running in the same
process of the target extension, and it provides the same requestTypes
of a tab actor.
By splitting the WebExtensionActor from the WebExtensionParentActor, we are
able to prevent the RemoteDebuggingServer to connect (and create
instances of the WebExtensionChildActor) for every addon listed by
a root.listAddons() request.
MozReview-Commit-ID: L1vxhA6xQkD
--HG--
extra : rebase_source : 7ed7735084d9351ff32ab1ad822e53dd0828dace