| Index: third_party/WebKit/Source/devtools/front_end/audits/AuditRules.js
|
| diff --git a/third_party/WebKit/Source/devtools/front_end/audits/AuditRules.js b/third_party/WebKit/Source/devtools/front_end/audits/AuditRules.js
|
| index 78e2f4df16179abdb0604031216dce2bc39552df..592c1df34a68c921ed8568b78376197a02c6bd39 100644
|
| --- a/third_party/WebKit/Source/devtools/front_end/audits/AuditRules.js
|
| +++ b/third_party/WebKit/Source/devtools/front_end/audits/AuditRules.js
|
| @@ -47,21 +47,22 @@ Audits.AuditRules.CacheableResponseCodes = {
|
| * @return {!Object.<string, !Array.<!SDK.NetworkRequest|string>>}
|
| */
|
| Audits.AuditRules.getDomainToResourcesMap = function(requests, types, needFullResources) {
|
| + /** @type {!Object<string, !Array<!SDK.NetworkRequest|string>>} */
|
| var domainToResourcesMap = {};
|
| for (var i = 0, size = requests.length; i < size; ++i) {
|
| var request = requests[i];
|
| if (types && types.indexOf(request.resourceType()) === -1)
|
| continue;
|
| - var parsedURL = request.url.asParsedURL();
|
| + var parsedURL = request.url().asParsedURL();
|
| if (!parsedURL)
|
| continue;
|
| var domain = parsedURL.host;
|
| var domainResources = domainToResourcesMap[domain];
|
| if (domainResources === undefined) {
|
| - domainResources = [];
|
| + domainResources = /** @type {!Array<!SDK.NetworkRequest|string>} */ ([]);
|
| domainToResourcesMap[domain] = domainResources;
|
| }
|
| - domainResources.push(needFullResources ? request : request.url);
|
| + domainResources.push(needFullResources ? request : request.url());
|
| }
|
| return domainToResourcesMap;
|
| };
|
| @@ -95,7 +96,7 @@ Audits.AuditRules.GzipRule = class extends Audits.AuditRule {
|
| continue;
|
| var savings = 2 * size / 3;
|
| totalSavings += savings;
|
| - summary.addFormatted('%r could save ~%s', request.url, Number.bytesToString(savings));
|
| + summary.addFormatted('%r could save ~%s', request.url(), Number.bytesToString(savings));
|
| result.violationCount++;
|
| }
|
| }
|
| @@ -323,7 +324,7 @@ Audits.AuditRules.ParallelizeDownloadRule = class extends Audits.AuditRule {
|
| busiestHostResourceCount, hosts[0]),
|
| true);
|
| for (var i = 0; i < requestsOnBusiestHost.length; ++i)
|
| - entry.addURL(requestsOnBusiestHost[i].url);
|
| + entry.addURL(requestsOnBusiestHost[i].url());
|
|
|
| result.violationCount = requestsOnBusiestHost.length;
|
| callback(result);
|
| @@ -675,7 +676,7 @@ Audits.AuditRules.CacheControlRule = class extends Audits.AuditRule {
|
| if (this.responseHeaderMatch(request, 'Cache-Control', 'public'))
|
| return true;
|
|
|
| - return request.url.indexOf('?') === -1 && !this.responseHeaderMatch(request, 'Cache-Control', 'private');
|
| + return request.url().indexOf('?') === -1 && !this.responseHeaderMatch(request, 'Cache-Control', 'private');
|
| }
|
|
|
| /**
|
| @@ -704,11 +705,12 @@ Audits.AuditRules.CacheControlRule = class extends Audits.AuditRule {
|
| */
|
| _isExplicitlyNonCacheable(request) {
|
| var hasExplicitExp = this.hasExplicitExpiration(request);
|
| - return !!this.responseHeaderMatch(request, 'Cache-Control', '(no-cache|no-store)') ||
|
| + return !!(
|
| + !!this.responseHeaderMatch(request, 'Cache-Control', '(no-cache|no-store)') ||
|
| !!this.responseHeaderMatch(request, 'Pragma', 'no-cache') ||
|
| (hasExplicitExp && !this.freshnessLifetimeGreaterThan(request, 0)) ||
|
| - (!hasExplicitExp && !!request.url && request.url.indexOf('?') >= 0) ||
|
| - (!hasExplicitExp && !this.isCacheableResource(request));
|
| + (!hasExplicitExp && request.url() && request.url().indexOf('?') >= 0) ||
|
| + (!hasExplicitExp && !this.isCacheableResource(request)));
|
| }
|
|
|
| /**
|
| @@ -1456,6 +1458,7 @@ Audits.AuditRules.StaticCookielessRule = class extends Audits.AuditRules.CookieR
|
| totalStaticResources += domainToResourcesMap[domain].length;
|
| if (totalStaticResources < this._minResources)
|
| return;
|
| + /** @type {!Object<string, number>} */
|
| var matchingResourceData = {};
|
| this.mapResourceCookies(domainToResourcesMap, allCookies, this._collectorCallback.bind(this, matchingResourceData));
|
|
|
| @@ -1477,7 +1480,12 @@ Audits.AuditRules.StaticCookielessRule = class extends Audits.AuditRules.CookieR
|
| result.violationCount = badUrls.length;
|
| }
|
|
|
| + /**
|
| + * @param {!Object<string, number>} matchingResourceData
|
| + * @param {!SDK.NetworkRequest} request
|
| + * @param {!SDK.Cookie} cookie
|
| + */
|
| _collectorCallback(matchingResourceData, request, cookie) {
|
| - matchingResourceData[request.url] = (matchingResourceData[request.url] || 0) + cookie.size();
|
| + matchingResourceData[request.url()] = (matchingResourceData[request.url()] || 0) + cookie.size();
|
| }
|
| };
|
|
|