Index: third_party/WebKit/Source/devtools/front_end/ui/SettingsUI.js |
diff --git a/third_party/WebKit/Source/devtools/front_end/ui/SettingsUI.js b/third_party/WebKit/Source/devtools/front_end/ui/SettingsUI.js |
index c16b54580f46a147b6e4664e41272982aa70e040..76b306fe835017f7eb52df00626855f41862d8b3 100644 |
--- a/third_party/WebKit/Source/devtools/front_end/ui/SettingsUI.js |
+++ b/third_party/WebKit/Source/devtools/front_end/ui/SettingsUI.js |
@@ -123,6 +123,29 @@ UI.SettingsUI.createCustomSetting = function(name, element) { |
}; |
/** |
+ * @param {!Common.Setting} setting |
+ * @return {?Element} |
+ */ |
+UI.SettingsUI.createControlForSetting = function(setting) { |
+ if (!setting.extension()) |
+ return null; |
+ var descriptor = setting.extension().descriptor(); |
+ var uiTitle = Common.UIString(setting.title() || ''); |
+ switch (descriptor['settingType']) { |
+ case 'boolean': |
+ return UI.SettingsUI.createSettingCheckbox(uiTitle, setting); |
+ case 'enum': |
+ if (Array.isArray(descriptor['options'])) |
+ return UI.SettingsUI.createSettingSelect(uiTitle, descriptor['options'], setting); |
+ console.error('Enum setting defined without options'); |
+ return null; |
+ default: |
+ console.error('Invalid setting type: ' + descriptor['settingType']); |
+ return null; |
+ } |
+}; |
+ |
+/** |
* @interface |
*/ |
UI.SettingUI = function() {}; |