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