Bug 52886

Summary: Web Inspector: size is wrong for cached resources in Network panel
Product: WebKit Reporter: Andrey Kosyakov <caseq>
Component: Web Inspector (Deprecated)Assignee: Andrey Kosyakov <caseq>
Severity: Normal CC: abarth, apavlov, bweinstein, eric, joepeck, keishi, loislo, pfeldman, pmuellr, rik, timothy, webkit.review.bot, yurys
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Description Flags
pfeldman: review-
patch pfeldman: review+

Description Andrey Kosyakov 2011-01-21 04:47:18 PST
The numbers displayed in Size column of Network panel are wrong for cached resources:
- Size should be the actual size of cached resource (currently 0)
- Transfer Size should be the size of response headers (currently 0)
Comment 1 Andrey Kosyakov 2011-01-25 10:11:25 PST
Created attachment 80075 [details]
Comment 2 Pavel Feldman 2011-01-25 10:53:01 PST
Comment on attachment 80075 [details]

View in context: https://bugs.webkit.org/attachment.cgi?id=80075&action=review

> Source/WebCore/inspector/Inspector.idl:110
> +        [notify, domain=Network] void didReceiveResponse(out long identifier, out double time, out String resourceType, out long cachedSize, out Object response);

didReceiveResponse should not special-case cached resources. It would be better to call didReceiveContentLength for cached resources instead.

> Source/WebCore/inspector/front-end/NetworkManager.js:179
> +        if (resource.revalidated)

This would go away.

> Source/WebCore/inspector/front-end/Resource.js:241
> +        var size = this.cached || this.revalidated ? 0 : Number(this.resourceSize || this.responseHeaders["Content-Length"] || 0);

Could you replace ternary operators with guards for ease of understanding?

> Source/WebCore/inspector/front-end/Resource.js:309
> +    get revalidated()

get statusIsNotModified?
Comment 3 Andrey Kosyakov 2011-01-26 03:43:33 PST
Created attachment 80181 [details]

Removed additional resource size parameter to didReceiveResponse, issue additional call to didReceiveContentLength in case we got 304 and had a cached resource.
Comment 4 Pavel Feldman 2011-01-26 05:27:09 PST
Comment on attachment 80181 [details]

View in context: https://bugs.webkit.org/attachment.cgi?id=80181&action=review

> Source/WebCore/inspector/front-end/Resource.js:245
> +        var bodySize = Number(this.resourceSize || this.responseHeaders["Content-Length"] || 0);

In what cases do we use Content-Length header Is it more accurate? Was is used for gzip?
Comment 5 WebKit Review Bot 2011-01-26 08:56:47 PST
http://trac.webkit.org/changeset/76690 might have broken Leopard Intel Release (Tests)
Comment 6 Andrey Kosyakov 2011-01-26 09:00:24 PST
Manually committed r76690: http://trac.webkit.org/changeset/76690