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

Unified Diff: Source/devtools/front_end/settings/SettingsScreen.js

Issue 1292673002: [DevTools] Group options in network presets select. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Updated visual design Created 5 years, 4 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: Source/devtools/front_end/settings/SettingsScreen.js
diff --git a/Source/devtools/front_end/settings/SettingsScreen.js b/Source/devtools/front_end/settings/SettingsScreen.js
index 800320b99bcf8015a986320a37d0e9f77b7b0e85..86d4eed7ac9478100a07e3590ed6f20c1a6c86be 100644
--- a/Source/devtools/front_end/settings/SettingsScreen.js
+++ b/Source/devtools/front_end/settings/SettingsScreen.js
@@ -201,18 +201,29 @@ WebInspector.GenericSettingsTab = function()
}
}
+/**
+ * @param {!Runtime.Extension} extension
+ * @return {boolean}
+ */
+WebInspector.GenericSettingsTab.isSettingVisible = function(extension)
+{
+ var descriptor = extension.descriptor();
+ if (!("title" in descriptor))
+ return false;
+ if (!(("category" in descriptor) || ("parentSettingName" in descriptor)))
+ return false;
+ return true;
+}
+
WebInspector.GenericSettingsTab.prototype = {
/**
* @param {!Runtime.Extension} extension
*/
_addSetting: function(extension)
{
- var descriptor = extension.descriptor();
- if (!("title" in descriptor))
- return;
- if (!(("category" in descriptor) || ("parentSettingName" in descriptor)))
+ if (!WebInspector.GenericSettingsTab.isSettingVisible(extension))
return;
-
+ var descriptor = extension.descriptor();
var sectionName = descriptor["category"];
var settingName = descriptor["settingName"];
var setting = WebInspector.moduleSetting(settingName);
@@ -608,6 +619,70 @@ WebInspector.SettingsController.ActionDelegate.prototype = {
/**
* @constructor
+ * @implements {WebInspector.Revealer}
+ */
+WebInspector.SettingsController.Revealer = function() { }
+
+WebInspector.SettingsController.Revealer.prototype = {
+ /**
+ * @override
+ * @param {!Object} object
+ * @param {number=} lineNumber
+ * @return {!Promise}
+ */
+ reveal: function(object, lineNumber)
+ {
+ console.assert(object instanceof WebInspector.Setting);
+ var setting = /** @type {!WebInspector.Setting} */ (object);
+ var success = false;
+
+ self.runtime.extensions("setting").forEach(revealModuleSetting);
+ self.runtime.extensions(WebInspector.SettingUI).forEach(revealSettingUI);
+ self.runtime.extensions("settings-view").forEach(revealSettingsView);
+
+ return success ? Promise.resolve() : Promise.reject();
+
+ /**
+ * @param {!Runtime.Extension} extension
+ */
+ function revealModuleSetting(extension)
+ {
+ if (!WebInspector.GenericSettingsTab.isSettingVisible(extension))
+ return;
+ if (extension.descriptor()["settingName"] === setting.name) {
+ WebInspector._settingsController.showSettingsScreen("general");
+ success = true;
+ }
+ }
+
+ /**
+ * @param {!Runtime.Extension} extension
+ */
+ function revealSettingUI(extension)
+ {
+ var settings = extension.descriptor()["settings"];
+ if (settings && settings.indexOf(setting.name) !== -1) {
+ WebInspector._settingsController.showSettingsScreen("general");
+ success = true;
+ }
+ }
+
+ /**
+ * @param {!Runtime.Extension} extension
+ */
+ function revealSettingsView(extension)
+ {
+ var settings = extension.descriptor()["settings"];
+ if (settings && settings.indexOf(setting.name) !== -1) {
+ WebInspector._settingsController.showSettingsScreen(extension.descriptor()["name"]);
+ success = true;
+ }
+ }
+ }
+}
+
+/**
+ * @constructor
* @extends {WebInspector.Object}
* @param {!Array.<{id: string, placeholder: (string|undefined), options: (!Array.<string>|undefined)}>} columns
* @param {function(!Element, {id: string, placeholder: (string|undefined), options: (!Array.<string>|undefined)}, ?string)} itemRenderer

Powered by Google App Engine
This is Rietveld 408576698