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 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
75 | 75 |
76 class HTMLMediaElement : public HTMLElement, public WillBeHeapSupplementable<HTM
LMediaElement>, public MediaPlayerClient, public ActiveDOMObject { | 76 class HTMLMediaElement : public HTMLElement, public WillBeHeapSupplementable<HTM
LMediaElement>, public MediaPlayerClient, public ActiveDOMObject { |
77 DEFINE_WRAPPERTYPEINFO(); | 77 DEFINE_WRAPPERTYPEINFO(); |
78 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(HTMLMediaElement); | 78 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(HTMLMediaElement); |
79 public: | 79 public: |
80 static blink::WebMimeRegistry::SupportsType supportsType(const ContentType&,
const String& keySystem = String()); | 80 static blink::WebMimeRegistry::SupportsType supportsType(const ContentType&,
const String& keySystem = String()); |
81 | 81 |
82 static void setMediaStreamRegistry(URLRegistry*); | 82 static void setMediaStreamRegistry(URLRegistry*); |
83 static bool isMediaStreamURL(const String& url); | 83 static bool isMediaStreamURL(const String& url); |
84 | 84 |
85 virtual void trace(Visitor*) OVERRIDE; | 85 virtual void trace(Visitor*) override; |
86 #if ENABLE(WEB_AUDIO) | 86 #if ENABLE(WEB_AUDIO) |
87 void clearWeakMembers(Visitor*); | 87 void clearWeakMembers(Visitor*); |
88 #endif | 88 #endif |
89 blink::WebMediaPlayer* webMediaPlayer() const { return m_player ? m_player->
webMediaPlayer() : 0; } | 89 blink::WebMediaPlayer* webMediaPlayer() const { return m_player ? m_player->
webMediaPlayer() : 0; } |
90 | 90 |
91 virtual bool hasVideo() const { return false; } | 91 virtual bool hasVideo() const { return false; } |
92 bool hasAudio() const; | 92 bool hasAudio() const; |
93 | 93 |
94 bool supportsSave() const; | 94 bool supportsSave() const; |
95 | 95 |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
192 void forgetResourceSpecificTracks(); | 192 void forgetResourceSpecificTracks(); |
193 | 193 |
194 void didAddTrackElement(HTMLTrackElement*); | 194 void didAddTrackElement(HTMLTrackElement*); |
195 void didRemoveTrackElement(HTMLTrackElement*); | 195 void didRemoveTrackElement(HTMLTrackElement*); |
196 | 196 |
197 blink::WebMediaPlayer::TrackId addAudioTrack(const String& id, blink::WebMed
iaPlayerClient::AudioTrackKind, const AtomicString& label, const AtomicString& l
anguage, bool enabled); | 197 blink::WebMediaPlayer::TrackId addAudioTrack(const String& id, blink::WebMed
iaPlayerClient::AudioTrackKind, const AtomicString& label, const AtomicString& l
anguage, bool enabled); |
198 void removeAudioTrack(blink::WebMediaPlayer::TrackId); | 198 void removeAudioTrack(blink::WebMediaPlayer::TrackId); |
199 blink::WebMediaPlayer::TrackId addVideoTrack(const String& id, blink::WebMed
iaPlayerClient::VideoTrackKind, const AtomicString& label, const AtomicString& l
anguage, bool selected); | 199 blink::WebMediaPlayer::TrackId addVideoTrack(const String& id, blink::WebMed
iaPlayerClient::VideoTrackKind, const AtomicString& label, const AtomicString& l
anguage, bool selected); |
200 void removeVideoTrack(blink::WebMediaPlayer::TrackId); | 200 void removeVideoTrack(blink::WebMediaPlayer::TrackId); |
201 | 201 |
202 virtual void mediaPlayerDidAddTextTrack(blink::WebInbandTextTrack*) OVERRIDE
FINAL; | 202 virtual void mediaPlayerDidAddTextTrack(blink::WebInbandTextTrack*) override
final; |
203 virtual void mediaPlayerDidRemoveTextTrack(blink::WebInbandTextTrack*) OVERR
IDE FINAL; | 203 virtual void mediaPlayerDidRemoveTextTrack(blink::WebInbandTextTrack*) overr
ide final; |
204 // FIXME: Remove this when WebMediaPlayerClientImpl::loadInternal does not d
epend on it. | 204 // FIXME: Remove this when WebMediaPlayerClientImpl::loadInternal does not d
epend on it. |
205 virtual KURL mediaPlayerPosterURL() OVERRIDE { return KURL(); } | 205 virtual KURL mediaPlayerPosterURL() override { return KURL(); } |
206 | 206 |
207 class TrackGroup { | 207 class TrackGroup { |
208 STACK_ALLOCATED(); | 208 STACK_ALLOCATED(); |
209 public: | 209 public: |
210 enum GroupKind { CaptionsAndSubtitles, Description, Chapter, Metadata, O
ther }; | 210 enum GroupKind { CaptionsAndSubtitles, Description, Chapter, Metadata, O
ther }; |
211 | 211 |
212 explicit TrackGroup(GroupKind kind) | 212 explicit TrackGroup(GroupKind kind) |
213 : visibleTrack(nullptr) | 213 : visibleTrack(nullptr) |
214 , defaultTrack(nullptr) | 214 , defaultTrack(nullptr) |
215 , kind(kind) | 215 , kind(kind) |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
264 void remoteRouteAvailabilityChanged(bool); | 264 void remoteRouteAvailabilityChanged(bool); |
265 void connectedToRemoteDevice(); | 265 void connectedToRemoteDevice(); |
266 void disconnectedFromRemoteDevice(); | 266 void disconnectedFromRemoteDevice(); |
267 | 267 |
268 MediaControls* mediaControls() const; | 268 MediaControls* mediaControls() const; |
269 | 269 |
270 void sourceWasRemoved(HTMLSourceElement*); | 270 void sourceWasRemoved(HTMLSourceElement*); |
271 void sourceWasAdded(HTMLSourceElement*); | 271 void sourceWasAdded(HTMLSourceElement*); |
272 | 272 |
273 // ActiveDOMObject functions. | 273 // ActiveDOMObject functions. |
274 virtual bool hasPendingActivity() const OVERRIDE FINAL; | 274 virtual bool hasPendingActivity() const override final; |
275 virtual void contextDestroyed() OVERRIDE FINAL; | 275 virtual void contextDestroyed() override final; |
276 | 276 |
277 #if ENABLE(WEB_AUDIO) | 277 #if ENABLE(WEB_AUDIO) |
278 AudioSourceProviderClient* audioSourceNode() { return m_audioSourceNode; } | 278 AudioSourceProviderClient* audioSourceNode() { return m_audioSourceNode; } |
279 void setAudioSourceNode(AudioSourceProviderClient*); | 279 void setAudioSourceNode(AudioSourceProviderClient*); |
280 | 280 |
281 AudioSourceProvider* audioSourceProvider(); | 281 AudioSourceProvider* audioSourceProvider(); |
282 #endif | 282 #endif |
283 | 283 |
284 enum InvalidURLAction { DoNothing, Complain }; | 284 enum InvalidURLAction { DoNothing, Complain }; |
285 bool isSafeToLoadURL(const KURL&, InvalidURLAction); | 285 bool isSafeToLoadURL(const KURL&, InvalidURLAction); |
(...skipping 20 matching lines...) Expand all Loading... |
306 #endif | 306 #endif |
307 | 307 |
308 // Predicates also used when dispatching wrapper creation (cf. [SpecialWrapF
or] IDL attribute usage.) | 308 // Predicates also used when dispatching wrapper creation (cf. [SpecialWrapF
or] IDL attribute usage.) |
309 virtual bool isHTMLAudioElement() const { return false; } | 309 virtual bool isHTMLAudioElement() const { return false; } |
310 virtual bool isHTMLVideoElement() const { return false; } | 310 virtual bool isHTMLVideoElement() const { return false; } |
311 | 311 |
312 protected: | 312 protected: |
313 HTMLMediaElement(const QualifiedName&, Document&); | 313 HTMLMediaElement(const QualifiedName&, Document&); |
314 virtual ~HTMLMediaElement(); | 314 virtual ~HTMLMediaElement(); |
315 | 315 |
316 virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERR
IDE; | 316 virtual void parseAttribute(const QualifiedName&, const AtomicString&) overr
ide; |
317 virtual void finishParsingChildren() OVERRIDE FINAL; | 317 virtual void finishParsingChildren() override final; |
318 virtual bool isURLAttribute(const Attribute&) const OVERRIDE; | 318 virtual bool isURLAttribute(const Attribute&) const override; |
319 virtual void attach(const AttachContext& = AttachContext()) OVERRIDE; | 319 virtual void attach(const AttachContext& = AttachContext()) override; |
320 | 320 |
321 virtual void didMoveToNewDocument(Document& oldDocument) OVERRIDE; | 321 virtual void didMoveToNewDocument(Document& oldDocument) override; |
322 | 322 |
323 enum DisplayMode { Unknown, Poster, PosterWaitingForVideo, Video }; | 323 enum DisplayMode { Unknown, Poster, PosterWaitingForVideo, Video }; |
324 DisplayMode displayMode() const { return m_displayMode; } | 324 DisplayMode displayMode() const { return m_displayMode; } |
325 virtual void setDisplayMode(DisplayMode mode) { m_displayMode = mode; } | 325 virtual void setDisplayMode(DisplayMode mode) { m_displayMode = mode; } |
326 | 326 |
327 void setControllerInternal(PassRefPtrWillBeRawPtr<MediaController>); | 327 void setControllerInternal(PassRefPtrWillBeRawPtr<MediaController>); |
328 | 328 |
329 bool ignoreTrackDisplayUpdateRequests() const { return m_ignoreTrackDisplayU
pdate > 0; } | 329 bool ignoreTrackDisplayUpdateRequests() const { return m_ignoreTrackDisplayU
pdate > 0; } |
330 void beginIgnoringTrackDisplayUpdateRequests(); | 330 void beginIgnoringTrackDisplayUpdateRequests(); |
331 void endIgnoringTrackDisplayUpdateRequests(); | 331 void endIgnoringTrackDisplayUpdateRequests(); |
332 | 332 |
333 private: | 333 private: |
334 void createMediaPlayer(); | 334 void createMediaPlayer(); |
335 | 335 |
336 virtual bool alwaysCreateUserAgentShadowRoot() const OVERRIDE FINAL { return
true; } | 336 virtual bool alwaysCreateUserAgentShadowRoot() const override final { return
true; } |
337 virtual bool areAuthorShadowsAllowed() const OVERRIDE FINAL { return false;
} | 337 virtual bool areAuthorShadowsAllowed() const override final { return false;
} |
338 | 338 |
339 virtual bool supportsFocus() const OVERRIDE FINAL; | 339 virtual bool supportsFocus() const override final; |
340 virtual bool isMouseFocusable() const OVERRIDE FINAL; | 340 virtual bool isMouseFocusable() const override final; |
341 virtual bool rendererIsNeeded(const RenderStyle&) OVERRIDE; | 341 virtual bool rendererIsNeeded(const RenderStyle&) override; |
342 virtual RenderObject* createRenderer(RenderStyle*) OVERRIDE; | 342 virtual RenderObject* createRenderer(RenderStyle*) override; |
343 virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE F
INAL; | 343 virtual InsertionNotificationRequest insertedInto(ContainerNode*) override f
inal; |
344 virtual void didNotifySubtreeInsertionsToDocument() OVERRIDE; | 344 virtual void didNotifySubtreeInsertionsToDocument() override; |
345 virtual void removedFrom(ContainerNode*) OVERRIDE FINAL; | 345 virtual void removedFrom(ContainerNode*) override final; |
346 virtual void didRecalcStyle(StyleRecalcChange) OVERRIDE FINAL; | 346 virtual void didRecalcStyle(StyleRecalcChange) override final; |
347 | 347 |
348 virtual void didBecomeFullscreenElement() OVERRIDE FINAL; | 348 virtual void didBecomeFullscreenElement() override final; |
349 virtual void willStopBeingFullscreenElement() OVERRIDE FINAL; | 349 virtual void willStopBeingFullscreenElement() override final; |
350 virtual bool isInteractiveContent() const OVERRIDE FINAL; | 350 virtual bool isInteractiveContent() const override final; |
351 virtual void defaultEventHandler(Event*) OVERRIDE FINAL; | 351 virtual void defaultEventHandler(Event*) override final; |
352 | 352 |
353 // ActiveDOMObject functions. | 353 // ActiveDOMObject functions. |
354 virtual void stop() OVERRIDE FINAL; | 354 virtual void stop() override final; |
355 | 355 |
356 virtual void updateDisplayState() { } | 356 virtual void updateDisplayState() { } |
357 | 357 |
358 void setReadyState(ReadyState); | 358 void setReadyState(ReadyState); |
359 void setNetworkState(blink::WebMediaPlayer::NetworkState); | 359 void setNetworkState(blink::WebMediaPlayer::NetworkState); |
360 | 360 |
361 virtual void mediaPlayerNetworkStateChanged() OVERRIDE FINAL; | 361 virtual void mediaPlayerNetworkStateChanged() override final; |
362 virtual void mediaPlayerReadyStateChanged() OVERRIDE FINAL; | 362 virtual void mediaPlayerReadyStateChanged() override final; |
363 virtual void mediaPlayerTimeChanged() OVERRIDE FINAL; | 363 virtual void mediaPlayerTimeChanged() override final; |
364 virtual void mediaPlayerDurationChanged() OVERRIDE FINAL; | 364 virtual void mediaPlayerDurationChanged() override final; |
365 virtual void mediaPlayerPlaybackStateChanged() OVERRIDE FINAL; | 365 virtual void mediaPlayerPlaybackStateChanged() override final; |
366 virtual void mediaPlayerRequestFullscreen() OVERRIDE FINAL; | 366 virtual void mediaPlayerRequestFullscreen() override final; |
367 virtual void mediaPlayerRequestSeek(double) OVERRIDE FINAL; | 367 virtual void mediaPlayerRequestSeek(double) override final; |
368 virtual void mediaPlayerRepaint() OVERRIDE FINAL; | 368 virtual void mediaPlayerRepaint() override final; |
369 virtual void mediaPlayerSizeChanged() OVERRIDE FINAL; | 369 virtual void mediaPlayerSizeChanged() override final; |
370 virtual void mediaPlayerSetWebLayer(blink::WebLayer*) OVERRIDE FINAL; | 370 virtual void mediaPlayerSetWebLayer(blink::WebLayer*) override final; |
371 virtual void mediaPlayerMediaSourceOpened(blink::WebMediaSource*) OVERRIDE F
INAL; | 371 virtual void mediaPlayerMediaSourceOpened(blink::WebMediaSource*) override f
inal; |
372 | 372 |
373 void loadTimerFired(Timer<HTMLMediaElement>*); | 373 void loadTimerFired(Timer<HTMLMediaElement>*); |
374 void progressEventTimerFired(Timer<HTMLMediaElement>*); | 374 void progressEventTimerFired(Timer<HTMLMediaElement>*); |
375 void playbackProgressTimerFired(Timer<HTMLMediaElement>*); | 375 void playbackProgressTimerFired(Timer<HTMLMediaElement>*); |
376 void startPlaybackProgressTimer(); | 376 void startPlaybackProgressTimer(); |
377 void startProgressEventTimer(); | 377 void startProgressEventTimer(); |
378 void stopPeriodicTimers(); | 378 void stopPeriodicTimers(); |
379 | 379 |
380 void seek(double time); | 380 void seek(double time); |
381 void finishSeek(); | 381 void finishSeek(); |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
435 bool couldPlayIfEnoughData() const; | 435 bool couldPlayIfEnoughData() const; |
436 | 436 |
437 void setShouldDelayLoadEvent(bool); | 437 void setShouldDelayLoadEvent(bool); |
438 void invalidateCachedTime(); | 438 void invalidateCachedTime(); |
439 void refreshCachedTime() const; | 439 void refreshCachedTime() const; |
440 | 440 |
441 bool hasMediaControls() const; | 441 bool hasMediaControls() const; |
442 bool createMediaControls(); | 442 bool createMediaControls(); |
443 void configureMediaControls(); | 443 void configureMediaControls(); |
444 | 444 |
445 virtual void* preDispatchEventHandler(Event*) OVERRIDE FINAL; | 445 virtual void* preDispatchEventHandler(Event*) override final; |
446 | 446 |
447 void changeNetworkStateFromLoadingToIdle(); | 447 void changeNetworkStateFromLoadingToIdle(); |
448 | 448 |
449 const AtomicString& mediaGroup() const; | 449 const AtomicString& mediaGroup() const; |
450 void setMediaGroup(const AtomicString&); | 450 void setMediaGroup(const AtomicString&); |
451 void updateMediaController(); | 451 void updateMediaController(); |
452 bool isBlocked() const; | 452 bool isBlocked() const; |
453 bool isBlockedOnMediaController() const; | 453 bool isBlockedOnMediaController() const; |
454 bool isAutoplaying() const { return m_autoplaying; } | 454 bool isAutoplaying() const { return m_autoplaying; } |
455 | 455 |
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
629 inline bool isHTMLMediaElement(const HTMLElement& element) | 629 inline bool isHTMLMediaElement(const HTMLElement& element) |
630 { | 630 { |
631 return isHTMLAudioElement(element) || isHTMLVideoElement(element); | 631 return isHTMLAudioElement(element) || isHTMLVideoElement(element); |
632 } | 632 } |
633 | 633 |
634 DEFINE_HTMLELEMENT_TYPE_CASTS_WITH_FUNCTION(HTMLMediaElement); | 634 DEFINE_HTMLELEMENT_TYPE_CASTS_WITH_FUNCTION(HTMLMediaElement); |
635 | 635 |
636 } // namespace blink | 636 } // namespace blink |
637 | 637 |
638 #endif // HTMLMediaElement_h | 638 #endif // HTMLMediaElement_h |
OLD | NEW |