Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(495)

Side by Side Diff: Source/core/html/HTMLMediaElement.h

Issue 60083011: Remove InbandTextTrackPrivate/InbandTextTrackPrivateClient (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: rebase on top of https://codereview.chromium.org/61763010/ Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | Source/core/html/HTMLMediaElement.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
OLDNEW
« no previous file with comments | « no previous file | Source/core/html/HTMLMediaElement.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698