| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 139 */ | 139 */ |
| 140 Settings.GenericSettingsTab = class extends Settings.SettingsTab { | 140 Settings.GenericSettingsTab = class extends Settings.SettingsTab { |
| 141 constructor() { | 141 constructor() { |
| 142 super(Common.UIString('Preferences'), 'preferences-tab-content'); | 142 super(Common.UIString('Preferences'), 'preferences-tab-content'); |
| 143 | 143 |
| 144 /** @const */ | 144 /** @const */ |
| 145 var explicitSectionOrder = | 145 var explicitSectionOrder = |
| 146 ['', 'Appearance', 'Elements', 'Sources', 'Network', 'Profiler', 'Consol
e', 'Extensions']; | 146 ['', 'Appearance', 'Elements', 'Sources', 'Network', 'Profiler', 'Consol
e', 'Extensions']; |
| 147 /** @type {!Map<string, !Element>} */ | 147 /** @type {!Map<string, !Element>} */ |
| 148 this._nameToSection = new Map(); | 148 this._nameToSection = new Map(); |
| 149 /** @type {!Map<string, !Element>} */ | |
| 150 this._nameToSettingElement = new Map(); | |
| 151 for (var sectionName of explicitSectionOrder) | 149 for (var sectionName of explicitSectionOrder) |
| 152 this._sectionElement(sectionName); | 150 this._sectionElement(sectionName); |
| 153 self.runtime.extensions('setting').forEach(this._addSetting.bind(this)); | 151 self.runtime.extensions('setting').forEach(this._addSetting.bind(this)); |
| 154 self.runtime.extensions(UI.SettingUI).forEach(this._addSettingUI.bind(this))
; | 152 self.runtime.extensions(UI.SettingUI).forEach(this._addSettingUI.bind(this))
; |
| 155 | 153 |
| 156 this._appendSection().appendChild( | 154 this._appendSection().appendChild( |
| 157 UI.createTextButton(Common.UIString('Restore defaults and reload'), rest
oreAndReload)); | 155 UI.createTextButton(Common.UIString('Restore defaults and reload'), rest
oreAndReload)); |
| 158 | 156 |
| 159 function restoreAndReload() { | 157 function restoreAndReload() { |
| 160 Common.settings.clearAll(); | 158 Common.settings.clearAll(); |
| (...skipping 13 matching lines...) Expand all Loading... |
| 174 return false; | 172 return false; |
| 175 return true; | 173 return true; |
| 176 } | 174 } |
| 177 | 175 |
| 178 /** | 176 /** |
| 179 * @param {!Runtime.Extension} extension | 177 * @param {!Runtime.Extension} extension |
| 180 */ | 178 */ |
| 181 _addSetting(extension) { | 179 _addSetting(extension) { |
| 182 if (!Settings.GenericSettingsTab.isSettingVisible(extension)) | 180 if (!Settings.GenericSettingsTab.isSettingVisible(extension)) |
| 183 return; | 181 return; |
| 184 var descriptor = extension.descriptor(); | 182 var sectionElement = this._sectionElement(extension.descriptor()['category']
); |
| 185 var sectionName = descriptor['category']; | 183 var settingControl = UI.SettingsUI.settingExtensionToControl(extension); |
| 186 var settingName = descriptor['settingName']; | 184 if (settingControl) |
| 187 var setting = Common.moduleSetting(settingName); | 185 sectionElement.appendChild(settingControl); |
| 188 var uiTitle = Common.UIString(extension.title()); | |
| 189 | |
| 190 var sectionElement = this._sectionElement(sectionName); | |
| 191 var settingControl; | |
| 192 | |
| 193 switch (descriptor['settingType']) { | |
| 194 case 'boolean': | |
| 195 settingControl = UI.SettingsUI.createSettingCheckbox(uiTitle, setting); | |
| 196 break; | |
| 197 case 'enum': | |
| 198 settingControl = UI.SettingsUI.createSettingSelect(uiTitle, descriptor['
options'], setting); | |
| 199 break; | |
| 200 default: | |
| 201 console.error('Invalid setting type: ' + descriptor['settingType']); | |
| 202 return; | |
| 203 } | |
| 204 this._nameToSettingElement.set(settingName, settingControl); | |
| 205 sectionElement.appendChild(/** @type {!Element} */ (settingControl)); | |
| 206 } | 186 } |
| 207 | 187 |
| 208 /** | 188 /** |
| 209 * @param {!Runtime.Extension} extension | 189 * @param {!Runtime.Extension} extension |
| 210 */ | 190 */ |
| 211 _addSettingUI(extension) { | 191 _addSettingUI(extension) { |
| 212 var descriptor = extension.descriptor(); | 192 var descriptor = extension.descriptor(); |
| 213 var sectionName = descriptor['category'] || ''; | 193 var sectionName = descriptor['category'] || ''; |
| 214 extension.instance().then(appendCustomSetting.bind(this)); | 194 extension.instance().then(appendCustomSetting.bind(this)); |
| 215 | 195 |
| (...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 367 return; | 347 return; |
| 368 var settings = extension.descriptor()['settings']; | 348 var settings = extension.descriptor()['settings']; |
| 369 if (settings && settings.indexOf(setting.name) !== -1) { | 349 if (settings && settings.indexOf(setting.name) !== -1) { |
| 370 InspectorFrontendHost.bringToFront(); | 350 InspectorFrontendHost.bringToFront(); |
| 371 Settings.SettingsScreen._showSettingsScreen(extension.descriptor()['id']
); | 351 Settings.SettingsScreen._showSettingsScreen(extension.descriptor()['id']
); |
| 372 success = true; | 352 success = true; |
| 373 } | 353 } |
| 374 } | 354 } |
| 375 } | 355 } |
| 376 }; | 356 }; |
| OLD | NEW |