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 18 matching lines...) Expand all Loading... |
29 #include "core/dom/ActiveDOMObject.h" | 29 #include "core/dom/ActiveDOMObject.h" |
30 #include "core/events/GenericEventQueue.h" | 30 #include "core/events/GenericEventQueue.h" |
31 #include "core/html/HTMLElement.h" | 31 #include "core/html/HTMLElement.h" |
32 #include "core/html/MediaControllerInterface.h" | 32 #include "core/html/MediaControllerInterface.h" |
33 #include "core/html/track/TextTrack.h" | 33 #include "core/html/track/TextTrack.h" |
34 #include "core/html/track/TextTrackCue.h" | 34 #include "core/html/track/TextTrackCue.h" |
35 #include "platform/PODIntervalTree.h" | 35 #include "platform/PODIntervalTree.h" |
36 #include "platform/graphics/media/MediaPlayer.h" | 36 #include "platform/graphics/media/MediaPlayer.h" |
37 #include "public/platform/WebMimeRegistry.h" | 37 #include "public/platform/WebMimeRegistry.h" |
38 | 38 |
39 namespace blink { class WebLayer; } | 39 namespace blink { |
| 40 class WebInbandTextTrack; |
| 41 class WebLayer; |
| 42 } |
40 | 43 |
41 namespace WebCore { | 44 namespace WebCore { |
42 | 45 |
43 #if ENABLE(WEB_AUDIO) | 46 #if ENABLE(WEB_AUDIO) |
44 class AudioSourceProvider; | 47 class AudioSourceProvider; |
45 class MediaElementAudioSourceNode; | 48 class MediaElementAudioSourceNode; |
46 #endif | 49 #endif |
47 class ContentType; | 50 class ContentType; |
48 class Event; | 51 class Event; |
49 class ExceptionState; | 52 class ExceptionState; |
50 class HTMLSourceElement; | 53 class HTMLSourceElement; |
51 class HTMLTrackElement; | 54 class HTMLTrackElement; |
52 class KURL; | 55 class KURL; |
53 class MediaController; | 56 class MediaController; |
54 class MediaControls; | 57 class MediaControls; |
55 class MediaError; | 58 class MediaError; |
56 class HTMLMediaSource; | 59 class HTMLMediaSource; |
57 class TextTrackList; | 60 class TextTrackList; |
58 class TimeRanges; | 61 class TimeRanges; |
59 #if ENABLE(ENCRYPTED_MEDIA_V2) | 62 #if ENABLE(ENCRYPTED_MEDIA_V2) |
60 class MediaKeys; | 63 class MediaKeys; |
61 #endif | 64 #endif |
62 | 65 |
63 class InbandTextTrackPrivate; | |
64 | |
65 typedef PODIntervalTree<double, TextTrackCue*> CueIntervalTree; | 66 typedef PODIntervalTree<double, TextTrackCue*> CueIntervalTree; |
66 typedef CueIntervalTree::IntervalType CueInterval; | 67 typedef CueIntervalTree::IntervalType CueInterval; |
67 typedef Vector<CueInterval> CueList; | 68 typedef Vector<CueInterval> CueList; |
68 | 69 |
69 // FIXME: The inheritance from MediaPlayerClient here should be private inherita
nce. | 70 // FIXME: The inheritance from MediaPlayerClient here should be private inherita
nce. |
70 // But it can't be until the Chromium WebMediaPlayerClientImpl class is fixed so
it | 71 // But it can't be until the Chromium WebMediaPlayerClientImpl class is fixed so
it |
71 // no longer depends on typecasting a MediaPlayerClient to an HTMLMediaElement. | 72 // no longer depends on typecasting a MediaPlayerClient to an HTMLMediaElement. |
72 | 73 |
73 class HTMLMediaElement : public HTMLElement, public MediaPlayerClient, public Ac
tiveDOMObject, public MediaControllerInterface | 74 class HTMLMediaElement : public HTMLElement, public MediaPlayerClient, public Ac
tiveDOMObject, public MediaControllerInterface |
74 , private TextTrackClient | 75 , private TextTrackClient |
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
188 | 189 |
189 void addTrack(TextTrack*); | 190 void addTrack(TextTrack*); |
190 void removeTrack(TextTrack*); | 191 void removeTrack(TextTrack*); |
191 void removeAllInbandTracks(); | 192 void removeAllInbandTracks(); |
192 void closeCaptionTracksChanged(); | 193 void closeCaptionTracksChanged(); |
193 void notifyMediaPlayerOfTextTrackChanges(); | 194 void notifyMediaPlayerOfTextTrackChanges(); |
194 | 195 |
195 void didAddTrack(HTMLTrackElement*); | 196 void didAddTrack(HTMLTrackElement*); |
196 void didRemoveTrack(HTMLTrackElement*); | 197 void didRemoveTrack(HTMLTrackElement*); |
197 | 198 |
198 virtual void mediaPlayerDidAddTrack(PassRefPtr<InbandTextTrackPrivate>) OVER
RIDE; | 199 virtual void mediaPlayerDidAddTrack(blink::WebInbandTextTrack*) OVERRIDE; |
199 virtual void mediaPlayerDidRemoveTrack(PassRefPtr<InbandTextTrackPrivate>) O
VERRIDE; | 200 virtual void mediaPlayerDidRemoveTrack(blink::WebInbandTextTrack*) OVERRIDE; |
200 | 201 |
201 struct TrackGroup { | 202 struct TrackGroup { |
202 enum GroupKind { CaptionsAndSubtitles, Description, Chapter, Metadata, O
ther }; | 203 enum GroupKind { CaptionsAndSubtitles, Description, Chapter, Metadata, O
ther }; |
203 | 204 |
204 TrackGroup(GroupKind kind) | 205 TrackGroup(GroupKind kind) |
205 : visibleTrack(0) | 206 : visibleTrack(0) |
206 , defaultTrack(0) | 207 , defaultTrack(0) |
207 , kind(kind) | 208 , kind(kind) |
208 , hasSrcLang(false) | 209 , hasSrcLang(false) |
209 { | 210 { |
(...skipping 386 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
596 inline bool isHTMLMediaElement(const Node& node) | 597 inline bool isHTMLMediaElement(const Node& node) |
597 { | 598 { |
598 return node.isElementNode() && toElement(node).isMediaElement(); | 599 return node.isElementNode() && toElement(node).isMediaElement(); |
599 } | 600 } |
600 | 601 |
601 DEFINE_NODE_TYPE_CASTS_WITH_FUNCTION(HTMLMediaElement); | 602 DEFINE_NODE_TYPE_CASTS_WITH_FUNCTION(HTMLMediaElement); |
602 | 603 |
603 } //namespace | 604 } //namespace |
604 | 605 |
605 #endif | 606 #endif |
OLD | NEW |