diff options
Diffstat (limited to 'WebCore/inspector/front-end/AuditRules.js')
-rw-r--r-- | WebCore/inspector/front-end/AuditRules.js | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/WebCore/inspector/front-end/AuditRules.js b/WebCore/inspector/front-end/AuditRules.js index a72de56..cd9f13e 100644 --- a/WebCore/inspector/front-end/AuditRules.js +++ b/WebCore/inspector/front-end/AuditRules.js @@ -42,17 +42,17 @@ WebInspector.AuditRules.CacheableResponseCodes = 304: true // Underlying resource is cacheable } -WebInspector.AuditRules.getDomainToResourcesMap = function(resources, types, regexp, needFullResources) +WebInspector.AuditRules.getDomainToResourcesMap = function(resources, types, needFullResources) { var domainToResourcesMap = {}; for (var i = 0, size = resources.length; i < size; ++i) { var resource = resources[i]; if (types && types.indexOf(resource.type) === -1) continue; - var match = resource.url.match(regexp); - if (!match) + var parsedURL = resource.url.asParsedURL(); + if (!parsedURL) continue; - var domain = match[2]; + var domain = parsedURL.host; var domainResources = domainToResourcesMap[domain]; if (domainResources === undefined) { domainResources = []; @@ -128,7 +128,7 @@ WebInspector.AuditRules.CombineExternalResourcesRule = function(id, name, type, WebInspector.AuditRules.CombineExternalResourcesRule.prototype = { doRun: function(resources, result, callback) { - var domainToResourcesMap = WebInspector.AuditRules.getDomainToResourcesMap(resources, [this._type], WebInspector.URLRegExp); + var domainToResourcesMap = WebInspector.AuditRules.getDomainToResourcesMap(resources, [this._type]); var penalizedResourceCount = 0; // TODO: refactor according to the chosen i18n approach var summary = result.addChild("", true); @@ -175,14 +175,14 @@ WebInspector.AuditRules.MinimizeDnsLookupsRule.prototype = { doRun: function(resources, result, callback) { var summary = result.addChild(""); - var domainToResourcesMap = WebInspector.AuditRules.getDomainToResourcesMap(resources, undefined, WebInspector.URLRegExp); + var domainToResourcesMap = WebInspector.AuditRules.getDomainToResourcesMap(resources, undefined); for (var domain in domainToResourcesMap) { if (domainToResourcesMap[domain].length > 1) continue; - var match = domain.match(WebInspector.URLRegExp); - if (!match) + var parsedURL = domain.asParsedURL(); + if (!parsedURL) continue; - if (!match[2].search(WebInspector.AuditRules.IPAddressRegexp)) + if (!parsedURL.host.search(WebInspector.AuditRules.IPAddressRegexp)) continue; // an IP address summary.addSnippet(match[2]); result.violationCount++; @@ -220,7 +220,6 @@ WebInspector.AuditRules.ParallelizeDownloadRule.prototype = { var domainToResourcesMap = WebInspector.AuditRules.getDomainToResourcesMap( resources, [WebInspector.Resource.Type.Stylesheet, WebInspector.Resource.Type.Image], - WebInspector.URLRegExp, true); var hosts = []; @@ -647,7 +646,7 @@ WebInspector.AuditRules.ImageDimensionsRule.prototype = { const node = WebInspector.domAgent.nodeForId(imageId); var src = node.getAttribute("src"); - if (!WebInspector.URLRegExp.test(src)) { + if (!src.asParsedURL()) { for (var frameOwnerCandidate = node; frameOwnerCandidate; frameOwnerCandidate = frameOwnerCandidate.parentNode) { if (frameOwnerCandidate.documentURL) { var completeSrc = WebInspector.completeURL(frameOwnerCandidate.documentURL, src); @@ -934,7 +933,6 @@ WebInspector.AuditRules.CookieSizeRule.prototype = { var domainToResourcesMap = WebInspector.AuditRules.getDomainToResourcesMap(resources, null, - WebInspector.URLRegExp, true); var matchingResourceData = {}; this.mapResourceCookies(domainToResourcesMap, allCookies, collectorCallback.bind(this)); @@ -998,7 +996,6 @@ WebInspector.AuditRules.StaticCookielessRule.prototype = { var domainToResourcesMap = WebInspector.AuditRules.getDomainToResourcesMap(resources, [WebInspector.Resource.Type.Stylesheet, WebInspector.Resource.Type.Image], - WebInspector.URLRegExp, true); var totalStaticResources = 0; for (var domain in domainToResourcesMap) |