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) { |