summaryrefslogtreecommitdiffstats
path: root/devtools/client/performance/components/Waterfall.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/performance/components/Waterfall.js')
-rw-r--r--devtools/client/performance/components/Waterfall.js42
1 files changed, 42 insertions, 0 deletions
diff --git a/devtools/client/performance/components/Waterfall.js b/devtools/client/performance/components/Waterfall.js
new file mode 100644
index 0000000000..fe49948a8a
--- /dev/null
+++ b/devtools/client/performance/components/Waterfall.js
@@ -0,0 +1,42 @@
+/* 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/. */
+"use strict";
+
+/**
+ * This file contains the "waterfall" view, essentially a detailed list
+ * of all the markers in the timeline data.
+ */
+
+const { createFactory } = require("devtools/client/shared/vendor/react");
+const PropTypes = require("devtools/client/shared/vendor/react-prop-types");
+const dom = require("devtools/client/shared/vendor/react-dom-factories");
+const WaterfallHeader = createFactory(
+ require("devtools/client/performance/components/WaterfallHeader")
+);
+const WaterfallTree = createFactory(
+ require("devtools/client/performance/components/WaterfallTree")
+);
+
+function Waterfall(props) {
+ return dom.div(
+ { className: "waterfall-markers" },
+ WaterfallHeader(props),
+ WaterfallTree(props)
+ );
+}
+
+Waterfall.displayName = "Waterfall";
+
+Waterfall.propTypes = {
+ marker: PropTypes.object.isRequired,
+ startTime: PropTypes.number.isRequired,
+ endTime: PropTypes.number.isRequired,
+ dataScale: PropTypes.number.isRequired,
+ sidebarWidth: PropTypes.number.isRequired,
+ waterfallWidth: PropTypes.number.isRequired,
+ onFocus: PropTypes.func,
+ onBlur: PropTypes.func,
+};
+
+module.exports = Waterfall;