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

Unified Diff: third_party/WebKit/Source/devtools/front_end/ui/Toolbar.js

Issue 2666013002: DevTools: render console filter in the main console toolbar. (Closed)
Patch Set: Introduce progress monitor Created 3 years, 11 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/ui/Toolbar.js
diff --git a/third_party/WebKit/Source/devtools/front_end/ui/Toolbar.js b/third_party/WebKit/Source/devtools/front_end/ui/Toolbar.js
index 8e6f552001bba2f712cf2fb3412318eddf459255..80c23c5188c3560f7380ba53253a005d99f17d14 100644
--- a/third_party/WebKit/Source/devtools/front_end/ui/Toolbar.js
+++ b/third_party/WebKit/Source/devtools/front_end/ui/Toolbar.js
@@ -553,12 +553,15 @@ UI.ToolbarInput = class extends UI.ToolbarItem {
/**
* @param {string=} placeholder
* @param {number=} growFactor
+ * @param {number=} shrinkFactor
*/
- constructor(placeholder, growFactor) {
+ constructor(placeholder, growFactor, shrinkFactor) {
super(createElementWithClass('input', 'toolbar-item'));
this.element.addEventListener('input', this._onChangeCallback.bind(this), false);
if (growFactor)
this.element.style.flexGrow = growFactor;
+ if (shrinkFactor)
+ this.element.style.flexShrink = shrinkFactor;
if (placeholder)
this.element.setAttribute('placeholder', placeholder);
this._value = '';
@@ -895,6 +898,68 @@ UI.ToolbarComboBox = class extends UI.ToolbarItem {
/**
* @unrestricted
*/
+UI.ToolbarSettingComboBox = class extends UI.ToolbarComboBox {
+ /**
+ * @param {!Array.<!{value: string, label: string, title: string, default:(boolean|undefined)}>} options
+ * @param {!Common.Setting} setting
+ * @param {string=} optGroup
+ */
+ constructor(options, setting, optGroup) {
+ super(null);
+ this._setting = setting;
+ this._options = options;
+ this._selectElement.addEventListener('change', this._valueChanged.bind(this), false);
+ var optionContainer = this._selectElement;
+ var optGroupElement = optGroup ? this._selectElement.createChild('optgroup') : null;
+ if (optGroupElement) {
+ optGroupElement.label = optGroup;
+ optionContainer = optGroupElement;
+ }
+ for (var i = 0; i < options.length; ++i) {
+ var dataOption = options[i];
+ var option = this.createOption(dataOption.label, dataOption.title, dataOption.value);
+ optionContainer.appendChild(option);
+ if (setting.get() === dataOption.value)
+ this.setSelectedIndex(i);
+ }
+
+ setting.addChangeListener(this._settingChanged, this);
+ }
+
+ /**
+ * @return {string}
+ */
+ value() {
+ return this._options[this.selectedIndex()].value;
+ }
+
+ _settingChanged() {
+ if (this._muteSettingListener)
+ return;
+
+ var value = this._setting.get();
+ for (var i = 0; i < this._options.length; ++i) {
+ if (value === this._options[i].value) {
+ this.setSelectedIndex(i);
+ break;
+ }
+ }
+ }
+
+ /**
+ * @param {!Event} event
+ */
+ _valueChanged(event) {
+ var option = this._options[this.selectedIndex()];
+ this._muteSettingListener = true;
+ this._setting.set(option.value);
+ this._muteSettingListener = false;
+ }
+};
+
+/**
+ * @unrestricted
+ */
UI.ToolbarCheckbox = class extends UI.ToolbarItem {
/**
* @param {string} text

Powered by Google App Engine
This is Rietveld 408576698