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

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

Issue 177003025: Remove TextTrackClient interface to simplify TextTrack code. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 10 months 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 | Annotate | Revision Log
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 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
66 66
67 typedef PODIntervalTree<double, TextTrackCue*> CueIntervalTree; 67 typedef PODIntervalTree<double, TextTrackCue*> CueIntervalTree;
68 typedef CueIntervalTree::IntervalType CueInterval; 68 typedef CueIntervalTree::IntervalType CueInterval;
69 typedef Vector<CueInterval> CueList; 69 typedef Vector<CueInterval> CueList;
70 70
71 // FIXME: The inheritance from MediaPlayerClient here should be private inherita nce. 71 // FIXME: The inheritance from MediaPlayerClient here should be private inherita nce.
72 // But it can't be until the Chromium WebMediaPlayerClientImpl class is fixed so it 72 // But it can't be until the Chromium WebMediaPlayerClientImpl class is fixed so it
73 // no longer depends on typecasting a MediaPlayerClient to an HTMLMediaElement. 73 // no longer depends on typecasting a MediaPlayerClient to an HTMLMediaElement.
74 74
75 class HTMLMediaElement : public HTMLElement, public MediaPlayerClient, public Ac tiveDOMObject, public MediaControllerInterface 75 class HTMLMediaElement : public HTMLElement, public MediaPlayerClient, public Ac tiveDOMObject, public MediaControllerInterface
76 , private TextTrackClient
77 { 76 {
78 public: 77 public:
79 static blink::WebMimeRegistry::SupportsType supportsType(const ContentType&, const String& keySystem = String()); 78 static blink::WebMimeRegistry::SupportsType supportsType(const ContentType&, const String& keySystem = String());
80 79
81 static void setMediaStreamRegistry(URLRegistry*); 80 static void setMediaStreamRegistry(URLRegistry*);
82 static bool isMediaStreamURL(const String& url); 81 static bool isMediaStreamURL(const String& url);
83 82
84 MediaPlayer* player() const { return m_player.get(); } 83 MediaPlayer* player() const { return m_player.get(); }
85 84
86 virtual bool isVideo() const = 0; 85 virtual bool isVideo() const = 0;
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
226 225
227 bool textTracksAreReady() const; 226 bool textTracksAreReady() const;
228 enum VisibilityChangeAssumption { 227 enum VisibilityChangeAssumption {
229 AssumeNoVisibleChange, 228 AssumeNoVisibleChange,
230 AssumeVisibleChange 229 AssumeVisibleChange
231 }; 230 };
232 void configureTextTrackDisplay(VisibilityChangeAssumption); 231 void configureTextTrackDisplay(VisibilityChangeAssumption);
233 void updateTextTrackDisplay(); 232 void updateTextTrackDisplay();
234 void textTrackReadyStateChanged(TextTrack*); 233 void textTrackReadyStateChanged(TextTrack*);
235 234
236 // TextTrackClient 235 virtual void textTrackKindChanged(TextTrack*);
adamk 2014/02/27 01:55:09 Can these be non-virtual now?
acolwell GONE FROM CHROMIUM 2014/02/27 03:57:06 Yes. Done.
237 virtual void textTrackKindChanged(TextTrack*) OVERRIDE FINAL; 236 virtual void textTrackModeChanged(TextTrack*);
238 virtual void textTrackModeChanged(TextTrack*) OVERRIDE FINAL; 237 virtual void textTrackAddCues(TextTrack*, const TextTrackCueList*);
239 virtual void textTrackAddCues(TextTrack*, const TextTrackCueList*) OVERRIDE FINAL; 238 virtual void textTrackRemoveCues(TextTrack*, const TextTrackCueList*);
240 virtual void textTrackRemoveCues(TextTrack*, const TextTrackCueList*) OVERRI DE FINAL; 239 virtual void textTrackAddCue(TextTrack*, PassRefPtr<TextTrackCue>);
241 virtual void textTrackAddCue(TextTrack*, PassRefPtr<TextTrackCue>) OVERRIDE FINAL; 240 virtual void textTrackRemoveCue(TextTrack*, PassRefPtr<TextTrackCue>);
242 virtual void textTrackRemoveCue(TextTrack*, PassRefPtr<TextTrackCue>) OVERRI DE FINAL;
243 241
244 // EventTarget function. 242 // EventTarget function.
245 // Both Node (via HTMLElement) and ActiveDOMObject define this method, which 243 // Both Node (via HTMLElement) and ActiveDOMObject define this method, which
246 // causes an ambiguity error at compile time. This class's constructor 244 // causes an ambiguity error at compile time. This class's constructor
247 // ensures that both implementations return document, so return the result 245 // ensures that both implementations return document, so return the result
248 // of one of them here. 246 // of one of them here.
249 virtual ExecutionContext* executionContext() const OVERRIDE FINAL { return H TMLElement::executionContext(); } 247 virtual ExecutionContext* executionContext() const OVERRIDE FINAL { return H TMLElement::executionContext(); }
250 248
251 bool hasSingleSecurityOrigin() const { return !m_player || m_player->hasSing leSecurityOrigin(); } 249 bool hasSingleSecurityOrigin() const { return !m_player || m_player->hasSing leSecurityOrigin(); }
252 250
(...skipping 326 matching lines...) Expand 10 before | Expand all | Expand 10 after
579 inline bool isHTMLMediaElement(const Node& node) 577 inline bool isHTMLMediaElement(const Node& node)
580 { 578 {
581 return node.isElementNode() && toElement(node).isMediaElement(); 579 return node.isElementNode() && toElement(node).isMediaElement();
582 } 580 }
583 581
584 DEFINE_NODE_TYPE_CASTS_WITH_FUNCTION(HTMLMediaElement); 582 DEFINE_NODE_TYPE_CASTS_WITH_FUNCTION(HTMLMediaElement);
585 583
586 } //namespace 584 } //namespace
587 585
588 #endif 586 #endif
OLDNEW
« no previous file with comments | « no previous file | Source/core/html/HTMLMediaElement.cpp » ('j') | Source/core/html/track/LoadableTextTrack.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698