| 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 ea13f19990dc01b1d2a46d05f1eb9fbbfeac0563..2db2d0259afd923999baad60d7fff7b59392566a 100644
|
| --- a/third_party/WebKit/Source/devtools/front_end/timeline/TimelinePanel.js
|
| +++ b/third_party/WebKit/Source/devtools/front_end/timeline/TimelinePanel.js
|
| @@ -71,7 +71,7 @@ Timeline.TimelinePanel = class extends UI.Panel {
|
| this._irModel = new TimelineModel.TimelineIRModel();
|
| /** @type {!Array<!{title: string, model: !SDK.TracingModel}>} */
|
| this._extensionTracingModels = [];
|
| - this._cpuThrottlingManager = new Timeline.CPUThrottlingManager();
|
| + this._cpuThrottlingManager = new Components.CPUThrottlingManager();
|
|
|
| /** @type {!Array<!Timeline.TimelineModeView>} */
|
| this._currentViews = [];
|
| @@ -129,18 +129,18 @@ Timeline.TimelinePanel = class extends UI.Panel {
|
| this._configureThrottlingSetting, 'largeicon-settings-gear', Common.UIString('Configure throttling'));
|
| SDK.multitargetNetworkManager.addEventListener(
|
| SDK.MultitargetNetworkManager.Events.ConditionsChanged, this._updateConfigureThrottlingButton.bind(this));
|
| + this._cpuThrottlingManager.addEventListener(
|
| + Components.CPUThrottlingManager.Events.RateChanged, this._updateConfigureThrottlingButton.bind(this));
|
| this._throttlingToolbar = new UI.Toolbar('', this.element);
|
| - this._cpuThrottlingCombobox = new UI.ToolbarComboBox(this._onCPUThrottlingChanged.bind(this));
|
| this._throttlingToolbar.appendText(Common.UIString('Network:'));
|
| this._throttlingToolbar.appendToolbarItem(this._createNetworkConditionsSelect());
|
| this._throttlingToolbar.appendSeparator();
|
| this._throttlingToolbar.appendText(Common.UIString('CPU:'));
|
| - this._throttlingToolbar.appendToolbarItem(this._cpuThrottlingCombobox);
|
| + this._throttlingToolbar.appendToolbarItem(this._cpuThrottlingManager.createControl());
|
| this._throttlingToolbar.appendToolbarItem(new UI.ToolbarSeparator(true));
|
| var hideToolbarItem = new UI.ToolbarButton(Common.UIString('Close'), 'largeicon-delete');
|
| hideToolbarItem.addEventListener(UI.ToolbarButton.Events.Click, () => this._configureThrottlingSetting.set(false));
|
| this._throttlingToolbar.appendToolbarItem(hideToolbarItem);
|
| - this._populateCPUThrottingCombobox();
|
| this._configureThrottlingSetting.addChangeListener(this._updateThrottlingToolbarVisibility.bind(this));
|
| this._updateThrottlingToolbarVisibility();
|
|
|
| @@ -369,28 +369,6 @@ Timeline.TimelinePanel = class extends UI.Panel {
|
| return toolbarItem;
|
| }
|
|
|
| - _populateCPUThrottingCombobox() {
|
| - var cpuThrottlingCombobox = this._cpuThrottlingCombobox;
|
| - cpuThrottlingCombobox.removeOptions();
|
| - var currentRate = this._cpuThrottlingManager.rate();
|
| - var hasSelection = false;
|
| - /**
|
| - * @param {string} name
|
| - * @param {number} value
|
| - */
|
| - function addOption(name, value) {
|
| - var option = cpuThrottlingCombobox.createOption(name, '', String(value));
|
| - cpuThrottlingCombobox.addOption(option);
|
| - if (hasSelection || (value && value !== currentRate))
|
| - return;
|
| - cpuThrottlingCombobox.select(option);
|
| - hasSelection = true;
|
| - }
|
| - addOption(Common.UIString('No throttling'), 1);
|
| - for (const rate of [2, 5, 10, 20])
|
| - addOption(Common.UIString('%d\xD7 slowdown', rate), rate);
|
| - }
|
| -
|
| _prepareToLoadTimeline() {
|
| console.assert(this._state === Timeline.TimelinePanel.State.Idle);
|
| this._setState(Timeline.TimelinePanel.State.Loading);
|
| @@ -505,14 +483,6 @@ Timeline.TimelinePanel = class extends UI.Panel {
|
| this.select(null);
|
| }
|
|
|
| - _onCPUThrottlingChanged() {
|
| - if (!this._cpuThrottlingManager)
|
| - return;
|
| - var text = this._cpuThrottlingCombobox.selectedOption().value;
|
| - this._cpuThrottlingManager.setRate(Number.parseFloat(text));
|
| - this._updateConfigureThrottlingButton();
|
| - }
|
| -
|
| _updateThrottlingToolbarVisibility() {
|
| this._throttlingToolbar.element.classList.toggle('hidden', !this._configureThrottlingSetting.get());
|
| }
|
| @@ -1878,54 +1848,3 @@ Timeline.TimelineFilters.Events = {
|
| };
|
|
|
| Timeline.TimelineFilters._durationFilterPresetsMs = [0, 1, 15];
|
| -
|
| -/**
|
| - * @implements {SDK.TargetManager.Observer}
|
| - * @unrestricted
|
| - */
|
| -Timeline.CPUThrottlingManager = class extends Common.Object {
|
| - constructor() {
|
| - super();
|
| - this._targets = [];
|
| - this._throttlingRate = 1.; // No throttling
|
| - SDK.targetManager.observeTargets(this, SDK.Target.Capability.Browser);
|
| - }
|
| -
|
| - /**
|
| - * @param {number} value
|
| - */
|
| - setRate(value) {
|
| - this._throttlingRate = value;
|
| - this._targets.forEach(target => target.emulationAgent().setCPUThrottlingRate(value));
|
| - var icon = null;
|
| - if (value !== 1) {
|
| - icon = UI.Icon.create('smallicon-warning');
|
| - icon.title = Common.UIString('CPU throttling is enabled');
|
| - }
|
| - UI.inspectorView.setPanelIcon('timeline', icon);
|
| - }
|
| -
|
| - /**
|
| - * @return {number}
|
| - */
|
| - rate() {
|
| - return this._throttlingRate;
|
| - }
|
| -
|
| - /**
|
| - * @override
|
| - * @param {!SDK.Target} target
|
| - */
|
| - targetAdded(target) {
|
| - this._targets.push(target);
|
| - target.emulationAgent().setCPUThrottlingRate(this._throttlingRate);
|
| - }
|
| -
|
| - /**
|
| - * @override
|
| - * @param {!SDK.Target} target
|
| - */
|
| - targetRemoved(target) {
|
| - this._targets.remove(target, true);
|
| - }
|
| -};
|
|
|