| OLD | NEW |
| 1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef MediaControls_h | 5 #ifndef MediaControls_h |
| 6 #define MediaControls_h | 6 #define MediaControls_h |
| 7 | 7 |
| 8 #include "core/CoreExport.h" | 8 #include "core/CoreExport.h" |
| 9 #include "platform/heap/Handle.h" | 9 #include "platform/heap/Handle.h" |
| 10 #include "platform/heap/Visitor.h" | 10 #include "platform/heap/Visitor.h" |
| 11 | 11 |
| 12 namespace blink { | 12 namespace blink { |
| 13 | 13 |
| 14 class Document; | 14 class Document; |
| 15 class HTMLMediaElement; | 15 class HTMLMediaElement; |
| 16 class LayoutObject; | 16 class LayoutObject; |
| 17 class MediaControlCastButtonElement; | |
| 18 class MediaControlPanelElement; | 17 class MediaControlPanelElement; |
| 19 class MediaControlTimelineElement; | |
| 20 class MediaControlVolumeSliderElement; | |
| 21 class ShadowRoot; | 18 class ShadowRoot; |
| 22 | 19 |
| 23 // MediaControls is an interface to abstract the HTMLMediaElement controls. The | 20 // MediaControls is an interface to abstract the HTMLMediaElement controls. The |
| 24 // implementation will be used using a Factory (see below). | 21 // implementation will be used using a Factory (see below). |
| 25 class CORE_EXPORT MediaControls : public GarbageCollectedMixin { | 22 class CORE_EXPORT MediaControls : public GarbageCollectedMixin { |
| 26 public: | 23 public: |
| 27 // Factory class that HTMLMediaElement uses to create the MediaControls | 24 // Factory class that HTMLMediaElement uses to create the MediaControls |
| 28 // instance. MediaControls implementations are expected to implement a factory | 25 // instance. MediaControls implementations are expected to implement a factory |
| 29 // class and provide an implementation of it to HTMLMediaElement via | 26 // class and provide an implementation of it to HTMLMediaElement via |
| 30 // `::registerMediaControlsFactory()`. | 27 // `::registerMediaControlsFactory()`. |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 69 // TODO(mlamouri): required by LayoutVTTCue. | 66 // TODO(mlamouri): required by LayoutVTTCue. |
| 70 virtual LayoutObject* PanelLayoutObject() = 0; | 67 virtual LayoutObject* PanelLayoutObject() = 0; |
| 71 // Returns the layout object of the media controls container. Maybe null. | 68 // Returns the layout object of the media controls container. Maybe null. |
| 72 // TODO(mlamouri): required by LayoutVTTCue. | 69 // TODO(mlamouri): required by LayoutVTTCue. |
| 73 virtual LayoutObject* ContainerLayoutObject() = 0; | 70 virtual LayoutObject* ContainerLayoutObject() = 0; |
| 74 | 71 |
| 75 // TODO: the following are required by other parts of the media controls | 72 // TODO: the following are required by other parts of the media controls |
| 76 // implementation and could be removed when the full implementation has moved | 73 // implementation and could be removed when the full implementation has moved |
| 77 // to modules. | 74 // to modules. |
| 78 virtual MediaControlPanelElement* PanelElement() = 0; | 75 virtual MediaControlPanelElement* PanelElement() = 0; |
| 79 virtual MediaControlTimelineElement* TimelineElement() = 0; | |
| 80 virtual MediaControlCastButtonElement* CastButtonElement() = 0; | |
| 81 virtual MediaControlVolumeSliderElement* VolumeSliderElement() = 0; | |
| 82 virtual Document& OwnerDocument() = 0; | 76 virtual Document& OwnerDocument() = 0; |
| 83 virtual void OnVolumeChange() = 0; | 77 virtual void OnVolumeChange() = 0; |
| 84 virtual void OnFocusIn() = 0; | 78 virtual void OnFocusIn() = 0; |
| 85 virtual void OnTimeUpdate() = 0; | 79 virtual void OnTimeUpdate() = 0; |
| 86 virtual void OnDurationChange() = 0; | 80 virtual void OnDurationChange() = 0; |
| 87 virtual void OnPlay() = 0; | 81 virtual void OnPlay() = 0; |
| 88 virtual void OnPlaying() = 0; | 82 virtual void OnPlaying() = 0; |
| 89 virtual void OnPause() = 0; | 83 virtual void OnPause() = 0; |
| 90 virtual void OnTextTracksAddedOrRemoved() = 0; | 84 virtual void OnTextTracksAddedOrRemoved() = 0; |
| 91 virtual void OnTextTracksChanged() = 0; | 85 virtual void OnTextTracksChanged() = 0; |
| 92 virtual void OnError() = 0; | 86 virtual void OnError() = 0; |
| 93 virtual void OnLoadedMetadata() = 0; | 87 virtual void OnLoadedMetadata() = 0; |
| 94 virtual void OnEnteredFullscreen() = 0; | 88 virtual void OnEnteredFullscreen() = 0; |
| 95 virtual void OnExitedFullscreen() = 0; | 89 virtual void OnExitedFullscreen() = 0; |
| 96 virtual void OnPanelKeypress() = 0; | 90 virtual void OnPanelKeypress() = 0; |
| 97 virtual void BeginScrubbing() = 0; | 91 virtual void BeginScrubbing() = 0; |
| 98 virtual void EndScrubbing() = 0; | 92 virtual void EndScrubbing() = 0; |
| 99 virtual void UpdateCurrentTimeDisplay() = 0; | 93 virtual void UpdateCurrentTimeDisplay() = 0; |
| 100 virtual void ToggleTextTrackList() = 0; | 94 virtual void ToggleTextTrackList() = 0; |
| 101 virtual void ShowTextTrackAtIndex(unsigned index_to_enable) = 0; | 95 virtual void ShowTextTrackAtIndex(unsigned) = 0; |
| 102 virtual void DisableShowingTextTracks() = 0; | 96 virtual void DisableShowingTextTracks() = 0; |
| 103 virtual void EnterFullscreen() = 0; | 97 virtual void EnterFullscreen() = 0; |
| 104 virtual void ExitFullscreen() = 0; | 98 virtual void ExitFullscreen() = 0; |
| 105 virtual void ShowOverlayCastButtonIfNeeded() = 0; | 99 virtual void ShowOverlayCastButtonIfNeeded() = 0; |
| 106 virtual void ToggleOverflowMenu() = 0; | 100 virtual void ToggleOverflowMenu() = 0; |
| 107 virtual bool OverflowMenuVisible() = 0; | 101 virtual bool OverflowMenuVisible() = 0; |
| 108 virtual void OnMediaControlsEnabledChange() = 0; | 102 virtual void OnMediaControlsEnabledChange() = 0; |
| 109 | 103 |
| 110 DECLARE_VIRTUAL_TRACE(); | 104 DECLARE_VIRTUAL_TRACE(); |
| 111 | 105 |
| 112 private: | 106 private: |
| 113 Member<HTMLMediaElement> media_element_; | 107 Member<HTMLMediaElement> media_element_; |
| 114 }; | 108 }; |
| 115 | 109 |
| 116 } // namespace blink | 110 } // namespace blink |
| 117 | 111 |
| 118 #endif // MediaControls_h | 112 #endif // MediaControls_h |
| OLD | NEW |