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

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

Issue 1373423003: Remove MediaController (already diabled by REF) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: update web-platform-tests expectations Created 5 years, 2 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
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 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 class WebAudioSourceProvider; 48 class WebAudioSourceProvider;
49 #endif 49 #endif
50 class AudioTrackList; 50 class AudioTrackList;
51 class ContentType; 51 class ContentType;
52 class CueTimeline; 52 class CueTimeline;
53 class Event; 53 class Event;
54 class ExceptionState; 54 class ExceptionState;
55 class HTMLSourceElement; 55 class HTMLSourceElement;
56 class HTMLTrackElement; 56 class HTMLTrackElement;
57 class KURL; 57 class KURL;
58 class MediaController;
59 class MediaControls; 58 class MediaControls;
60 class MediaError; 59 class MediaError;
61 class HTMLMediaSource; 60 class HTMLMediaSource;
62 class TextTrackContainer; 61 class TextTrackContainer;
63 class TextTrackList; 62 class TextTrackList;
64 class TimeRanges; 63 class TimeRanges;
65 class URLRegistry; 64 class URLRegistry;
66 class VideoTrackList; 65 class VideoTrackList;
67 class WebInbandTextTrack; 66 class WebInbandTextTrack;
68 class WebLayer; 67 class WebLayer;
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 void load(); 121 void load();
123 String canPlayType(const String& mimeType, const String& keySystem = String( )) const; 122 String canPlayType(const String& mimeType, const String& keySystem = String( )) const;
124 123
125 // ready state 124 // ready state
126 enum ReadyState { HAVE_NOTHING, HAVE_METADATA, HAVE_CURRENT_DATA, HAVE_FUTUR E_DATA, HAVE_ENOUGH_DATA }; 125 enum ReadyState { HAVE_NOTHING, HAVE_METADATA, HAVE_CURRENT_DATA, HAVE_FUTUR E_DATA, HAVE_ENOUGH_DATA };
127 ReadyState readyState() const; 126 ReadyState readyState() const;
128 bool seeking() const; 127 bool seeking() const;
129 128
130 // playback state 129 // playback state
131 double currentTime() const; 130 double currentTime() const;
132 void setCurrentTime(double, ExceptionState&); 131 void setCurrentTime(double);
133 double duration() const; 132 double duration() const;
134 bool paused() const; 133 bool paused() const;
135 double defaultPlaybackRate() const; 134 double defaultPlaybackRate() const;
136 void setDefaultPlaybackRate(double); 135 void setDefaultPlaybackRate(double);
137 double playbackRate() const; 136 double playbackRate() const;
138 void setPlaybackRate(double); 137 void setPlaybackRate(double);
139 void updatePlaybackRate(); 138 void updatePlaybackRate();
140 TimeRanges* played(); 139 TimeRanges* played();
141 TimeRanges* seekable() const; 140 TimeRanges* seekable() const;
142 bool ended() const; 141 bool ended() const;
(...skipping 15 matching lines...) Expand all
158 void closeMediaSource(); 157 void closeMediaSource();
159 void durationChanged(double duration, bool requestSeek); 158 void durationChanged(double duration, bool requestSeek);
160 159
161 // controls 160 // controls
162 bool shouldShowControls() const; 161 bool shouldShowControls() const;
163 double volume() const; 162 double volume() const;
164 void setVolume(double, ExceptionState&); 163 void setVolume(double, ExceptionState&);
165 bool muted() const; 164 bool muted() const;
166 void setMuted(bool); 165 void setMuted(bool);
167 166
168 // play/pause toggling that uses the media controller if present. togglePlay StateWillPlay() is
169 // true if togglePlayState() will call play() or unpause() on the media elem ent or controller.
170 bool togglePlayStateWillPlay() const;
171 void togglePlayState(); 167 void togglePlayState();
172 168
173 AudioTrackList& audioTracks(); 169 AudioTrackList& audioTracks();
174 void audioTrackChanged(); 170 void audioTrackChanged();
175 171
176 VideoTrackList& videoTracks(); 172 VideoTrackList& videoTracks();
177 void selectedVideoTrackChanged(WebMediaPlayer::TrackId*); 173 void selectedVideoTrackChanged(WebMediaPlayer::TrackId*);
178 174
179 TextTrack* addTextTrack(const AtomicString& kind, const AtomicString& label, const AtomicString& language, ExceptionState&); 175 TextTrack* addTextTrack(const AtomicString& kind, const AtomicString& label, const AtomicString& language, ExceptionState&);
180 176
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 225
230 // Notifies the media element that the media controls became visible, so 226 // Notifies the media element that the media controls became visible, so
231 // that text track layout may be updated to avoid overlapping them. 227 // that text track layout may be updated to avoid overlapping them.
232 void mediaControlsDidBecomeVisible(); 228 void mediaControlsDidBecomeVisible();
233 229
234 void sourceWasRemoved(HTMLSourceElement*); 230 void sourceWasRemoved(HTMLSourceElement*);
235 void sourceWasAdded(HTMLSourceElement*); 231 void sourceWasAdded(HTMLSourceElement*);
236 232
237 // ActiveDOMObject functions. 233 // ActiveDOMObject functions.
238 bool hasPendingActivity() const final; 234 bool hasPendingActivity() const final;
239 void contextDestroyed() final;
240 235
241 #if ENABLE(WEB_AUDIO) 236 #if ENABLE(WEB_AUDIO)
242 AudioSourceProviderClient* audioSourceNode() { return m_audioSourceNode; } 237 AudioSourceProviderClient* audioSourceNode() { return m_audioSourceNode; }
243 void setAudioSourceNode(AudioSourceProviderClient*); 238 void setAudioSourceNode(AudioSourceProviderClient*);
244 239
245 AudioSourceProvider& audioSourceProvider() { return m_audioSourceProvider; } 240 AudioSourceProvider& audioSourceProvider() { return m_audioSourceProvider; }
246 #endif 241 #endif
247 242
248 enum InvalidURLAction { DoNothing, Complain }; 243 enum InvalidURLAction { DoNothing, Complain };
249 bool isSafeToLoadURL(const KURL&, InvalidURLAction); 244 bool isSafeToLoadURL(const KURL&, InvalidURLAction);
250 245
251 // Checks to see if current media data is CORS-same-origin as the 246 // Checks to see if current media data is CORS-same-origin as the
252 // specified origin. 247 // specified origin.
253 bool isMediaDataCORSSameOrigin(SecurityOrigin*) const; 248 bool isMediaDataCORSSameOrigin(SecurityOrigin*) const;
254 249
255 MediaController* controller() const;
256 void setController(MediaController*); // Resets the MediaGroup and sets the MediaController.
257
258 void scheduleEvent(PassRefPtrWillBeRawPtr<Event>); 250 void scheduleEvent(PassRefPtrWillBeRawPtr<Event>);
259 void scheduleTimeupdateEvent(bool periodicEvent); 251 void scheduleTimeupdateEvent(bool periodicEvent);
260 252
261 // Returns the "effective media volume" value as specified in the HTML5 spec . 253 // Returns the "effective media volume" value as specified in the HTML5 spec .
262 double effectiveMediaVolume() const; 254 double effectiveMediaVolume() const;
263 255
264 // Predicates also used when dispatching wrapper creation (cf. [SpecialWrapF or] IDL attribute usage.) 256 // Predicates also used when dispatching wrapper creation (cf. [SpecialWrapF or] IDL attribute usage.)
265 virtual bool isHTMLAudioElement() const { return false; } 257 virtual bool isHTMLAudioElement() const { return false; }
266 virtual bool isHTMLVideoElement() const { return false; } 258 virtual bool isHTMLVideoElement() const { return false; }
267 259
268 protected: 260 protected:
269 HTMLMediaElement(const QualifiedName&, Document&); 261 HTMLMediaElement(const QualifiedName&, Document&);
270 ~HTMLMediaElement() override; 262 ~HTMLMediaElement() override;
271 #if ENABLE(OILPAN) 263 #if ENABLE(OILPAN)
272 void dispose(); 264 void dispose();
273 #endif 265 #endif
274 266
275 void parseAttribute(const QualifiedName&, const AtomicString&) override; 267 void parseAttribute(const QualifiedName&, const AtomicString&) override;
276 void finishParsingChildren() final; 268 void finishParsingChildren() final;
277 bool isURLAttribute(const Attribute&) const override; 269 bool isURLAttribute(const Attribute&) const override;
278 void attach(const AttachContext& = AttachContext()) override; 270 void attach(const AttachContext& = AttachContext()) override;
279 271
280 void didMoveToNewDocument(Document& oldDocument) override; 272 void didMoveToNewDocument(Document& oldDocument) override;
281 virtual KURL posterImageURL() const { return KURL(); } 273 virtual KURL posterImageURL() const { return KURL(); }
282 274
283 enum DisplayMode { Unknown, Poster, Video }; 275 enum DisplayMode { Unknown, Poster, Video };
284 DisplayMode displayMode() const { return m_displayMode; } 276 DisplayMode displayMode() const { return m_displayMode; }
285 virtual void setDisplayMode(DisplayMode mode) { m_displayMode = mode; } 277 virtual void setDisplayMode(DisplayMode mode) { m_displayMode = mode; }
286 278
287 void setControllerInternal(MediaController*);
288
289 private: 279 private:
290 void resetMediaPlayerAndMediaSource(); 280 void resetMediaPlayerAndMediaSource();
291 281
292 bool alwaysCreateUserAgentShadowRoot() const final { return true; } 282 bool alwaysCreateUserAgentShadowRoot() const final { return true; }
293 bool areAuthorShadowsAllowed() const final { return false; } 283 bool areAuthorShadowsAllowed() const final { return false; }
294 284
295 bool supportsFocus() const final; 285 bool supportsFocus() const final;
296 bool isMouseFocusable() const final; 286 bool isMouseFocusable() const final;
297 bool layoutObjectIsNeeded(const ComputedStyle&) override; 287 bool layoutObjectIsNeeded(const ComputedStyle&) override;
298 LayoutObject* createLayoutObject(const ComputedStyle&) override; 288 LayoutObject* createLayoutObject(const ComputedStyle&) override;
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
417 407
418 void ensureMediaControls(); 408 void ensureMediaControls();
419 void configureMediaControls(); 409 void configureMediaControls();
420 410
421 TextTrackContainer& ensureTextTrackContainer(); 411 TextTrackContainer& ensureTextTrackContainer();
422 412
423 void* preDispatchEventHandler(Event*) final; 413 void* preDispatchEventHandler(Event*) final;
424 414
425 void changeNetworkStateFromLoadingToIdle(); 415 void changeNetworkStateFromLoadingToIdle();
426 416
427 const AtomicString& mediaGroup() const;
428 void setMediaGroup(const AtomicString&);
429 void updateMediaController();
430 bool isBlocked() const;
431 bool isBlockedOnMediaController() const;
432 bool isAutoplaying() const { return m_autoplaying; } 417 bool isAutoplaying() const { return m_autoplaying; }
433 418
434 void setAllowHiddenVolumeControls(bool); 419 void setAllowHiddenVolumeControls(bool);
435 420
436 void recordAutoplayMetric(AutoplayMetrics); 421 void recordAutoplayMetric(AutoplayMetrics);
437 422
438 WebMediaPlayer::CORSMode corsMode() const; 423 WebMediaPlayer::CORSMode corsMode() const;
439 424
440 // Returns the "direction of playback" value as specified in the HTML5 spec. 425 // Returns the "direction of playback" value as specified in the HTML5 spec.
441 enum DirectionOfPlayback { Backward, Forward }; 426 enum DirectionOfPlayback { Backward, Forward };
442 DirectionOfPlayback directionOfPlayback() const; 427 DirectionOfPlayback directionOfPlayback() const;
443 428
444 // Returns the "effective playback rate" value as specified in the HTML5 spe c.
445 double effectivePlaybackRate() const;
446
447 // Creates placeholder AudioTrack and/or VideoTrack objects when WebMemediaP layer objects 429 // Creates placeholder AudioTrack and/or VideoTrack objects when WebMemediaP layer objects
448 // advertise they have audio and/or video, but don't explicitly signal them via 430 // advertise they have audio and/or video, but don't explicitly signal them via
449 // addAudioTrack() and addVideoTrack(). 431 // addAudioTrack() and addVideoTrack().
450 // FIXME: Remove this once all WebMediaPlayer implementations properly repor t their track info. 432 // FIXME: Remove this once all WebMediaPlayer implementations properly repor t their track info.
451 void createPlaceholderTracksIfNecessary(); 433 void createPlaceholderTracksIfNecessary();
452 434
453 // Sets the selected/enabled tracks if they aren't set before we initially 435 // Sets the selected/enabled tracks if they aren't set before we initially
454 // transition to HAVE_METADATA. 436 // transition to HAVE_METADATA.
455 void selectInitialTracksIfNecessary(); 437 void selectInitialTracksIfNecessary();
456 438
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
622 604
623 private: 605 private:
624 WebAudioSourceProvider* m_webAudioSourceProvider; 606 WebAudioSourceProvider* m_webAudioSourceProvider;
625 PersistentWillBeMember<AudioClientImpl> m_client; 607 PersistentWillBeMember<AudioClientImpl> m_client;
626 Mutex provideInputLock; 608 Mutex provideInputLock;
627 }; 609 };
628 610
629 AudioSourceProviderImpl m_audioSourceProvider; 611 AudioSourceProviderImpl m_audioSourceProvider;
630 #endif 612 #endif
631 613
632 friend class MediaController;
633 PersistentWillBeMember<MediaController> m_mediaController;
634
635 friend class Internals; 614 friend class Internals;
636 friend class TrackDisplayUpdateScope; 615 friend class TrackDisplayUpdateScope;
637 friend class AutoplayExperimentHelper; 616 friend class AutoplayExperimentHelper;
638 617
639 AutoplayExperimentHelper m_autoplayHelper; 618 AutoplayExperimentHelper m_autoplayHelper;
640 619
641 static URLRegistry* s_mediaStreamRegistry; 620 static URLRegistry* s_mediaStreamRegistry;
642 }; 621 };
643 622
644 inline bool isHTMLMediaElement(const HTMLElement& element) 623 inline bool isHTMLMediaElement(const HTMLElement& element)
645 { 624 {
646 return isHTMLAudioElement(element) || isHTMLVideoElement(element); 625 return isHTMLAudioElement(element) || isHTMLVideoElement(element);
647 } 626 }
648 627
649 DEFINE_HTMLELEMENT_TYPE_CASTS_WITH_FUNCTION(HTMLMediaElement); 628 DEFINE_HTMLELEMENT_TYPE_CASTS_WITH_FUNCTION(HTMLMediaElement);
650 629
651 } // namespace blink 630 } // namespace blink
652 631
653 #endif // HTMLMediaElement_h 632 #endif // HTMLMediaElement_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/html/HTMLAttributeNames.in ('k') | third_party/WebKit/Source/core/html/HTMLMediaElement.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698