Chromium Code Reviews| 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 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 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 |
| OLD | NEW |