Commit Graph

14 Commits

Author SHA1 Message Date
fbdb0dae94 Bug 1295171 - Reintroduce the old Actor/FrontClass constructors. r=jryans
Heintroduce the old Actor/FrontClass constructors.
2016-08-22 16:25:57 +02:00
b0fa44c98a Bug 1288423 - Rename Actor/FrontClassWithSpec to Actor/FrontClass. r=fitzgen 2016-08-10 17:36:04 +02:00
Nick Fitzgerald
29461839ae Bug 1261869 - Fix leaks in devtools; r=ejpbruel
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.
2016-07-06 08:37:57 -07:00
Nick Fitzgerald
d1b4cd56b2 bug 1265723 - Decouple the MemoryFront from the MemoryActor; r=ejpbruel 2016-06-10 13:28:15 -07:00
Tom Tromey
86974842a1 Bug 1265869 - Add task.js and use in devtools. r=jryans
MozReview-Commit-ID: G5UuAh2RiZZ
2016-05-17 13:07:55 -06:00
J. Ryan Stinnett
530b903fcf Bug 1271084 - Apply ESLint autofixes to ignored /devtools files. r=tromey
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
2016-05-18 12:49:23 -05:00
Jennifer Fong
bb0e5b8001 Bug 1270173 - Move protocol.js from devtools/server to devtools/shared. r=ejpbruel 2016-05-06 09:19:00 +02:00
J. Ryan Stinnett
6511a6c240 Bug 1196047 - Move shared/shared perf files to server/performance. r=jsantell 2015-10-09 18:26:09 -05:00
Nick Fitzgerald
5b9dd76f87 Bug 1207645 - Create HeapSnapshotFileActor; r=jryans
This commit creates the HeapSnapshotFileActor and moves the transferHeapSnapshot
method from MemoryActor to HeapSnapshotFileActor. This is necessary because
child processes in e10s are sandboxed and do not have access to the file system,
and because MemoryActor is in the sandboxed child process it cannot open the
file and send it over the RDP.

This complexity is hidden at the MemoryFront layer. Users of MemoryFront will
still simply call its saveHeapSnapshot method, and do not need to worry about
the inner workings of how heap snapshot files are transferred over the RDP. This
required adding a third parameter to MemoryFront's initialize method: the
listTabs response.
2015-09-25 15:35:02 -07:00
Carsten "Tomcat" Book
c2da61610f Backed out 1 changesets (bug 1207645) for Mulet Gaia JS Integration Test Gij 21 and 4 perma test failures
Backed out changeset a23053342d5b (bug 1207645)
2015-09-25 16:54:34 +02:00
Nick Fitzgerald
1607d9bba1 Bug 1207645 - Create HeapSnapshotFileActor; r=jryans
This commit creates the HeapSnapshotFileActor and moves the transferHeapSnapshot
method from MemoryActor to HeapSnapshotFileActor. This is necessary because
child processes in e10s are sandboxed and do not have access to the file system,
and because MemoryActor is in the sandboxed child process it cannot open the
file and send it over the RDP.

This complexity is hidden at the MemoryFront layer. Users of MemoryFront will
still simply call its saveHeapSnapshot method, and do not need to worry about
the inner workings of how heap snapshot files are transferred over the RDP. This
required adding a third parameter to MemoryFront's initialize method: the
listTabs response.
2015-09-24 17:19:03 -07:00
J. Ryan Stinnett
b17c143421 Bug 912121 - Update misc. DevTools paths and comments. rs=devtools 2015-09-21 12:07:31 -05:00
J. Ryan Stinnett
2dada8f365 Bug 912121 - Rewrite require / import to match source tree. rs=devtools
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.
2015-09-21 12:04:18 -05:00
J. Ryan Stinnett
a3073e0420 Bug 912121 - Migrate major DevTools directories. rs=devtools
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.
2015-09-21 12:02:24 -05:00