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

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/components_lazy/LineLevelProfile.js

Issue 2440953003: DevTools: use semicolons after each statement. (Closed)
Patch Set: rebaseline 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 /** 5 /**
6 * @constructor 6 * @constructor
7 */ 7 */
8 WebInspector.LineLevelProfile = function() 8 WebInspector.LineLevelProfile = function()
9 { 9 {
10 this._locationPool = new WebInspector.LiveLocationPool(); 10 this._locationPool = new WebInspector.LiveLocationPool();
11 this.reset(); 11 this.reset();
12 } 12 };
13 13
14 /** 14 /**
15 * @return {!WebInspector.LineLevelProfile} 15 * @return {!WebInspector.LineLevelProfile}
16 */ 16 */
17 WebInspector.LineLevelProfile.instance = function() 17 WebInspector.LineLevelProfile.instance = function()
18 { 18 {
19 if (!WebInspector.LineLevelProfile._instance) 19 if (!WebInspector.LineLevelProfile._instance)
20 WebInspector.LineLevelProfile._instance = new WebInspector.LineLevelProf ile(); 20 WebInspector.LineLevelProfile._instance = new WebInspector.LineLevelProf ile();
21 return WebInspector.LineLevelProfile._instance; 21 return WebInspector.LineLevelProfile._instance;
22 } 22 };
23 23
24 WebInspector.LineLevelProfile.prototype = { 24 WebInspector.LineLevelProfile.prototype = {
25 /** 25 /**
26 * @param {!WebInspector.CPUProfileDataModel} profile 26 * @param {!WebInspector.CPUProfileDataModel} profile
27 */ 27 */
28 appendCPUProfile: function(profile) 28 appendCPUProfile: function(profile)
29 { 29 {
30 var nodesToGo = [profile.profileHead]; 30 var nodesToGo = [profile.profileHead];
31 var sampleDuration = (profile.profileEndTime - profile.profileStartTime) / profile.totalHitCount; 31 var sampleDuration = (profile.profileEndTime - profile.profileStartTime) / profile.totalHitCount;
32 while (nodesToGo.length) { 32 while (nodesToGo.length) {
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 var line = lineInfo[0] - 1; 87 var line = lineInfo[0] - 1;
88 var time = lineInfo[1]; 88 var time = lineInfo[1];
89 var rawLocation = debuggerModel.createRawLocationByURL(url, line , 0); 89 var rawLocation = debuggerModel.createRawLocationByURL(url, line , 0);
90 if (rawLocation) 90 if (rawLocation)
91 new WebInspector.LineLevelProfile.Presentation(rawLocation, time, this._locationPool); 91 new WebInspector.LineLevelProfile.Presentation(rawLocation, time, this._locationPool);
92 else if (uiSourceCode) 92 else if (uiSourceCode)
93 uiSourceCode.addLineDecoration(line, WebInspector.LineLevelP rofile.LineDecorator.type, time); 93 uiSourceCode.addLineDecoration(line, WebInspector.LineLevelP rofile.LineDecorator.type, time);
94 } 94 }
95 } 95 }
96 } 96 }
97 } 97 };
98 98
99 /** 99 /**
100 * @constructor 100 * @constructor
101 * @param {!WebInspector.DebuggerModel.Location} rawLocation 101 * @param {!WebInspector.DebuggerModel.Location} rawLocation
102 * @param {number} time 102 * @param {number} time
103 * @param {!WebInspector.LiveLocationPool} locationPool 103 * @param {!WebInspector.LiveLocationPool} locationPool
104 */ 104 */
105 WebInspector.LineLevelProfile.Presentation = function(rawLocation, time, locatio nPool) 105 WebInspector.LineLevelProfile.Presentation = function(rawLocation, time, locatio nPool)
106 { 106 {
107 this._time = time; 107 this._time = time;
108 WebInspector.debuggerWorkspaceBinding.createLiveLocation(rawLocation, this.u pdateLocation.bind(this), locationPool); 108 WebInspector.debuggerWorkspaceBinding.createLiveLocation(rawLocation, this.u pdateLocation.bind(this), locationPool);
109 } 109 };
110 110
111 WebInspector.LineLevelProfile.Presentation.prototype = { 111 WebInspector.LineLevelProfile.Presentation.prototype = {
112 /** 112 /**
113 * @param {!WebInspector.LiveLocation} liveLocation 113 * @param {!WebInspector.LiveLocation} liveLocation
114 */ 114 */
115 updateLocation: function(liveLocation) 115 updateLocation: function(liveLocation)
116 { 116 {
117 if (this._uiLocation) 117 if (this._uiLocation)
118 this._uiLocation.uiSourceCode.removeLineDecoration(this._uiLocation. lineNumber, WebInspector.LineLevelProfile.LineDecorator.type); 118 this._uiLocation.uiSourceCode.removeLineDecoration(this._uiLocation. lineNumber, WebInspector.LineLevelProfile.LineDecorator.type);
119 this._uiLocation = liveLocation.uiLocation(); 119 this._uiLocation = liveLocation.uiLocation();
120 if (this._uiLocation) 120 if (this._uiLocation)
121 this._uiLocation.uiSourceCode.addLineDecoration(this._uiLocation.lin eNumber, WebInspector.LineLevelProfile.LineDecorator.type, this._time); 121 this._uiLocation.uiSourceCode.addLineDecoration(this._uiLocation.lin eNumber, WebInspector.LineLevelProfile.LineDecorator.type, this._time);
122 } 122 }
123 } 123 };
124 124
125 /** 125 /**
126 * @constructor 126 * @constructor
127 * @implements {WebInspector.UISourceCodeFrame.LineDecorator} 127 * @implements {WebInspector.UISourceCodeFrame.LineDecorator}
128 */ 128 */
129 WebInspector.LineLevelProfile.LineDecorator = function() 129 WebInspector.LineLevelProfile.LineDecorator = function()
130 { 130 {
131 } 131 };
132 132
133 WebInspector.LineLevelProfile.LineDecorator.type = "performance"; 133 WebInspector.LineLevelProfile.LineDecorator.type = "performance";
134 134
135 WebInspector.LineLevelProfile.LineDecorator.prototype = { 135 WebInspector.LineLevelProfile.LineDecorator.prototype = {
136 /** 136 /**
137 * @override 137 * @override
138 * @param {!WebInspector.UISourceCode} uiSourceCode 138 * @param {!WebInspector.UISourceCode} uiSourceCode
139 * @param {!WebInspector.CodeMirrorTextEditor} textEditor 139 * @param {!WebInspector.CodeMirrorTextEditor} textEditor
140 */ 140 */
141 decorate: function(uiSourceCode, textEditor) 141 decorate: function(uiSourceCode, textEditor)
142 { 142 {
143 var gutterType = "CodeMirror-gutter-performance"; 143 var gutterType = "CodeMirror-gutter-performance";
144 var decorations = uiSourceCode.lineDecorations(WebInspector.LineLevelPro file.LineDecorator.type); 144 var decorations = uiSourceCode.lineDecorations(WebInspector.LineLevelPro file.LineDecorator.type);
145 textEditor.uninstallGutter(gutterType); 145 textEditor.uninstallGutter(gutterType);
146 if (!decorations) 146 if (!decorations)
147 return; 147 return;
148 textEditor.installGutter(gutterType, false); 148 textEditor.installGutter(gutterType, false);
149 for (var decoration of decorations.values()) { 149 for (var decoration of decorations.values()) {
150 var time = /** @type {number} */ (decoration.data()); 150 var time = /** @type {number} */ (decoration.data());
151 var text = WebInspector.UIString("%.1f\xa0ms", time); 151 var text = WebInspector.UIString("%.1f\xa0ms", time);
152 var intensity = Number.constrain(Math.log10(1 + 2 * time) / 5, 0.02, 1); 152 var intensity = Number.constrain(Math.log10(1 + 2 * time) / 5, 0.02, 1);
153 var element = createElementWithClass("div", "text-editor-line-marker -performance"); 153 var element = createElementWithClass("div", "text-editor-line-marker -performance");
154 element.textContent = text; 154 element.textContent = text;
155 element.style.backgroundColor = `hsla(44, 100%, 50%, ${intensity.toF ixed(3)})`; 155 element.style.backgroundColor = `hsla(44, 100%, 50%, ${intensity.toF ixed(3)})`;
156 textEditor.setGutterDecoration(decoration.line(), gutterType, elemen t); 156 textEditor.setGutterDecoration(decoration.line(), gutterType, elemen t);
157 } 157 }
158 } 158 }
159 } 159 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698