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

Side by Side Diff: third_party/WebKit/Source/modules/media_controls/MediaControlsImpl.h

Issue 2943983003: chrome/blink: Add functionality for in-product help for media elements. (Closed)
Patch Set: tests Created 3 years, 5 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) 2011, 2012 Apple Inc. All rights reserved. 2 * Copyright (C) 2011, 2012 Apple Inc. All rights reserved.
3 * Copyright (C) 2011, 2012 Google Inc. All rights reserved. 3 * Copyright (C) 2011, 2012 Google Inc. All rights reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 12 matching lines...) Expand all
23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 */ 25 */
26 26
27 #ifndef MediaControlsImpl_h 27 #ifndef MediaControlsImpl_h
28 #define MediaControlsImpl_h 28 #define MediaControlsImpl_h
29 29
30 #include "core/html/HTMLDivElement.h" 30 #include "core/html/HTMLDivElement.h"
31 #include "core/html/media/MediaControls.h" 31 #include "core/html/media/MediaControls.h"
32 #include "modules/ModulesExport.h" 32 #include "modules/ModulesExport.h"
33 #include "public/platform/media_in_product_help.mojom-blink.h"
33 34
34 namespace blink { 35 namespace blink {
35 36
36 class Event; 37 class Event;
37 class MediaControlsMediaEventListener; 38 class MediaControlsMediaEventListener;
38 class MediaControlsOrientationLockDelegate; 39 class MediaControlsOrientationLockDelegate;
39 class MediaControlsRotateToFullscreenDelegate; 40 class MediaControlsRotateToFullscreenDelegate;
40 class MediaControlsWindowEventListener; 41 class MediaControlsWindowEventListener;
41 class MediaControlCastButtonElement; 42 class MediaControlCastButtonElement;
42 class MediaControlCurrentTimeDisplayElement; 43 class MediaControlCurrentTimeDisplayElement;
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
113 void ToggleOverflowMenu(); 114 void ToggleOverflowMenu();
114 bool OverflowMenuVisible(); 115 bool OverflowMenuVisible();
115 116
116 void ShowOverlayCastButtonIfNeeded(); 117 void ShowOverlayCastButtonIfNeeded();
117 118
118 // Methods call by the scrubber. 119 // Methods call by the scrubber.
119 void BeginScrubbing(); 120 void BeginScrubbing();
120 void EndScrubbing(); 121 void EndScrubbing();
121 void UpdateCurrentTimeDisplay(); 122 void UpdateCurrentTimeDisplay();
122 123
124 void MaybeDispatchDownloadIPHTrigger();
125
123 DECLARE_VIRTUAL_TRACE(); 126 DECLARE_VIRTUAL_TRACE();
124 127
125 private: 128 private:
126 // MediaControlsMediaEventListener is a component that is listening to events 129 // MediaControlsMediaEventListener is a component that is listening to events
127 // and calling the appropriate callback on MediaControlsImpl. The object is 130 // and calling the appropriate callback on MediaControlsImpl. The object is
128 // split from MedaiControlsImpl to reduce boilerplate and ease reading. In 131 // split from MedaiControlsImpl to reduce boilerplate and ease reading. In
129 // order to not expose accessors only for this component, a friendship is 132 // order to not expose accessors only for this component, a friendship is
130 // declared. 133 // declared.
131 friend class MediaControlsMediaEventListener; 134 friend class MediaControlsMediaEventListener;
132 // Same as above but handles the menus hiding when the window is interacted 135 // Same as above but handles the menus hiding when the window is interacted
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 void OnPause(); 208 void OnPause();
206 void OnTextTracksAddedOrRemoved(); 209 void OnTextTracksAddedOrRemoved();
207 void OnTextTracksChanged(); 210 void OnTextTracksChanged();
208 void OnError(); 211 void OnError();
209 void OnLoadedMetadata(); 212 void OnLoadedMetadata();
210 void OnEnteredFullscreen(); 213 void OnEnteredFullscreen();
211 void OnExitedFullscreen(); 214 void OnExitedFullscreen();
212 void OnPanelKeypress(); 215 void OnPanelKeypress();
213 void OnMediaKeyboardEvent(Event* event) { DefaultEventHandler(event); } 216 void OnMediaKeyboardEvent(Event* event) { DefaultEventHandler(event); }
214 217
218 void UpdateDownloadInProductHelpState();
219 void DismissDownloadInProductHelp();
220
215 // Media control elements. 221 // Media control elements.
216 Member<MediaControlOverlayEnclosureElement> overlay_enclosure_; 222 Member<MediaControlOverlayEnclosureElement> overlay_enclosure_;
217 Member<MediaControlOverlayPlayButtonElement> overlay_play_button_; 223 Member<MediaControlOverlayPlayButtonElement> overlay_play_button_;
218 Member<MediaControlCastButtonElement> overlay_cast_button_; 224 Member<MediaControlCastButtonElement> overlay_cast_button_;
219 Member<MediaControlPanelEnclosureElement> enclosure_; 225 Member<MediaControlPanelEnclosureElement> enclosure_;
220 Member<MediaControlPanelElement> panel_; 226 Member<MediaControlPanelElement> panel_;
221 Member<MediaControlPlayButtonElement> play_button_; 227 Member<MediaControlPlayButtonElement> play_button_;
222 Member<MediaControlTimelineElement> timeline_; 228 Member<MediaControlTimelineElement> timeline_;
223 Member<MediaControlCurrentTimeDisplayElement> current_time_display_; 229 Member<MediaControlCurrentTimeDisplayElement> current_time_display_;
224 Member<MediaControlRemainingTimeDisplayElement> duration_display_; 230 Member<MediaControlRemainingTimeDisplayElement> duration_display_;
(...skipping 25 matching lines...) Expand all
250 Member<ResizeObserver> resize_observer_; 256 Member<ResizeObserver> resize_observer_;
251 257
252 // Watches the media element for attribute changes and updates media controls 258 // Watches the media element for attribute changes and updates media controls
253 // as necessary. 259 // as necessary.
254 Member<MediaElementMutationCallback> element_mutation_callback_; 260 Member<MediaElementMutationCallback> element_mutation_callback_;
255 261
256 TaskRunnerTimer<MediaControlsImpl> element_size_changed_timer_; 262 TaskRunnerTimer<MediaControlsImpl> element_size_changed_timer_;
257 IntSize size_; 263 IntSize size_;
258 264
259 bool keep_showing_until_timer_fires_ : 1; 265 bool keep_showing_until_timer_fires_ : 1;
266
267 std::unique_ptr<mojom::blink::MediaInProductHelpPtr> media_in_product_help_;
268 bool media_download_in_product_trigger_observed_ = false;
260 }; 269 };
261 270
262 DEFINE_ELEMENT_TYPE_CASTS(MediaControlsImpl, IsMediaControls()); 271 DEFINE_ELEMENT_TYPE_CASTS(MediaControlsImpl, IsMediaControls());
263 272
264 } // namespace blink 273 } // namespace blink
265 274
266 #endif 275 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698