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

Side by Side Diff: sky/engine/core/html/HTMLMediaElement.h

Issue 677573002: Remove MediaController. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 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 | « sky/engine/core/events/EventTargetFactory.in ('k') | sky/engine/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 28 matching lines...) Expand all
39 class WebLayer; 39 class WebLayer;
40 } 40 }
41 41
42 namespace blink { 42 namespace blink {
43 43
44 class ContentType; 44 class ContentType;
45 class Event; 45 class Event;
46 class ExceptionState; 46 class ExceptionState;
47 class HTMLSourceElement; 47 class HTMLSourceElement;
48 class KURL; 48 class KURL;
49 class MediaController;
50 class MediaError; 49 class MediaError;
51 class HTMLMediaSource; 50 class HTMLMediaSource;
52 class TimeRanges; 51 class TimeRanges;
53 class URLRegistry; 52 class URLRegistry;
54 53
55 // FIXME: The inheritance from MediaPlayerClient here should be private inherita nce. 54 // FIXME: The inheritance from MediaPlayerClient here should be private inherita nce.
56 // But it can't be until the Chromium WebMediaPlayerClientImpl class is fixed so it 55 // But it can't be until the Chromium WebMediaPlayerClientImpl class is fixed so it
57 // no longer depends on typecasting a MediaPlayerClient to an HTMLMediaElement. 56 // no longer depends on typecasting a MediaPlayerClient to an HTMLMediaElement.
58 57
59 class HTMLMediaElement : public HTMLElement, public WillBeHeapSupplementable<HTM LMediaElement>, public MediaPlayerClient, public ActiveDOMObject 58 class HTMLMediaElement : public HTMLElement, public WillBeHeapSupplementable<HTM LMediaElement>, public MediaPlayerClient, public ActiveDOMObject
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 156
158 bool isPlaying() const { return m_playing; } 157 bool isPlaying() const { return m_playing; }
159 158
160 // ActiveDOMObject functions. 159 // ActiveDOMObject functions.
161 virtual bool hasPendingActivity() const OVERRIDE FINAL; 160 virtual bool hasPendingActivity() const OVERRIDE FINAL;
162 virtual void contextDestroyed() OVERRIDE FINAL; 161 virtual void contextDestroyed() OVERRIDE FINAL;
163 162
164 enum InvalidURLAction { DoNothing, Complain }; 163 enum InvalidURLAction { DoNothing, Complain };
165 bool isSafeToLoadURL(const KURL&, InvalidURLAction); 164 bool isSafeToLoadURL(const KURL&, InvalidURLAction);
166 165
167 MediaController* controller() const;
168 void setController(PassRefPtrWillBeRawPtr<MediaController>); // Resets the M ediaGroup and sets the MediaController.
169
170 void scheduleEvent(PassRefPtrWillBeRawPtr<Event>); 166 void scheduleEvent(PassRefPtrWillBeRawPtr<Event>);
171 167
172 // Returns the "effective media volume" value as specified in the HTML5 spec . 168 // Returns the "effective media volume" value as specified in the HTML5 spec .
173 double effectiveMediaVolume() const; 169 double effectiveMediaVolume() const;
174 170
175 #if ENABLE(OILPAN) 171 #if ENABLE(OILPAN)
176 bool isFinalizing() const { return m_isFinalizing; } 172 bool isFinalizing() const { return m_isFinalizing; }
177 173
178 // Oilpan: finalization of the media element is observable from its 174 // Oilpan: finalization of the media element is observable from its
179 // attached MediaSource; it entering a closed state. 175 // attached MediaSource; it entering a closed state.
(...skipping 17 matching lines...) Expand all
197 virtual void finishParsingChildren() OVERRIDE FINAL; 193 virtual void finishParsingChildren() OVERRIDE FINAL;
198 virtual bool isURLAttribute(const Attribute&) const OVERRIDE; 194 virtual bool isURLAttribute(const Attribute&) const OVERRIDE;
199 virtual void attach(const AttachContext& = AttachContext()) OVERRIDE; 195 virtual void attach(const AttachContext& = AttachContext()) OVERRIDE;
200 196
201 virtual void didMoveToNewDocument(Document& oldDocument) OVERRIDE; 197 virtual void didMoveToNewDocument(Document& oldDocument) OVERRIDE;
202 198
203 enum DisplayMode { Unknown, Poster, PosterWaitingForVideo, Video }; 199 enum DisplayMode { Unknown, Poster, PosterWaitingForVideo, Video };
204 DisplayMode displayMode() const { return m_displayMode; } 200 DisplayMode displayMode() const { return m_displayMode; }
205 virtual void setDisplayMode(DisplayMode mode) { m_displayMode = mode; } 201 virtual void setDisplayMode(DisplayMode mode) { m_displayMode = mode; }
206 202
207 void setControllerInternal(PassRefPtrWillBeRawPtr<MediaController>);
208
209 private: 203 private:
210 void createMediaPlayer(); 204 void createMediaPlayer();
211 205
212 virtual bool isMouseFocusable() const OVERRIDE FINAL; 206 virtual bool isMouseFocusable() const OVERRIDE FINAL;
213 virtual bool rendererIsNeeded(const RenderStyle&) OVERRIDE; 207 virtual bool rendererIsNeeded(const RenderStyle&) OVERRIDE;
214 virtual RenderObject* createRenderer(RenderStyle*) OVERRIDE; 208 virtual RenderObject* createRenderer(RenderStyle*) OVERRIDE;
215 virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE F INAL; 209 virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE F INAL;
216 virtual void didNotifySubtreeInsertionsToDocument() OVERRIDE; 210 virtual void didNotifySubtreeInsertionsToDocument() OVERRIDE;
217 virtual void removedFrom(ContainerNode*) OVERRIDE FINAL; 211 virtual void removedFrom(ContainerNode*) OVERRIDE FINAL;
218 virtual void didRecalcStyle(StyleRecalcChange) OVERRIDE FINAL; 212 virtual void didRecalcStyle(StyleRecalcChange) OVERRIDE FINAL;
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
308 302
309 void prepareMediaFragmentURI(); 303 void prepareMediaFragmentURI();
310 void applyMediaFragmentURI(); 304 void applyMediaFragmentURI();
311 305
312 virtual void* preDispatchEventHandler(Event*) OVERRIDE FINAL; 306 virtual void* preDispatchEventHandler(Event*) OVERRIDE FINAL;
313 307
314 void changeNetworkStateFromLoadingToIdle(); 308 void changeNetworkStateFromLoadingToIdle();
315 309
316 const AtomicString& mediaGroup() const; 310 const AtomicString& mediaGroup() const;
317 void setMediaGroup(const AtomicString&); 311 void setMediaGroup(const AtomicString&);
318 void updateMediaController();
319 bool isBlocked() const; 312 bool isBlocked() const;
320 bool isBlockedOnMediaController() const;
321 bool isAutoplaying() const { return m_autoplaying; } 313 bool isAutoplaying() const { return m_autoplaying; }
322 314
323 blink::WebMediaPlayer::CORSMode corsMode() const; 315 blink::WebMediaPlayer::CORSMode corsMode() const;
324 316
325 // Returns the "direction of playback" value as specified in the HTML5 spec. 317 // Returns the "direction of playback" value as specified in the HTML5 spec.
326 enum DirectionOfPlayback { Backward, Forward }; 318 enum DirectionOfPlayback { Backward, Forward };
327 DirectionOfPlayback directionOfPlayback() const; 319 DirectionOfPlayback directionOfPlayback() const;
328 320
329 // Returns the "effective playback rate" value as specified in the HTML5 spe c. 321 // Returns the "effective playback rate" value as specified in the HTML5 spe c.
330 double effectivePlaybackRate() const; 322 double effectivePlaybackRate() const;
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
423 bool m_completelyLoaded : 1; 415 bool m_completelyLoaded : 1;
424 bool m_havePreparedToPlay : 1; 416 bool m_havePreparedToPlay : 1;
425 bool m_delayingLoadForPreloadNone : 1; 417 bool m_delayingLoadForPreloadNone : 1;
426 418
427 bool m_processingPreferenceChange : 1; 419 bool m_processingPreferenceChange : 1;
428 #if ENABLE(OILPAN) 420 #if ENABLE(OILPAN)
429 bool m_isFinalizing : 1; 421 bool m_isFinalizing : 1;
430 bool m_closeMediaSourceWhenFinalizing : 1; 422 bool m_closeMediaSourceWhenFinalizing : 1;
431 #endif 423 #endif
432 424
433 friend class MediaController;
434 RefPtrWillBeMember<MediaController> m_mediaController;
435
436 static URLRegistry* s_mediaStreamRegistry; 425 static URLRegistry* s_mediaStreamRegistry;
437 }; 426 };
438 427
439 #ifndef NDEBUG 428 #ifndef NDEBUG
440 // Template specializations required by PodIntervalTree in debug mode. 429 // Template specializations required by PodIntervalTree in debug mode.
441 template <> 430 template <>
442 struct ValueToString<double> { 431 struct ValueToString<double> {
443 static String string(const double value) 432 static String string(const double value)
444 { 433 {
445 return String::number(value); 434 return String::number(value);
446 } 435 }
447 }; 436 };
448 #endif 437 #endif
449 438
450 inline bool isHTMLMediaElement(const HTMLElement& element) 439 inline bool isHTMLMediaElement(const HTMLElement& element)
451 { 440 {
452 return isHTMLAudioElement(element) || isHTMLVideoElement(element); 441 return isHTMLAudioElement(element) || isHTMLVideoElement(element);
453 } 442 }
454 443
455 DEFINE_HTMLELEMENT_TYPE_CASTS_WITH_FUNCTION(HTMLMediaElement); 444 DEFINE_HTMLELEMENT_TYPE_CASTS_WITH_FUNCTION(HTMLMediaElement);
456 445
457 } // namespace blink 446 } // namespace blink
458 447
459 #endif // HTMLMediaElement_h 448 #endif // HTMLMediaElement_h
OLDNEW
« no previous file with comments | « sky/engine/core/events/EventTargetFactory.in ('k') | sky/engine/core/html/HTMLMediaElement.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698