OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google 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 are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
42 #include "wtf/RefCounted.h" | 42 #include "wtf/RefCounted.h" |
43 #include "wtf/text/WTFString.h" | 43 #include "wtf/text/WTFString.h" |
44 | 44 |
45 namespace blink { | 45 namespace blink { |
46 | 46 |
47 class CSSFontFace; | 47 class CSSFontFace; |
48 class CSSValueList; | 48 class CSSValueList; |
49 class Dictionary; | 49 class Dictionary; |
50 class Document; | 50 class Document; |
51 class ExceptionState; | 51 class ExceptionState; |
| 52 class FontFaceDescriptors; |
52 class StylePropertySet; | 53 class StylePropertySet; |
53 class StyleRuleFontFace; | 54 class StyleRuleFontFace; |
54 | 55 |
55 class FontFace : public RefCountedWillBeGarbageCollectedFinalized<FontFace>, pub
lic ScriptWrappable { | 56 class FontFace : public RefCountedWillBeGarbageCollectedFinalized<FontFace>, pub
lic ScriptWrappable { |
56 DEFINE_WRAPPERTYPEINFO(); | 57 DEFINE_WRAPPERTYPEINFO(); |
57 public: | 58 public: |
58 enum LoadStatus { Unloaded, Loading, Loaded, Error }; | 59 enum LoadStatus { Unloaded, Loading, Loaded, Error }; |
59 | 60 |
60 static PassRefPtrWillBeRawPtr<FontFace> create(ExecutionContext*, const Atom
icString& family, PassRefPtr<ArrayBuffer> source, const Dictionary&); | 61 static PassRefPtrWillBeRawPtr<FontFace> create(ExecutionContext*, const Atom
icString& family, PassRefPtr<ArrayBuffer> source, const FontFaceDescriptors*); |
61 static PassRefPtrWillBeRawPtr<FontFace> create(ExecutionContext*, const Atom
icString& family, PassRefPtr<ArrayBufferView>, const Dictionary&); | 62 static PassRefPtrWillBeRawPtr<FontFace> create(ExecutionContext*, const Atom
icString& family, PassRefPtr<ArrayBufferView>, const FontFaceDescriptors*); |
62 static PassRefPtrWillBeRawPtr<FontFace> create(ExecutionContext*, const Atom
icString& family, const String& source, const Dictionary&); | 63 static PassRefPtrWillBeRawPtr<FontFace> create(ExecutionContext*, const Atom
icString& family, const String& source, const FontFaceDescriptors*); |
63 static PassRefPtrWillBeRawPtr<FontFace> create(Document*, const StyleRuleFon
tFace*); | 64 static PassRefPtrWillBeRawPtr<FontFace> create(Document*, const StyleRuleFon
tFace*); |
64 | 65 |
65 ~FontFace(); | 66 ~FontFace(); |
66 | 67 |
67 const AtomicString& family() const { return m_family; } | 68 const AtomicString& family() const { return m_family; } |
68 String style() const; | 69 String style() const; |
69 String weight() const; | 70 String weight() const; |
70 String stretch() const; | 71 String stretch() const; |
71 String unicodeRange() const; | 72 String unicodeRange() const; |
72 String variant() const; | 73 String variant() const; |
(...skipping 28 matching lines...) Expand all Loading... |
101 public: | 102 public: |
102 virtual ~LoadFontCallback() { } | 103 virtual ~LoadFontCallback() { } |
103 virtual void notifyLoaded(FontFace*) = 0; | 104 virtual void notifyLoaded(FontFace*) = 0; |
104 virtual void notifyError(FontFace*) = 0; | 105 virtual void notifyError(FontFace*) = 0; |
105 virtual void trace(Visitor*) { } | 106 virtual void trace(Visitor*) { } |
106 }; | 107 }; |
107 void loadWithCallback(PassRefPtrWillBeRawPtr<LoadFontCallback>, ExecutionCon
text*); | 108 void loadWithCallback(PassRefPtrWillBeRawPtr<LoadFontCallback>, ExecutionCon
text*); |
108 | 109 |
109 private: | 110 private: |
110 FontFace(); | 111 FontFace(); |
111 FontFace(ExecutionContext*, const AtomicString& family, const Dictionary& de
scriptors); | 112 FontFace(ExecutionContext*, const AtomicString& family, const FontFaceDescri
ptors*); |
112 | 113 |
113 void initCSSFontFace(Document*, PassRefPtrWillBeRawPtr<CSSValue> src); | 114 void initCSSFontFace(Document*, PassRefPtrWillBeRawPtr<CSSValue> src); |
114 void initCSSFontFace(const unsigned char* data, unsigned size); | 115 void initCSSFontFace(const unsigned char* data, unsigned size); |
115 void setPropertyFromString(const Document*, const String&, CSSPropertyID, Ex
ceptionState* = 0); | 116 void setPropertyFromString(const Document*, const String&, CSSPropertyID, Ex
ceptionState* = 0); |
116 bool setPropertyFromStyle(const StylePropertySet&, CSSPropertyID); | 117 bool setPropertyFromStyle(const StylePropertySet&, CSSPropertyID); |
117 bool setPropertyValue(PassRefPtrWillBeRawPtr<CSSValue>, CSSPropertyID); | 118 bool setPropertyValue(PassRefPtrWillBeRawPtr<CSSValue>, CSSPropertyID); |
118 bool setFamilyValue(CSSValueList*); | 119 bool setFamilyValue(CSSValueList*); |
119 void loadInternal(ExecutionContext*); | 120 void loadInternal(ExecutionContext*); |
120 ScriptPromise fontStatusPromise(ScriptState*); | 121 ScriptPromise fontStatusPromise(ScriptState*); |
121 | 122 |
(...skipping 13 matching lines...) Expand all Loading... |
135 PersistentWillBeMember<LoadedProperty> m_loadedProperty; | 136 PersistentWillBeMember<LoadedProperty> m_loadedProperty; |
136 OwnPtrWillBeMember<CSSFontFace> m_cssFontFace; | 137 OwnPtrWillBeMember<CSSFontFace> m_cssFontFace; |
137 WillBeHeapVector<RefPtrWillBeMember<LoadFontCallback> > m_callbacks; | 138 WillBeHeapVector<RefPtrWillBeMember<LoadFontCallback> > m_callbacks; |
138 }; | 139 }; |
139 | 140 |
140 typedef WillBeHeapVector<RefPtrWillBeMember<FontFace> > FontFaceArray; | 141 typedef WillBeHeapVector<RefPtrWillBeMember<FontFace> > FontFaceArray; |
141 | 142 |
142 } // namespace blink | 143 } // namespace blink |
143 | 144 |
144 #endif // FontFace_h | 145 #endif // FontFace_h |
OLD | NEW |