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

Side by Side Diff: third_party/WebKit/Source/core/fetch/RawResource.cpp

Issue 2199713002: Refactoring: Make member variables in Resource private (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 4 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) 2011 Google Inc. All Rights Reserved. 2 * Copyright (C) 2011 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 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
191 191
192 void RawResource::reportResourceTimingToClients(const ResourceTimingInfo& info) 192 void RawResource::reportResourceTimingToClients(const ResourceTimingInfo& info)
193 { 193 {
194 ResourceClientWalker<RawResourceClient> w(clients()); 194 ResourceClientWalker<RawResourceClient> w(clients());
195 while (RawResourceClient* c = w.next()) 195 while (RawResourceClient* c = w.next())
196 c->didReceiveResourceTiming(this, info); 196 c->didReceiveResourceTiming(this, info);
197 } 197 }
198 198
199 void RawResource::setDefersLoading(bool defers) 199 void RawResource::setDefersLoading(bool defers)
200 { 200 {
201 if (m_loader) 201 if (loader())
202 m_loader->setDefersLoading(defers); 202 loader()->setDefersLoading(defers);
203 } 203 }
204 204
205 static bool shouldIgnoreHeaderForCacheReuse(AtomicString headerName) 205 static bool shouldIgnoreHeaderForCacheReuse(AtomicString headerName)
206 { 206 {
207 // FIXME: This list of headers that don't affect cache policy almost certain ly isn't complete. 207 // FIXME: This list of headers that don't affect cache policy almost certain ly isn't complete.
208 DEFINE_STATIC_LOCAL(HashSet<AtomicString>, headers, ({ 208 DEFINE_STATIC_LOCAL(HashSet<AtomicString>, headers, ({
209 "Cache-Control", 209 "Cache-Control",
210 "If-Modified-Since", 210 "If-Modified-Since",
211 "If-None-Match", 211 "If-None-Match",
212 "Origin", 212 "Origin",
(...skipping 11 matching lines...) Expand all
224 // Per http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html#sec13.10, 224 // Per http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html#sec13.10,
225 // these methods always invalidate the cache entry. 225 // these methods always invalidate the cache entry.
226 return method != "POST" && method != "PUT" && method != "DELETE"; 226 return method != "POST" && method != "PUT" && method != "DELETE";
227 } 227 }
228 228
229 bool RawResource::canReuse(const ResourceRequest& newRequest) const 229 bool RawResource::canReuse(const ResourceRequest& newRequest) const
230 { 230 {
231 if (dataBufferingPolicy() == DoNotBufferData) 231 if (dataBufferingPolicy() == DoNotBufferData)
232 return false; 232 return false;
233 233
234 if (!isCacheableHTTPMethod(m_resourceRequest.httpMethod())) 234 if (!isCacheableHTTPMethod(resourceRequest().httpMethod()))
235 return false; 235 return false;
236 if (m_resourceRequest.httpMethod() != newRequest.httpMethod()) 236 if (resourceRequest().httpMethod() != newRequest.httpMethod())
237 return false; 237 return false;
238 238
239 if (m_resourceRequest.httpBody() != newRequest.httpBody()) 239 if (resourceRequest().httpBody() != newRequest.httpBody())
240 return false; 240 return false;
241 241
242 if (m_resourceRequest.allowStoredCredentials() != newRequest.allowStoredCred entials()) 242 if (resourceRequest().allowStoredCredentials() != newRequest.allowStoredCred entials())
243 return false; 243 return false;
244 244
245 // Ensure most headers match the existing headers before continuing. 245 // Ensure most headers match the existing headers before continuing.
246 // Note that the list of ignored headers includes some headers explicitly re lated to caching. 246 // Note that the list of ignored headers includes some headers explicitly re lated to caching.
247 // A more detailed check of caching policy will be performed later, this is simply a list of 247 // A more detailed check of caching policy will be performed later, this is simply a list of
248 // headers that we might permit to be different and still reuse the existing Resource. 248 // headers that we might permit to be different and still reuse the existing Resource.
249 const HTTPHeaderMap& newHeaders = newRequest.httpHeaderFields(); 249 const HTTPHeaderMap& newHeaders = newRequest.httpHeaderFields();
250 const HTTPHeaderMap& oldHeaders = m_resourceRequest.httpHeaderFields(); 250 const HTTPHeaderMap& oldHeaders = resourceRequest().httpHeaderFields();
251 251
252 for (const auto& header : newHeaders) { 252 for (const auto& header : newHeaders) {
253 AtomicString headerName = header.key; 253 AtomicString headerName = header.key;
254 if (!shouldIgnoreHeaderForCacheReuse(headerName) && header.value != oldH eaders.get(headerName)) 254 if (!shouldIgnoreHeaderForCacheReuse(headerName) && header.value != oldH eaders.get(headerName))
255 return false; 255 return false;
256 } 256 }
257 257
258 for (const auto& header : oldHeaders) { 258 for (const auto& header : oldHeaders) {
259 AtomicString headerName = header.key; 259 AtomicString headerName = header.key;
260 if (!shouldIgnoreHeaderForCacheReuse(headerName) && header.value != newH eaders.get(headerName)) 260 if (!shouldIgnoreHeaderForCacheReuse(headerName) && header.value != newH eaders.get(headerName))
261 return false; 261 return false;
262 } 262 }
263 263
264 return true; 264 return true;
265 } 265 }
266 266
267 } // namespace blink 267 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/fetch/ImageResource.cpp ('k') | third_party/WebKit/Source/core/fetch/Resource.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698