| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2013, Google Inc. All rights reserved. | 2 * Copyright (c) 2013, Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 141 Platform::Current()->GetURLLoaderMockFactory()->ServeAsynchronousRequests(); | 141 Platform::Current()->GetURLLoaderMockFactory()->ServeAsynchronousRequests(); |
| 142 EXPECT_TRUE(resource->IsLoaded()); | 142 EXPECT_TRUE(resource->IsLoaded()); |
| 143 EXPECT_TRUE(GetMemoryCache()->Contains(resource)); | 143 EXPECT_TRUE(GetMemoryCache()->Contains(resource)); |
| 144 | 144 |
| 145 Resource* new_resource = MockResource::Fetch(fetch_params, fetcher); | 145 Resource* new_resource = MockResource::Fetch(fetch_params, fetcher); |
| 146 EXPECT_EQ(resource, new_resource); | 146 EXPECT_EQ(resource, new_resource); |
| 147 } | 147 } |
| 148 | 148 |
| 149 TEST_F(ResourceFetcherTest, Vary) { | 149 TEST_F(ResourceFetcherTest, Vary) { |
| 150 KURL url(kParsedURLString, "http://127.0.0.1:8000/foo.html"); | 150 KURL url(kParsedURLString, "http://127.0.0.1:8000/foo.html"); |
| 151 Resource* resource = | 151 Resource* resource = MockResource::Create(ResourceRequest(url)); |
| 152 RawResource::Create(ResourceRequest(url), Resource::kRaw); | |
| 153 GetMemoryCache()->Add(resource); | 152 GetMemoryCache()->Add(resource); |
| 154 ResourceResponse response; | 153 ResourceResponse response; |
| 155 response.SetURL(url); | 154 response.SetURL(url); |
| 156 response.SetHTTPStatusCode(200); | 155 response.SetHTTPStatusCode(200); |
| 157 response.SetHTTPHeaderField(HTTPNames::Cache_Control, "max-age=3600"); | 156 response.SetHTTPHeaderField(HTTPNames::Cache_Control, "max-age=3600"); |
| 158 response.SetHTTPHeaderField(HTTPNames::Vary, "*"); | 157 response.SetHTTPHeaderField(HTTPNames::Vary, "*"); |
| 159 resource->ResponseReceived(response, nullptr); | 158 resource->ResponseReceived(response, nullptr); |
| 160 resource->Finish(); | 159 resource->Finish(); |
| 161 ASSERT_TRUE(resource->MustReloadDueToVaryHeader(ResourceRequest(url))); | 160 ASSERT_TRUE(resource->MustReloadDueToVaryHeader(ResourceRequest(url))); |
| 162 | 161 |
| 163 ResourceFetcher* fetcher = ResourceFetcher::Create(Context()); | 162 ResourceFetcher* fetcher = ResourceFetcher::Create(Context()); |
| 164 ResourceRequest resource_request(url); | 163 ResourceRequest resource_request(url); |
| 165 resource_request.SetRequestContext(WebURLRequest::kRequestContextInternal); | 164 resource_request.SetRequestContext(WebURLRequest::kRequestContextInternal); |
| 166 FetchParameters fetch_params = | 165 FetchParameters fetch_params = |
| 167 FetchParameters(resource_request, FetchInitiatorInfo()); | 166 FetchParameters(resource_request, FetchInitiatorInfo()); |
| 168 Platform::Current()->GetURLLoaderMockFactory()->RegisterURL( | 167 Platform::Current()->GetURLLoaderMockFactory()->RegisterURL( |
| 169 url, WebURLResponse(), ""); | 168 url, WebURLResponse(), ""); |
| 170 Resource* new_resource = RawResource::Fetch(fetch_params, fetcher); | 169 Resource* new_resource = MockResource::Fetch(fetch_params, fetcher); |
| 171 EXPECT_NE(resource, new_resource); | 170 EXPECT_NE(resource, new_resource); |
| 172 new_resource->Loader()->Cancel(); | 171 new_resource->Loader()->Cancel(); |
| 173 } | 172 } |
| 174 | 173 |
| 175 TEST_F(ResourceFetcherTest, NavigationTimingInfo) { | 174 TEST_F(ResourceFetcherTest, NavigationTimingInfo) { |
| 176 KURL url(kParsedURLString, "http://127.0.0.1:8000/foo.html"); | 175 KURL url(kParsedURLString, "http://127.0.0.1:8000/foo.html"); |
| 177 ResourceResponse response; | 176 ResourceResponse response; |
| 178 response.SetURL(url); | 177 response.SetURL(url); |
| 179 response.SetHTTPStatusCode(200); | 178 response.SetHTTPStatusCode(200); |
| 180 | 179 |
| (...skipping 27 matching lines...) Expand all Loading... |
| 208 ResourceRequest redirect_resource_request(url); | 207 ResourceRequest redirect_resource_request(url); |
| 209 fetcher->RecordResourceTimingOnRedirect(resource, redirect_response, false); | 208 fetcher->RecordResourceTimingOnRedirect(resource, redirect_response, false); |
| 210 EXPECT_EQ(navigation_timing_info->TransferSize(), | 209 EXPECT_EQ(navigation_timing_info->TransferSize(), |
| 211 encoded_data_length + redirect_encoded_data_length); | 210 encoded_data_length + redirect_encoded_data_length); |
| 212 } | 211 } |
| 213 | 212 |
| 214 TEST_F(ResourceFetcherTest, VaryOnBack) { | 213 TEST_F(ResourceFetcherTest, VaryOnBack) { |
| 215 ResourceFetcher* fetcher = ResourceFetcher::Create(Context()); | 214 ResourceFetcher* fetcher = ResourceFetcher::Create(Context()); |
| 216 | 215 |
| 217 KURL url(kParsedURLString, "http://127.0.0.1:8000/foo.html"); | 216 KURL url(kParsedURLString, "http://127.0.0.1:8000/foo.html"); |
| 218 Resource* resource = | 217 Resource* resource = MockResource::Create(ResourceRequest(url)); |
| 219 RawResource::Create(ResourceRequest(url), Resource::kRaw); | |
| 220 GetMemoryCache()->Add(resource); | 218 GetMemoryCache()->Add(resource); |
| 221 ResourceResponse response; | 219 ResourceResponse response; |
| 222 response.SetURL(url); | 220 response.SetURL(url); |
| 223 response.SetHTTPStatusCode(200); | 221 response.SetHTTPStatusCode(200); |
| 224 response.SetHTTPHeaderField(HTTPNames::Cache_Control, "max-age=3600"); | 222 response.SetHTTPHeaderField(HTTPNames::Cache_Control, "max-age=3600"); |
| 225 response.SetHTTPHeaderField(HTTPNames::Vary, "*"); | 223 response.SetHTTPHeaderField(HTTPNames::Vary, "*"); |
| 226 resource->ResponseReceived(response, nullptr); | 224 resource->ResponseReceived(response, nullptr); |
| 227 resource->Finish(); | 225 resource->Finish(); |
| 228 ASSERT_TRUE(resource->MustReloadDueToVaryHeader(ResourceRequest(url))); | 226 ASSERT_TRUE(resource->MustReloadDueToVaryHeader(ResourceRequest(url))); |
| 229 | 227 |
| 230 ResourceRequest resource_request(url); | 228 ResourceRequest resource_request(url); |
| 231 resource_request.SetCachePolicy(WebCachePolicy::kReturnCacheDataElseLoad); | 229 resource_request.SetCachePolicy(WebCachePolicy::kReturnCacheDataElseLoad); |
| 232 resource_request.SetRequestContext(WebURLRequest::kRequestContextInternal); | 230 resource_request.SetRequestContext(WebURLRequest::kRequestContextInternal); |
| 233 FetchParameters fetch_params = | 231 FetchParameters fetch_params = |
| 234 FetchParameters(resource_request, FetchInitiatorInfo()); | 232 FetchParameters(resource_request, FetchInitiatorInfo()); |
| 235 Resource* new_resource = RawResource::Fetch(fetch_params, fetcher); | 233 Resource* new_resource = MockResource::Fetch(fetch_params, fetcher); |
| 236 EXPECT_EQ(resource, new_resource); | 234 EXPECT_EQ(resource, new_resource); |
| 237 } | 235 } |
| 238 | 236 |
| 239 TEST_F(ResourceFetcherTest, VaryResource) { | 237 TEST_F(ResourceFetcherTest, VaryResource) { |
| 240 ResourceFetcher* fetcher = ResourceFetcher::Create(Context()); | 238 ResourceFetcher* fetcher = ResourceFetcher::Create(Context()); |
| 241 | 239 |
| 242 KURL url(kParsedURLString, "http://127.0.0.1:8000/foo.html"); | 240 KURL url(kParsedURLString, "http://127.0.0.1:8000/foo.html"); |
| 243 ResourceResponse response; | 241 ResourceResponse response; |
| 244 response.SetURL(url); | 242 response.SetURL(url); |
| 245 response.SetHTTPStatusCode(200); | 243 response.SetHTTPStatusCode(200); |
| (...skipping 447 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 693 // preload matching | 691 // preload matching |
| 694 Resource* resource3 = MockResource::Fetch(fetch_params_for_request, fetcher); | 692 Resource* resource3 = MockResource::Fetch(fetch_params_for_request, fetcher); |
| 695 EXPECT_EQ(resource1, resource3); | 693 EXPECT_EQ(resource1, resource3); |
| 696 EXPECT_FALSE(fetcher->ContainsAsPreload(resource1)); | 694 EXPECT_FALSE(fetcher->ContainsAsPreload(resource1)); |
| 697 EXPECT_FALSE(resource1->IsPreloaded()); | 695 EXPECT_FALSE(resource1->IsPreloaded()); |
| 698 EXPECT_FALSE(resource1->IsLinkPreload()); | 696 EXPECT_FALSE(resource1->IsLinkPreload()); |
| 699 } | 697 } |
| 700 | 698 |
| 701 TEST_F(ResourceFetcherTest, Revalidate304) { | 699 TEST_F(ResourceFetcherTest, Revalidate304) { |
| 702 KURL url(kParsedURLString, "http://127.0.0.1:8000/foo.html"); | 700 KURL url(kParsedURLString, "http://127.0.0.1:8000/foo.html"); |
| 703 Resource* resource = | 701 Resource* resource = MockResource::Create(ResourceRequest(url)); |
| 704 RawResource::Create(ResourceRequest(url), Resource::kRaw); | |
| 705 GetMemoryCache()->Add(resource); | |
| 706 ResourceResponse response; | 702 ResourceResponse response; |
| 707 response.SetURL(url); | 703 response.SetURL(url); |
| 708 response.SetHTTPStatusCode(304); | 704 response.SetHTTPStatusCode(304); |
| 709 response.SetHTTPHeaderField("etag", "1234567890"); | 705 response.SetHTTPHeaderField("etag", "1234567890"); |
| 710 resource->ResponseReceived(response, nullptr); | 706 resource->ResponseReceived(response, nullptr); |
| 711 resource->Finish(); | 707 resource->Finish(); |
| 712 | 708 |
| 713 ResourceFetcher* fetcher = ResourceFetcher::Create(Context()); | 709 ResourceFetcher* fetcher = ResourceFetcher::Create(Context()); |
| 714 ResourceRequest resource_request(url); | 710 ResourceRequest resource_request(url); |
| 715 resource_request.SetRequestContext(WebURLRequest::kRequestContextInternal); | 711 resource_request.SetRequestContext(WebURLRequest::kRequestContextInternal); |
| 716 FetchParameters fetch_params = | 712 FetchParameters fetch_params = |
| 717 FetchParameters(resource_request, FetchInitiatorInfo()); | 713 FetchParameters(resource_request, FetchInitiatorInfo()); |
| 718 Platform::Current()->GetURLLoaderMockFactory()->RegisterURL( | 714 Platform::Current()->GetURLLoaderMockFactory()->RegisterURL( |
| 719 url, WebURLResponse(), ""); | 715 url, WebURLResponse(), ""); |
| 720 Resource* new_resource = RawResource::Fetch(fetch_params, fetcher); | 716 Resource* new_resource = MockResource::Fetch(fetch_params, fetcher); |
| 721 fetcher->StopFetching(); | 717 fetcher->StopFetching(); |
| 722 | 718 |
| 723 EXPECT_NE(resource, new_resource); | 719 EXPECT_NE(resource, new_resource); |
| 724 } | 720 } |
| 725 | 721 |
| 726 TEST_F(ResourceFetcherTest, LinkPreloadResourceMultipleFetchersAndMove) { | 722 TEST_F(ResourceFetcherTest, LinkPreloadResourceMultipleFetchersAndMove) { |
| 727 ResourceFetcher* fetcher = ResourceFetcher::Create(Context()); | 723 ResourceFetcher* fetcher = ResourceFetcher::Create(Context()); |
| 728 ResourceFetcher* fetcher2 = ResourceFetcher::Create(Context()); | 724 ResourceFetcher* fetcher2 = ResourceFetcher::Create(Context()); |
| 729 | 725 |
| 730 KURL url(kParsedURLString, "http://127.0.0.1:8000/foo.png"); | 726 KURL url(kParsedURLString, "http://127.0.0.1:8000/foo.png"); |
| (...skipping 23 matching lines...) Expand all Loading... |
| 754 FetchParameters fetch_params = FetchParameters( | 750 FetchParameters fetch_params = FetchParameters( |
| 755 ResourceRequest("data:text/testmimetype,foo"), FetchInitiatorInfo()); | 751 ResourceRequest("data:text/testmimetype,foo"), FetchInitiatorInfo()); |
| 756 Resource* resource = MockResource::Fetch(fetch_params, fetcher); | 752 Resource* resource = MockResource::Fetch(fetch_params, fetcher); |
| 757 ASSERT_TRUE(resource); | 753 ASSERT_TRUE(resource); |
| 758 EXPECT_EQ(ResourceStatus::kCached, resource->GetStatus()); | 754 EXPECT_EQ(ResourceStatus::kCached, resource->GetStatus()); |
| 759 EXPECT_EQ("text/testmimetype", resource->GetResponse().MimeType()); | 755 EXPECT_EQ("text/testmimetype", resource->GetResponse().MimeType()); |
| 760 EXPECT_EQ("text/testmimetype", resource->GetResponse().HttpContentType()); | 756 EXPECT_EQ("text/testmimetype", resource->GetResponse().HttpContentType()); |
| 761 } | 757 } |
| 762 | 758 |
| 763 } // namespace blink | 759 } // namespace blink |
| OLD | NEW |