OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc. All rights
reserved. | 2 * Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012, 2013 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 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
74 class HTMLMediaElement : public HTMLElement, public MediaPlayerClient, public Ac
tiveDOMObject, public MediaControllerInterface | 74 class HTMLMediaElement : public HTMLElement, public MediaPlayerClient, public Ac
tiveDOMObject, public MediaControllerInterface |
75 , private TextTrackClient | 75 , private TextTrackClient |
76 { | 76 { |
77 public: | 77 public: |
78 static blink::WebMimeRegistry::SupportsType supportsType(const ContentType&,
const String& keySystem = String()); | 78 static blink::WebMimeRegistry::SupportsType supportsType(const ContentType&,
const String& keySystem = String()); |
79 | 79 |
80 MediaPlayer* player() const { return m_player.get(); } | 80 MediaPlayer* player() const { return m_player.get(); } |
81 | 81 |
82 virtual bool isVideo() const = 0; | 82 virtual bool isVideo() const = 0; |
83 virtual bool hasVideo() const OVERRIDE { return false; } | 83 virtual bool hasVideo() const OVERRIDE { return false; } |
84 virtual bool hasAudio() const OVERRIDE; | 84 virtual bool hasAudio() const OVERRIDE FINAL; |
85 | 85 |
86 // Eventually overloaded in HTMLVideoElement | 86 // Eventually overloaded in HTMLVideoElement |
87 virtual bool supportsFullscreen() const OVERRIDE { return false; }; | 87 virtual bool supportsFullscreen() const OVERRIDE { return false; } |
88 | 88 |
89 bool supportsSave() const; | 89 bool supportsSave() const; |
90 | 90 |
91 blink::WebLayer* platformLayer() const; | 91 blink::WebLayer* platformLayer() const; |
92 | 92 |
93 enum DelayedActionType { | 93 enum DelayedActionType { |
94 LoadMediaResource = 1 << 0, | 94 LoadMediaResource = 1 << 0, |
95 LoadTextTrackResource = 1 << 1, | 95 LoadTextTrackResource = 1 << 1, |
96 TextTrackChangesNotification = 1 << 2 | 96 TextTrackChangesNotification = 1 << 2 |
97 }; | 97 }; |
98 void scheduleDelayedAction(DelayedActionType); | 98 void scheduleDelayedAction(DelayedActionType); |
99 | 99 |
100 bool isActive() const { return m_active; } | 100 bool isActive() const { return m_active; } |
101 | 101 |
102 // error state | 102 // error state |
103 PassRefPtr<MediaError> error() const; | 103 PassRefPtr<MediaError> error() const; |
104 | 104 |
105 // network state | 105 // network state |
106 void setSrc(const AtomicString&); | 106 void setSrc(const AtomicString&); |
107 const KURL& currentSrc() const { return m_currentSrc; } | 107 const KURL& currentSrc() const { return m_currentSrc; } |
108 | 108 |
109 enum NetworkState { NETWORK_EMPTY, NETWORK_IDLE, NETWORK_LOADING, NETWORK_NO
_SOURCE }; | 109 enum NetworkState { NETWORK_EMPTY, NETWORK_IDLE, NETWORK_LOADING, NETWORK_NO
_SOURCE }; |
110 NetworkState networkState() const; | 110 NetworkState networkState() const; |
111 | 111 |
112 String preload() const; | 112 String preload() const; |
113 void setPreload(const AtomicString&); | 113 void setPreload(const AtomicString&); |
114 | 114 |
115 PassRefPtr<TimeRanges> buffered() const; | 115 virtual PassRefPtr<TimeRanges> buffered() const OVERRIDE FINAL; |
116 void load(); | 116 void load(); |
117 String canPlayType(const String& mimeType, const String& keySystem = String(
), const KURL& = KURL()) const; | 117 String canPlayType(const String& mimeType, const String& keySystem = String(
), const KURL& = KURL()) const; |
118 | 118 |
119 // ready state | 119 // ready state |
120 ReadyState readyState() const; | 120 virtual ReadyState readyState() const OVERRIDE FINAL; |
121 bool seeking() const; | 121 bool seeking() const; |
122 | 122 |
123 // playback state | 123 // playback state |
124 double currentTime() const; | 124 virtual double currentTime() const OVERRIDE FINAL; |
125 void setCurrentTime(double, ExceptionState&); | 125 virtual void setCurrentTime(double, ExceptionState&) OVERRIDE FINAL; |
126 double duration() const; | 126 virtual double duration() const OVERRIDE FINAL; |
127 bool paused() const; | 127 virtual bool paused() const OVERRIDE FINAL; |
128 double defaultPlaybackRate() const; | 128 virtual double defaultPlaybackRate() const OVERRIDE FINAL; |
129 void setDefaultPlaybackRate(double); | 129 virtual void setDefaultPlaybackRate(double) OVERRIDE FINAL; |
130 double playbackRate() const; | 130 virtual double playbackRate() const OVERRIDE FINAL; |
131 void setPlaybackRate(double); | 131 virtual void setPlaybackRate(double) OVERRIDE FINAL; |
132 void updatePlaybackRate(); | 132 void updatePlaybackRate(); |
133 PassRefPtr<TimeRanges> played(); | 133 virtual PassRefPtr<TimeRanges> played() OVERRIDE FINAL; |
134 PassRefPtr<TimeRanges> seekable() const; | 134 virtual PassRefPtr<TimeRanges> seekable() const OVERRIDE FINAL; |
135 bool ended() const; | 135 bool ended() const; |
136 bool autoplay() const; | 136 bool autoplay() const; |
137 bool loop() const; | 137 bool loop() const; |
138 void setLoop(bool b); | 138 void setLoop(bool b); |
139 void play(); | 139 virtual void play() OVERRIDE FINAL; |
140 void pause(); | 140 virtual void pause() OVERRIDE FINAL; |
141 | 141 |
142 // statistics | 142 // statistics |
143 unsigned webkitAudioDecodedByteCount() const; | 143 unsigned webkitAudioDecodedByteCount() const; |
144 unsigned webkitVideoDecodedByteCount() const; | 144 unsigned webkitVideoDecodedByteCount() const; |
145 | 145 |
146 // media source extensions | 146 // media source extensions |
147 void closeMediaSource(); | 147 void closeMediaSource(); |
148 void durationChanged(double duration); | 148 void durationChanged(double duration); |
149 | 149 |
150 // encrypted media extensions | 150 // encrypted media extensions |
151 void webkitGenerateKeyRequest(const String& keySystem, PassRefPtr<Uint8Array
> initData, ExceptionState&); | 151 void webkitGenerateKeyRequest(const String& keySystem, PassRefPtr<Uint8Array
> initData, ExceptionState&); |
152 void webkitGenerateKeyRequest(const String& keySystem, ExceptionState&); | 152 void webkitGenerateKeyRequest(const String& keySystem, ExceptionState&); |
153 void webkitAddKey(const String& keySystem, PassRefPtr<Uint8Array> key, PassR
efPtr<Uint8Array> initData, const String& sessionId, ExceptionState&); | 153 void webkitAddKey(const String& keySystem, PassRefPtr<Uint8Array> key, PassR
efPtr<Uint8Array> initData, const String& sessionId, ExceptionState&); |
154 void webkitAddKey(const String& keySystem, PassRefPtr<Uint8Array> key, Excep
tionState&); | 154 void webkitAddKey(const String& keySystem, PassRefPtr<Uint8Array> key, Excep
tionState&); |
155 void webkitCancelKeyRequest(const String& keySystem, const String& sessionId
, ExceptionState&); | 155 void webkitCancelKeyRequest(const String& keySystem, const String& sessionId
, ExceptionState&); |
156 | 156 |
157 DEFINE_ATTRIBUTE_EVENT_LISTENER(webkitkeyadded); | 157 DEFINE_ATTRIBUTE_EVENT_LISTENER(webkitkeyadded); |
158 DEFINE_ATTRIBUTE_EVENT_LISTENER(webkitkeyerror); | 158 DEFINE_ATTRIBUTE_EVENT_LISTENER(webkitkeyerror); |
159 DEFINE_ATTRIBUTE_EVENT_LISTENER(webkitkeymessage); | 159 DEFINE_ATTRIBUTE_EVENT_LISTENER(webkitkeymessage); |
160 DEFINE_ATTRIBUTE_EVENT_LISTENER(webkitneedkey); | 160 DEFINE_ATTRIBUTE_EVENT_LISTENER(webkitneedkey); |
161 | 161 |
162 MediaKeys* mediaKeys() const { return m_mediaKeys.get(); } | 162 MediaKeys* mediaKeys() const { return m_mediaKeys.get(); } |
163 void setMediaKeys(MediaKeys*); | 163 void setMediaKeys(MediaKeys*); |
164 | 164 |
165 // controls | 165 // controls |
166 bool controls() const; | 166 bool controls() const; |
167 void setControls(bool); | 167 void setControls(bool); |
168 double volume() const; | 168 virtual double volume() const OVERRIDE FINAL; |
169 void setVolume(double, ExceptionState&); | 169 virtual void setVolume(double, ExceptionState&) OVERRIDE FINAL; |
170 bool muted() const; | 170 virtual bool muted() const OVERRIDE FINAL; |
171 void setMuted(bool); | 171 virtual void setMuted(bool) OVERRIDE FINAL; |
172 | 172 |
173 void togglePlayState(); | 173 void togglePlayState(); |
174 void beginScrubbing(); | 174 virtual void beginScrubbing() OVERRIDE FINAL; |
175 void endScrubbing(); | 175 virtual void endScrubbing() OVERRIDE FINAL; |
176 | 176 |
177 bool canPlay() const; | 177 virtual bool canPlay() const OVERRIDE FINAL; |
178 | 178 |
179 double percentLoaded() const; | 179 double percentLoaded() const; |
180 | 180 |
181 PassRefPtr<TextTrack> addTextTrack(const AtomicString& kind, const AtomicStr
ing& label, const AtomicString& language, ExceptionState&); | 181 PassRefPtr<TextTrack> addTextTrack(const AtomicString& kind, const AtomicStr
ing& label, const AtomicString& language, ExceptionState&); |
182 PassRefPtr<TextTrack> addTextTrack(const AtomicString& kind, const AtomicStr
ing& label, ExceptionState& exceptionState) { return addTextTrack(kind, label, e
mptyAtom, exceptionState); } | 182 PassRefPtr<TextTrack> addTextTrack(const AtomicString& kind, const AtomicStr
ing& label, ExceptionState& exceptionState) { return addTextTrack(kind, label, e
mptyAtom, exceptionState); } |
183 PassRefPtr<TextTrack> addTextTrack(const AtomicString& kind, ExceptionState&
exceptionState) { return addTextTrack(kind, emptyAtom, emptyAtom, exceptionStat
e); } | 183 PassRefPtr<TextTrack> addTextTrack(const AtomicString& kind, ExceptionState&
exceptionState) { return addTextTrack(kind, emptyAtom, emptyAtom, exceptionStat
e); } |
184 | 184 |
185 TextTrackList* textTracks(); | 185 TextTrackList* textTracks(); |
186 CueList currentlyActiveCues() const { return m_currentlyActiveCues; } | 186 CueList currentlyActiveCues() const { return m_currentlyActiveCues; } |
187 | 187 |
188 void addTrack(TextTrack*); | 188 void addTrack(TextTrack*); |
189 void removeTrack(TextTrack*); | 189 void removeTrack(TextTrack*); |
190 void removeAllInbandTracks(); | 190 void removeAllInbandTracks(); |
191 void closeCaptionTracksChanged(); | 191 void closeCaptionTracksChanged(); |
192 void notifyMediaPlayerOfTextTrackChanges(); | 192 void notifyMediaPlayerOfTextTrackChanges(); |
193 | 193 |
194 void didAddTrack(HTMLTrackElement*); | 194 void didAddTrack(HTMLTrackElement*); |
195 void didRemoveTrack(HTMLTrackElement*); | 195 void didRemoveTrack(HTMLTrackElement*); |
196 | 196 |
197 virtual void mediaPlayerDidAddTrack(blink::WebInbandTextTrack*) OVERRIDE; | 197 virtual void mediaPlayerDidAddTrack(blink::WebInbandTextTrack*) OVERRIDE FIN
AL; |
198 virtual void mediaPlayerDidRemoveTrack(blink::WebInbandTextTrack*) OVERRIDE; | 198 virtual void mediaPlayerDidRemoveTrack(blink::WebInbandTextTrack*) OVERRIDE
FINAL; |
199 | 199 |
200 struct TrackGroup { | 200 struct TrackGroup { |
201 enum GroupKind { CaptionsAndSubtitles, Description, Chapter, Metadata, O
ther }; | 201 enum GroupKind { CaptionsAndSubtitles, Description, Chapter, Metadata, O
ther }; |
202 | 202 |
203 TrackGroup(GroupKind kind) | 203 TrackGroup(GroupKind kind) |
204 : visibleTrack(0) | 204 : visibleTrack(0) |
205 , defaultTrack(0) | 205 , defaultTrack(0) |
206 , kind(kind) | 206 , kind(kind) |
207 , hasSrcLang(false) | 207 , hasSrcLang(false) |
208 { | 208 { |
(...skipping 13 matching lines...) Expand all Loading... |
222 bool textTracksAreReady() const; | 222 bool textTracksAreReady() const; |
223 enum VisibilityChangeAssumption { | 223 enum VisibilityChangeAssumption { |
224 AssumeNoVisibleChange, | 224 AssumeNoVisibleChange, |
225 AssumeVisibleChange | 225 AssumeVisibleChange |
226 }; | 226 }; |
227 void configureTextTrackDisplay(VisibilityChangeAssumption); | 227 void configureTextTrackDisplay(VisibilityChangeAssumption); |
228 void updateTextTrackDisplay(); | 228 void updateTextTrackDisplay(); |
229 void textTrackReadyStateChanged(TextTrack*); | 229 void textTrackReadyStateChanged(TextTrack*); |
230 | 230 |
231 // TextTrackClient | 231 // TextTrackClient |
232 virtual void textTrackKindChanged(TextTrack*) OVERRIDE; | 232 virtual void textTrackKindChanged(TextTrack*) OVERRIDE FINAL; |
233 virtual void textTrackModeChanged(TextTrack*) OVERRIDE; | 233 virtual void textTrackModeChanged(TextTrack*) OVERRIDE FINAL; |
234 virtual void textTrackAddCues(TextTrack*, const TextTrackCueList*) OVERRIDE; | 234 virtual void textTrackAddCues(TextTrack*, const TextTrackCueList*) OVERRIDE
FINAL; |
235 virtual void textTrackRemoveCues(TextTrack*, const TextTrackCueList*) OVERRI
DE; | 235 virtual void textTrackRemoveCues(TextTrack*, const TextTrackCueList*) OVERRI
DE FINAL; |
236 virtual void textTrackAddCue(TextTrack*, PassRefPtr<TextTrackCue>) OVERRIDE; | 236 virtual void textTrackAddCue(TextTrack*, PassRefPtr<TextTrackCue>) OVERRIDE
FINAL; |
237 virtual void textTrackRemoveCue(TextTrack*, PassRefPtr<TextTrackCue>) OVERRI
DE; | 237 virtual void textTrackRemoveCue(TextTrack*, PassRefPtr<TextTrackCue>) OVERRI
DE FINAL; |
238 | 238 |
239 // EventTarget function. | 239 // EventTarget function. |
240 // Both Node (via HTMLElement) and ActiveDOMObject define this method, which | 240 // Both Node (via HTMLElement) and ActiveDOMObject define this method, which |
241 // causes an ambiguity error at compile time. This class's constructor | 241 // causes an ambiguity error at compile time. This class's constructor |
242 // ensures that both implementations return document, so return the result | 242 // ensures that both implementations return document, so return the result |
243 // of one of them here. | 243 // of one of them here. |
244 virtual ExecutionContext* executionContext() const OVERRIDE { return HTMLEle
ment::executionContext(); } | 244 virtual ExecutionContext* executionContext() const OVERRIDE FINAL { return H
TMLElement::executionContext(); } |
245 | 245 |
246 bool hasSingleSecurityOrigin() const { return !m_player || m_player->hasSing
leSecurityOrigin(); } | 246 bool hasSingleSecurityOrigin() const { return !m_player || m_player->hasSing
leSecurityOrigin(); } |
247 | 247 |
248 bool isFullscreen() const; | 248 virtual bool isFullscreen() const OVERRIDE FINAL; |
249 void enterFullscreen(); | 249 virtual void enterFullscreen() OVERRIDE FINAL; |
250 void exitFullscreen(); | 250 void exitFullscreen(); |
251 | 251 |
252 bool hasClosedCaptions() const; | 252 virtual bool hasClosedCaptions() const OVERRIDE FINAL; |
253 bool closedCaptionsVisible() const; | 253 virtual bool closedCaptionsVisible() const OVERRIDE FINAL; |
254 void setClosedCaptionsVisible(bool); | 254 virtual void setClosedCaptionsVisible(bool) OVERRIDE FINAL; |
255 | 255 |
256 MediaControls* mediaControls() const; | 256 MediaControls* mediaControls() const; |
257 | 257 |
258 void sourceWasRemoved(HTMLSourceElement*); | 258 void sourceWasRemoved(HTMLSourceElement*); |
259 void sourceWasAdded(HTMLSourceElement*); | 259 void sourceWasAdded(HTMLSourceElement*); |
260 | 260 |
261 bool isPlaying() const { return m_playing; } | 261 bool isPlaying() const { return m_playing; } |
262 | 262 |
263 // ActiveDOMObject functions. | 263 // ActiveDOMObject functions. |
264 virtual bool hasPendingActivity() const OVERRIDE; | 264 virtual bool hasPendingActivity() const OVERRIDE FINAL; |
265 virtual void contextDestroyed() OVERRIDE; | 265 virtual void contextDestroyed() OVERRIDE FINAL; |
266 | 266 |
267 #if ENABLE(WEB_AUDIO) | 267 #if ENABLE(WEB_AUDIO) |
268 MediaElementAudioSourceNode* audioSourceNode() { return m_audioSourceNode; } | 268 MediaElementAudioSourceNode* audioSourceNode() { return m_audioSourceNode; } |
269 void setAudioSourceNode(MediaElementAudioSourceNode*); | 269 void setAudioSourceNode(MediaElementAudioSourceNode*); |
270 | 270 |
271 AudioSourceProvider* audioSourceProvider(); | 271 AudioSourceProvider* audioSourceProvider(); |
272 #endif | 272 #endif |
273 | 273 |
274 enum InvalidURLAction { DoNothing, Complain }; | 274 enum InvalidURLAction { DoNothing, Complain }; |
275 bool isSafeToLoadURL(const KURL&, InvalidURLAction); | 275 bool isSafeToLoadURL(const KURL&, InvalidURLAction); |
276 | 276 |
277 MediaController* controller() const; | 277 MediaController* controller() const; |
278 void setController(PassRefPtr<MediaController>); // Resets the MediaGroup an
d sets the MediaController. | 278 void setController(PassRefPtr<MediaController>); // Resets the MediaGroup an
d sets the MediaController. |
279 | 279 |
280 protected: | 280 protected: |
281 HTMLMediaElement(const QualifiedName&, Document&, bool); | 281 HTMLMediaElement(const QualifiedName&, Document&, bool); |
282 virtual ~HTMLMediaElement(); | 282 virtual ~HTMLMediaElement(); |
283 | 283 |
284 virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERR
IDE; | 284 virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERR
IDE; |
285 virtual void finishParsingChildren() OVERRIDE; | 285 virtual void finishParsingChildren() OVERRIDE FINAL; |
286 virtual bool isURLAttribute(const Attribute&) const OVERRIDE; | 286 virtual bool isURLAttribute(const Attribute&) const OVERRIDE; |
287 virtual void attach(const AttachContext& = AttachContext()) OVERRIDE; | 287 virtual void attach(const AttachContext& = AttachContext()) OVERRIDE; |
288 | 288 |
289 virtual void didMoveToNewDocument(Document& oldDocument) OVERRIDE; | 289 virtual void didMoveToNewDocument(Document& oldDocument) OVERRIDE; |
290 | 290 |
291 enum DisplayMode { Unknown, None, Poster, PosterWaitingForVideo, Video }; | 291 enum DisplayMode { Unknown, None, Poster, PosterWaitingForVideo, Video }; |
292 DisplayMode displayMode() const { return m_displayMode; } | 292 DisplayMode displayMode() const { return m_displayMode; } |
293 virtual void setDisplayMode(DisplayMode mode) { m_displayMode = mode; } | 293 virtual void setDisplayMode(DisplayMode mode) { m_displayMode = mode; } |
294 | 294 |
295 virtual bool isMediaElement() const OVERRIDE { return true; } | 295 virtual bool isMediaElement() const OVERRIDE FINAL { return true; } |
296 | 296 |
297 void setControllerInternal(PassRefPtr<MediaController>); | 297 void setControllerInternal(PassRefPtr<MediaController>); |
298 | 298 |
299 // Restrictions to change default behaviors. | 299 // Restrictions to change default behaviors. |
300 enum BehaviorRestrictionFlags { | 300 enum BehaviorRestrictionFlags { |
301 NoRestrictions = 0, | 301 NoRestrictions = 0, |
302 RequireUserGestureForLoadRestriction = 1 << 0, | 302 RequireUserGestureForLoadRestriction = 1 << 0, |
303 RequireUserGestureForRateChangeRestriction = 1 << 1, | 303 RequireUserGestureForRateChangeRestriction = 1 << 1, |
304 RequireUserGestureForFullscreenRestriction = 1 << 2, | 304 RequireUserGestureForFullscreenRestriction = 1 << 2, |
305 RequirePageConsentToLoadMediaRestriction = 1 << 3, | 305 RequirePageConsentToLoadMediaRestriction = 1 << 3, |
306 }; | 306 }; |
307 typedef unsigned BehaviorRestrictions; | 307 typedef unsigned BehaviorRestrictions; |
308 | 308 |
309 bool userGestureRequiredForLoad() const { return m_restrictions & RequireUse
rGestureForLoadRestriction; } | 309 bool userGestureRequiredForLoad() const { return m_restrictions & RequireUse
rGestureForLoadRestriction; } |
310 bool userGestureRequiredForRateChange() const { return m_restrictions & Requ
ireUserGestureForRateChangeRestriction; } | 310 bool userGestureRequiredForRateChange() const { return m_restrictions & Requ
ireUserGestureForRateChangeRestriction; } |
311 bool userGestureRequiredForFullscreen() const { return m_restrictions & Requ
ireUserGestureForFullscreenRestriction; } | 311 bool userGestureRequiredForFullscreen() const { return m_restrictions & Requ
ireUserGestureForFullscreenRestriction; } |
312 bool pageConsentRequiredForLoad() const { return m_restrictions & RequirePag
eConsentToLoadMediaRestriction; } | 312 bool pageConsentRequiredForLoad() const { return m_restrictions & RequirePag
eConsentToLoadMediaRestriction; } |
313 | 313 |
314 void addBehaviorRestriction(BehaviorRestrictions restriction) { m_restrictio
ns |= restriction; } | 314 void addBehaviorRestriction(BehaviorRestrictions restriction) { m_restrictio
ns |= restriction; } |
315 void removeBehaviorRestriction(BehaviorRestrictions restriction) { m_restric
tions &= ~restriction; } | 315 void removeBehaviorRestriction(BehaviorRestrictions restriction) { m_restric
tions &= ~restriction; } |
316 | 316 |
317 bool ignoreTrackDisplayUpdateRequests() const { return m_ignoreTrackDisplayU
pdate > 0; } | 317 bool ignoreTrackDisplayUpdateRequests() const { return m_ignoreTrackDisplayU
pdate > 0; } |
318 void beginIgnoringTrackDisplayUpdateRequests(); | 318 void beginIgnoringTrackDisplayUpdateRequests(); |
319 void endIgnoringTrackDisplayUpdateRequests(); | 319 void endIgnoringTrackDisplayUpdateRequests(); |
320 | 320 |
321 private: | 321 private: |
322 void createMediaPlayer(); | 322 void createMediaPlayer(); |
323 | 323 |
324 virtual bool alwaysCreateUserAgentShadowRoot() const OVERRIDE { return true;
} | 324 virtual bool alwaysCreateUserAgentShadowRoot() const OVERRIDE FINAL { return
true; } |
325 virtual bool areAuthorShadowsAllowed() const OVERRIDE { return false; } | 325 virtual bool areAuthorShadowsAllowed() const OVERRIDE FINAL { return false;
} |
326 | 326 |
327 virtual bool hasCustomFocusLogic() const OVERRIDE; | 327 virtual bool hasCustomFocusLogic() const OVERRIDE FINAL; |
328 virtual bool supportsFocus() const OVERRIDE; | 328 virtual bool supportsFocus() const OVERRIDE FINAL; |
329 virtual bool isMouseFocusable() const OVERRIDE; | 329 virtual bool isMouseFocusable() const OVERRIDE FINAL; |
330 virtual bool rendererIsNeeded(const RenderStyle&) OVERRIDE; | 330 virtual bool rendererIsNeeded(const RenderStyle&) OVERRIDE; |
331 virtual RenderObject* createRenderer(RenderStyle*) OVERRIDE; | 331 virtual RenderObject* createRenderer(RenderStyle*) OVERRIDE; |
332 virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE; | 332 virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE F
INAL; |
333 virtual void removedFrom(ContainerNode*) OVERRIDE; | 333 virtual void removedFrom(ContainerNode*) OVERRIDE FINAL; |
334 virtual void didRecalcStyle(StyleRecalcChange) OVERRIDE; | 334 virtual void didRecalcStyle(StyleRecalcChange) OVERRIDE FINAL; |
335 | 335 |
336 virtual void didBecomeFullscreenElement() OVERRIDE; | 336 virtual void didBecomeFullscreenElement() OVERRIDE FINAL; |
337 virtual void willStopBeingFullscreenElement() OVERRIDE; | 337 virtual void willStopBeingFullscreenElement() OVERRIDE FINAL; |
338 virtual bool isInteractiveContent() const OVERRIDE; | 338 virtual bool isInteractiveContent() const OVERRIDE FINAL; |
339 | 339 |
340 // ActiveDOMObject functions. | 340 // ActiveDOMObject functions. |
341 virtual void stop() OVERRIDE; | 341 virtual void stop() OVERRIDE FINAL; |
342 | 342 |
343 virtual void updateDisplayState() { } | 343 virtual void updateDisplayState() { } |
344 | 344 |
345 void setReadyState(MediaPlayer::ReadyState); | 345 void setReadyState(MediaPlayer::ReadyState); |
346 void setNetworkState(MediaPlayer::NetworkState); | 346 void setNetworkState(MediaPlayer::NetworkState); |
347 | 347 |
348 virtual void mediaPlayerNetworkStateChanged() OVERRIDE; | 348 virtual void mediaPlayerNetworkStateChanged() OVERRIDE FINAL; |
349 virtual void mediaPlayerReadyStateChanged() OVERRIDE; | 349 virtual void mediaPlayerReadyStateChanged() OVERRIDE FINAL; |
350 virtual void mediaPlayerTimeChanged() OVERRIDE; | 350 virtual void mediaPlayerTimeChanged() OVERRIDE FINAL; |
351 virtual void mediaPlayerDurationChanged() OVERRIDE; | 351 virtual void mediaPlayerDurationChanged() OVERRIDE FINAL; |
352 virtual void mediaPlayerPlaybackStateChanged() OVERRIDE; | 352 virtual void mediaPlayerPlaybackStateChanged() OVERRIDE FINAL; |
353 virtual void mediaPlayerRequestFullscreen() OVERRIDE; | 353 virtual void mediaPlayerRequestFullscreen() OVERRIDE FINAL; |
354 virtual void mediaPlayerRequestSeek(double) OVERRIDE; | 354 virtual void mediaPlayerRequestSeek(double) OVERRIDE FINAL; |
355 virtual void mediaPlayerRepaint() OVERRIDE; | 355 virtual void mediaPlayerRepaint() OVERRIDE FINAL; |
356 virtual void mediaPlayerSizeChanged() OVERRIDE; | 356 virtual void mediaPlayerSizeChanged() OVERRIDE FINAL; |
357 | 357 |
358 virtual void mediaPlayerKeyAdded(const String& keySystem, const String& sess
ionId) OVERRIDE; | 358 virtual void mediaPlayerKeyAdded(const String& keySystem, const String& sess
ionId) OVERRIDE FINAL; |
359 virtual void mediaPlayerKeyError(const String& keySystem, const String& sess
ionId, MediaPlayerClient::MediaKeyErrorCode, unsigned short systemCode) OVERRIDE
; | 359 virtual void mediaPlayerKeyError(const String& keySystem, const String& sess
ionId, MediaPlayerClient::MediaKeyErrorCode, unsigned short systemCode) OVERRIDE
FINAL; |
360 virtual void mediaPlayerKeyMessage(const String& keySystem, const String& se
ssionId, const unsigned char* message, unsigned messageLength, const KURL& defau
ltURL) OVERRIDE; | 360 virtual void mediaPlayerKeyMessage(const String& keySystem, const String& se
ssionId, const unsigned char* message, unsigned messageLength, const KURL& defau
ltURL) OVERRIDE FINAL; |
361 virtual bool mediaPlayerKeyNeeded(const String& keySystem, const String& ses
sionId, const unsigned char* initData, unsigned initDataLength) OVERRIDE; | 361 virtual bool mediaPlayerKeyNeeded(const String& keySystem, const String& ses
sionId, const unsigned char* initData, unsigned initDataLength) OVERRIDE FINAL; |
362 virtual bool mediaPlayerKeyNeeded(Uint8Array*) OVERRIDE; | 362 virtual bool mediaPlayerKeyNeeded(Uint8Array*) OVERRIDE FINAL; |
363 | 363 |
364 virtual CORSMode mediaPlayerCORSMode() const OVERRIDE; | 364 virtual CORSMode mediaPlayerCORSMode() const OVERRIDE FINAL; |
365 | 365 |
366 virtual void mediaPlayerSetWebLayer(blink::WebLayer*) OVERRIDE; | 366 virtual void mediaPlayerSetWebLayer(blink::WebLayer*) OVERRIDE FINAL; |
367 virtual void mediaPlayerSetOpaque(bool) OVERRIDE; | 367 virtual void mediaPlayerSetOpaque(bool) OVERRIDE FINAL; |
368 virtual void mediaPlayerMediaSourceOpened(blink::WebMediaSource*) OVERRIDE; | 368 virtual void mediaPlayerMediaSourceOpened(blink::WebMediaSource*) OVERRIDE F
INAL; |
369 | 369 |
370 void loadTimerFired(Timer<HTMLMediaElement>*); | 370 void loadTimerFired(Timer<HTMLMediaElement>*); |
371 void progressEventTimerFired(Timer<HTMLMediaElement>*); | 371 void progressEventTimerFired(Timer<HTMLMediaElement>*); |
372 void playbackProgressTimerFired(Timer<HTMLMediaElement>*); | 372 void playbackProgressTimerFired(Timer<HTMLMediaElement>*); |
373 void startPlaybackProgressTimer(); | 373 void startPlaybackProgressTimer(); |
374 void startProgressEventTimer(); | 374 void startProgressEventTimer(); |
375 void stopPeriodicTimers(); | 375 void stopPeriodicTimers(); |
376 | 376 |
377 void seek(double time, ExceptionState&); | 377 void seek(double time, ExceptionState&); |
378 void finishSeek(); | 378 void finishSeek(); |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
431 void invalidateCachedTime(); | 431 void invalidateCachedTime(); |
432 void refreshCachedTime() const; | 432 void refreshCachedTime() const; |
433 | 433 |
434 bool hasMediaControls() const; | 434 bool hasMediaControls() const; |
435 bool createMediaControls(); | 435 bool createMediaControls(); |
436 void configureMediaControls(); | 436 void configureMediaControls(); |
437 | 437 |
438 void prepareMediaFragmentURI(); | 438 void prepareMediaFragmentURI(); |
439 void applyMediaFragmentURI(); | 439 void applyMediaFragmentURI(); |
440 | 440 |
441 virtual void* preDispatchEventHandler(Event*) OVERRIDE; | 441 virtual void* preDispatchEventHandler(Event*) OVERRIDE FINAL; |
442 | 442 |
443 void changeNetworkStateFromLoadingToIdle(); | 443 void changeNetworkStateFromLoadingToIdle(); |
444 | 444 |
445 void removeBehaviorsRestrictionsAfterFirstUserGesture(); | 445 void removeBehaviorsRestrictionsAfterFirstUserGesture(); |
446 | 446 |
447 const AtomicString& mediaGroup() const; | 447 const AtomicString& mediaGroup() const; |
448 void setMediaGroup(const AtomicString&); | 448 void setMediaGroup(const AtomicString&); |
449 void updateMediaController(); | 449 void updateMediaController(); |
450 bool isBlocked() const; | 450 bool isBlocked() const; |
451 bool isBlockedOnMediaController() const; | 451 bool isBlockedOnMediaController() const; |
452 bool hasCurrentSrc() const { return !m_currentSrc.isEmpty(); } | 452 virtual bool hasCurrentSrc() const OVERRIDE FINAL { return !m_currentSrc.isE
mpty(); } |
453 bool isAutoplaying() const { return m_autoplaying; } | 453 bool isAutoplaying() const { return m_autoplaying; } |
454 | 454 |
455 blink::WebContentDecryptionModule* contentDecryptionModule(); | 455 blink::WebContentDecryptionModule* contentDecryptionModule(); |
456 | 456 |
457 Timer<HTMLMediaElement> m_loadTimer; | 457 Timer<HTMLMediaElement> m_loadTimer; |
458 Timer<HTMLMediaElement> m_progressEventTimer; | 458 Timer<HTMLMediaElement> m_progressEventTimer; |
459 Timer<HTMLMediaElement> m_playbackProgressTimer; | 459 Timer<HTMLMediaElement> m_playbackProgressTimer; |
460 RefPtr<TimeRanges> m_playedTimeRanges; | 460 RefPtr<TimeRanges> m_playedTimeRanges; |
461 OwnPtr<GenericEventQueue> m_asyncEventQueue; | 461 OwnPtr<GenericEventQueue> m_asyncEventQueue; |
462 | 462 |
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
586 inline bool isHTMLMediaElement(const Node& node) | 586 inline bool isHTMLMediaElement(const Node& node) |
587 { | 587 { |
588 return node.isElementNode() && toElement(node).isMediaElement(); | 588 return node.isElementNode() && toElement(node).isMediaElement(); |
589 } | 589 } |
590 | 590 |
591 DEFINE_NODE_TYPE_CASTS_WITH_FUNCTION(HTMLMediaElement); | 591 DEFINE_NODE_TYPE_CASTS_WITH_FUNCTION(HTMLMediaElement); |
592 | 592 |
593 } //namespace | 593 } //namespace |
594 | 594 |
595 #endif | 595 #endif |
OLD | NEW |