OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "core/html/canvas/CanvasFontCache.h" | 5 #include "core/html/canvas/CanvasFontCache.h" |
6 | 6 |
7 #include "core/css/parser/CSSParser.h" | 7 #include "core/css/parser/CSSParser.h" |
8 #include "core/css/resolver/StyleResolver.h" | 8 #include "core/css/resolver/StyleResolver.h" |
9 #include "core/dom/Document.h" | 9 #include "core/dom/Document.h" |
10 #include "core/style/ComputedStyle.h" | 10 #include "core/style/ComputedStyle.h" |
11 #include "platform/fonts/FontCache.h" | 11 #include "platform/fonts/FontCache.h" |
12 #include "public/platform/Platform.h" | 12 #include "public/platform/Platform.h" |
13 #include "wtf/PtrUtil.h" | |
14 | 13 |
15 namespace { | 14 namespace { |
16 | 15 |
17 const unsigned CanvasFontCacheMaxFonts = 50; | 16 const unsigned CanvasFontCacheMaxFonts = 50; |
18 const unsigned CanvasFontCacheHardMaxFonts = 250; | 17 const unsigned CanvasFontCacheHardMaxFonts = 250; |
19 const unsigned CanvasFontCacheHiddenMaxFonts = 1; | 18 const unsigned CanvasFontCacheHiddenMaxFonts = 1; |
20 const int defaultFontSize = 10; | 19 const int defaultFontSize = 10; |
21 const char defaultFontFamily[] = "sans-serif"; | 20 const char defaultFontFamily[] = "sans-serif"; |
22 | 21 |
23 } | 22 } |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
128 m_mainCachePurgePreventer.reset(); | 127 m_mainCachePurgePreventer.reset(); |
129 Platform::current()->currentThread()->removeTaskObserver(this); | 128 Platform::current()->currentThread()->removeTaskObserver(this); |
130 m_pruningScheduled = false; | 129 m_pruningScheduled = false; |
131 } | 130 } |
132 | 131 |
133 void CanvasFontCache::schedulePruningIfNeeded() | 132 void CanvasFontCache::schedulePruningIfNeeded() |
134 { | 133 { |
135 if (m_pruningScheduled) | 134 if (m_pruningScheduled) |
136 return; | 135 return; |
137 ASSERT(!m_mainCachePurgePreventer); | 136 ASSERT(!m_mainCachePurgePreventer); |
138 m_mainCachePurgePreventer = wrapUnique(new FontCachePurgePreventer); | 137 m_mainCachePurgePreventer = adoptPtr(new FontCachePurgePreventer); |
139 Platform::current()->currentThread()->addTaskObserver(this); | 138 Platform::current()->currentThread()->addTaskObserver(this); |
140 m_pruningScheduled = true; | 139 m_pruningScheduled = true; |
141 } | 140 } |
142 | 141 |
143 bool CanvasFontCache::isInCache(const String& fontString) | 142 bool CanvasFontCache::isInCache(const String& fontString) |
144 { | 143 { |
145 return m_fetchedFonts.find(fontString) != m_fetchedFonts.end(); | 144 return m_fetchedFonts.find(fontString) != m_fetchedFonts.end(); |
146 } | 145 } |
147 | 146 |
148 void CanvasFontCache::pruneAll() | 147 void CanvasFontCache::pruneAll() |
149 { | 148 { |
150 m_fetchedFonts.clear(); | 149 m_fetchedFonts.clear(); |
151 m_fontLRUList.clear(); | 150 m_fontLRUList.clear(); |
152 m_fontsResolvedUsingDefaultStyle.clear(); | 151 m_fontsResolvedUsingDefaultStyle.clear(); |
153 } | 152 } |
154 | 153 |
155 DEFINE_TRACE(CanvasFontCache) | 154 DEFINE_TRACE(CanvasFontCache) |
156 { | 155 { |
157 visitor->trace(m_fetchedFonts); | 156 visitor->trace(m_fetchedFonts); |
158 visitor->trace(m_document); | 157 visitor->trace(m_document); |
159 } | 158 } |
160 | 159 |
161 } // namespace blink | 160 } // namespace blink |
OLD | NEW |