| 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 |