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

Side by Side Diff: sky/engine/core/fetch/ResourceFetcher.h

Issue 710383002: Remove preload support from the MemoryCache (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years, 1 month 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) 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 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 bool shouldDeferImageLoad(const KURL&) const; 94 bool shouldDeferImageLoad(const KURL&) const;
95 95
96 LocalFrame* frame() const; // Can be null 96 LocalFrame* frame() const; // Can be null
97 FetchContext& context() const; 97 FetchContext& context() const;
98 Document* document() const { return m_document; } // Can be null 98 Document* document() const { return m_document; } // Can be null
99 99
100 void garbageCollectDocumentResources(); 100 void garbageCollectDocumentResources();
101 101
102 int requestCount() const { return m_requestCount; } 102 int requestCount() const { return m_requestCount; }
103 103
104 bool isPreloaded(const String& urlString) const;
105 void clearPreloads();
106 void preload(Resource::Type, FetchRequest&, const String& charset);
107 void printPreloadStats();
108
109 void stopFetching(); 104 void stopFetching();
110 bool isFetching() const; 105 bool isFetching() const;
111 106
112 // ResourceLoaderHost 107 // ResourceLoaderHost
113 virtual void incrementRequestCount(const Resource*) override; 108 virtual void incrementRequestCount(const Resource*) override;
114 virtual void decrementRequestCount(const Resource*) override; 109 virtual void decrementRequestCount(const Resource*) override;
115 virtual void didLoadResource(Resource*) override; 110 virtual void didLoadResource(Resource*) override;
116 virtual void didFinishLoading(const Resource*, double finishTime, int64_t en codedDataLength) override; 111 virtual void didFinishLoading(const Resource*, double finishTime, int64_t en codedDataLength) override;
117 virtual void didChangeLoadingPriority(const Resource*, ResourceLoadPriority, int intraPriorityValue) override; 112 virtual void didChangeLoadingPriority(const Resource*, ResourceLoadPriority, int intraPriorityValue) override;
118 virtual void didFailLoading(const Resource*, const ResourceError&) override; 113 virtual void didFailLoading(const Resource*, const ResourceError&) override;
(...skipping 20 matching lines...) Expand all
139 static const ResourceLoaderOptions& defaultResourceOptions(); 134 static const ResourceLoaderOptions& defaultResourceOptions();
140 private: 135 private:
141 136
142 explicit ResourceFetcher(Document*); 137 explicit ResourceFetcher(Document*);
143 138
144 bool shouldLoadNewResource(Resource::Type) const; 139 bool shouldLoadNewResource(Resource::Type) const;
145 140
146 ResourcePtr<Resource> requestResource(Resource::Type, FetchRequest&); 141 ResourcePtr<Resource> requestResource(Resource::Type, FetchRequest&);
147 ResourcePtr<Resource> createResourceForRevalidation(const FetchRequest&, Res ource*); 142 ResourcePtr<Resource> createResourceForRevalidation(const FetchRequest&, Res ource*);
148 ResourcePtr<Resource> createResourceForLoading(Resource::Type, FetchRequest& , const String& charset); 143 ResourcePtr<Resource> createResourceForLoading(Resource::Type, FetchRequest& , const String& charset);
149 void requestPreload(Resource::Type, FetchRequest&, const String& charset);
150 144
151 enum RevalidationPolicy { Use, Revalidate, Reload, Load }; 145 enum RevalidationPolicy { Use, Revalidate, Reload, Load };
152 RevalidationPolicy determineRevalidationPolicy(Resource::Type, const FetchRe quest&, Resource* existingResource) const; 146 RevalidationPolicy determineRevalidationPolicy(Resource::Type, const FetchRe quest&, Resource* existingResource) const;
153 147
154 void determineRequestContext(ResourceRequest&, Resource::Type); 148 void determineRequestContext(ResourceRequest&, Resource::Type);
155 ResourceRequestCachePolicy resourceRequestCachePolicy(const ResourceRequest& , Resource::Type); 149 ResourceRequestCachePolicy resourceRequestCachePolicy(const ResourceRequest& , Resource::Type);
156 void addAdditionalRequestHeaders(ResourceRequest&, Resource::Type); 150 void addAdditionalRequestHeaders(ResourceRequest&, Resource::Type);
157 151
158 bool canRequest(Resource::Type, const KURL&, const ResourceLoaderOptions&, b ool forPreload, FetchRequest::OriginRestriction) const; 152 bool canRequest(Resource::Type, const KURL&, const ResourceLoaderOptions&, F etchRequest::OriginRestriction) const;
159 153
160 static bool resourceNeedsLoad(Resource*, const FetchRequest&, RevalidationPo licy); 154 static bool resourceNeedsLoad(Resource*, const FetchRequest&, RevalidationPo licy);
161 155
162 void notifyLoadedFromMemoryCache(Resource*); 156 void notifyLoadedFromMemoryCache(Resource*);
163 157
164 void garbageCollectDocumentResourcesTimerFired(Timer<ResourceFetcher>*); 158 void garbageCollectDocumentResourcesTimerFired(Timer<ResourceFetcher>*);
165 void scheduleDocumentResourcesGC(); 159 void scheduleDocumentResourcesGC();
166 160
167 bool clientDefersImage(const KURL&) const; 161 bool clientDefersImage(const KURL&) const;
168 void reloadImagesIfNotDeferred(); 162 void reloadImagesIfNotDeferred();
169 163
170 HashSet<String> m_validatedURLs; 164 HashSet<String> m_validatedURLs;
171 mutable DocumentResourceMap m_documentResources; 165 mutable DocumentResourceMap m_documentResources;
172 Document* m_document; 166 Document* m_document;
173 167
174 int m_requestCount; 168 int m_requestCount;
175 169
176 OwnPtr<ListHashSet<Resource*> > m_preloads;
177
178 Timer<ResourceFetcher> m_garbageCollectDocumentResourcesTimer; 170 Timer<ResourceFetcher> m_garbageCollectDocumentResourcesTimer;
179 171
180 OwnPtr<ResourceLoaderSet> m_loaders; 172 OwnPtr<ResourceLoaderSet> m_loaders;
181 OwnPtr<ResourceLoaderSet> m_multipartLoaders; 173 OwnPtr<ResourceLoaderSet> m_multipartLoaders;
182 174
183 // Used in hit rate histograms. 175 // Used in hit rate histograms.
184 class DeadResourceStatsRecorder { 176 class DeadResourceStatsRecorder {
185 public: 177 public:
186 DeadResourceStatsRecorder(); 178 DeadResourceStatsRecorder();
187 ~DeadResourceStatsRecorder(); 179 ~DeadResourceStatsRecorder();
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
220 m_loader->m_allowStaleResources = m_previousState; 212 m_loader->m_allowStaleResources = m_previousState;
221 } 213 }
222 private: 214 private:
223 ResourceFetcher* m_loader; 215 ResourceFetcher* m_loader;
224 bool m_previousState; 216 bool m_previousState;
225 }; 217 };
226 218
227 } // namespace blink 219 } // namespace blink
228 220
229 #endif 221 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698