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

Unified Diff: third_party/WebKit/Source/devtools/front_end/main/RenderingOptions.js

Issue 2839413002: DevTools: add rendering overlay options to command menu (Closed)
Patch Set: ac Created 3 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/main/RenderingOptions.js
diff --git a/third_party/WebKit/Source/devtools/front_end/main/RenderingOptions.js b/third_party/WebKit/Source/devtools/front_end/main/RenderingOptions.js
index f3e8102c3f24e11a95910e6f06ab9c27d83494f9..2190bc681462cd968d40def2c1b9f2cac8c57b39 100644
--- a/third_party/WebKit/Source/devtools/front_end/main/RenderingOptions.js
+++ b/third_party/WebKit/Source/devtools/front_end/main/RenderingOptions.js
@@ -54,18 +54,17 @@ Main.RenderingOptionsView = class extends UI.VBox {
Common.moduleSetting('showScrollBottleneckRects'));
this.contentElement.createChild('div').classList.add('panel-section-separator');
- var cssMediaSubtitle = Common.UIString('Forces media type for testing print and screen styles');
- var checkboxLabel = UI.CheckboxLabel.create(Common.UIString('Emulate CSS Media'), false, cssMediaSubtitle);
- this._mediaCheckbox = checkboxLabel.checkboxElement;
- this._mediaCheckbox.addEventListener('click', this._mediaToggled.bind(this), false);
- this.contentElement.appendChild(checkboxLabel);
-
- var mediaRow = this.contentElement.createChild('div', 'media-row');
- this._mediaSelect = mediaRow.createChild('select', 'chrome-select');
- this._mediaSelect.appendChild(new Option(Common.UIString('print'), 'print'));
- this._mediaSelect.appendChild(new Option(Common.UIString('screen'), 'screen'));
- this._mediaSelect.addEventListener('change', this._mediaToggled.bind(this), false);
- this._mediaSelect.disabled = true;
+ this._mediaSetting = Common.moduleSetting('emulateCSSMedia');
+ this._mediaSetting.addChangeListener(this._mediaChanged.bind(this));
+ var emulateMediaExtension = self.runtime.extensions('setting').find(
+ extension => extension.descriptor()['settingName'] === 'emulateCSSMedia' && !!extension.descriptor().options);
+ if (emulateMediaExtension) {
+ var mediaOptions = emulateMediaExtension.descriptor().options;
pfeldman 2017/05/10 20:55:19 I'm seeing the same code in SettingsScreen.js - ca
luoe 2017/05/11 21:40:02 We can do a settingExtensionToControl that holds c
+ var mediaSelect = UI.SettingsUI.createSettingSelect(
+ Common.UIString('Emulate CSS Media'), mediaOptions, this._mediaSetting,
+ Common.UIString('Forces media type for testing print and screen styles'));
+ this.contentElement.createChild('div', 'media-row').appendChild(mediaSelect);
+ }
SDK.targetManager.observeModels(SDK.EmulationModel, this);
}
@@ -86,15 +85,14 @@ Main.RenderingOptionsView = class extends UI.VBox {
* @param {!SDK.EmulationModel} emulationModel
*/
modelAdded(emulationModel) {
- if (this._mediaCheckbox.checked)
- emulationModel.emulateCSSMedia(this._mediaSelect.value);
+ var mediaValue = this._mediaSetting.get() === 'none' ? null : this._mediaSetting.get();
+ emulationModel.emulateCSSMedia(mediaValue);
}
- _mediaToggled() {
- this._mediaSelect.disabled = !this._mediaCheckbox.checked;
- var media = this._mediaCheckbox.checked ? this._mediaSelect.value : null;
+ _mediaChanged() {
+ var mediaValue = this._mediaSetting.get() === 'none' ? null : this._mediaSetting.get();
for (var emulationModel of SDK.targetManager.models(SDK.EmulationModel))
- emulationModel.emulateCSSMedia(media);
+ emulationModel.emulateCSSMedia(mediaValue);
}
/**

Powered by Google App Engine
This is Rietveld 408576698