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 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
59 class VideoTrackList; | 59 class VideoTrackList; |
60 class WebAudioSourceProvider; | 60 class WebAudioSourceProvider; |
61 class WebInbandTextTrack; | 61 class WebInbandTextTrack; |
62 class WebLayer; | 62 class WebLayer; |
63 | 63 |
64 class CORE_EXPORT HTMLMediaElement : public HTMLElement, public WillBeHeapSupple
mentable<HTMLMediaElement>, public ActiveDOMObject, private WebMediaPlayerClient
{ | 64 class CORE_EXPORT HTMLMediaElement : public HTMLElement, public WillBeHeapSupple
mentable<HTMLMediaElement>, public ActiveDOMObject, private WebMediaPlayerClient
{ |
65 DEFINE_WRAPPERTYPEINFO(); | 65 DEFINE_WRAPPERTYPEINFO(); |
66 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(HTMLMediaElement); | 66 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(HTMLMediaElement); |
67 WILL_BE_USING_PRE_FINALIZER(HTMLMediaElement, dispose); | 67 WILL_BE_USING_PRE_FINALIZER(HTMLMediaElement, dispose); |
68 public: | 68 public: |
69 static WebMimeRegistry::SupportsType supportsType(const ContentType&, const
String& keySystem = String()); | 69 static WebMimeRegistry::SupportsType supportsType(const ContentType&); |
70 | 70 |
71 static void setMediaStreamRegistry(URLRegistry*); | 71 static void setMediaStreamRegistry(URLRegistry*); |
72 static bool isMediaStreamURL(const String& url); | 72 static bool isMediaStreamURL(const String& url); |
73 | 73 |
74 DECLARE_VIRTUAL_TRACE(); | 74 DECLARE_VIRTUAL_TRACE(); |
75 void clearWeakMembers(Visitor*); | 75 void clearWeakMembers(Visitor*); |
76 WebMediaPlayer* webMediaPlayer() const | 76 WebMediaPlayer* webMediaPlayer() const |
77 { | 77 { |
78 return m_webMediaPlayer.get(); | 78 return m_webMediaPlayer.get(); |
79 } | 79 } |
(...skipping 24 matching lines...) Expand all Loading... |
104 enum NetworkState { NETWORK_EMPTY, NETWORK_IDLE, NETWORK_LOADING, NETWORK_NO
_SOURCE }; | 104 enum NetworkState { NETWORK_EMPTY, NETWORK_IDLE, NETWORK_LOADING, NETWORK_NO
_SOURCE }; |
105 NetworkState networkState() const; | 105 NetworkState networkState() const; |
106 | 106 |
107 String preload() const; | 107 String preload() const; |
108 void setPreload(const AtomicString&); | 108 void setPreload(const AtomicString&); |
109 WebMediaPlayer::Preload preloadType() const; | 109 WebMediaPlayer::Preload preloadType() const; |
110 WebMediaPlayer::Preload effectivePreloadType() const; | 110 WebMediaPlayer::Preload effectivePreloadType() const; |
111 | 111 |
112 TimeRanges* buffered() const; | 112 TimeRanges* buffered() const; |
113 void load(); | 113 void load(); |
114 String canPlayType(const String& mimeType, const String& keySystem = String(
)) const; | 114 String canPlayType(const String& mimeType) const; |
115 | 115 |
116 // ready state | 116 // ready state |
117 enum ReadyState { HAVE_NOTHING, HAVE_METADATA, HAVE_CURRENT_DATA, HAVE_FUTUR
E_DATA, HAVE_ENOUGH_DATA }; | 117 enum ReadyState { HAVE_NOTHING, HAVE_METADATA, HAVE_CURRENT_DATA, HAVE_FUTUR
E_DATA, HAVE_ENOUGH_DATA }; |
118 ReadyState readyState() const; | 118 ReadyState readyState() const; |
119 bool seeking() const; | 119 bool seeking() const; |
120 | 120 |
121 // playback state | 121 // playback state |
122 double currentTime() const; | 122 double currentTime() const; |
123 void setCurrentTime(double); | 123 void setCurrentTime(double); |
124 double duration() const; | 124 double duration() const; |
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
333 void finishSeek(); | 333 void finishSeek(); |
334 void checkIfSeekNeeded(); | 334 void checkIfSeekNeeded(); |
335 void addPlayedRange(double start, double end); | 335 void addPlayedRange(double start, double end); |
336 | 336 |
337 void scheduleEvent(const AtomicString& eventName); // FIXME: Rename to sched
uleNamedEvent for clarity. | 337 void scheduleEvent(const AtomicString& eventName); // FIXME: Rename to sched
uleNamedEvent for clarity. |
338 | 338 |
339 // loading | 339 // loading |
340 void prepareForLoad(); | 340 void prepareForLoad(); |
341 void loadInternal(); | 341 void loadInternal(); |
342 void selectMediaResource(); | 342 void selectMediaResource(); |
343 void loadResource(const KURL&, ContentType&, const String& keySystem); | 343 void loadResource(const KURL&, ContentType&); |
344 void startPlayerLoad(); | 344 void startPlayerLoad(); |
345 void setPlayerPreload(); | 345 void setPlayerPreload(); |
346 WebMediaPlayer::LoadType loadType() const; | 346 WebMediaPlayer::LoadType loadType() const; |
347 void scheduleNextSourceChild(); | 347 void scheduleNextSourceChild(); |
348 void loadNextSourceChild(); | 348 void loadNextSourceChild(); |
349 void clearMediaPlayer(int flags); | 349 void clearMediaPlayer(int flags); |
350 void clearMediaPlayerAndAudioSourceProviderClientWithoutLocking(); | 350 void clearMediaPlayerAndAudioSourceProviderClientWithoutLocking(); |
351 bool havePotentialSourceChild(); | 351 bool havePotentialSourceChild(); |
352 void noneSupported(); | 352 void noneSupported(); |
353 void mediaEngineError(MediaError*); | 353 void mediaEngineError(MediaError*); |
354 void cancelPendingEventsAndCallbacks(); | 354 void cancelPendingEventsAndCallbacks(); |
355 void waitForSourceChange(); | 355 void waitForSourceChange(); |
356 void prepareToPlay(); | 356 void prepareToPlay(); |
357 | 357 |
358 KURL selectNextSourceChild(ContentType*, String* keySystem, InvalidURLAction
); | 358 KURL selectNextSourceChild(ContentType*, InvalidURLAction); |
359 | 359 |
360 void mediaLoadingFailed(WebMediaPlayer::NetworkState); | 360 void mediaLoadingFailed(WebMediaPlayer::NetworkState); |
361 | 361 |
362 // deferred loading (preload=none) | 362 // deferred loading (preload=none) |
363 bool loadIsDeferred() const; | 363 bool loadIsDeferred() const; |
364 void deferLoad(); | 364 void deferLoad(); |
365 void cancelDeferredLoad(); | 365 void cancelDeferredLoad(); |
366 void startDeferredLoad(); | 366 void startDeferredLoad(); |
367 void executeDeferredLoad(); | 367 void executeDeferredLoad(); |
368 void deferredLoadTimerFired(Timer<HTMLMediaElement>*); | 368 void deferredLoadTimerFired(Timer<HTMLMediaElement>*); |
(...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
620 inline bool isHTMLMediaElement(const HTMLElement& element) | 620 inline bool isHTMLMediaElement(const HTMLElement& element) |
621 { | 621 { |
622 return isHTMLAudioElement(element) || isHTMLVideoElement(element); | 622 return isHTMLAudioElement(element) || isHTMLVideoElement(element); |
623 } | 623 } |
624 | 624 |
625 DEFINE_HTMLELEMENT_TYPE_CASTS_WITH_FUNCTION(HTMLMediaElement); | 625 DEFINE_HTMLELEMENT_TYPE_CASTS_WITH_FUNCTION(HTMLMediaElement); |
626 | 626 |
627 } // namespace blink | 627 } // namespace blink |
628 | 628 |
629 #endif // HTMLMediaElement_h | 629 #endif // HTMLMediaElement_h |
OLD | NEW |