| 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..83c82de1d4eec1aab50d9f39bd349bbef0b704be 100644
|
| --- a/third_party/WebKit/Source/core/fetch/ResourceFetcherTest.cpp
|
| +++ b/third_party/WebKit/Source/core/fetch/ResourceFetcherTest.cpp
|
| @@ -144,6 +144,47 @@ TEST_F(ResourceFetcherTest, Vary) {
|
| memoryCache()->remove(resource);
|
| }
|
|
|
| +TEST_F(ResourceFetcherTest, NavigationTimingInfo) {
|
| + KURL url(ParsedURLString, "http://127.0.0.1:8000/foo.html");
|
| + ResourceResponse response;
|
| + response.setURL(url);
|
| + response.setHTTPStatusCode(200);
|
| +
|
| + 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* navigationTimingInfo = fetcher->getNavigationTimingInfo();
|
| + ASSERT_TRUE(navigationTimingInfo);
|
| + long long encodedDataLength = 123;
|
| + resource->loader()->didFinishLoading(0.0, encodedDataLength, 0);
|
| + EXPECT_EQ(navigationTimingInfo->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(navigationTimingInfo->transferSize(),
|
| + encodedDataLength + redirectEncodedDataLength);
|
| + Platform::current()->getURLLoaderMockFactory()->unregisterURL(url);
|
| +}
|
| +
|
| TEST_F(ResourceFetcherTest, VaryOnBack) {
|
| MockFetchContext* context =
|
| MockFetchContext::create(MockFetchContext::kShouldLoadNewResource);
|
|
|