OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 Google Inc. All rights reserved. |
3 * Copyright (C) 2012, 2013 Apple Inc. All rights reserved. | 3 * Copyright (C) 2012, 2013 Apple Inc. All rights reserved. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions are | 6 * modification, are permitted provided that the following conditions are |
7 * met: | 7 * met: |
8 * | 8 * |
9 * * Redistributions of source code must retain the above copyright | 9 * * Redistributions of source code must retain the above copyright |
10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
62 protected: | 62 protected: |
63 TextTrackCueBox(Document&, TextTrackCue*); | 63 TextTrackCueBox(Document&, TextTrackCue*); |
64 | 64 |
65 virtual RenderObject* createRenderer(RenderStyle*) OVERRIDE; | 65 virtual RenderObject* createRenderer(RenderStyle*) OVERRIDE; |
66 | 66 |
67 TextTrackCue* m_cue; | 67 TextTrackCue* m_cue; |
68 }; | 68 }; |
69 | 69 |
70 // ---------------------------- | 70 // ---------------------------- |
71 | 71 |
72 class TextTrackCue : public RefCounted<TextTrackCue>, public ScriptWrappable, pu
blic EventTarget { | 72 class TextTrackCue : public RefCounted<TextTrackCue>, public ScriptWrappable, pu
blic EventTargetWithInlineData { |
73 public: | 73 public: |
74 static PassRefPtr<TextTrackCue> create(ScriptExecutionContext* context, doub
le start, double end, const String& content) | 74 static PassRefPtr<TextTrackCue> create(ScriptExecutionContext* context, doub
le start, double end, const String& content) |
75 { | 75 { |
76 return adoptRef(new TextTrackCue(context, start, end, content)); | 76 return adoptRef(new TextTrackCue(context, start, end, content)); |
77 } | 77 } |
78 | 78 |
79 static const AtomicString& cueShadowPseudoId() | 79 static const AtomicString& cueShadowPseudoId() |
80 { | 80 { |
81 DEFINE_STATIC_LOCAL(const AtomicString, cue, ("cue", AtomicString::Const
ructFromLiteral)); | 81 DEFINE_STATIC_LOCAL(const AtomicString, cue, ("cue", AtomicString::Const
ructFromLiteral)); |
82 return cue; | 82 return cue; |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
143 bool hasDisplayTree() const { return m_displayTree; } | 143 bool hasDisplayTree() const { return m_displayTree; } |
144 PassRefPtr<TextTrackCueBox> getDisplayTree(const IntSize& videoSize); | 144 PassRefPtr<TextTrackCueBox> getDisplayTree(const IntSize& videoSize); |
145 PassRefPtr<HTMLDivElement> element() const { return m_cueBackgroundBox; } | 145 PassRefPtr<HTMLDivElement> element() const { return m_cueBackgroundBox; } |
146 | 146 |
147 void updateDisplayTree(double); | 147 void updateDisplayTree(double); |
148 void removeDisplayTree(); | 148 void removeDisplayTree(); |
149 void markFutureAndPastNodes(ContainerNode*, double, double); | 149 void markFutureAndPastNodes(ContainerNode*, double, double); |
150 | 150 |
151 int calculateComputedLinePosition(); | 151 int calculateComputedLinePosition(); |
152 | 152 |
153 virtual const AtomicString& interfaceName() const; | 153 virtual const AtomicString& interfaceName() const OVERRIDE; |
154 virtual ScriptExecutionContext* scriptExecutionContext() const; | 154 virtual ScriptExecutionContext* scriptExecutionContext() const OVERRIDE; |
155 | 155 |
156 std::pair<double, double> getCSSPosition() const; | 156 std::pair<double, double> getCSSPosition() const; |
157 | 157 |
158 CSSValueID getCSSAlignment() const; | 158 CSSValueID getCSSAlignment() const; |
159 int getCSSSize() const; | 159 int getCSSSize() const; |
160 CSSValueID getCSSWritingDirection() const; | 160 CSSValueID getCSSWritingDirection() const; |
161 CSSValueID getCSSWritingMode() const; | 161 CSSValueID getCSSWritingMode() const; |
162 | 162 |
163 enum WritingDirection { | 163 enum WritingDirection { |
164 Horizontal = 0, | 164 Horizontal = 0, |
(...skipping 27 matching lines...) Expand all Loading... |
192 }; | 192 }; |
193 virtual CueType cueType() const { return WebVTT; } | 193 virtual CueType cueType() const { return WebVTT; } |
194 | 194 |
195 DEFINE_ATTRIBUTE_EVENT_LISTENER(enter); | 195 DEFINE_ATTRIBUTE_EVENT_LISTENER(enter); |
196 DEFINE_ATTRIBUTE_EVENT_LISTENER(exit); | 196 DEFINE_ATTRIBUTE_EVENT_LISTENER(exit); |
197 | 197 |
198 using RefCounted<TextTrackCue>::ref; | 198 using RefCounted<TextTrackCue>::ref; |
199 using RefCounted<TextTrackCue>::deref; | 199 using RefCounted<TextTrackCue>::deref; |
200 | 200 |
201 protected: | 201 protected: |
202 virtual EventTargetData* eventTargetData(); | |
203 virtual EventTargetData* ensureEventTargetData(); | |
204 | |
205 TextTrackCue(ScriptExecutionContext*, double start, double end, const String
& content); | 202 TextTrackCue(ScriptExecutionContext*, double start, double end, const String
& content); |
206 | 203 |
207 Document* ownerDocument() { return toDocument(m_scriptExecutionContext); } | 204 Document* ownerDocument() { return toDocument(m_scriptExecutionContext); } |
208 | 205 |
209 virtual PassRefPtr<TextTrackCueBox> createDisplayTree(); | 206 virtual PassRefPtr<TextTrackCueBox> createDisplayTree(); |
210 PassRefPtr<TextTrackCueBox> displayTreeInternal(); | 207 PassRefPtr<TextTrackCueBox> displayTreeInternal(); |
211 | 208 |
212 private: | 209 private: |
213 void createWebVTTNodeTree(); | 210 void createWebVTTNodeTree(); |
214 void copyWebVTTNodeToDOMTree(ContainerNode* WebVTTNode, ContainerNode* root)
; | 211 void copyWebVTTNodeToDOMTree(ContainerNode* WebVTTNode, ContainerNode* root)
; |
215 | 212 |
216 std::pair<double, double> getPositionCoordinates() const; | 213 std::pair<double, double> getPositionCoordinates() const; |
217 void parseSettings(const String&); | 214 void parseSettings(const String&); |
218 | 215 |
219 void determineTextDirection(); | 216 void determineTextDirection(); |
220 void calculateDisplayParameters(); | 217 void calculateDisplayParameters(); |
221 | 218 |
222 void cueWillChange(); | 219 void cueWillChange(); |
223 void cueDidChange(); | 220 void cueDidChange(); |
224 | 221 |
225 virtual void refEventTarget() { ref(); } | 222 virtual void refEventTarget() OVERRIDE { ref(); } |
226 virtual void derefEventTarget() { deref(); } | 223 virtual void derefEventTarget() OVERRIDE { deref(); } |
227 | 224 |
228 enum CueSetting { | 225 enum CueSetting { |
229 None, | 226 None, |
230 Vertical, | 227 Vertical, |
231 Line, | 228 Line, |
232 Position, | 229 Position, |
233 Size, | 230 Size, |
234 Align, | 231 Align, |
235 #if ENABLE(WEBVTT_REGIONS) | 232 #if ENABLE(WEBVTT_REGIONS) |
236 RegionId | 233 RegionId |
(...skipping 12 matching lines...) Expand all Loading... |
249 int m_cueSize; | 246 int m_cueSize; |
250 int m_cueIndex; | 247 int m_cueIndex; |
251 | 248 |
252 WritingDirection m_writingDirection; | 249 WritingDirection m_writingDirection; |
253 | 250 |
254 CueAlignment m_cueAlignment; | 251 CueAlignment m_cueAlignment; |
255 | 252 |
256 RefPtr<DocumentFragment> m_webVTTNodeTree; | 253 RefPtr<DocumentFragment> m_webVTTNodeTree; |
257 TextTrack* m_track; | 254 TextTrack* m_track; |
258 | 255 |
259 EventTargetData m_eventTargetData; | |
260 ScriptExecutionContext* m_scriptExecutionContext; | 256 ScriptExecutionContext* m_scriptExecutionContext; |
261 | 257 |
262 bool m_isActive; | 258 bool m_isActive; |
263 bool m_pauseOnExit; | 259 bool m_pauseOnExit; |
264 bool m_snapToLines; | 260 bool m_snapToLines; |
265 | 261 |
266 RefPtr<HTMLDivElement> m_cueBackgroundBox; | 262 RefPtr<HTMLDivElement> m_cueBackgroundBox; |
267 | 263 |
268 bool m_displayTreeShouldChange; | 264 bool m_displayTreeShouldChange; |
269 RefPtr<TextTrackCueBox> m_displayTree; | 265 RefPtr<TextTrackCueBox> m_displayTree; |
270 | 266 |
271 CSSValueID m_displayDirection; | 267 CSSValueID m_displayDirection; |
272 | 268 |
273 int m_displaySize; | 269 int m_displaySize; |
274 | 270 |
275 std::pair<float, float> m_displayPosition; | 271 std::pair<float, float> m_displayPosition; |
276 #if ENABLE(WEBVTT_REGIONS) | 272 #if ENABLE(WEBVTT_REGIONS) |
277 String m_regionId; | 273 String m_regionId; |
278 #endif | 274 #endif |
279 }; | 275 }; |
280 | 276 |
281 } // namespace WebCore | 277 } // namespace WebCore |
282 | 278 |
283 #endif | 279 #endif |
OLD | NEW |