| 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 257 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 268 #if ENABLE(WEB_AUDIO) | 268 #if ENABLE(WEB_AUDIO) |
| 269 MediaElementAudioSourceNode* audioSourceNode() { return m_audioSourceNode; } | 269 MediaElementAudioSourceNode* audioSourceNode() { return m_audioSourceNode; } |
| 270 void setAudioSourceNode(MediaElementAudioSourceNode*); | 270 void setAudioSourceNode(MediaElementAudioSourceNode*); |
| 271 | 271 |
| 272 AudioSourceProvider* audioSourceProvider(); | 272 AudioSourceProvider* audioSourceProvider(); |
| 273 #endif | 273 #endif |
| 274 | 274 |
| 275 enum InvalidURLAction { DoNothing, Complain }; | 275 enum InvalidURLAction { DoNothing, Complain }; |
| 276 bool isSafeToLoadURL(const KURL&, InvalidURLAction); | 276 bool isSafeToLoadURL(const KURL&, InvalidURLAction); |
| 277 | 277 |
| 278 const String& mediaGroup() const; | |
| 279 void setMediaGroup(const String&); | |
| 280 | |
| 281 MediaController* controller() const; | 278 MediaController* controller() const; |
| 282 void setController(PassRefPtr<MediaController>); | 279 void setController(PassRefPtr<MediaController>); // Resets the MediaGroup an
d sets the MediaController. |
| 283 | 280 |
| 284 protected: | 281 protected: |
| 285 HTMLMediaElement(const QualifiedName&, Document&, bool); | 282 HTMLMediaElement(const QualifiedName&, Document&, bool); |
| 286 virtual ~HTMLMediaElement(); | 283 virtual ~HTMLMediaElement(); |
| 287 | 284 |
| 288 virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERR
IDE; | 285 virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERR
IDE; |
| 289 virtual void finishParsingChildren() OVERRIDE; | 286 virtual void finishParsingChildren() OVERRIDE; |
| 290 virtual bool isURLAttribute(const Attribute&) const OVERRIDE; | 287 virtual bool isURLAttribute(const Attribute&) const OVERRIDE; |
| 291 virtual void attach(const AttachContext& = AttachContext()) OVERRIDE; | 288 virtual void attach(const AttachContext& = AttachContext()) OVERRIDE; |
| 292 | 289 |
| 293 virtual void didMoveToNewDocument(Document& oldDocument) OVERRIDE; | 290 virtual void didMoveToNewDocument(Document& oldDocument) OVERRIDE; |
| 294 | 291 |
| 295 enum DisplayMode { Unknown, None, Poster, PosterWaitingForVideo, Video }; | 292 enum DisplayMode { Unknown, None, Poster, PosterWaitingForVideo, Video }; |
| 296 DisplayMode displayMode() const { return m_displayMode; } | 293 DisplayMode displayMode() const { return m_displayMode; } |
| 297 virtual void setDisplayMode(DisplayMode mode) { m_displayMode = mode; } | 294 virtual void setDisplayMode(DisplayMode mode) { m_displayMode = mode; } |
| 298 | 295 |
| 299 virtual bool isMediaElement() const OVERRIDE { return true; } | 296 virtual bool isMediaElement() const OVERRIDE { return true; } |
| 300 | 297 |
| 298 void setControllerInternal(PassRefPtr<MediaController>); |
| 299 |
| 301 // Restrictions to change default behaviors. | 300 // Restrictions to change default behaviors. |
| 302 enum BehaviorRestrictionFlags { | 301 enum BehaviorRestrictionFlags { |
| 303 NoRestrictions = 0, | 302 NoRestrictions = 0, |
| 304 RequireUserGestureForLoadRestriction = 1 << 0, | 303 RequireUserGestureForLoadRestriction = 1 << 0, |
| 305 RequireUserGestureForRateChangeRestriction = 1 << 1, | 304 RequireUserGestureForRateChangeRestriction = 1 << 1, |
| 306 RequireUserGestureForFullscreenRestriction = 1 << 2, | 305 RequireUserGestureForFullscreenRestriction = 1 << 2, |
| 307 RequirePageConsentToLoadMediaRestriction = 1 << 3, | 306 RequirePageConsentToLoadMediaRestriction = 1 << 3, |
| 308 }; | 307 }; |
| 309 typedef unsigned BehaviorRestrictions; | 308 typedef unsigned BehaviorRestrictions; |
| 310 | 309 |
| (...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 444 | 443 |
| 445 void prepareMediaFragmentURI(); | 444 void prepareMediaFragmentURI(); |
| 446 void applyMediaFragmentURI(); | 445 void applyMediaFragmentURI(); |
| 447 | 446 |
| 448 virtual void* preDispatchEventHandler(Event*) OVERRIDE; | 447 virtual void* preDispatchEventHandler(Event*) OVERRIDE; |
| 449 | 448 |
| 450 void changeNetworkStateFromLoadingToIdle(); | 449 void changeNetworkStateFromLoadingToIdle(); |
| 451 | 450 |
| 452 void removeBehaviorsRestrictionsAfterFirstUserGesture(); | 451 void removeBehaviorsRestrictionsAfterFirstUserGesture(); |
| 453 | 452 |
| 453 const AtomicString& mediaGroup() const; |
| 454 void setMediaGroup(const AtomicString&); |
| 454 void updateMediaController(); | 455 void updateMediaController(); |
| 455 bool isBlocked() const; | 456 bool isBlocked() const; |
| 456 bool isBlockedOnMediaController() const; | 457 bool isBlockedOnMediaController() const; |
| 457 bool hasCurrentSrc() const { return !m_currentSrc.isEmpty(); } | 458 bool hasCurrentSrc() const { return !m_currentSrc.isEmpty(); } |
| 458 bool isAutoplaying() const { return m_autoplaying; } | 459 bool isAutoplaying() const { return m_autoplaying; } |
| 459 | 460 |
| 460 Timer<HTMLMediaElement> m_loadTimer; | 461 Timer<HTMLMediaElement> m_loadTimer; |
| 461 Timer<HTMLMediaElement> m_progressEventTimer; | 462 Timer<HTMLMediaElement> m_progressEventTimer; |
| 462 Timer<HTMLMediaElement> m_playbackProgressTimer; | 463 Timer<HTMLMediaElement> m_playbackProgressTimer; |
| 463 RefPtr<TimeRanges> m_playedTimeRanges; | 464 RefPtr<TimeRanges> m_playedTimeRanges; |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 551 CueList m_currentlyActiveCues; | 552 CueList m_currentlyActiveCues; |
| 552 int m_ignoreTrackDisplayUpdate; | 553 int m_ignoreTrackDisplayUpdate; |
| 553 | 554 |
| 554 #if ENABLE(WEB_AUDIO) | 555 #if ENABLE(WEB_AUDIO) |
| 555 // This is a weak reference, since m_audioSourceNode holds a reference to us
. | 556 // This is a weak reference, since m_audioSourceNode holds a reference to us
. |
| 556 // The value is set just after the MediaElementAudioSourceNode is created. | 557 // The value is set just after the MediaElementAudioSourceNode is created. |
| 557 // The value is cleared in MediaElementAudioSourceNode::~MediaElementAudioSo
urceNode(). | 558 // The value is cleared in MediaElementAudioSourceNode::~MediaElementAudioSo
urceNode(). |
| 558 MediaElementAudioSourceNode* m_audioSourceNode; | 559 MediaElementAudioSourceNode* m_audioSourceNode; |
| 559 #endif | 560 #endif |
| 560 | 561 |
| 561 String m_mediaGroup; | |
| 562 friend class MediaController; | 562 friend class MediaController; |
| 563 RefPtr<MediaController> m_mediaController; | 563 RefPtr<MediaController> m_mediaController; |
| 564 | 564 |
| 565 friend class TrackDisplayUpdateScope; | 565 friend class TrackDisplayUpdateScope; |
| 566 | 566 |
| 567 #if ENABLE(ENCRYPTED_MEDIA_V2) | 567 #if ENABLE(ENCRYPTED_MEDIA_V2) |
| 568 RefPtr<MediaKeys> m_mediaKeys; | 568 RefPtr<MediaKeys> m_mediaKeys; |
| 569 #endif | 569 #endif |
| 570 }; | 570 }; |
| 571 | 571 |
| (...skipping 24 matching lines...) Expand all Loading... |
| 596 inline bool isHTMLMediaElement(const Node& node) | 596 inline bool isHTMLMediaElement(const Node& node) |
| 597 { | 597 { |
| 598 return node.isElementNode() && toElement(node).isMediaElement(); | 598 return node.isElementNode() && toElement(node).isMediaElement(); |
| 599 } | 599 } |
| 600 | 600 |
| 601 DEFINE_NODE_TYPE_CASTS_WITH_FUNCTION(HTMLMediaElement); | 601 DEFINE_NODE_TYPE_CASTS_WITH_FUNCTION(HTMLMediaElement); |
| 602 | 602 |
| 603 } //namespace | 603 } //namespace |
| 604 | 604 |
| 605 #endif | 605 #endif |
| OLD | NEW |