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 |