The int preference profiler.sample-frequency-khz didn't make it possible
to reduce the overhead in tests, because we could have intervals bigger
than 1ms. With this change we can now do it.
Depends on D8547
Differential Revision: https://phabricator.services.mozilla.com/D8548
--HG--
extra : moz-landing-system : lando
The term "tab actor" was used ambiguously to mean either the "target actor
representing a tab" or "a child actor of the tab target actor" (such as the
console actor). Here we rename the second case to "target-scoped actor".
Differential Revision: https://phabricator.services.mozilla.com/D1760
--HG--
rename : devtools/client/debugger/test/mochitest/browser_dbg_tabactor-01.js => devtools/client/debugger/test/mochitest/browser_dbg_target-scoped-actor-01.js
rename : devtools/client/debugger/test/mochitest/browser_dbg_tabactor-02.js => devtools/client/debugger/test/mochitest/browser_dbg_target-scoped-actor-02.js
The term "tab actor" was used ambiguously to mean either the "target actor
representing a tab" or "a child actor of the tab target actor" (such as the
console actor). Here we rename the second case to "target-scoped actor".
Differential Revision: https://phabricator.services.mozilla.com/D1760
--HG--
rename : devtools/client/debugger/test/mochitest/browser_dbg_tabactor-01.js => devtools/client/debugger/test/mochitest/browser_dbg_target-scoped-actor-01.js
rename : devtools/client/debugger/test/mochitest/browser_dbg_tabactor-02.js => devtools/client/debugger/test/mochitest/browser_dbg_target-scoped-actor-02.js
These issues were previously ignored due to the nature of our global import
rules. They need to be fixed before that rule can be updated.
MozReview-Commit-ID: DCChktTc5TW
--HG--
extra : rebase_source : cffb1c9762191c579d1397c8169e6e7635d229da
extra : histedit_source : dea59ddd2daaae52069c5faceae9149a4f08dd73
The parent and content processes can have different temp directories
when sandboxing is enabled, so the process that creates the file for a
heap snapshot must also determine the snapshot ID.
MozReview-Commit-ID: 2UuncT54NXc
--HG--
extra : rebase_source : 350e49bf7c570abfdde457a89ee8922f8cdb8b7d
This actor message is not used by the devtools themselves, it's only exposed so that
the add-on can use it. See bug 1131397.
MozReview-Commit-ID: F1dm0U4rkEd
--HG--
rename : devtools/server/tests/unit/test_profiler_getsharedlibraryinformation.js => devtools/server/tests/unit/test_profiler_sharedlibraries.js
extra : rebase_source : 52f8836da36b09a8d2091c18817cbc3d8ed51da0
This actor message is not used by the devtools themselves, it's only exposed so that
the add-on can use it. See bug 1131397.
MozReview-Commit-ID: F1dm0U4rkEd
--HG--
rename : devtools/server/tests/unit/test_profiler_getsharedlibraryinformation.js => devtools/server/tests/unit/test_profiler_sharedlibraries.js
extra : rebase_source : 8d14470d7a34ae3ea2efc1d66d27257353b70c8d
This removes the unnecessary setting of c-basic-offset from all
python-mode files.
This was automatically generated using
perl -pi -e 's/; *c-basic-offset: *[0-9]+//'
... on the affected files.
The bulk of these files are moz.build files but there a few others as
well.
MozReview-Commit-ID: 2pPf3DEiZqx
--HG--
extra : rebase_source : 0a7dcac80b924174a2c429b093791148ea6ac204
There are two leaks addressed in this commit:
1. The thread actor's `_debuggerSourcesSeen` set was never cleared. This set
exists only as a performance optimization to speed up `_addSource` in cases
where we've already added the source. Unfortunately, this set wasn't getting
cleared when we cleared debuggees out and it ended up keeping the
`Debugger.Source`, its referent, and transitively its referent's global alive. I
figured it was simpler to make it a `WeakSet` than to add it as a special case
in `ThreadActor.prototype._clearDebuggees` and manage the lifetimes by hand. I
think this fits well with its intended use as an ephemeral performance
optimization.
2. Due to a logic error, we were not clearing debuggees in the memory actor's
`Debugger` instance on navigations. This isn't really a "proper" leak, in that
if you forced a GC, the old debuggees would go away as `Debugger` holds them
weakly, however if there was no GC between navigations, then you could still see
the old windows (and everything they "retained") as roots in the snapshot. This
issue is straightforward to fix once identified: ensure that `_clearDebuggees`
is actually called on navigation.
Finally, this commit adds a test that we don't leak Window objects when devtools
are open and we keep refreshing a tab. When it fails, it prints out the leaking
window's retaining paths.
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