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

Unified Diff: third_party/WebKit/Source/devtools/front_end/timeline/TimelinePanel.js

Issue 1959783002: DevTools: Introduce device dependent CPU throttling rates. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/devtools/front_end/timeline/TimelinePanel.js
diff --git a/third_party/WebKit/Source/devtools/front_end/timeline/TimelinePanel.js b/third_party/WebKit/Source/devtools/front_end/timeline/TimelinePanel.js
index 5506797c82a18e1a4e4064d07616a2ee2f5412b5..0c3010859e10694e447a74d06da2fa1cdc764753 100644
--- a/third_party/WebKit/Source/devtools/front_end/timeline/TimelinePanel.js
+++ b/third_party/WebKit/Source/devtools/front_end/timeline/TimelinePanel.js
@@ -406,24 +406,52 @@ WebInspector.TimelinePanel.prototype = {
if (Runtime.experiments.isEnabled("cpuThrottling")) {
this._panelToolbar.appendSeparator();
- this._cpuThrottlingCombobox = new WebInspector.ToolbarComboBox(this._onCPUThrottlingChanged.bind(this));
- /**
- * @param {string} name
- * @param {number} value
- * @this {WebInspector.TimelinePanel}
- */
- function addGroupingOption(name, value)
- {
- var option = this._cpuThrottlingCombobox.createOption(name, "", String(value));
- this._cpuThrottlingCombobox.addOption(option);
- if (value === this._cpuThrottlingManager.rate())
- this._cpuThrottlingCombobox.select(option);
+ this._panelToolbar.appendToolbarItem(this._createCPUThrottlingControl());
+ }
+ },
+
+ /**
+ * @return {!WebInspector.ToolbarItem}
+ */
+ _createCPUThrottlingControl: function()
+ {
+ var cpuThrottlingManager = this._cpuThrottlingManager;
+ var cpuThrottlingCombobox = new WebInspector.ToolbarComboBox(this._onCPUThrottlingChanged.bind(this));
+ this._cpuThrottlingCombobox = cpuThrottlingCombobox;
+ /**
+ * @param {string} name
+ * @param {number} value
+ */
+ function addGroupingOption(name, value)
+ {
+ var option = cpuThrottlingCombobox.createOption(name, "", String(value));
+ cpuThrottlingCombobox.addOption(option);
+ return option;
+ }
+ function addSeparator()
+ {
+ addGroupingOption("", 0).disabled = true;
+ }
+
+ cpuThrottlingCombobox.select(addGroupingOption(WebInspector.UIString("No CPU throttling"), 1));
+ addSeparator();
+
+ var hostOctaneScore = WebInspector.settings.createSetting("hostOctaneScore", 0).get();
+ if (hostOctaneScore) {
+ var emulatedDevicesList = WebInspector.EmulatedDevicesList.instance();
+ var devices = [].concat(emulatedDevicesList.standard(), emulatedDevicesList.custom());
+ for (var device of devices) {
+ if (!device.octaneScore || device.octaneScore > hostOctaneScore)
+ continue;
+ var rate = hostOctaneScore / device.octaneScore;
+ addGroupingOption(WebInspector.UIString("%s\u2003(%.1fx slowdown)", device.title, rate), rate);
}
- addGroupingOption.call(this, WebInspector.UIString("No CPU throttling"), 1);
- for (var rate of [1.2, 1.5, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 15, 20, 30, 50])
- addGroupingOption.call(this, WebInspector.UIString("%fx slowdown", rate), rate);
- this._panelToolbar.appendToolbarItem(this._cpuThrottlingCombobox);
+ addSeparator();
}
+
+ [1.2, 1.5, 2, 3, 4, 5, 8, 10, 15, 20, 30, 50].forEach(rate => addGroupingOption(WebInspector.UIString("%fx slowdown", rate), rate));
+
+ return cpuThrottlingCombobox;
},
_prepareToLoadTimeline: function()

Powered by Google App Engine
This is Rietveld 408576698