| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2009 Google Inc. All rights reserved. | 2 * Copyright (C) 2009 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 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 99 this.workerInspectorWidth = this.createSetting("workerInspectorWidth", 600); | 99 this.workerInspectorWidth = this.createSetting("workerInspectorWidth", 600); |
| 100 this.workerInspectorHeight = this.createSetting("workerInspectorHeight", 600
); | 100 this.workerInspectorHeight = this.createSetting("workerInspectorHeight", 600
); |
| 101 this.messageURLFilters = this.createSetting("messageURLFilters", {}); | 101 this.messageURLFilters = this.createSetting("messageURLFilters", {}); |
| 102 this.networkHideDataURL = this.createSetting("networkHideDataURL", false); | 102 this.networkHideDataURL = this.createSetting("networkHideDataURL", false); |
| 103 this.messageLevelFilters = this.createSetting("messageLevelFilters", {}); | 103 this.messageLevelFilters = this.createSetting("messageLevelFilters", {}); |
| 104 this.splitVerticallyWhenDockedToRight = this.createSetting("splitVerticallyW
henDockedToRight", true); | 104 this.splitVerticallyWhenDockedToRight = this.createSetting("splitVerticallyW
henDockedToRight", true); |
| 105 this.visiblePanels = this.createSetting("visiblePanels", {}); | 105 this.visiblePanels = this.createSetting("visiblePanels", {}); |
| 106 this.shortcutPanelSwitch = this.createSetting("shortcutPanelSwitch", false); | 106 this.shortcutPanelSwitch = this.createSetting("shortcutPanelSwitch", false); |
| 107 this.showWhitespacesInEditor = this.createSetting("showWhitespacesInEditor",
false); | 107 this.showWhitespacesInEditor = this.createSetting("showWhitespacesInEditor",
false); |
| 108 this.skipStackFramesSwitch = this.createSetting("skipStackFramesSwitch", fal
se); | 108 this.skipStackFramesSwitch = this.createSetting("skipStackFramesSwitch", fal
se); |
| 109 this.skipStackFramesPattern = this.createSetting("skipStackFramesPattern", "
"); | 109 this.skipStackFramesPattern = this.createRegExpSetting("skipStackFramesPatte
rn", ""); |
| 110 this.pauseOnExceptionEnabled = this.createSetting("pauseOnExceptionEnabled",
false); | 110 this.pauseOnExceptionEnabled = this.createSetting("pauseOnExceptionEnabled",
false); |
| 111 this.pauseOnCaughtException = this.createSetting("pauseOnCaughtException", f
alse); | 111 this.pauseOnCaughtException = this.createSetting("pauseOnCaughtException", f
alse); |
| 112 this.enableAsyncStackTraces = this.createSetting("enableAsyncStackTraces", f
alse); | 112 this.enableAsyncStackTraces = this.createSetting("enableAsyncStackTraces", f
alse); |
| 113 } | 113 } |
| 114 | 114 |
| 115 WebInspector.Settings.prototype = { | 115 WebInspector.Settings.prototype = { |
| 116 /** | 116 /** |
| 117 * @param {string} key | 117 * @param {string} key |
| 118 * @param {*} defaultValue | 118 * @param {*} defaultValue |
| 119 * @return {!WebInspector.Setting} | 119 * @return {!WebInspector.Setting} |
| 120 */ | 120 */ |
| 121 createSetting: function(key, defaultValue) | 121 createSetting: function(key, defaultValue) |
| 122 { | 122 { |
| 123 if (!this._registry[key]) | 123 if (!this._registry[key]) |
| 124 this._registry[key] = new WebInspector.Setting(key, defaultValue, th
is._eventSupport, window.localStorage); | 124 this._registry[key] = new WebInspector.Setting(key, defaultValue, th
is._eventSupport, window.localStorage); |
| 125 return this._registry[key]; | 125 return this._registry[key]; |
| 126 }, | 126 }, |
| 127 | 127 |
| 128 /** | 128 /** |
| 129 * @param {string} key | 129 * @param {string} key |
| 130 * @param {string} defaultValue |
| 131 * @param {string=} regexFlags |
| 132 * @return {!WebInspector.Setting} |
| 133 */ |
| 134 createRegExpSetting: function(key, defaultValue, regexFlags) |
| 135 { |
| 136 if (!this._registry[key]) |
| 137 this._registry[key] = new WebInspector.RegExpSetting(key, defaultVal
ue, this._eventSupport, window.localStorage, regexFlags); |
| 138 return this._registry[key]; |
| 139 }, |
| 140 |
| 141 /** |
| 142 * @param {string} key |
| 130 * @param {*} defaultValue | 143 * @param {*} defaultValue |
| 131 * @param {function(*, function(string, ...))} setterCallback | 144 * @param {function(*, function(string, ...))} setterCallback |
| 132 * @return {!WebInspector.Setting} | 145 * @return {!WebInspector.Setting} |
| 133 */ | 146 */ |
| 134 createBackendSetting: function(key, defaultValue, setterCallback) | 147 createBackendSetting: function(key, defaultValue, setterCallback) |
| 135 { | 148 { |
| 136 if (!this._registry[key]) | 149 if (!this._registry[key]) |
| 137 this._registry[key] = new WebInspector.BackendSetting(key, defaultVa
lue, this._eventSupport, window.localStorage, setterCallback); | 150 this._registry[key] = new WebInspector.BackendSetting(key, defaultVa
lue, this._eventSupport, window.localStorage, setterCallback); |
| 138 return this._registry[key]; | 151 return this._registry[key]; |
| 139 }, | 152 }, |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 218 } | 231 } |
| 219 } | 232 } |
| 220 this._eventSupport.dispatchEventToListeners(this._name, value); | 233 this._eventSupport.dispatchEventToListeners(this._name, value); |
| 221 } | 234 } |
| 222 } | 235 } |
| 223 | 236 |
| 224 /** | 237 /** |
| 225 * @constructor | 238 * @constructor |
| 226 * @extends {WebInspector.Setting} | 239 * @extends {WebInspector.Setting} |
| 227 * @param {string} name | 240 * @param {string} name |
| 241 * @param {string} defaultValue |
| 242 * @param {!WebInspector.Object} eventSupport |
| 243 * @param {?Storage} storage |
| 244 * @param {string=} regexFlags |
| 245 */ |
| 246 WebInspector.RegExpSetting = function(name, defaultValue, eventSupport, storage,
regexFlags) |
| 247 { |
| 248 WebInspector.Setting.call(this, name, defaultValue, eventSupport, storage); |
| 249 this._regexFlags = regexFlags; |
| 250 } |
| 251 |
| 252 WebInspector.RegExpSetting.prototype = { |
| 253 set: function(value) |
| 254 { |
| 255 delete this._regex; |
| 256 WebInspector.Setting.prototype.set.call(this, value); |
| 257 }, |
| 258 |
| 259 /** |
| 260 * @return {?RegExp} |
| 261 */ |
| 262 asRegExp: function() |
| 263 { |
| 264 if (typeof this._regex !== "undefined") |
| 265 return this._regex; |
| 266 this._regex = null; |
| 267 try { |
| 268 this._regex = new RegExp(this.get(), this._regexFlags || ""); |
| 269 } catch (e) { |
| 270 } |
| 271 return this._regex; |
| 272 }, |
| 273 |
| 274 __proto__: WebInspector.Setting.prototype |
| 275 } |
| 276 |
| 277 /** |
| 278 * @constructor |
| 279 * @extends {WebInspector.Setting} |
| 280 * @param {string} name |
| 228 * @param {*} defaultValue | 281 * @param {*} defaultValue |
| 229 * @param {!WebInspector.Object} eventSupport | 282 * @param {!WebInspector.Object} eventSupport |
| 230 * @param {?Storage} storage | 283 * @param {?Storage} storage |
| 231 * @param {function(*,function(string, ...))} setterCallback | 284 * @param {function(*,function(string, ...))} setterCallback |
| 232 */ | 285 */ |
| 233 WebInspector.BackendSetting = function(name, defaultValue, eventSupport, storage
, setterCallback) | 286 WebInspector.BackendSetting = function(name, defaultValue, eventSupport, storage
, setterCallback) |
| 234 { | 287 { |
| 235 WebInspector.Setting.call(this, name, defaultValue, eventSupport, storage); | 288 WebInspector.Setting.call(this, name, defaultValue, eventSupport, storage); |
| 236 this._setterCallback = setterCallback; | 289 this._setterCallback = setterCallback; |
| 237 var currentValue = this.get(); | 290 var currentValue = this.get(); |
| (...skipping 14 matching lines...) Expand all Loading... |
| 252 WebInspector.console.log("Error applying setting " + this._name
+ ": " + error); | 305 WebInspector.console.log("Error applying setting " + this._name
+ ": " + error); |
| 253 this._eventSupport.dispatchEventToListeners(this._name, this._va
lue); | 306 this._eventSupport.dispatchEventToListeners(this._name, this._va
lue); |
| 254 return; | 307 return; |
| 255 } | 308 } |
| 256 WebInspector.Setting.prototype.set.call(this, value); | 309 WebInspector.Setting.prototype.set.call(this, value); |
| 257 } | 310 } |
| 258 this._setterCallback(value, callback.bind(this)); | 311 this._setterCallback(value, callback.bind(this)); |
| 259 }, | 312 }, |
| 260 | 313 |
| 261 __proto__: WebInspector.Setting.prototype | 314 __proto__: WebInspector.Setting.prototype |
| 262 }; | 315 } |
| 263 | 316 |
| 264 /** | 317 /** |
| 265 * @constructor | 318 * @constructor |
| 266 * @param {boolean} experimentsEnabled | 319 * @param {boolean} experimentsEnabled |
| 267 */ | 320 */ |
| 268 WebInspector.ExperimentsSettings = function(experimentsEnabled) | 321 WebInspector.ExperimentsSettings = function(experimentsEnabled) |
| 269 { | 322 { |
| 270 this._experimentsEnabled = experimentsEnabled; | 323 this._experimentsEnabled = experimentsEnabled; |
| 271 this._setting = WebInspector.settings.createSetting("experiments", {}); | 324 this._setting = WebInspector.settings.createSetting("experiments", {}); |
| 272 this._experiments = []; | 325 this._experiments = []; |
| (...skipping 326 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 599 { | 652 { |
| 600 // If there are too many breakpoints in a storage, it is likely due to a
recent bug that caused | 653 // If there are too many breakpoints in a storage, it is likely due to a
recent bug that caused |
| 601 // periodical breakpoints duplication leading to inspector slowness. | 654 // periodical breakpoints duplication leading to inspector slowness. |
| 602 if (breakpointsSetting.get().length > maxBreakpointsCount) | 655 if (breakpointsSetting.get().length > maxBreakpointsCount) |
| 603 breakpointsSetting.set([]); | 656 breakpointsSetting.set([]); |
| 604 } | 657 } |
| 605 } | 658 } |
| 606 | 659 |
| 607 WebInspector.settings = new WebInspector.Settings(); | 660 WebInspector.settings = new WebInspector.Settings(); |
| 608 WebInspector.experimentsSettings = new WebInspector.ExperimentsSettings(WebInspe
ctor.queryParam("experiments") !== null); | 661 WebInspector.experimentsSettings = new WebInspector.ExperimentsSettings(WebInspe
ctor.queryParam("experiments") !== null); |
| OLD | NEW |