Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(304)

Unified Diff: third_party/WebKit/Source/devtools/front_end/ui_lazy/TimelineOverviewPane.js

Issue 2466123002: DevTools: reformat front-end code to match chromium style. (Closed)
Patch Set: all done Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/devtools/front_end/ui_lazy/TimelineOverviewPane.js
diff --git a/third_party/WebKit/Source/devtools/front_end/ui_lazy/TimelineOverviewPane.js b/third_party/WebKit/Source/devtools/front_end/ui_lazy/TimelineOverviewPane.js
index 4d8c970ec6a60a67f327715f0beb284193823922..d843c17b350816bb201943ca5e59eda08c802678 100644
--- a/third_party/WebKit/Source/devtools/front_end/ui_lazy/TimelineOverviewPane.js
+++ b/third_party/WebKit/Source/devtools/front_end/ui_lazy/TimelineOverviewPane.js
@@ -27,24 +27,24 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-
/**
- * @constructor
- * @extends {WebInspector.VBox}
- * @param {string} prefix
+ * @unrestricted
*/
-WebInspector.TimelineOverviewPane = function(prefix)
-{
- WebInspector.VBox.call(this);
- this.element.id = prefix + "-overview-pane";
+WebInspector.TimelineOverviewPane = class extends WebInspector.VBox {
+ /**
+ * @param {string} prefix
+ */
+ constructor(prefix) {
+ super();
+ this.element.id = prefix + '-overview-pane';
this._overviewCalculator = new WebInspector.TimelineOverviewCalculator();
this._overviewGrid = new WebInspector.OverviewGrid(prefix);
this.element.appendChild(this._overviewGrid.element);
- this._cursorArea = this._overviewGrid.element.createChild("div", "overview-grid-cursor-area");
- this._cursorElement = this._overviewGrid.element.createChild("div", "overview-grid-cursor-position");
- this._cursorArea.addEventListener("mousemove", this._onMouseMove.bind(this), true);
- this._cursorArea.addEventListener("mouseleave", this._hideCursor.bind(this), true);
+ this._cursorArea = this._overviewGrid.element.createChild('div', 'overview-grid-cursor-area');
+ this._cursorElement = this._overviewGrid.element.createChild('div', 'overview-grid-cursor-position');
+ this._cursorArea.addEventListener('mousemove', this._onMouseMove.bind(this), true);
+ this._cursorArea.addEventListener('mouseleave', this._hideCursor.bind(this), true);
this._overviewGrid.setResizeEnabled(false);
this._overviewGrid.addEventListener(WebInspector.OverviewGrid.Events.WindowChanged, this._onWindowChanged, this);
@@ -53,7 +53,8 @@ WebInspector.TimelineOverviewPane = function(prefix)
this._markers = new Map();
this._popoverHelper = new WebInspector.PopoverHelper(this._cursorArea);
- this._popoverHelper.initializeCallbacks(this._getPopoverAnchor.bind(this), this._showPopover.bind(this), this._onHidePopover.bind(this));
+ this._popoverHelper.initializeCallbacks(
+ this._getPopoverAnchor.bind(this), this._showPopover.bind(this), this._onHidePopover.bind(this));
this._popoverHelper.setTimeout(0);
this._updateThrottler = new WebInspector.Throttler(100);
@@ -61,583 +62,522 @@ WebInspector.TimelineOverviewPane = function(prefix)
this._cursorEnabled = false;
this._cursorPosition = 0;
this._lastWidth = 0;
+ }
+
+ /**
+ * @param {!Element} element
+ * @param {!Event} event
+ * @return {!Element|!AnchorBox|undefined}
+ */
+ _getPopoverAnchor(element, event) {
+ return this._cursorArea;
+ }
+
+ /**
+ * @param {!Element} anchor
+ * @param {!WebInspector.Popover} popover
+ */
+ _showPopover(anchor, popover) {
+ this._buildPopoverContents().then(maybeShowPopover.bind(this));
+ /**
+ * @this {WebInspector.TimelineOverviewPane}
+ * @param {!DocumentFragment} fragment
+ */
+ function maybeShowPopover(fragment) {
+ if (!fragment.firstChild)
+ return;
+ var content = new WebInspector.TimelineOverviewPane.PopoverContents();
+ this._popoverContents = content.contentElement.createChild('div');
+ this._popoverContents.appendChild(fragment);
+ this._popover = popover;
+ popover.showView(content, this._cursorElement);
+ }
+ }
+
+ _onHidePopover() {
+ this._popover = null;
+ this._popoverContents = null;
+ }
+
+ /**
+ * @param {!Event} event
+ */
+ _onMouseMove(event) {
+ if (!this._cursorEnabled)
+ return;
+ this._cursorPosition = event.offsetX + event.target.offsetLeft;
+ this._cursorElement.style.left = this._cursorPosition + 'px';
+ this._cursorElement.style.visibility = 'visible';
+ if (!this._popover)
+ return;
+ this._buildPopoverContents().then(updatePopover.bind(this));
+ this._popover.positionElement(this._cursorElement);
+
+ /**
+ * @param {!DocumentFragment} fragment
+ * @this {WebInspector.TimelineOverviewPane}
+ */
+ function updatePopover(fragment) {
+ if (!this._popoverContents)
+ return;
+ this._popoverContents.removeChildren();
+ this._popoverContents.appendChild(fragment);
+ }
+ }
+
+ /**
+ * @return {!Promise<!DocumentFragment>}
+ */
+ _buildPopoverContents() {
+ var document = this.element.ownerDocument;
+ var x = this._cursorPosition;
+ var promises = this._overviewControls.map(control => control.popoverElementPromise(x));
+ return Promise.all(promises).then(buildFragment);
+
+ /**
+ * @param {!Array<?Element>} elements
+ * @return {!DocumentFragment}
+ */
+ function buildFragment(elements) {
+ var fragment = document.createDocumentFragment();
+ elements.remove(null);
+ fragment.appendChildren.apply(fragment, elements);
+ return fragment;
+ }
+ }
+
+ _hideCursor() {
+ this._cursorElement.style.visibility = 'hidden';
+ }
+
+ /**
+ * @override
+ */
+ wasShown() {
+ this._update();
+ }
+
+ /**
+ * @override
+ */
+ willHide() {
+ this._popoverHelper.hidePopover();
+ }
+
+ /**
+ * @override
+ */
+ onResize() {
+ var width = this.element.offsetWidth;
+ if (width === this._lastWidth)
+ return;
+ this._lastWidth = width;
+ this.scheduleUpdate();
+ }
+
+ /**
+ * @param {!Array.<!WebInspector.TimelineOverview>} overviewControls
+ */
+ setOverviewControls(overviewControls) {
+ for (var i = 0; i < this._overviewControls.length; ++i)
+ this._overviewControls[i].dispose();
+
+ for (var i = 0; i < overviewControls.length; ++i) {
+ overviewControls[i].setCalculator(this._overviewCalculator);
+ overviewControls[i].show(this._overviewGrid.element);
+ }
+ this._overviewControls = overviewControls;
+ this._update();
+ }
+
+ /**
+ * @param {number} minimumBoundary
+ * @param {number} maximumBoundary
+ */
+ setBounds(minimumBoundary, maximumBoundary) {
+ this._overviewCalculator.setBounds(minimumBoundary, maximumBoundary);
+ this._overviewGrid.setResizeEnabled(true);
+ this._cursorEnabled = true;
+ }
+
+ scheduleUpdate() {
+ this._updateThrottler.schedule(process.bind(this));
+ /**
+ * @this {WebInspector.TimelineOverviewPane}
+ * @return {!Promise.<undefined>}
+ */
+ function process() {
+ this._update();
+ return Promise.resolve();
+ }
+ }
+
+ _update() {
+ if (!this.isShowing())
+ return;
+ this._overviewCalculator.setDisplayWindow(this._overviewGrid.clientWidth());
+ for (var i = 0; i < this._overviewControls.length; ++i)
+ this._overviewControls[i].update();
+ this._overviewGrid.updateDividers(this._overviewCalculator);
+ this._updateMarkers();
+ this._updateWindow();
+ }
+
+ /**
+ * @param {!Map<number, !Element>} markers
+ */
+ setMarkers(markers) {
+ this._markers = markers;
+ this._updateMarkers();
+ }
+
+ _updateMarkers() {
+ var filteredMarkers = new Map();
+ for (var time of this._markers.keys()) {
+ var marker = this._markers.get(time);
+ var position = Math.round(this._overviewCalculator.computePosition(time));
+ // Limit the number of markers to one per pixel.
+ if (filteredMarkers.has(position))
+ continue;
+ filteredMarkers.set(position, marker);
+ marker.style.left = position + 'px';
+ }
+ this._overviewGrid.removeEventDividers();
+ this._overviewGrid.addEventDividers(filteredMarkers.valuesArray());
+ }
+
+ reset() {
+ this._windowStartTime = 0;
+ this._windowEndTime = Infinity;
+ this._overviewCalculator.reset();
+ this._overviewGrid.reset();
+ this._overviewGrid.setResizeEnabled(false);
+ this._overviewGrid.updateDividers(this._overviewCalculator);
+ this._cursorEnabled = false;
+ this._hideCursor();
+ this._markers = new Map();
+ for (var i = 0; i < this._overviewControls.length; ++i)
+ this._overviewControls[i].reset();
+ this._popoverHelper.hidePopover();
+ this._update();
+ }
+
+ /**
+ * @param {!WebInspector.Event} event
+ */
+ _onClick(event) {
+ var domEvent = /** @type {!Event} */ (event.data);
+ for (var overviewControl of this._overviewControls) {
+ if (overviewControl.onClick(domEvent)) {
+ event.preventDefault();
+ return;
+ }
+ }
+ }
+
+ /**
+ * @param {!WebInspector.Event} event
+ */
+ _onWindowChanged(event) {
+ if (this._muteOnWindowChanged)
+ return;
+ // Always use first control as a time converter.
+ if (!this._overviewControls.length)
+ return;
+ var windowTimes =
+ this._overviewControls[0].windowTimes(this._overviewGrid.windowLeft(), this._overviewGrid.windowRight());
+ this._windowStartTime = windowTimes.startTime;
+ this._windowEndTime = windowTimes.endTime;
+ this.dispatchEventToListeners(WebInspector.TimelineOverviewPane.Events.WindowChanged, windowTimes);
+ }
+
+ /**
+ * @param {number} startTime
+ * @param {number} endTime
+ */
+ requestWindowTimes(startTime, endTime) {
+ if (startTime === this._windowStartTime && endTime === this._windowEndTime)
+ return;
+ this._windowStartTime = startTime;
+ this._windowEndTime = endTime;
+ this._updateWindow();
+ this.dispatchEventToListeners(
+ WebInspector.TimelineOverviewPane.Events.WindowChanged, {startTime: startTime, endTime: endTime});
+ }
+
+ _updateWindow() {
+ if (!this._overviewControls.length)
+ return;
+ var windowBoundaries = this._overviewControls[0].windowBoundaries(this._windowStartTime, this._windowEndTime);
+ this._muteOnWindowChanged = true;
+ this._overviewGrid.setWindow(windowBoundaries.left, windowBoundaries.right);
+ this._muteOnWindowChanged = false;
+ }
};
/** @enum {symbol} */
WebInspector.TimelineOverviewPane.Events = {
- WindowChanged: Symbol("WindowChanged")
-};
-
-WebInspector.TimelineOverviewPane.prototype = {
- /**
- * @param {!Element} element
- * @param {!Event} event
- * @return {!Element|!AnchorBox|undefined}
- */
- _getPopoverAnchor: function(element, event)
- {
- return this._cursorArea;
- },
-
- /**
- * @param {!Element} anchor
- * @param {!WebInspector.Popover} popover
- */
- _showPopover: function(anchor, popover)
- {
- this._buildPopoverContents().then(maybeShowPopover.bind(this));
- /**
- * @this {WebInspector.TimelineOverviewPane}
- * @param {!DocumentFragment} fragment
- */
- function maybeShowPopover(fragment)
- {
- if (!fragment.firstChild)
- return;
- var content = new WebInspector.TimelineOverviewPane.PopoverContents();
- this._popoverContents = content.contentElement.createChild("div");
- this._popoverContents.appendChild(fragment);
- this._popover = popover;
- popover.showView(content, this._cursorElement);
- }
- },
-
- _onHidePopover: function()
- {
- this._popover = null;
- this._popoverContents = null;
- },
-
- /**
- * @param {!Event} event
- */
- _onMouseMove: function(event)
- {
- if (!this._cursorEnabled)
- return;
- this._cursorPosition = event.offsetX + event.target.offsetLeft;
- this._cursorElement.style.left = this._cursorPosition + "px";
- this._cursorElement.style.visibility = "visible";
- if (!this._popover)
- return;
- this._buildPopoverContents().then(updatePopover.bind(this));
- this._popover.positionElement(this._cursorElement);
-
- /**
- * @param {!DocumentFragment} fragment
- * @this {WebInspector.TimelineOverviewPane}
- */
- function updatePopover(fragment)
- {
- if (!this._popoverContents)
- return;
- this._popoverContents.removeChildren();
- this._popoverContents.appendChild(fragment);
- }
- },
-
- /**
- * @return {!Promise<!DocumentFragment>}
- */
- _buildPopoverContents: function()
- {
- var document = this.element.ownerDocument;
- var x = this._cursorPosition;
- var promises = this._overviewControls.map(control => control.popoverElementPromise(x));
- return Promise.all(promises).then(buildFragment);
-
- /**
- * @param {!Array<?Element>} elements
- * @return {!DocumentFragment}
- */
- function buildFragment(elements)
- {
- var fragment = document.createDocumentFragment();
- elements.remove(null);
- fragment.appendChildren.apply(fragment, elements);
- return fragment;
- }
- },
-
- _hideCursor: function()
- {
- this._cursorElement.style.visibility = "hidden";
- },
-
- /**
- * @override
- */
- wasShown: function()
- {
- this._update();
- },
-
- /**
- * @override
- */
- willHide: function()
- {
- this._popoverHelper.hidePopover();
- },
-
- /**
- * @override
- */
- onResize: function()
- {
- var width = this.element.offsetWidth;
- if (width === this._lastWidth)
- return;
- this._lastWidth = width;
- this.scheduleUpdate();
- },
-
- /**
- * @param {!Array.<!WebInspector.TimelineOverview>} overviewControls
- */
- setOverviewControls: function(overviewControls)
- {
- for (var i = 0; i < this._overviewControls.length; ++i)
- this._overviewControls[i].dispose();
-
- for (var i = 0; i < overviewControls.length; ++i) {
- overviewControls[i].setCalculator(this._overviewCalculator);
- overviewControls[i].show(this._overviewGrid.element);
- }
- this._overviewControls = overviewControls;
- this._update();
- },
-
- /**
- * @param {number} minimumBoundary
- * @param {number} maximumBoundary
- */
- setBounds: function(minimumBoundary, maximumBoundary)
- {
- this._overviewCalculator.setBounds(minimumBoundary, maximumBoundary);
- this._overviewGrid.setResizeEnabled(true);
- this._cursorEnabled = true;
- },
-
- scheduleUpdate: function()
- {
- this._updateThrottler.schedule(process.bind(this));
- /**
- * @this {WebInspector.TimelineOverviewPane}
- * @return {!Promise.<undefined>}
- */
- function process()
- {
- this._update();
- return Promise.resolve();
- }
- },
-
- _update: function()
- {
- if (!this.isShowing())
- return;
- this._overviewCalculator.setDisplayWindow(this._overviewGrid.clientWidth());
- for (var i = 0; i < this._overviewControls.length; ++i)
- this._overviewControls[i].update();
- this._overviewGrid.updateDividers(this._overviewCalculator);
- this._updateMarkers();
- this._updateWindow();
- },
-
- /**
- * @param {!Map<number, !Element>} markers
- */
- setMarkers: function(markers)
- {
- this._markers = markers;
- this._updateMarkers();
- },
-
- _updateMarkers: function()
- {
- var filteredMarkers = new Map();
- for (var time of this._markers.keys()) {
- var marker = this._markers.get(time);
- var position = Math.round(this._overviewCalculator.computePosition(time));
- // Limit the number of markers to one per pixel.
- if (filteredMarkers.has(position))
- continue;
- filteredMarkers.set(position, marker);
- marker.style.left = position + "px";
- }
- this._overviewGrid.removeEventDividers();
- this._overviewGrid.addEventDividers(filteredMarkers.valuesArray());
- },
-
- reset: function()
- {
- this._windowStartTime = 0;
- this._windowEndTime = Infinity;
- this._overviewCalculator.reset();
- this._overviewGrid.reset();
- this._overviewGrid.setResizeEnabled(false);
- this._overviewGrid.updateDividers(this._overviewCalculator);
- this._cursorEnabled = false;
- this._hideCursor();
- this._markers = new Map();
- for (var i = 0; i < this._overviewControls.length; ++i)
- this._overviewControls[i].reset();
- this._popoverHelper.hidePopover();
- this._update();
- },
-
- /**
- * @param {!WebInspector.Event} event
- */
- _onClick: function(event)
- {
- var domEvent = /** @type {!Event} */ (event.data);
- for (var overviewControl of this._overviewControls) {
- if (overviewControl.onClick(domEvent)) {
- event.preventDefault();
- return;
- }
- }
- },
-
- /**
- * @param {!WebInspector.Event} event
- */
- _onWindowChanged: function(event)
- {
- if (this._muteOnWindowChanged)
- return;
- // Always use first control as a time converter.
- if (!this._overviewControls.length)
- return;
- var windowTimes = this._overviewControls[0].windowTimes(this._overviewGrid.windowLeft(), this._overviewGrid.windowRight());
- this._windowStartTime = windowTimes.startTime;
- this._windowEndTime = windowTimes.endTime;
- this.dispatchEventToListeners(WebInspector.TimelineOverviewPane.Events.WindowChanged, windowTimes);
- },
-
- /**
- * @param {number} startTime
- * @param {number} endTime
- */
- requestWindowTimes: function(startTime, endTime)
- {
- if (startTime === this._windowStartTime && endTime === this._windowEndTime)
- return;
- this._windowStartTime = startTime;
- this._windowEndTime = endTime;
- this._updateWindow();
- this.dispatchEventToListeners(WebInspector.TimelineOverviewPane.Events.WindowChanged, { startTime: startTime, endTime: endTime });
- },
-
- _updateWindow: function()
- {
- if (!this._overviewControls.length)
- return;
- var windowBoundaries = this._overviewControls[0].windowBoundaries(this._windowStartTime, this._windowEndTime);
- this._muteOnWindowChanged = true;
- this._overviewGrid.setWindow(windowBoundaries.left, windowBoundaries.right);
- this._muteOnWindowChanged = false;
- },
-
- __proto__: WebInspector.VBox.prototype
+ WindowChanged: Symbol('WindowChanged')
};
/**
- * @constructor
- * @extends {WebInspector.VBox}
+ * @unrestricted
*/
-WebInspector.TimelineOverviewPane.PopoverContents = function()
-{
- WebInspector.VBox.call(this, true);
- this.contentElement.classList.add("timeline-overview-popover");
-};
-
-WebInspector.TimelineOverviewPane.PopoverContents.prototype = {
- __proto__: WebInspector.VBox.prototype
+WebInspector.TimelineOverviewPane.PopoverContents = class extends WebInspector.VBox {
+ constructor() {
+ super(true);
+ this.contentElement.classList.add('timeline-overview-popover');
+ }
};
/**
- * @constructor
* @implements {WebInspector.TimelineGrid.Calculator}
+ * @unrestricted
*/
-WebInspector.TimelineOverviewCalculator = function()
-{
+WebInspector.TimelineOverviewCalculator = class {
+ constructor() {
this.reset();
-};
-
-WebInspector.TimelineOverviewCalculator.prototype = {
- /**
- * @override
- * @return {number}
- */
- paddingLeft: function()
- {
- return this._paddingLeft;
- },
-
- /**
- * @override
- * @param {number} time
- * @return {number}
- */
- computePosition: function(time)
- {
- return (time - this._minimumBoundary) / this.boundarySpan() * this._workingArea + this._paddingLeft;
- },
-
- /**
- * @param {number} position
- * @return {number}
- */
- positionToTime: function(position)
- {
- return (position - this._paddingLeft) / this._workingArea * this.boundarySpan() + this._minimumBoundary;
- },
-
- /**
- * @param {number} minimumBoundary
- * @param {number} maximumBoundary
- */
- setBounds: function(minimumBoundary, maximumBoundary)
- {
- this._minimumBoundary = minimumBoundary;
- this._maximumBoundary = maximumBoundary;
- },
-
- /**
- * @param {number} clientWidth
- * @param {number=} paddingLeft
- */
- setDisplayWindow: function(clientWidth, paddingLeft)
- {
- this._paddingLeft = paddingLeft || 0;
- this._workingArea = clientWidth - this._paddingLeft;
- },
-
- reset: function()
- {
- this.setBounds(0, 1000);
- },
-
- /**
- * @override
- * @param {number} value
- * @param {number=} precision
- * @return {string}
- */
- formatValue: function(value, precision)
- {
- return Number.preciseMillisToString(value - this.zeroTime(), precision);
- },
-
- /**
- * @override
- * @return {number}
- */
- maximumBoundary: function()
- {
- return this._maximumBoundary;
- },
-
- /**
- * @override
- * @return {number}
- */
- minimumBoundary: function()
- {
- return this._minimumBoundary;
- },
-
- /**
- * @override
- * @return {number}
- */
- zeroTime: function()
- {
- return this._minimumBoundary;
- },
-
- /**
- * @override
- * @return {number}
- */
- boundarySpan: function()
- {
- return this._maximumBoundary - this._minimumBoundary;
- }
+ }
+
+ /**
+ * @override
+ * @return {number}
+ */
+ paddingLeft() {
+ return this._paddingLeft;
+ }
+
+ /**
+ * @override
+ * @param {number} time
+ * @return {number}
+ */
+ computePosition(time) {
+ return (time - this._minimumBoundary) / this.boundarySpan() * this._workingArea + this._paddingLeft;
+ }
+
+ /**
+ * @param {number} position
+ * @return {number}
+ */
+ positionToTime(position) {
+ return (position - this._paddingLeft) / this._workingArea * this.boundarySpan() + this._minimumBoundary;
+ }
+
+ /**
+ * @param {number} minimumBoundary
+ * @param {number} maximumBoundary
+ */
+ setBounds(minimumBoundary, maximumBoundary) {
+ this._minimumBoundary = minimumBoundary;
+ this._maximumBoundary = maximumBoundary;
+ }
+
+ /**
+ * @param {number} clientWidth
+ * @param {number=} paddingLeft
+ */
+ setDisplayWindow(clientWidth, paddingLeft) {
+ this._paddingLeft = paddingLeft || 0;
+ this._workingArea = clientWidth - this._paddingLeft;
+ }
+
+ reset() {
+ this.setBounds(0, 1000);
+ }
+
+ /**
+ * @override
+ * @param {number} value
+ * @param {number=} precision
+ * @return {string}
+ */
+ formatValue(value, precision) {
+ return Number.preciseMillisToString(value - this.zeroTime(), precision);
+ }
+
+ /**
+ * @override
+ * @return {number}
+ */
+ maximumBoundary() {
+ return this._maximumBoundary;
+ }
+
+ /**
+ * @override
+ * @return {number}
+ */
+ minimumBoundary() {
+ return this._minimumBoundary;
+ }
+
+ /**
+ * @override
+ * @return {number}
+ */
+ zeroTime() {
+ return this._minimumBoundary;
+ }
+
+ /**
+ * @override
+ * @return {number}
+ */
+ boundarySpan() {
+ return this._maximumBoundary - this._minimumBoundary;
+ }
};
/**
* @interface
*/
-WebInspector.TimelineOverview = function()
-{
-};
+WebInspector.TimelineOverview = function() {};
WebInspector.TimelineOverview.prototype = {
- /**
- * @param {!Element} parentElement
- * @param {?Element=} insertBefore
- */
- show: function(parentElement, insertBefore) { },
-
- update: function() { },
-
- dispose: function() { },
-
- reset: function() { },
-
- /**
- * @param {number} x
- * @return {!Promise<?Element>}
- */
- popoverElementPromise: function(x) { },
-
- /**
- * @param {!Event} event
- * @return {boolean}
- */
- onClick: function(event) { },
-
- /**
- * @param {number} windowLeft
- * @param {number} windowRight
- * @return {!{startTime: number, endTime: number}}
- */
- windowTimes: function(windowLeft, windowRight) { },
-
- /**
- * @param {number} startTime
- * @param {number} endTime
- * @return {!{left: number, right: number}}
- */
- windowBoundaries: function(startTime, endTime) { },
-
- timelineStarted: function() { },
-
- timelineStopped: function() { },
+ /**
+ * @param {!Element} parentElement
+ * @param {?Element=} insertBefore
+ */
+ show: function(parentElement, insertBefore) {},
+
+ update: function() {},
+
+ dispose: function() {},
+
+ reset: function() {},
+
+ /**
+ * @param {number} x
+ * @return {!Promise<?Element>}
+ */
+ popoverElementPromise: function(x) {},
+
+ /**
+ * @param {!Event} event
+ * @return {boolean}
+ */
+ onClick: function(event) {},
+
+ /**
+ * @param {number} windowLeft
+ * @param {number} windowRight
+ * @return {!{startTime: number, endTime: number}}
+ */
+ windowTimes: function(windowLeft, windowRight) {},
+
+ /**
+ * @param {number} startTime
+ * @param {number} endTime
+ * @return {!{left: number, right: number}}
+ */
+ windowBoundaries: function(startTime, endTime) {},
+
+ timelineStarted: function() {},
+
+ timelineStopped: function() {},
};
/**
- * @constructor
- * @extends {WebInspector.VBox}
* @implements {WebInspector.TimelineOverview}
+ * @unrestricted
*/
-WebInspector.TimelineOverviewBase = function()
-{
- WebInspector.VBox.call(this);
+WebInspector.TimelineOverviewBase = class extends WebInspector.VBox {
+ constructor() {
+ super();
/** @type {?WebInspector.TimelineOverviewCalculator} */
this._calculator = null;
- this._canvas = this.element.createChild("canvas", "fill");
- this._context = this._canvas.getContext("2d");
-};
-
-WebInspector.TimelineOverviewBase.prototype = {
- /**
- * @override
- */
- update: function()
- {
- this.resetCanvas();
- },
-
- /**
- * @override
- */
- dispose: function()
- {
- this.detach();
- },
-
- /**
- * @override
- */
- reset: function()
- {
- },
-
- /**
- * @override
- * @param {number} x
- * @return {!Promise<?Element>}
- */
- popoverElementPromise: function(x)
- {
- return Promise.resolve(/** @type {?Element} */ (null));
- },
-
- /**
- * @override
- */
- timelineStarted: function()
- {
- },
-
- /**
- * @override
- */
- timelineStopped: function()
- {
- },
-
- /**
- * @param {!WebInspector.TimelineOverviewCalculator} calculator
- */
- setCalculator: function(calculator)
- {
- this._calculator = calculator;
- },
-
- /**
- * @override
- * @param {!Event} event
- * @return {boolean}
- */
- onClick: function(event)
- {
- return false;
- },
-
- /**
- * @override
- * @param {number} windowLeft
- * @param {number} windowRight
- * @return {!{startTime: number, endTime: number}}
- */
- windowTimes: function(windowLeft, windowRight)
- {
- var absoluteMin = this._calculator.minimumBoundary();
- var timeSpan = this._calculator.maximumBoundary() - absoluteMin;
- return {
- startTime: absoluteMin + timeSpan * windowLeft,
- endTime: absoluteMin + timeSpan * windowRight
- };
- },
-
- /**
- * @override
- * @param {number} startTime
- * @param {number} endTime
- * @return {!{left: number, right: number}}
- */
- windowBoundaries: function(startTime, endTime)
- {
- var absoluteMin = this._calculator.minimumBoundary();
- var timeSpan = this._calculator.maximumBoundary() - absoluteMin;
- var haveRecords = absoluteMin > 0;
- return {
- left: haveRecords && startTime ? Math.min((startTime - absoluteMin) / timeSpan, 1) : 0,
- right: haveRecords && endTime < Infinity ? (endTime - absoluteMin) / timeSpan : 1
- };
- },
-
- resetCanvas: function()
- {
- this._canvas.width = this.element.clientWidth * window.devicePixelRatio;
- this._canvas.height = this.element.clientHeight * window.devicePixelRatio;
- },
-
- __proto__: WebInspector.VBox.prototype
+ this._canvas = this.element.createChild('canvas', 'fill');
+ this._context = this._canvas.getContext('2d');
+ }
+
+ /**
+ * @override
+ */
+ update() {
+ this.resetCanvas();
+ }
+
+ /**
+ * @override
+ */
+ dispose() {
+ this.detach();
+ }
+
+ /**
+ * @override
+ */
+ reset() {
+ }
+
+ /**
+ * @override
+ * @param {number} x
+ * @return {!Promise<?Element>}
+ */
+ popoverElementPromise(x) {
+ return Promise.resolve(/** @type {?Element} */ (null));
+ }
+
+ /**
+ * @override
+ */
+ timelineStarted() {
+ }
+
+ /**
+ * @override
+ */
+ timelineStopped() {
+ }
+
+ /**
+ * @param {!WebInspector.TimelineOverviewCalculator} calculator
+ */
+ setCalculator(calculator) {
+ this._calculator = calculator;
+ }
+
+ /**
+ * @override
+ * @param {!Event} event
+ * @return {boolean}
+ */
+ onClick(event) {
+ return false;
+ }
+
+ /**
+ * @override
+ * @param {number} windowLeft
+ * @param {number} windowRight
+ * @return {!{startTime: number, endTime: number}}
+ */
+ windowTimes(windowLeft, windowRight) {
+ var absoluteMin = this._calculator.minimumBoundary();
+ var timeSpan = this._calculator.maximumBoundary() - absoluteMin;
+ return {startTime: absoluteMin + timeSpan * windowLeft, endTime: absoluteMin + timeSpan * windowRight};
+ }
+
+ /**
+ * @override
+ * @param {number} startTime
+ * @param {number} endTime
+ * @return {!{left: number, right: number}}
+ */
+ windowBoundaries(startTime, endTime) {
+ var absoluteMin = this._calculator.minimumBoundary();
+ var timeSpan = this._calculator.maximumBoundary() - absoluteMin;
+ var haveRecords = absoluteMin > 0;
+ return {
+ left: haveRecords && startTime ? Math.min((startTime - absoluteMin) / timeSpan, 1) : 0,
+ right: haveRecords && endTime < Infinity ? (endTime - absoluteMin) / timeSpan : 1
+ };
+ }
+
+ resetCanvas() {
+ this._canvas.width = this.element.clientWidth * window.devicePixelRatio;
+ this._canvas.height = this.element.clientHeight * window.devicePixelRatio;
+ }
};

Powered by Google App Engine
This is Rietveld 408576698