Changeset 243452 in webkit


Ignore:
Timestamp:
Mar 25, 2019 1:45:37 PM (5 years ago)
Author:
Joseph Pecoraro
Message:

Web Inspector: Page Weight indicator clears on pages with zero length resources (macrumors.com)
https://bugs.webkit.org/show_bug.cgi?id=196170

Reviewed by Timothy Hatcher.

Source/WebInspectorUI:

  • UserInterface/Models/DefaultDashboard.js:

(WI.DefaultDashboard.prototype._resourceSizeDidChange):
Catch NaN earlier.

  • UserInterface/Models/Resource.js:

(WI.Resource.prototype.updateWithMetrics):
When we receive exact metrics transition the estimated size to zero,
since we won't receive any more updates for the resource.

LayoutTests:

  • http/tests/inspector/network/resource-sizes-network.html:
  • http/tests/inspector/network/resources/empty.txt: Added.
  • platform/mac/http/tests/inspector/network/resource-sizes-network-expected.txt:
Location:
trunk
Files:
1 added
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r243451 r243452  
     12019-03-25  Joseph Pecoraro  <pecoraro@apple.com>
     2
     3        Web Inspector: Page Weight indicator clears on pages with zero length resources (macrumors.com)
     4        https://bugs.webkit.org/show_bug.cgi?id=196170
     5
     6        Reviewed by Timothy Hatcher.
     7
     8        * http/tests/inspector/network/resource-sizes-network.html:
     9        * http/tests/inspector/network/resources/empty.txt: Added.
     10        * platform/mac/http/tests/inspector/network/resource-sizes-network-expected.txt:
     11
    1122019-03-25  Eric Carlson  <eric.carlson@apple.com>
    213
  • trunk/LayoutTests/http/tests/inspector/network/resource-sizes-network.html

    r220119 r243452  
    4141        responseBodyTransferSize: 2955,
    4242        size: 2955,
     43    });
     44
     45    addResourceSizeTest(suite, {
     46        name: "Resource.Size.Network.text",
     47        description: "Sizes of an empty text resource",
     48        url: "resources/empty.txt?" + Math.random(),
     49        statusCode: 200,
     50        compressed: false,
     51        responseSource: WI.Resource.ResponseSource.Network,
     52        headers: true,
     53        requestBodyTransferSize: 0,
     54        responseBodyTransferSize: 0,
     55        size: 0,
    4356    });
    4457
  • trunk/LayoutTests/platform/mac/http/tests/inspector/network/resource-sizes-network-expected.txt

    r222111 r243452  
    1414PASS: requestBodyTransferSize should be exactly 0 bytes.
    1515PASS: responseBodyTransferSize should be exactly 2955 bytes.
     16PASS: requestHeadersTransferSize should be non-empty.
     17PASS: responseHeadersTransferSize should be non-empty.
     18
     19-- Running test case: Resource.Size.Network.text
     20PASS: statusCode should be 200.
     21PASS: compressed should be false.
     22PASS: responseSource should be Symbol(network).
     23PASS: estimatedNetworkEncodedSize should be exactly 0 bytes.
     24PASS: estimatedTotalTransferSize should be >= (encoded body size + headers).
     25PASS: size should be exactly 0 bytes.
     26PASS: networkEncodedSize should be exactly 0 bytes.
     27PASS: networkTotalTransferSize should be >= (encoded body size + headers).
     28PASS: requestBodyTransferSize should be exactly 0 bytes.
     29PASS: responseBodyTransferSize should be exactly 0 bytes.
    1630PASS: requestHeadersTransferSize should be non-empty.
    1731PASS: responseHeadersTransferSize should be non-empty.
  • trunk/Source/WebInspectorUI/ChangeLog

    r243426 r243452  
     12019-03-25  Joseph Pecoraro  <pecoraro@apple.com>
     2
     3        Web Inspector: Page Weight indicator clears on pages with zero length resources (macrumors.com)
     4        https://bugs.webkit.org/show_bug.cgi?id=196170
     5
     6        Reviewed by Timothy Hatcher.
     7
     8        * UserInterface/Models/DefaultDashboard.js:
     9        (WI.DefaultDashboard.prototype._resourceSizeDidChange):
     10        Catch NaN earlier.
     11
     12        * UserInterface/Models/Resource.js:
     13        (WI.Resource.prototype.updateWithMetrics):
     14        When we receive exact metrics transition the estimated size to zero,
     15        since we won't receive any more updates for the resource.
     16
    1172019-03-24  Devin Rousso  <drousso@apple.com>
    218
  • trunk/Source/WebInspectorUI/UserInterface/Models/DefaultDashboard.js

    r238192 r243452  
    184184        if (event.target.urlComponents.scheme === "data")
    185185            return;
    186         this.resourcesSize += event.target.size - event.data.previousSize;
     186
     187        let delta = event.target.size - event.data.previousSize;
     188        console.assert(!isNaN(delta), "Resource size change should never be NaN.");
     189        this.resourcesSize += delta;
    187190    }
    188191
  • trunk/Source/WebInspectorUI/UserInterface/Models/Resource.js

    r243180 r243452  
    790790            console.assert(this._responseBodySize >= 0);
    791791
     792            // There may have been no size updates received during load if Content-Length was 0.
     793            if (isNaN(this._estimatedSize))
     794                this._estimatedSize = 0;
     795
    792796            this.dispatchEventToListeners(WI.Resource.Event.SizeDidChange, {previousSize: this._estimatedSize});
    793797            this.dispatchEventToListeners(WI.Resource.Event.TransferSizeDidChange);
Note: See TracChangeset for help on using the changeset viewer.