| Index: third_party/WebKit/Source/core/fetch/ResourceFetcherTest.cpp
|
| diff --git a/third_party/WebKit/Source/core/fetch/ResourceFetcherTest.cpp b/third_party/WebKit/Source/core/fetch/ResourceFetcherTest.cpp
|
| index 80ff9d0efa36623385b3cdd5de9bea31237f7063..9bc58eb1c3e10f847542a96f07216b1bfe944eed 100644
|
| --- a/third_party/WebKit/Source/core/fetch/ResourceFetcherTest.cpp
|
| +++ b/third_party/WebKit/Source/core/fetch/ResourceFetcherTest.cpp
|
| @@ -144,6 +144,60 @@ TEST_F(ResourceFetcherTest, Vary) {
|
| memoryCache()->remove(resource);
|
| }
|
|
|
| +TEST_F(ResourceFetcherTest, MainResourceTimingInfo) {
|
| + KURL url(ParsedURLString, "http://127.0.0.1:8000/foo.html");
|
| + ResourceResponse response;
|
| + response.setURL(url);
|
| + response.setHTTPStatusCode(200);
|
| + long long encodedDataLength = 123;
|
| + response.setEncodedDataLength(encodedDataLength);
|
| +
|
| + ResourceFetcher* fetcher = ResourceFetcher::create(
|
| + MockFetchContext::create(MockFetchContext::kShouldLoadNewResource));
|
| + ResourceRequest resourceRequest(url);
|
| + resourceRequest.setFrameType(WebURLRequest::FrameTypeNested);
|
| + resourceRequest.setRequestContext(WebURLRequest::RequestContextForm);
|
| + FetchRequest fetchRequest =
|
| + FetchRequest(resourceRequest, FetchInitiatorInfo());
|
| + Platform::current()->getURLLoaderMockFactory()->registerURL(
|
| + url, WebURLResponse(), "");
|
| + Resource* resource =
|
| + RawResource::fetchMainResource(fetchRequest, fetcher, SubstituteData());
|
| + resource->responseReceived(response, nullptr);
|
| + EXPECT_EQ(resource->getType(), Resource::MainResource);
|
| + ResourceTimingInfo* mainResourceTimingInfo =
|
| + fetcher->getMainResourceTimingInfo();
|
| + ASSERT_TRUE(mainResourceTimingInfo);
|
| + fetcher->didFinishLoading(resource, 0, ResourceFetcher::DidFinishLoading);
|
| + EXPECT_EQ(mainResourceTimingInfo->transferSize(), encodedDataLength);
|
| +
|
| + // When an iframe is loaded.
|
| + Resource* iframeResource =
|
| + RawResource::create(ResourceRequest(), Resource::MainResource);
|
| + iframeResource->setIdentifier(resource->identifier() + 1);
|
| + ResourceResponse iframeResponse;
|
| + long long iframeEncodedDataLength = 123;
|
| + iframeResponse.setEncodedDataLength(iframeEncodedDataLength);
|
| + iframeResource->responseReceived(iframeResponse, nullptr);
|
| + fetcher->didFinishLoading(iframeResource, 0,
|
| + ResourceFetcher::DidFinishLoading);
|
| + EXPECT_EQ(mainResourceTimingInfo->transferSize(), encodedDataLength);
|
| +
|
| + // When there are redirects.
|
| + KURL redirectURL(ParsedURLString, "http://127.0.0.1:8000/redirect.html");
|
| + ResourceResponse redirectResponse;
|
| + redirectResponse.setURL(redirectURL);
|
| + redirectResponse.setHTTPStatusCode(200);
|
| + long long redirectEncodedDataLength = 123;
|
| + redirectResponse.setEncodedDataLength(redirectEncodedDataLength);
|
| + ResourceRequest redirectResourceRequest(url);
|
| + fetcher->willFollowRedirect(resource, redirectResourceRequest,
|
| + redirectResponse);
|
| + EXPECT_EQ(mainResourceTimingInfo->transferSize(),
|
| + encodedDataLength + redirectEncodedDataLength);
|
| + Platform::current()->getURLLoaderMockFactory()->unregisterURL(url);
|
| +}
|
| +
|
| TEST_F(ResourceFetcherTest, VaryOnBack) {
|
| MockFetchContext* context =
|
| MockFetchContext::create(MockFetchContext::kShouldLoadNewResource);
|
|
|