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 |