OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2007, 2008, 2011 Apple Inc. All rights reserved. | 2 * Copyright (C) 2007, 2008, 2011 Apple Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
(...skipping 23 matching lines...) Expand all Loading... |
34 #include "wtf/Forward.h" | 34 #include "wtf/Forward.h" |
35 #include "wtf/HashMap.h" | 35 #include "wtf/HashMap.h" |
36 #include "wtf/HashSet.h" | 36 #include "wtf/HashSet.h" |
37 | 37 |
38 namespace blink { | 38 namespace blink { |
39 | 39 |
40 class CSSFontSelectorClient; | 40 class CSSFontSelectorClient; |
41 class Document; | 41 class Document; |
42 class FontDescription; | 42 class FontDescription; |
43 | 43 |
44 class CSSFontSelector : public FontSelector { | 44 class CSSFontSelector final : public FontSelector { |
45 public: | 45 public: |
46 static PassRefPtrWillBeRawPtr<CSSFontSelector> create(Document* document) | 46 static PassRefPtrWillBeRawPtr<CSSFontSelector> create(Document* document) |
47 { | 47 { |
48 return adoptRefWillBeNoop(new CSSFontSelector(document)); | 48 return adoptRefWillBeNoop(new CSSFontSelector(document)); |
49 } | 49 } |
50 virtual ~CSSFontSelector(); | 50 virtual ~CSSFontSelector(); |
51 | 51 |
52 virtual unsigned version() const override { return m_fontFaceCache.version()
; } | 52 virtual unsigned version() const override { return m_fontFaceCache.version()
; } |
53 | 53 |
54 virtual PassRefPtr<FontData> getFontData(const FontDescription&, const Atomi
cString&) override; | 54 virtual PassRefPtr<FontData> getFontData(const FontDescription&, const Atomi
cString&) override; |
(...skipping 16 matching lines...) Expand all Loading... |
71 | 71 |
72 Document* document() const { return m_document; } | 72 Document* document() const { return m_document; } |
73 FontFaceCache* fontFaceCache() { return &m_fontFaceCache; } | 73 FontFaceCache* fontFaceCache() { return &m_fontFaceCache; } |
74 FontLoader* fontLoader() { return m_fontLoader.get(); } | 74 FontLoader* fontLoader() { return m_fontLoader.get(); } |
75 | 75 |
76 const GenericFontFamilySettings& genericFontFamilySettings() const { return
m_genericFontFamilySettings; } | 76 const GenericFontFamilySettings& genericFontFamilySettings() const { return
m_genericFontFamilySettings; } |
77 void updateGenericFontFamilySettings(Document&); | 77 void updateGenericFontFamilySettings(Document&); |
78 | 78 |
79 virtual void trace(Visitor*) override; | 79 virtual void trace(Visitor*) override; |
80 | 80 |
81 protected: | 81 private: |
82 explicit CSSFontSelector(Document*); | 82 explicit CSSFontSelector(Document*); |
83 | 83 |
84 private: | |
85 | |
86 void dispatchInvalidationCallbacks(); | 84 void dispatchInvalidationCallbacks(); |
87 | 85 |
88 // FIXME: Oilpan: Ideally this should just be a traced Member but that will | 86 // FIXME: Oilpan: Ideally this should just be a traced Member but that will |
89 // currently leak because RenderStyle and its data are not on the heap. | 87 // currently leak because RenderStyle and its data are not on the heap. |
90 // See crbug.com/383860 for details. | 88 // See crbug.com/383860 for details. |
91 RawPtrWillBeWeakMember<Document> m_document; | 89 RawPtrWillBeWeakMember<Document> m_document; |
92 // FIXME: Move to Document or StyleEngine. | 90 // FIXME: Move to Document or StyleEngine. |
93 FontFaceCache m_fontFaceCache; | 91 FontFaceCache m_fontFaceCache; |
94 WillBeHeapHashSet<RawPtrWillBeWeakMember<CSSFontSelectorClient> > m_clients; | 92 WillBeHeapHashSet<RawPtrWillBeWeakMember<CSSFontSelectorClient> > m_clients; |
95 | 93 |
96 RefPtrWillBeMember<FontLoader> m_fontLoader; | 94 RefPtrWillBeMember<FontLoader> m_fontLoader; |
97 GenericFontFamilySettings m_genericFontFamilySettings; | 95 GenericFontFamilySettings m_genericFontFamilySettings; |
98 }; | 96 }; |
99 | 97 |
100 } // namespace blink | 98 } // namespace blink |
101 | 99 |
102 #endif // CSSFontSelector_h | 100 #endif // CSSFontSelector_h |
OLD | NEW |