Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(426)

Side by Side Diff: third_party/WebKit/Source/platform/loader/fetch/ResourceFetcherTest.cpp

Issue 2681233002: Actually handle the Vary header in blink, rather than punting on sight. (Closed)
Patch Set: Remove whitespace handling and case sensitivity cases Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
147 KURL url(ParsedURLString, "http://127.0.0.1:8000/foo.html"); 147 KURL url(ParsedURLString, "http://127.0.0.1:8000/foo.html");
148 Resource* resource = RawResource::create(url, Resource::Raw); 148 Resource* resource = RawResource::create(url, Resource::Raw);
149 memoryCache()->add(resource); 149 memoryCache()->add(resource);
150 ResourceResponse response; 150 ResourceResponse response;
151 response.setURL(url); 151 response.setURL(url);
152 response.setHTTPStatusCode(200); 152 response.setHTTPStatusCode(200);
153 response.setHTTPHeaderField(HTTPNames::Cache_Control, "max-age=3600"); 153 response.setHTTPHeaderField(HTTPNames::Cache_Control, "max-age=3600");
154 response.setHTTPHeaderField(HTTPNames::Vary, "*"); 154 response.setHTTPHeaderField(HTTPNames::Vary, "*");
155 resource->responseReceived(response, nullptr); 155 resource->responseReceived(response, nullptr);
156 resource->finish(); 156 resource->finish();
157 ASSERT_TRUE(resource->hasVaryHeader()); 157 ASSERT_TRUE(resource->mustReloadDueToVaryHeader(url));
158 158
159 ResourceFetcher* fetcher = ResourceFetcher::create(context()); 159 ResourceFetcher* fetcher = ResourceFetcher::create(context());
160 ResourceRequest resourceRequest(url); 160 ResourceRequest resourceRequest(url);
161 resourceRequest.setRequestContext(WebURLRequest::RequestContextInternal); 161 resourceRequest.setRequestContext(WebURLRequest::RequestContextInternal);
162 FetchRequest fetchRequest = 162 FetchRequest fetchRequest =
163 FetchRequest(resourceRequest, FetchInitiatorInfo()); 163 FetchRequest(resourceRequest, FetchInitiatorInfo());
164 Platform::current()->getURLLoaderMockFactory()->registerURL( 164 Platform::current()->getURLLoaderMockFactory()->registerURL(
165 url, WebURLResponse(), ""); 165 url, WebURLResponse(), "");
166 Resource* newResource = RawResource::fetch(fetchRequest, fetcher); 166 Resource* newResource = RawResource::fetch(fetchRequest, fetcher);
167 EXPECT_NE(resource, newResource); 167 EXPECT_NE(resource, newResource);
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
213 KURL url(ParsedURLString, "http://127.0.0.1:8000/foo.html"); 213 KURL url(ParsedURLString, "http://127.0.0.1:8000/foo.html");
214 Resource* resource = RawResource::create(url, Resource::Raw); 214 Resource* resource = RawResource::create(url, Resource::Raw);
215 memoryCache()->add(resource); 215 memoryCache()->add(resource);
216 ResourceResponse response; 216 ResourceResponse response;
217 response.setURL(url); 217 response.setURL(url);
218 response.setHTTPStatusCode(200); 218 response.setHTTPStatusCode(200);
219 response.setHTTPHeaderField(HTTPNames::Cache_Control, "max-age=3600"); 219 response.setHTTPHeaderField(HTTPNames::Cache_Control, "max-age=3600");
220 response.setHTTPHeaderField(HTTPNames::Vary, "*"); 220 response.setHTTPHeaderField(HTTPNames::Vary, "*");
221 resource->responseReceived(response, nullptr); 221 resource->responseReceived(response, nullptr);
222 resource->finish(); 222 resource->finish();
223 ASSERT_TRUE(resource->hasVaryHeader()); 223 ASSERT_TRUE(resource->mustReloadDueToVaryHeader(url));
224 224
225 ResourceRequest resourceRequest(url); 225 ResourceRequest resourceRequest(url);
226 resourceRequest.setRequestContext(WebURLRequest::RequestContextInternal); 226 resourceRequest.setRequestContext(WebURLRequest::RequestContextInternal);
227 FetchRequest fetchRequest = 227 FetchRequest fetchRequest =
228 FetchRequest(resourceRequest, FetchInitiatorInfo()); 228 FetchRequest(resourceRequest, FetchInitiatorInfo());
229 Resource* newResource = RawResource::fetch(fetchRequest, fetcher); 229 Resource* newResource = RawResource::fetch(fetchRequest, fetcher);
230 EXPECT_EQ(resource, newResource); 230 EXPECT_EQ(resource, newResource);
231 } 231 }
232 232
233 TEST_F(ResourceFetcherTest, VaryResource) { 233 TEST_F(ResourceFetcherTest, VaryResource) {
234 ResourceFetcher* fetcher = ResourceFetcher::create(context()); 234 ResourceFetcher* fetcher = ResourceFetcher::create(context());
235 235
236 KURL url(ParsedURLString, "http://127.0.0.1:8000/foo.html"); 236 KURL url(ParsedURLString, "http://127.0.0.1:8000/foo.html");
237 ResourceResponse response; 237 ResourceResponse response;
238 response.setURL(url); 238 response.setURL(url);
239 response.setHTTPStatusCode(200); 239 response.setHTTPStatusCode(200);
240 response.setHTTPHeaderField(HTTPNames::Cache_Control, "max-age=3600"); 240 response.setHTTPHeaderField(HTTPNames::Cache_Control, "max-age=3600");
241 response.setHTTPHeaderField(HTTPNames::Vary, "*"); 241 response.setHTTPHeaderField(HTTPNames::Vary, "*");
242 registerMockedURLLoadWithCustomResponse(url, response); 242 registerMockedURLLoadWithCustomResponse(url, response);
243 243
244 FetchRequest fetchRequestOriginal = FetchRequest(url, FetchInitiatorInfo()); 244 FetchRequest fetchRequestOriginal = FetchRequest(url, FetchInitiatorInfo());
245 Resource* resource = MockResource::fetch(fetchRequestOriginal, fetcher); 245 Resource* resource = MockResource::fetch(fetchRequestOriginal, fetcher);
246 ASSERT_TRUE(resource); 246 ASSERT_TRUE(resource);
247 Platform::current()->getURLLoaderMockFactory()->serveAsynchronousRequests(); 247 Platform::current()->getURLLoaderMockFactory()->serveAsynchronousRequests();
248 ASSERT_TRUE(resource->hasVaryHeader()); 248 ASSERT_TRUE(resource->mustReloadDueToVaryHeader(url));
249 249
250 FetchRequest fetchRequest = FetchRequest(url, FetchInitiatorInfo()); 250 FetchRequest fetchRequest = FetchRequest(url, FetchInitiatorInfo());
251 Resource* newResource = MockResource::fetch(fetchRequest, fetcher); 251 Resource* newResource = MockResource::fetch(fetchRequest, fetcher);
252 EXPECT_EQ(resource, newResource); 252 EXPECT_EQ(resource, newResource);
253 } 253 }
254 254
255 class RequestSameResourceOnComplete 255 class RequestSameResourceOnComplete
256 : public GarbageCollectedFinalized<RequestSameResourceOnComplete>, 256 : public GarbageCollectedFinalized<RequestSameResourceOnComplete>,
257 public RawResourceClient { 257 public RawResourceClient {
258 USING_GARBAGE_COLLECTED_MIXIN(RequestSameResourceOnComplete); 258 USING_GARBAGE_COLLECTED_MIXIN(RequestSameResourceOnComplete);
(...skipping 393 matching lines...) Expand 10 before | Expand all | Expand 10 after
652 // Resource created by parser on the second fetcher 652 // Resource created by parser on the second fetcher
653 FetchRequest fetchRequest2 = FetchRequest(url, FetchInitiatorInfo()); 653 FetchRequest fetchRequest2 = FetchRequest(url, FetchInitiatorInfo());
654 Resource* newResource2 = MockResource::fetch(fetchRequest2, fetcher2); 654 Resource* newResource2 = MockResource::fetch(fetchRequest2, fetcher2);
655 Persistent<MockResourceClient> client2 = new MockResourceClient(newResource2); 655 Persistent<MockResourceClient> client2 = new MockResourceClient(newResource2);
656 EXPECT_EQ(resource, newResource2); 656 EXPECT_EQ(resource, newResource2);
657 EXPECT_FALSE(fetcher2->isFetching()); 657 EXPECT_FALSE(fetcher2->isFetching());
658 Platform::current()->getURLLoaderMockFactory()->serveAsynchronousRequests(); 658 Platform::current()->getURLLoaderMockFactory()->serveAsynchronousRequests();
659 } 659 }
660 660
661 } // namespace blink 661 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698