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 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
158 | 158 |
159 #if !ENABLE(OILPAN) | 159 #if !ENABLE(OILPAN) |
160 virtual void refResourceLoaderHost() OVERRIDE; | 160 virtual void refResourceLoaderHost() OVERRIDE; |
161 virtual void derefResourceLoaderHost() OVERRIDE; | 161 virtual void derefResourceLoaderHost() OVERRIDE; |
162 #endif | 162 #endif |
163 | 163 |
164 enum ResourceLoadStartType { | 164 enum ResourceLoadStartType { |
165 ResourceLoadingFromNetwork, | 165 ResourceLoadingFromNetwork, |
166 ResourceLoadingFromCache | 166 ResourceLoadingFromCache |
167 }; | 167 }; |
| 168 void notifyLoadedFromMemoryCache(Resource*); |
168 void requestLoadStarted(Resource*, const FetchRequest&, ResourceLoadStartTyp
e); | 169 void requestLoadStarted(Resource*, const FetchRequest&, ResourceLoadStartTyp
e); |
169 static const ResourceLoaderOptions& defaultResourceOptions(); | 170 static const ResourceLoaderOptions& defaultResourceOptions(); |
170 private: | 171 private: |
171 | 172 |
172 explicit ResourceFetcher(DocumentLoader*); | 173 explicit ResourceFetcher(DocumentLoader*); |
173 | 174 |
174 bool shouldLoadNewResource(Resource::Type) const; | 175 bool shouldLoadNewResource(Resource::Type) const; |
175 | 176 |
176 ResourcePtr<Resource> requestResource(Resource::Type, FetchRequest&); | 177 ResourcePtr<Resource> requestResource(Resource::Type, FetchRequest&); |
177 ResourcePtr<Resource> revalidateResource(const FetchRequest&, Resource*); | 178 ResourcePtr<Resource> revalidateResource(const FetchRequest&, Resource*); |
178 ResourcePtr<Resource> loadResource(Resource::Type, FetchRequest&, const Stri
ng& charset); | 179 ResourcePtr<Resource> loadResource(Resource::Type, FetchRequest&, const Stri
ng& charset); |
179 void preCacheDataURIImage(const FetchRequest&); | 180 void preCacheDataURIImage(const FetchRequest&); |
180 void preCacheSubstituteDataForMainResource(const FetchRequest&, const Substi
tuteData&); | 181 void preCacheSubstituteDataForMainResource(const FetchRequest&, const Substi
tuteData&); |
181 void storeResourceTimingInitiatorInformation(Resource*); | 182 void storeResourceTimingInitiatorInformation(Resource*); |
182 void requestPreload(Resource::Type, FetchRequest&, const String& charset); | 183 void requestPreload(Resource::Type, FetchRequest&, const String& charset); |
183 | 184 |
184 enum RevalidationPolicy { Use, Revalidate, Reload, Load }; | 185 enum RevalidationPolicy { Use, Revalidate, Reload, Load }; |
185 RevalidationPolicy determineRevalidationPolicy(Resource::Type, ResourceReque
st&, bool forPreload, Resource* existingResource, FetchRequest::DeferOption, con
st ResourceLoaderOptions&) const; | 186 RevalidationPolicy determineRevalidationPolicy(Resource::Type, ResourceReque
st&, bool forPreload, Resource* existingResource, FetchRequest::DeferOption, con
st ResourceLoaderOptions&) const; |
186 | 187 |
187 void determineTargetType(ResourceRequest&, Resource::Type); | 188 void determineTargetType(ResourceRequest&, Resource::Type); |
188 ResourceRequestCachePolicy resourceRequestCachePolicy(const ResourceRequest&
, Resource::Type); | 189 ResourceRequestCachePolicy resourceRequestCachePolicy(const ResourceRequest&
, Resource::Type); |
189 void addAdditionalRequestHeaders(ResourceRequest&, Resource::Type); | 190 void addAdditionalRequestHeaders(ResourceRequest&, Resource::Type); |
190 | 191 |
191 bool canRequest(Resource::Type, const KURL&, const ResourceLoaderOptions&, b
ool forPreload, FetchRequest::OriginRestriction) const; | 192 bool canRequest(Resource::Type, const KURL&, const ResourceLoaderOptions&, b
ool forPreload, FetchRequest::OriginRestriction) const; |
192 bool checkInsecureContent(Resource::Type, const KURL&, MixedContentBlockingT
reatment) const; | 193 bool checkInsecureContent(Resource::Type, const KURL&, MixedContentBlockingT
reatment) const; |
193 | 194 |
194 static bool resourceNeedsLoad(Resource*, const FetchRequest&, RevalidationPo
licy); | 195 static bool resourceNeedsLoad(Resource*, const FetchRequest&, RevalidationPo
licy); |
195 | 196 |
196 void notifyLoadedFromMemoryCache(Resource*); | |
197 | |
198 void garbageCollectDocumentResourcesTimerFired(Timer<ResourceFetcher>*); | 197 void garbageCollectDocumentResourcesTimerFired(Timer<ResourceFetcher>*); |
199 void scheduleDocumentResourcesGC(); | 198 void scheduleDocumentResourcesGC(); |
200 | 199 |
201 void resourceTimingReportTimerFired(Timer<ResourceFetcher>*); | 200 void resourceTimingReportTimerFired(Timer<ResourceFetcher>*); |
202 | 201 |
203 bool clientDefersImage(const KURL&) const; | 202 bool clientDefersImage(const KURL&) const; |
204 void reloadImagesIfNotDeferred(); | 203 void reloadImagesIfNotDeferred(); |
205 | 204 |
206 HashSet<String> m_validatedURLs; | 205 HashSet<String> m_validatedURLs; |
207 mutable DocumentResourceMap m_documentResources; | 206 mutable DocumentResourceMap m_documentResources; |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
263 m_loader->m_allowStaleResources = m_previousState; | 262 m_loader->m_allowStaleResources = m_previousState; |
264 } | 263 } |
265 private: | 264 private: |
266 ResourceFetcher* m_loader; | 265 ResourceFetcher* m_loader; |
267 bool m_previousState; | 266 bool m_previousState; |
268 }; | 267 }; |
269 | 268 |
270 } // namespace WebCore | 269 } // namespace WebCore |
271 | 270 |
272 #endif | 271 #endif |
OLD | NEW |