mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-06 07:48:38 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
79
devtools/client/memory/components/census.js
Normal file
79
devtools/client/memory/components/census.js
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
* You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
const { DOM: dom, createClass, PropTypes, createFactory } = require("devtools/client/shared/vendor/react");
|
||||
const Tree = createFactory(require("devtools/client/shared/components/tree"));
|
||||
const CensusTreeItem = createFactory(require("./census-tree-item"));
|
||||
const { createParentMap } = require("../utils");
|
||||
const { TREE_ROW_HEIGHT } = require("../constants");
|
||||
const { censusModel, diffingModel } = require("../models");
|
||||
|
||||
const Census = module.exports = createClass({
|
||||
displayName: "Census",
|
||||
|
||||
propTypes: {
|
||||
census: censusModel,
|
||||
onExpand: PropTypes.func.isRequired,
|
||||
onCollapse: PropTypes.func.isRequired,
|
||||
onFocus: PropTypes.func.isRequired,
|
||||
onViewSourceInDebugger: PropTypes.func.isRequired,
|
||||
onViewIndividuals: PropTypes.func.isRequired,
|
||||
diffing: diffingModel,
|
||||
},
|
||||
|
||||
render() {
|
||||
let {
|
||||
census,
|
||||
onExpand,
|
||||
onCollapse,
|
||||
onFocus,
|
||||
diffing,
|
||||
onViewSourceInDebugger,
|
||||
onViewIndividuals,
|
||||
} = this.props;
|
||||
|
||||
const report = census.report;
|
||||
let parentMap = census.parentMap;
|
||||
const { totalBytes, totalCount } = report;
|
||||
|
||||
const getPercentBytes = totalBytes === 0
|
||||
? _ => 0
|
||||
: bytes => (bytes / totalBytes) * 100;
|
||||
|
||||
const getPercentCount = totalCount === 0
|
||||
? _ => 0
|
||||
: count => (count / totalCount) * 100;
|
||||
|
||||
return Tree({
|
||||
autoExpandDepth: 0,
|
||||
focused: census.focused,
|
||||
getParent: node => {
|
||||
const parent = parentMap[node.id];
|
||||
return parent === report ? null : parent;
|
||||
},
|
||||
getChildren: node => node.children || [],
|
||||
isExpanded: node => census.expanded.has(node.id),
|
||||
onExpand,
|
||||
onCollapse,
|
||||
onFocus,
|
||||
renderItem: (item, depth, focused, arrow, expanded) =>
|
||||
new CensusTreeItem({
|
||||
onViewSourceInDebugger,
|
||||
item,
|
||||
depth,
|
||||
focused,
|
||||
arrow,
|
||||
expanded,
|
||||
getPercentBytes,
|
||||
getPercentCount,
|
||||
diffing,
|
||||
inverted: census.display.inverted,
|
||||
onViewIndividuals,
|
||||
}),
|
||||
getRoots: () => report.children || [],
|
||||
getKey: node => node.id,
|
||||
itemHeight: TREE_ROW_HEIGHT,
|
||||
});
|
||||
}
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue