OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |