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

Side by Side Diff: Source/core/fetch/ResourceFetcher.h

Issue 414423003: Oilpan: Prepare to move ResourceLoader and ResourceLoaderSet to Oilpan heap. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: FINAL Created 6 years, 4 months 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 | Annotate | Revision Log
« no previous file with comments | « Source/core/fetch/Resource.cpp ('k') | Source/core/fetch/ResourceFetcher.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 HashSet<String> m_validatedURLs; 205 HashSet<String> m_validatedURLs;
206 mutable DocumentResourceMap m_documentResources; 206 mutable DocumentResourceMap m_documentResources;
207 // FIXME: Oilpan: Ideally this should just be a traced Member but that will 207 // FIXME: Oilpan: Ideally this should just be a traced Member but that will
208 // currently leak because RenderStyle and its data are not on the heap. 208 // currently leak because RenderStyle and its data are not on the heap.
209 // See crbug.com/383860 for details. 209 // See crbug.com/383860 for details.
210 RawPtrWillBeWeakMember<Document> m_document; 210 RawPtrWillBeWeakMember<Document> m_document;
211 DocumentLoader* m_documentLoader; 211 DocumentLoader* m_documentLoader;
212 212
213 int m_requestCount; 213 int m_requestCount;
214 214
215 OwnPtr<ListHashSet<Resource*> > m_preloads; 215 OwnPtr<ListHashSet<Resource*> > m_preloads;
haraken 2014/07/29 10:30:17 Consider using HeapListHashSet in a follow-up. (Ac
216 216
217 Timer<ResourceFetcher> m_garbageCollectDocumentResourcesTimer; 217 Timer<ResourceFetcher> m_garbageCollectDocumentResourcesTimer;
218 Timer<ResourceFetcher> m_resourceTimingReportTimer; 218 Timer<ResourceFetcher> m_resourceTimingReportTimer;
219 219
220 typedef HashMap<Resource*, RefPtr<ResourceTimingInfo> > ResourceTimingInfoMa p; 220 typedef HashMap<Resource*, RefPtr<ResourceTimingInfo> > ResourceTimingInfoMa p;
haraken 2014/07/29 10:30:17 Consider using HeapHashMap in a follow-up.
221 ResourceTimingInfoMap m_resourceTimingInfoMap; 221 ResourceTimingInfoMap m_resourceTimingInfoMap;
222 222
223 HashMap<RefPtr<ResourceTimingInfo>, bool> m_scheduledResourceTimingReports; 223 HashMap<RefPtr<ResourceTimingInfo>, bool> m_scheduledResourceTimingReports;
224 224
225 OwnPtr<ResourceLoaderSet> m_loaders; 225 OwnPtrWillBeMember<ResourceLoaderSet> m_loaders;
226 OwnPtr<ResourceLoaderSet> m_multipartLoaders; 226 OwnPtrWillBeMember<ResourceLoaderSet> m_multipartLoaders;
227 227
228 // Used in hit rate histograms. 228 // Used in hit rate histograms.
229 class DeadResourceStatsRecorder { 229 class DeadResourceStatsRecorder {
230 public: 230 public:
231 DeadResourceStatsRecorder(); 231 DeadResourceStatsRecorder();
232 ~DeadResourceStatsRecorder(); 232 ~DeadResourceStatsRecorder();
233 233
234 void update(RevalidationPolicy); 234 void update(RevalidationPolicy);
235 235
236 private: 236 private:
237 int m_useCount; 237 int m_useCount;
238 int m_revalidateCount; 238 int m_revalidateCount;
239 int m_loadCount; 239 int m_loadCount;
240 }; 240 };
241 DeadResourceStatsRecorder m_deadStatsRecorder; 241 DeadResourceStatsRecorder m_deadStatsRecorder;
242 242
243 // 29 bits left 243 // 29 bits left
244 bool m_autoLoadImages : 1; 244 bool m_autoLoadImages : 1;
245 bool m_imagesEnabled : 1; 245 bool m_imagesEnabled : 1;
246 bool m_allowStaleResources : 1; 246 bool m_allowStaleResources : 1;
247 }; 247 };
248 248
249 class ResourceCacheValidationSuppressor { 249 class ResourceCacheValidationSuppressor {
haraken 2014/07/29 10:30:17 Consider moving this to the heap in a follow-up.
250 WTF_MAKE_NONCOPYABLE(ResourceCacheValidationSuppressor); 250 WTF_MAKE_NONCOPYABLE(ResourceCacheValidationSuppressor);
251 WTF_MAKE_FAST_ALLOCATED; 251 WTF_MAKE_FAST_ALLOCATED;
252 public: 252 public:
253 ResourceCacheValidationSuppressor(ResourceFetcher* loader) 253 ResourceCacheValidationSuppressor(ResourceFetcher* loader)
254 : m_loader(loader) 254 : m_loader(loader)
255 , m_previousState(false) 255 , m_previousState(false)
256 { 256 {
257 if (m_loader) { 257 if (m_loader) {
258 m_previousState = m_loader->m_allowStaleResources; 258 m_previousState = m_loader->m_allowStaleResources;
259 m_loader->m_allowStaleResources = true; 259 m_loader->m_allowStaleResources = true;
260 } 260 }
261 } 261 }
262 ~ResourceCacheValidationSuppressor() 262 ~ResourceCacheValidationSuppressor()
263 { 263 {
264 if (m_loader) 264 if (m_loader)
265 m_loader->m_allowStaleResources = m_previousState; 265 m_loader->m_allowStaleResources = m_previousState;
266 } 266 }
267 private: 267 private:
268 ResourceFetcher* m_loader; 268 ResourceFetcher* m_loader;
269 bool m_previousState; 269 bool m_previousState;
270 }; 270 };
271 271
272 } // namespace blink 272 } // namespace blink
273 273
274 #endif 274 #endif
OLDNEW
« no previous file with comments | « Source/core/fetch/Resource.cpp ('k') | Source/core/fetch/ResourceFetcher.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698