| 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) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All
rights reserved. | 4 Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All
rights reserved. |
| 5 Copyright (C) 2009 Torch Mobile Inc. http://www.torchmobile.com/ | 5 Copyright (C) 2009 Torch Mobile Inc. http://www.torchmobile.com/ |
| 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 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 60 class ResourceLoaderSet; | 60 class ResourceLoaderSet; |
| 61 | 61 |
| 62 // The ResourceFetcher provides a per-context interface to the MemoryCache | 62 // The ResourceFetcher provides a per-context interface to the MemoryCache |
| 63 // and enforces a bunch of security checks and rules for resource revalidation. | 63 // and enforces a bunch of security checks and rules for resource revalidation. |
| 64 // Its lifetime is roughly per-DocumentLoader, in that it is generally created | 64 // Its lifetime is roughly per-DocumentLoader, in that it is generally created |
| 65 // in the DocumentLoader constructor and loses its ability to generate network | 65 // in the DocumentLoader constructor and loses its ability to generate network |
| 66 // requests when the DocumentLoader is destroyed. Documents also hold a | 66 // requests when the DocumentLoader is destroyed. Documents also hold a |
| 67 // RefPtr<ResourceFetcher> for their lifetime (and will create one if they | 67 // RefPtr<ResourceFetcher> for their lifetime (and will create one if they |
| 68 // are initialized without a LocalFrame), so a Document can keep a ResourceFetch
er | 68 // are initialized without a LocalFrame), so a Document can keep a ResourceFetch
er |
| 69 // alive past detach if scripts still reference the Document. | 69 // alive past detach if scripts still reference the Document. |
| 70 class ResourceFetcher FINAL : public RefCountedWillBeGarbageCollectedFinalized<R
esourceFetcher>, public ResourceLoaderHost { | 70 class ResourceFetcher final : public RefCountedWillBeGarbageCollectedFinalized<R
esourceFetcher>, public ResourceLoaderHost { |
| 71 WTF_MAKE_NONCOPYABLE(ResourceFetcher); WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOV
ED; | 71 WTF_MAKE_NONCOPYABLE(ResourceFetcher); WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOV
ED; |
| 72 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(ResourceFetcher); | 72 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(ResourceFetcher); |
| 73 friend class ImageLoader; | 73 friend class ImageLoader; |
| 74 friend class ResourceCacheValidationSuppressor; | 74 friend class ResourceCacheValidationSuppressor; |
| 75 | 75 |
| 76 public: | 76 public: |
| 77 static PassRefPtrWillBeRawPtr<ResourceFetcher> create(DocumentLoader* docume
ntLoader) { return adoptRefWillBeNoop(new ResourceFetcher(documentLoader)); } | 77 static PassRefPtrWillBeRawPtr<ResourceFetcher> create(DocumentLoader* docume
ntLoader) { return adoptRefWillBeNoop(new ResourceFetcher(documentLoader)); } |
| 78 virtual ~ResourceFetcher(); | 78 virtual ~ResourceFetcher(); |
| 79 virtual void trace(Visitor*); | 79 virtual void trace(Visitor*); |
| 80 | 80 |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 127 bool isPreloaded(const String& urlString) const; | 127 bool isPreloaded(const String& urlString) const; |
| 128 void clearPreloads(); | 128 void clearPreloads(); |
| 129 void preload(Resource::Type, FetchRequest&, const String& charset); | 129 void preload(Resource::Type, FetchRequest&, const String& charset); |
| 130 void printPreloadStats(); | 130 void printPreloadStats(); |
| 131 | 131 |
| 132 void setDefersLoading(bool); | 132 void setDefersLoading(bool); |
| 133 void stopFetching(); | 133 void stopFetching(); |
| 134 bool isFetching() const; | 134 bool isFetching() const; |
| 135 | 135 |
| 136 // ResourceLoaderHost | 136 // ResourceLoaderHost |
| 137 virtual void incrementRequestCount(const Resource*) OVERRIDE; | 137 virtual void incrementRequestCount(const Resource*) override; |
| 138 virtual void decrementRequestCount(const Resource*) OVERRIDE; | 138 virtual void decrementRequestCount(const Resource*) override; |
| 139 virtual void didLoadResource(Resource*) OVERRIDE; | 139 virtual void didLoadResource(Resource*) override; |
| 140 virtual void redirectReceived(Resource*, const ResourceResponse&) OVERRIDE; | 140 virtual void redirectReceived(Resource*, const ResourceResponse&) override; |
| 141 virtual void didFinishLoading(const Resource*, double finishTime, int64_t en
codedDataLength) OVERRIDE; | 141 virtual void didFinishLoading(const Resource*, double finishTime, int64_t en
codedDataLength) override; |
| 142 virtual void didChangeLoadingPriority(const Resource*, ResourceLoadPriority,
int intraPriorityValue) OVERRIDE; | 142 virtual void didChangeLoadingPriority(const Resource*, ResourceLoadPriority,
int intraPriorityValue) override; |
| 143 virtual void didFailLoading(const Resource*, const ResourceError&) OVERRIDE; | 143 virtual void didFailLoading(const Resource*, const ResourceError&) override; |
| 144 virtual void willSendRequest(unsigned long identifier, ResourceRequest&, con
st ResourceResponse& redirectResponse, const FetchInitiatorInfo&) OVERRIDE; | 144 virtual void willSendRequest(unsigned long identifier, ResourceRequest&, con
st ResourceResponse& redirectResponse, const FetchInitiatorInfo&) override; |
| 145 virtual void didReceiveResponse(const Resource*, const ResourceResponse&) OV
ERRIDE; | 145 virtual void didReceiveResponse(const Resource*, const ResourceResponse&) ov
erride; |
| 146 virtual void didReceiveData(const Resource*, const char* data, int dataLengt
h, int encodedDataLength) OVERRIDE; | 146 virtual void didReceiveData(const Resource*, const char* data, int dataLengt
h, int encodedDataLength) override; |
| 147 virtual void didDownloadData(const Resource*, int dataLength, int encodedDat
aLength) OVERRIDE; | 147 virtual void didDownloadData(const Resource*, int dataLength, int encodedDat
aLength) override; |
| 148 virtual void subresourceLoaderFinishedLoadingOnePart(ResourceLoader*) OVERRI
DE; | 148 virtual void subresourceLoaderFinishedLoadingOnePart(ResourceLoader*) overri
de; |
| 149 virtual void didInitializeResourceLoader(ResourceLoader*) OVERRIDE; | 149 virtual void didInitializeResourceLoader(ResourceLoader*) override; |
| 150 virtual void willTerminateResourceLoader(ResourceLoader*) OVERRIDE; | 150 virtual void willTerminateResourceLoader(ResourceLoader*) override; |
| 151 virtual void willStartLoadingResource(Resource*, ResourceRequest&) OVERRIDE; | 151 virtual void willStartLoadingResource(Resource*, ResourceRequest&) override; |
| 152 virtual bool defersLoading() const OVERRIDE; | 152 virtual bool defersLoading() const override; |
| 153 virtual bool isLoadedBy(ResourceLoaderHost*) const OVERRIDE; | 153 virtual bool isLoadedBy(ResourceLoaderHost*) const override; |
| 154 virtual bool canAccessRedirect(Resource*, ResourceRequest&, const ResourceRe
sponse&, ResourceLoaderOptions&) OVERRIDE; | 154 virtual bool canAccessRedirect(Resource*, ResourceRequest&, const ResourceRe
sponse&, ResourceLoaderOptions&) override; |
| 155 virtual bool canAccessResource(Resource*, SecurityOrigin*, const KURL&) cons
t OVERRIDE; | 155 virtual bool canAccessResource(Resource*, SecurityOrigin*, const KURL&) cons
t override; |
| 156 | 156 |
| 157 #if !ENABLE(OILPAN) | 157 #if !ENABLE(OILPAN) |
| 158 virtual void refResourceLoaderHost() OVERRIDE; | 158 virtual void refResourceLoaderHost() override; |
| 159 virtual void derefResourceLoaderHost() OVERRIDE; | 159 virtual void derefResourceLoaderHost() override; |
| 160 #endif | 160 #endif |
| 161 | 161 |
| 162 enum ResourceLoadStartType { | 162 enum ResourceLoadStartType { |
| 163 ResourceLoadingFromNetwork, | 163 ResourceLoadingFromNetwork, |
| 164 ResourceLoadingFromCache | 164 ResourceLoadingFromCache |
| 165 }; | 165 }; |
| 166 void maybeNotifyInsecureContent(const Resource*) const; | 166 void maybeNotifyInsecureContent(const Resource*) const; |
| 167 void requestLoadStarted(Resource*, const FetchRequest&, ResourceLoadStartTyp
e); | 167 void requestLoadStarted(Resource*, const FetchRequest&, ResourceLoadStartTyp
e); |
| 168 static const ResourceLoaderOptions& defaultResourceOptions(); | 168 static const ResourceLoaderOptions& defaultResourceOptions(); |
| 169 private: | 169 private: |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 264 m_loader->m_allowStaleResources = m_previousState; | 264 m_loader->m_allowStaleResources = m_previousState; |
| 265 } | 265 } |
| 266 private: | 266 private: |
| 267 ResourceFetcher* m_loader; | 267 ResourceFetcher* m_loader; |
| 268 bool m_previousState; | 268 bool m_previousState; |
| 269 }; | 269 }; |
| 270 | 270 |
| 271 } // namespace blink | 271 } // namespace blink |
| 272 | 272 |
| 273 #endif | 273 #endif |
| OLD | NEW |