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 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
194 | 194 |
195 this._appendSection().appendChild(createTextButton(WebInspector.UIString("Re
store defaults and reload"), restoreAndReload)); | 195 this._appendSection().appendChild(createTextButton(WebInspector.UIString("Re
store defaults and reload"), restoreAndReload)); |
196 | 196 |
197 function restoreAndReload() | 197 function restoreAndReload() |
198 { | 198 { |
199 WebInspector.settings.clearAll(); | 199 WebInspector.settings.clearAll(); |
200 WebInspector.reload(); | 200 WebInspector.reload(); |
201 } | 201 } |
202 } | 202 } |
203 | 203 |
| 204 /** |
| 205 * @param {!Runtime.Extension} extension |
| 206 * @return {boolean} |
| 207 */ |
| 208 WebInspector.GenericSettingsTab.isSettingVisible = function(extension) |
| 209 { |
| 210 var descriptor = extension.descriptor(); |
| 211 if (!("title" in descriptor)) |
| 212 return false; |
| 213 if (!(("category" in descriptor) || ("parentSettingName" in descriptor))) |
| 214 return false; |
| 215 return true; |
| 216 } |
| 217 |
204 WebInspector.GenericSettingsTab.prototype = { | 218 WebInspector.GenericSettingsTab.prototype = { |
205 /** | 219 /** |
206 * @param {!Runtime.Extension} extension | 220 * @param {!Runtime.Extension} extension |
207 */ | 221 */ |
208 _addSetting: function(extension) | 222 _addSetting: function(extension) |
209 { | 223 { |
| 224 if (!WebInspector.GenericSettingsTab.isSettingVisible(extension)) |
| 225 return; |
210 var descriptor = extension.descriptor(); | 226 var descriptor = extension.descriptor(); |
211 if (!("title" in descriptor)) | |
212 return; | |
213 if (!(("category" in descriptor) || ("parentSettingName" in descriptor))
) | |
214 return; | |
215 | |
216 var sectionName = descriptor["category"]; | 227 var sectionName = descriptor["category"]; |
217 var settingName = descriptor["settingName"]; | 228 var settingName = descriptor["settingName"]; |
218 var setting = WebInspector.moduleSetting(settingName); | 229 var setting = WebInspector.moduleSetting(settingName); |
219 var uiTitle = WebInspector.UIString(extension.title(WebInspector.platfor
m())); | 230 var uiTitle = WebInspector.UIString(extension.title(WebInspector.platfor
m())); |
220 | 231 |
221 var sectionElement = this._sectionElement(sectionName); | 232 var sectionElement = this._sectionElement(sectionName); |
222 var parentSettingName = descriptor["parentSettingName"]; | 233 var parentSettingName = descriptor["parentSettingName"]; |
223 var parentSettingElement = parentSettingName ? this._nameToSettingElemen
t.get(descriptor["parentSettingName"]) : null; | 234 var parentSettingElement = parentSettingName ? this._nameToSettingElemen
t.get(descriptor["parentSettingName"]) : null; |
224 var parentFieldset = null; | 235 var parentFieldset = null; |
225 if (parentSettingElement) { | 236 if (parentSettingElement) { |
(...skipping 375 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
601 WebInspector._settingsController.showSettingsScreen(); | 612 WebInspector._settingsController.showSettingsScreen(); |
602 else if (actionId === "settings.help") | 613 else if (actionId === "settings.help") |
603 InspectorFrontendHost.openInNewTab("https://developers.google.com/we
b/tools/chrome-devtools/"); | 614 InspectorFrontendHost.openInNewTab("https://developers.google.com/we
b/tools/chrome-devtools/"); |
604 else if (actionId === "settings.shortcuts") | 615 else if (actionId === "settings.shortcuts") |
605 WebInspector._settingsController.showSettingsScreen("shortcuts"); | 616 WebInspector._settingsController.showSettingsScreen("shortcuts"); |
606 } | 617 } |
607 } | 618 } |
608 | 619 |
609 /** | 620 /** |
610 * @constructor | 621 * @constructor |
| 622 * @implements {WebInspector.Revealer} |
| 623 */ |
| 624 WebInspector.SettingsController.Revealer = function() { } |
| 625 |
| 626 WebInspector.SettingsController.Revealer.prototype = { |
| 627 /** |
| 628 * @override |
| 629 * @param {!Object} object |
| 630 * @param {number=} lineNumber |
| 631 * @return {!Promise} |
| 632 */ |
| 633 reveal: function(object, lineNumber) |
| 634 { |
| 635 console.assert(object instanceof WebInspector.Setting); |
| 636 var setting = /** @type {!WebInspector.Setting} */ (object); |
| 637 var success = false; |
| 638 |
| 639 self.runtime.extensions("setting").forEach(revealModuleSetting); |
| 640 self.runtime.extensions(WebInspector.SettingUI).forEach(revealSettingUI)
; |
| 641 self.runtime.extensions("settings-view").forEach(revealSettingsView); |
| 642 |
| 643 return success ? Promise.resolve() : Promise.reject(); |
| 644 |
| 645 /** |
| 646 * @param {!Runtime.Extension} extension |
| 647 */ |
| 648 function revealModuleSetting(extension) |
| 649 { |
| 650 if (!WebInspector.GenericSettingsTab.isSettingVisible(extension)) |
| 651 return; |
| 652 if (extension.descriptor()["settingName"] === setting.name) { |
| 653 WebInspector._settingsController.showSettingsScreen("general"); |
| 654 success = true; |
| 655 } |
| 656 } |
| 657 |
| 658 /** |
| 659 * @param {!Runtime.Extension} extension |
| 660 */ |
| 661 function revealSettingUI(extension) |
| 662 { |
| 663 var settings = extension.descriptor()["settings"]; |
| 664 if (settings && settings.indexOf(setting.name) !== -1) { |
| 665 WebInspector._settingsController.showSettingsScreen("general"); |
| 666 success = true; |
| 667 } |
| 668 } |
| 669 |
| 670 /** |
| 671 * @param {!Runtime.Extension} extension |
| 672 */ |
| 673 function revealSettingsView(extension) |
| 674 { |
| 675 var settings = extension.descriptor()["settings"]; |
| 676 if (settings && settings.indexOf(setting.name) !== -1) { |
| 677 WebInspector._settingsController.showSettingsScreen(extension.de
scriptor()["name"]); |
| 678 success = true; |
| 679 } |
| 680 } |
| 681 } |
| 682 } |
| 683 |
| 684 /** |
| 685 * @constructor |
611 * @extends {WebInspector.Object} | 686 * @extends {WebInspector.Object} |
612 * @param {!Array.<{id: string, placeholder: (string|undefined), options: (!Arra
y.<string>|undefined)}>} columns | 687 * @param {!Array.<{id: string, placeholder: (string|undefined), options: (!Arra
y.<string>|undefined)}>} columns |
613 * @param {function(!Element, {id: string, placeholder: (string|undefined), opti
ons: (!Array.<string>|undefined)}, ?string)} itemRenderer | 688 * @param {function(!Element, {id: string, placeholder: (string|undefined), opti
ons: (!Array.<string>|undefined)}, ?string)} itemRenderer |
614 */ | 689 */ |
615 WebInspector.SettingsList = function(columns, itemRenderer) | 690 WebInspector.SettingsList = function(columns, itemRenderer) |
616 { | 691 { |
617 this.element = createElementWithClass("div", "settings-list"); | 692 this.element = createElementWithClass("div", "settings-list"); |
618 this.element.tabIndex = -1; | 693 this.element.tabIndex = -1; |
619 this._itemRenderer = itemRenderer; | 694 this._itemRenderer = itemRenderer; |
620 /** @type {!Map.<string, !Element>} */ | 695 /** @type {!Map.<string, !Element>} */ |
(...skipping 461 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1082 var columnId = columns[i]; | 1157 var columnId = columns[i]; |
1083 var editElement = this._addInputElements.get(columnId); | 1158 var editElement = this._addInputElements.get(columnId); |
1084 this._setEditElementValue(editElement, ""); | 1159 this._setEditElementValue(editElement, ""); |
1085 } | 1160 } |
1086 }, | 1161 }, |
1087 | 1162 |
1088 __proto__: WebInspector.SettingsList.prototype | 1163 __proto__: WebInspector.SettingsList.prototype |
1089 } | 1164 } |
1090 | 1165 |
1091 WebInspector._settingsController = new WebInspector.SettingsController(); | 1166 WebInspector._settingsController = new WebInspector.SettingsController(); |
OLD | NEW |