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

Side by Side Diff: Source/devtools/front_end/timeline/TimelineOverviewPane.js

Issue 339493006: Move divider detection and creation onto TimelineUIUtils instance (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 6 months 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 14 matching lines...) Expand all
25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */ 29 */
30 30
31 /** 31 /**
32 * @constructor 32 * @constructor
33 * @extends {WebInspector.VBox} 33 * @extends {WebInspector.VBox}
34 * @param {!WebInspector.TimelineModel} model 34 * @param {!WebInspector.TimelineModel} model
35 * @param {!WebInspector.TimelineUIUtils} uiUtils
35 */ 36 */
36 WebInspector.TimelineOverviewPane = function(model) 37 WebInspector.TimelineOverviewPane = function(model, uiUtils)
37 { 38 {
38 WebInspector.VBox.call(this); 39 WebInspector.VBox.call(this);
40 this._uiUtils = uiUtils;
39 this.element.id = "timeline-overview-pane"; 41 this.element.id = "timeline-overview-pane";
40 42
41 this._eventDividers = []; 43 this._eventDividers = [];
42 44
43 this._model = model; 45 this._model = model;
44 46
45 this._overviewGrid = new WebInspector.OverviewGrid("timeline"); 47 this._overviewGrid = new WebInspector.OverviewGrid("timeline");
46 this.element.appendChild(this._overviewGrid.element); 48 this.element.appendChild(this._overviewGrid.element);
47 49
48 this._overviewCalculator = new WebInspector.TimelineOverviewCalculator(); 50 this._overviewCalculator = new WebInspector.TimelineOverviewCalculator();
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
103 { 105 {
104 var records = this._eventDividers; 106 var records = this._eventDividers;
105 this._overviewGrid.removeEventDividers(); 107 this._overviewGrid.removeEventDividers();
106 var dividers = []; 108 var dividers = [];
107 for (var i = 0; i < records.length; ++i) { 109 for (var i = 0; i < records.length; ++i) {
108 var record = records[i]; 110 var record = records[i];
109 var positions = this._overviewCalculator.computeBarGraphPercentages( record); 111 var positions = this._overviewCalculator.computeBarGraphPercentages( record);
110 var dividerPosition = Math.round(positions.start * 10); 112 var dividerPosition = Math.round(positions.start * 10);
111 if (dividers[dividerPosition]) 113 if (dividers[dividerPosition])
112 continue; 114 continue;
113 var divider = WebInspector.TimelineUIUtils.createEventDivider(record .type()); 115 var divider = this._uiUtils.createEventDivider(record.type());
114 divider.style.left = positions.start + "%"; 116 divider.style.left = positions.start + "%";
115 dividers[dividerPosition] = divider; 117 dividers[dividerPosition] = divider;
116 } 118 }
117 this._overviewGrid.addEventDividers(dividers); 119 this._overviewGrid.addEventDividers(dividers);
118 }, 120 },
119 121
120 /** 122 /**
121 * @param {!WebInspector.TimelineModel.Record} record 123 * @param {!WebInspector.TimelineModel.Record} record
122 */ 124 */
123 addRecord: function(record) 125 addRecord: function(record)
124 { 126 {
125 var eventDividers = this._eventDividers; 127 var eventDividers = this._eventDividers;
128 var uiUtils = this._uiUtils;
126 function addEventDividers(record) 129 function addEventDividers(record)
127 { 130 {
128 if (WebInspector.TimelineUIUtils.isEventDivider(record)) 131 if (uiUtils.isEventDivider(record))
129 eventDividers.push(record); 132 eventDividers.push(record);
130 } 133 }
131 WebInspector.TimelineModel.forAllRecords([record], addEventDividers); 134 WebInspector.TimelineModel.forAllRecords([record], addEventDividers);
132 this._scheduleRefresh(); 135 this._scheduleRefresh();
133 }, 136 },
134 137
135 _reset: function() 138 _reset: function()
136 { 139 {
137 this._overviewCalculator.reset(); 140 this._overviewCalculator.reset();
138 this._overviewGrid.reset(); 141 this._overviewGrid.reset();
(...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after
417 }, 420 },
418 421
419 resetCanvas: function() 422 resetCanvas: function()
420 { 423 {
421 this._canvas.width = this.element.clientWidth * window.devicePixelRatio; 424 this._canvas.width = this.element.clientWidth * window.devicePixelRatio;
422 this._canvas.height = this.element.clientHeight * window.devicePixelRati o; 425 this._canvas.height = this.element.clientHeight * window.devicePixelRati o;
423 }, 426 },
424 427
425 __proto__: WebInspector.VBox.prototype 428 __proto__: WebInspector.VBox.prototype
426 } 429 }
OLDNEW
« no previous file with comments | « Source/devtools/front_end/timeline/TimelineModelImpl.js ('k') | Source/devtools/front_end/timeline/TimelinePanel.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698