Chromium Code Reviews| Index: Source/devtools/front_end/sdk/OverridesSupport.js |
| diff --git a/Source/devtools/front_end/sdk/OverridesSupport.js b/Source/devtools/front_end/sdk/OverridesSupport.js |
| index b335a0edd63a3da475a4dc87c26495a89f089fa8..522b6e06e9275a43967f754582ccfe001c41c564 100644 |
| --- a/Source/devtools/front_end/sdk/OverridesSupport.js |
| +++ b/Source/devtools/front_end/sdk/OverridesSupport.js |
| @@ -267,6 +267,21 @@ WebInspector.OverridesSupport.inputValidator = function(value) |
| return WebInspector.UIString("Value must be non-negative integer"); |
| } |
| +/** |
| + * @param {string} value |
|
eustas
2014/06/05 15:06:51
please specify return type.
|
| + */ |
| +WebInspector.OverridesSupport.networkDomainsValidator = function(value) |
| +{ |
| + function test(s) |
| + { |
| + return /^[\w\-]+(\.[\w\-]+)*$/.test(s.trim()); |
| + } |
| + |
| + if (!value.trim()) |
| + return ""; |
| + return value.split(",").every(test) ? "" : WebInspector.UIString("Value must be a comma-separated list of domains"); |
| +} |
| + |
| // Third element lists device metrics separated by 'x': |
| // - screen width, |
| // - screen height, |
| @@ -533,6 +548,9 @@ WebInspector.OverridesSupport.prototype = { |
| if (this.settings.overrideUserAgent.get()) |
| this._userAgentChanged(); |
| + if (this.settings.emulateNetworkConditions.get()) |
| + this._networkConditionsChanged(); |
| + |
| this._showRulersChanged(); |
| }, |
| @@ -708,6 +726,14 @@ WebInspector.OverridesSupport.prototype = { |
| this.maybeHasActiveOverridesChanged(); |
| }, |
| + _networkConditionsChanged: function() |
| + { |
| + var domainsString = this.settings.networkDomains.get().trim(); |
| + var domains = domainsString ? domainsString.split(",").map(function (s) { return s.trim(); }) : []; |
| + NetworkAgent.emulateNetworkConditions(domains, 0, this.settings.emulateNetworkConditions.get()); |
| + this.maybeHasActiveOverridesChanged(); |
| + }, |
| + |
| /** |
| * @return {boolean} |
| */ |
| @@ -811,6 +837,9 @@ WebInspector.OverridesSupport.prototype = { |
| this.settings.emulatedCSSMedia = WebInspector.settings.createSetting("emulatedCSSMedia", "print"); |
| this.settings.emulatedDevice = WebInspector.settings.createSetting("emulatedDevice", "Google Nexus 5"); |
| + this.settings.emulateNetworkConditions = WebInspector.settings.createSetting("emulateNetworkConditions", false); |
| + this.settings.networkDomains = WebInspector.settings.createSetting("networkDomains", ""); |
| + |
|
pfeldman
2014/06/05 15:13:43
networkOfflineDomains?
|
| this.maybeHasActiveOverridesChanged(); |
| this.settings.overrideUserAgent.addChangeListener(this._userAgentChanged, this); |
| @@ -835,6 +864,9 @@ WebInspector.OverridesSupport.prototype = { |
| this.settings.overrideCSSMedia.addChangeListener(this._cssMediaChanged, this); |
| this.settings.emulatedCSSMedia.addChangeListener(this._cssMediaChanged, this); |
| + this.settings.emulateNetworkConditions.addChangeListener(this._networkConditionsChanged, this); |
| + this.settings.networkDomains.addChangeListener(this._networkConditionsChanged, this); |
| + |
| WebInspector.settings.showMetricsRulers.addChangeListener(this._showRulersChanged, this); |
| if (this._applyInitialOverridesOnTargetAdded) { |