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

Side by Side Diff: third_party/WebKit/Source/core/fetch/MemoryCache.h

Issue 2252743002: Revert of Add MemoryCoordinatorClient (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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
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 Apple Inc. All rights reserved. 4 Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
5 5
6 This library is free software; you can redistribute it and/or 6 This library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Library General Public 7 modify it under the terms of the GNU Library General Public
8 License as published by the Free Software Foundation; either 8 License as published by the Free Software Foundation; either
9 version 2 of the License, or (at your option) any later version. 9 version 2 of the License, or (at your option) any later version.
10 10
(...skipping 10 matching lines...) Expand all
21 This class provides all functionality needed for loading images, style sheet s and html 21 This class provides all functionality needed for loading images, style sheet s and html
22 pages from the web. It has a memory cache for these objects. 22 pages from the web. It has a memory cache for these objects.
23 */ 23 */
24 24
25 #ifndef MemoryCache_h 25 #ifndef MemoryCache_h
26 #define MemoryCache_h 26 #define MemoryCache_h
27 27
28 #include "core/CoreExport.h" 28 #include "core/CoreExport.h"
29 #include "core/fetch/Resource.h" 29 #include "core/fetch/Resource.h"
30 #include "platform/MemoryCacheDumpProvider.h" 30 #include "platform/MemoryCacheDumpProvider.h"
31 #include "platform/MemoryCoordinator.h"
32 #include "public/platform/WebThread.h" 31 #include "public/platform/WebThread.h"
33 #include "wtf/Allocator.h" 32 #include "wtf/Allocator.h"
34 #include "wtf/HashMap.h" 33 #include "wtf/HashMap.h"
35 #include "wtf/Noncopyable.h" 34 #include "wtf/Noncopyable.h"
36 #include "wtf/Vector.h" 35 #include "wtf/Vector.h"
37 #include "wtf/text/StringHash.h" 36 #include "wtf/text/StringHash.h"
38 #include "wtf/text/WTFString.h" 37 #include "wtf/text/WTFString.h"
39 38
40 namespace blink { 39 namespace blink {
41 40
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 MemoryCacheLRUList() : m_head(nullptr), m_tail(nullptr) { } 115 MemoryCacheLRUList() : m_head(nullptr), m_tail(nullptr) { }
117 DECLARE_TRACE(); 116 DECLARE_TRACE();
118 }; 117 };
119 118
120 } // namespace blink 119 } // namespace blink
121 120
122 WTF_ALLOW_MOVE_INIT_AND_COMPARE_WITH_MEM_FUNCTIONS(blink::MemoryCacheLRUList); 121 WTF_ALLOW_MOVE_INIT_AND_COMPARE_WITH_MEM_FUNCTIONS(blink::MemoryCacheLRUList);
123 122
124 namespace blink { 123 namespace blink {
125 124
126 class CORE_EXPORT MemoryCache final : public GarbageCollectedFinalized<MemoryCac he>, public WebThread::TaskObserver, public MemoryCacheDumpClient, public Memory CoordinatorClient { 125 class CORE_EXPORT MemoryCache final : public GarbageCollectedFinalized<MemoryCac he>, public WebThread::TaskObserver, public MemoryCacheDumpClient {
127 USING_GARBAGE_COLLECTED_MIXIN(MemoryCache); 126 USING_GARBAGE_COLLECTED_MIXIN(MemoryCache);
128 WTF_MAKE_NONCOPYABLE(MemoryCache); 127 WTF_MAKE_NONCOPYABLE(MemoryCache);
129 public: 128 public:
130 static MemoryCache* create(); 129 static MemoryCache* create();
131 ~MemoryCache(); 130 ~MemoryCache();
132 DECLARE_TRACE(); 131 DECLARE_TRACE();
133 132
134 struct TypeStatistic { 133 struct TypeStatistic {
135 STACK_ALLOCATED(); 134 STACK_ALLOCATED();
136 size_t count; 135 size_t count;
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
214 void willProcessTask() override; 213 void willProcessTask() override;
215 void didProcessTask() override; 214 void didProcessTask() override;
216 215
217 void pruneAll(); 216 void pruneAll();
218 217
219 void updateFramePaintTimestamp(); 218 void updateFramePaintTimestamp();
220 219
221 // Take memory usage snapshot for tracing. 220 // Take memory usage snapshot for tracing.
222 bool onMemoryDump(WebMemoryDumpLevelOfDetail, WebProcessMemoryDump*) overrid e; 221 bool onMemoryDump(WebMemoryDumpLevelOfDetail, WebProcessMemoryDump*) overrid e;
223 222
224 void onMemoryPressure(WebMemoryPressureLevel) override;
225
226 bool isInSameLRUListForTest(const Resource*, const Resource*); 223 bool isInSameLRUListForTest(const Resource*, const Resource*);
227 private: 224 private:
228 enum PruneStrategy { 225 enum PruneStrategy {
229 // Automatically decide how much to prune. 226 // Automatically decide how much to prune.
230 AutomaticPrune, 227 AutomaticPrune,
231 // Maximally prune resources. 228 // Maximally prune resources.
232 MaximalPrune 229 MaximalPrune
233 }; 230 };
234 231
235 MemoryCache(); 232 MemoryCache();
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
307 // Returns the global cache. 304 // Returns the global cache.
308 CORE_EXPORT MemoryCache* memoryCache(); 305 CORE_EXPORT MemoryCache* memoryCache();
309 306
310 // Sets the global cache, used to swap in a test instance. Returns the old 307 // Sets the global cache, used to swap in a test instance. Returns the old
311 // MemoryCache object. 308 // MemoryCache object.
312 CORE_EXPORT MemoryCache* replaceMemoryCacheForTesting(MemoryCache*); 309 CORE_EXPORT MemoryCache* replaceMemoryCacheForTesting(MemoryCache*);
313 310
314 } // namespace blink 311 } // namespace blink
315 312
316 #endif 313 #endif
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/dom/MemoryCoordinator.cpp ('k') | third_party/WebKit/Source/core/fetch/MemoryCache.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698