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

Side by Side Diff: third_party/WebKit/Source/core/fetch/Resource.h

Issue 1997833002: Don't keep a separate m_revalidatingRequest on Resource (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 4 years, 6 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) 1998 Lars Knoll (knoll@mpi-hd.mpg.de) 2 Copyright (C) 1998 Lars Knoll (knoll@mpi-hd.mpg.de)
3 Copyright (C) 2001 Dirk Mueller <mueller@kde.org> 3 Copyright (C) 2001 Dirk Mueller <mueller@kde.org>
4 Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com) 4 Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com)
5 Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserved. 5 Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserved.
6 6
7 This library is free software; you can redistribute it and/or 7 This library is free software; you can redistribute it and/or
8 modify it under the terms of the GNU Library General Public 8 modify it under the terms of the GNU Library General Public
9 License as published by the Free Software Foundation; either 9 License as published by the Free Software Foundation; either
10 version 2 of the License, or (at your option) any later version. 10 version 2 of the License, or (at your option) any later version.
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 void setDataBufferingPolicy(DataBufferingPolicy); 205 void setDataBufferingPolicy(DataBufferingPolicy);
206 206
207 bool isUnusedPreload() const { return isPreloaded() && getPreloadResult() == PreloadNotReferenced; } 207 bool isUnusedPreload() const { return isPreloaded() && getPreloadResult() == PreloadNotReferenced; }
208 bool isPreloaded() const { return m_preloadCount; } 208 bool isPreloaded() const { return m_preloadCount; }
209 void increasePreloadCount() { ++m_preloadCount; } 209 void increasePreloadCount() { ++m_preloadCount; }
210 void decreasePreloadCount() { ASSERT(m_preloadCount); --m_preloadCount; } 210 void decreasePreloadCount() { ASSERT(m_preloadCount); --m_preloadCount; }
211 211
212 bool canReuseRedirectChain(); 212 bool canReuseRedirectChain();
213 bool mustRevalidateDueToCacheHeaders(); 213 bool mustRevalidateDueToCacheHeaders();
214 bool canUseCacheValidator(); 214 bool canUseCacheValidator();
215 bool isCacheValidator() const { return !m_revalidatingRequest.isNull(); } 215 bool isCacheValidator() const { return m_isRevalidating; }
216 bool hasCacheControlNoStoreHeader() const; 216 bool hasCacheControlNoStoreHeader() const;
217 bool hasVaryHeader() const; 217 bool hasVaryHeader() const;
218 virtual bool mustRefetchDueToIntegrityMetadata(const FetchRequest& request) const { return false; } 218 virtual bool mustRefetchDueToIntegrityMetadata(const FetchRequest& request) const { return false; }
219 219
220 double currentAge() const; 220 double currentAge() const;
221 double freshnessLifetime(); 221 double freshnessLifetime();
222 double stalenessLifetime(); 222 double stalenessLifetime();
223 223
224 bool isPurgeable() const; 224 bool isPurgeable() const;
225 bool lock(); 225 bool lock();
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
284 284
285 virtual bool isSafeToUnlock() const { return false; } 285 virtual bool isSafeToUnlock() const { return false; }
286 virtual void destroyDecodedDataIfPossible() { } 286 virtual void destroyDecodedDataIfPossible() { }
287 287
288 virtual void markClientsAndObserversFinished(); 288 virtual void markClientsAndObserversFinished();
289 289
290 // Returns the memory dump name used for tracing. See Resource::onMemoryDump . 290 // Returns the memory dump name used for tracing. See Resource::onMemoryDump .
291 String getMemoryDumpName() const; 291 String getMemoryDumpName() const;
292 292
293 ResourceRequest m_resourceRequest; 293 ResourceRequest m_resourceRequest;
294 ResourceRequest m_revalidatingRequest;
295 Member<ResourceLoader> m_loader; 294 Member<ResourceLoader> m_loader;
296 ResourceLoaderOptions m_options; 295 ResourceLoaderOptions m_options;
297 296
298 ResourceResponse m_response; 297 ResourceResponse m_response;
299 double m_responseTimestamp; 298 double m_responseTimestamp;
300 299
301 RefPtr<SharedBuffer> m_data; 300 RefPtr<SharedBuffer> m_data;
302 Timer<Resource> m_cancelTimer; 301 Timer<Resource> m_cancelTimer;
303 302
304 private: 303 private:
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
338 double m_preloadDiscoveryTime; 337 double m_preloadDiscoveryTime;
339 338
340 String m_cacheIdentifier; 339 String m_cacheIdentifier;
341 340
342 unsigned m_preloadResult : 2; // PreloadResult 341 unsigned m_preloadResult : 2; // PreloadResult
343 unsigned m_type : 4; // Type 342 unsigned m_type : 4; // Type
344 unsigned m_status : 3; // Status 343 unsigned m_status : 3; // Status
345 344
346 unsigned m_needsSynchronousCacheHit : 1; 345 unsigned m_needsSynchronousCacheHit : 1;
347 unsigned m_linkPreload : 1; 346 unsigned m_linkPreload : 1;
347 bool m_isRevalidating : 1;
348 348
349 // Ordered list of all redirects followed while fetching this resource. 349 // Ordered list of all redirects followed while fetching this resource.
350 Vector<RedirectPair> m_redirectChain; 350 Vector<RedirectPair> m_redirectChain;
351 }; 351 };
352 352
353 class ResourceFactory { 353 class ResourceFactory {
354 STACK_ALLOCATED(); 354 STACK_ALLOCATED();
355 public: 355 public:
356 virtual Resource* create(const ResourceRequest&, const ResourceLoaderOptions &, const String&) const = 0; 356 virtual Resource* create(const ResourceRequest&, const ResourceLoaderOptions &, const String&) const = 0;
357 Resource::Type type() const { return m_type; } 357 Resource::Type type() const { return m_type; }
358 358
359 protected: 359 protected:
360 ResourceFactory(Resource::Type type) : m_type(type) { } 360 ResourceFactory(Resource::Type type) : m_type(type) { }
361 361
362 Resource::Type m_type; 362 Resource::Type m_type;
363 }; 363 };
364 364
365 #define DEFINE_RESOURCE_TYPE_CASTS(typeName) \ 365 #define DEFINE_RESOURCE_TYPE_CASTS(typeName) \
366 DEFINE_TYPE_CASTS(typeName##Resource, Resource, resource, resource->getType( ) == Resource::typeName, resource.getType() == Resource::typeName); 366 DEFINE_TYPE_CASTS(typeName##Resource, Resource, resource, resource->getType( ) == Resource::typeName, resource.getType() == Resource::typeName);
367 367
368 } // namespace blink 368 } // namespace blink
369 369
370 #endif 370 #endif
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/fetch/ImageResource.cpp ('k') | third_party/WebKit/Source/core/fetch/Resource.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698