This commit extends the devtools' memory panel's dominators view with a sidebar
that displays the 5 shortest retaining paths from the GC roots for the selected
node in the dominator tree.
Adds a keydown listener on the memory panel window. Select previous/next snapshot
when user presses UP/DOWN with the accelKey modifier (metaKey on OSX, ctrlKey on
windows).
Keydown events with modifiers are no longer listened to by the tree node elements.
Updated tree node test.
Added new mochitest to test the new keyboard navigation on the census view. )
Adds a keydown listener on the memory panel window. Select previous/next snapshot
when user presses UP/DOWN with the accelKey modifier (metaKey on OSX, ctrlKey on
windows).
Keydown events with modifiers are no longer listened to by the tree node elements.
Updated tree node test.
Added new mochitest to test the new keyboard navigation on the census view. )
--HG--
extra : commitid : 20wu80BaRXB
This commit fixes the prop name used when creating the Toolbar component
from app.js : Toolbar expects fitlerString, app was providing filter.
Extended browser_memory_filter_01.js to check the filter value is preserved
after switching views.
This patch overhauls the memory tool's frontend from being in a state of viewing
a snapshot's census (the implicit default) or viewing a census diff (a special
cased kind of thing) to one of three recognized view states: (1) census, (2)
diffing, or (3) dominator tree. The logic surrounding our current view is more
explicit now. View option (3) is the new one, whose introduction required those
clean ups.
Dominator trees are too large to render in full, all at once. Instead, we
eagerly load and render a few levels deep and then incrementally fetch further
subtrees as their parents are expanded in the UI. This means that we get new
Tree component instances across incremental fetches. Before this commit, the
Tree component stored a bunch of state internally (in this.state rather than
this.props) and we would lose focus and expansion state across incremental
fetches. This internal state has been pulled out and made as explicit props,
which are now managed by actions and reducers just like the rest of the state.
--HG--
rename : devtools/client/memory/components/tree-item.js => devtools/client/memory/components/census-tree-item.js
* Display function display name when breaking down by allocation stack.
* Properly check or uncheck the "Invert tree" checkbox depending on if we are
inverting the heap view's tree or not.