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

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

Issue 2898543002: media_controls: Add UI for showing a promo bubble on a control button. (Closed)
Patch Set: make animation work Created 3 years, 7 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 16 matching lines...) Expand all
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 33
34 namespace blink { 34 namespace blink {
35 35
36 class Event; 36 class Event;
37 class MediaControlButtonPromoContainer;
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;
44 class MediaControlDownloadButtonContainer;
43 class MediaControlDownloadButtonElement; 45 class MediaControlDownloadButtonElement;
44 class MediaControlFullscreenButtonElement; 46 class MediaControlFullscreenButtonElement;
45 class MediaControlMuteButtonElement; 47 class MediaControlMuteButtonElement;
46 class MediaControlOverflowMenuButtonElement; 48 class MediaControlOverflowMenuButtonElement;
47 class MediaControlOverflowMenuListElement; 49 class MediaControlOverflowMenuListElement;
48 class MediaControlOverlayEnclosureElement; 50 class MediaControlOverlayEnclosureElement;
49 class MediaControlOverlayPlayButtonElement; 51 class MediaControlOverlayPlayButtonElement;
50 class MediaControlPanelElement; 52 class MediaControlPanelElement;
51 class MediaControlPanelEnclosureElement; 53 class MediaControlPanelEnclosureElement;
52 class MediaControlPlayButtonElement; 54 class MediaControlPlayButtonElement;
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
203 void OnPlaying(); 205 void OnPlaying();
204 void OnPause(); 206 void OnPause();
205 void OnTextTracksAddedOrRemoved(); 207 void OnTextTracksAddedOrRemoved();
206 void OnTextTracksChanged(); 208 void OnTextTracksChanged();
207 void OnError(); 209 void OnError();
208 void OnLoadedMetadata(); 210 void OnLoadedMetadata();
209 void OnEnteredFullscreen(); 211 void OnEnteredFullscreen();
210 void OnExitedFullscreen(); 212 void OnExitedFullscreen();
211 void OnPanelKeypress(); 213 void OnPanelKeypress();
212 214
215 void CreateDownloadButtonPromoUI();
216 void UpdateDownloadButtonWantedState();
217
213 // Media control elements. 218 // Media control elements.
214 Member<MediaControlOverlayEnclosureElement> overlay_enclosure_; 219 Member<MediaControlOverlayEnclosureElement> overlay_enclosure_;
215 Member<MediaControlOverlayPlayButtonElement> overlay_play_button_; 220 Member<MediaControlOverlayPlayButtonElement> overlay_play_button_;
216 Member<MediaControlCastButtonElement> overlay_cast_button_; 221 Member<MediaControlCastButtonElement> overlay_cast_button_;
217 Member<MediaControlPanelEnclosureElement> enclosure_; 222 Member<MediaControlPanelEnclosureElement> enclosure_;
218 Member<MediaControlPanelElement> panel_; 223 Member<MediaControlPanelElement> panel_;
219 Member<MediaControlPlayButtonElement> play_button_; 224 Member<MediaControlPlayButtonElement> play_button_;
220 Member<MediaControlTimelineElement> timeline_; 225 Member<MediaControlTimelineElement> timeline_;
221 Member<MediaControlCurrentTimeDisplayElement> current_time_display_; 226 Member<MediaControlCurrentTimeDisplayElement> current_time_display_;
222 Member<MediaControlRemainingTimeDisplayElement> duration_display_; 227 Member<MediaControlRemainingTimeDisplayElement> duration_display_;
223 Member<MediaControlMuteButtonElement> mute_button_; 228 Member<MediaControlMuteButtonElement> mute_button_;
224 Member<MediaControlVolumeSliderElement> volume_slider_; 229 Member<MediaControlVolumeSliderElement> volume_slider_;
225 Member<MediaControlToggleClosedCaptionsButtonElement> 230 Member<MediaControlToggleClosedCaptionsButtonElement>
226 toggle_closed_captions_button_; 231 toggle_closed_captions_button_;
227 Member<MediaControlTextTrackListElement> text_track_list_; 232 Member<MediaControlTextTrackListElement> text_track_list_;
228 Member<MediaControlOverflowMenuButtonElement> overflow_menu_; 233 Member<MediaControlOverflowMenuButtonElement> overflow_menu_;
229 Member<MediaControlOverflowMenuListElement> overflow_list_; 234 Member<MediaControlOverflowMenuListElement> overflow_list_;
230 235
231 Member<MediaControlCastButtonElement> cast_button_; 236 Member<MediaControlCastButtonElement> cast_button_;
232 Member<MediaControlFullscreenButtonElement> fullscreen_button_; 237 Member<MediaControlFullscreenButtonElement> fullscreen_button_;
238
239 Member<MediaControlDownloadButtonContainer> download_button_container_;
233 Member<MediaControlDownloadButtonElement> download_button_; 240 Member<MediaControlDownloadButtonElement> download_button_;
241 // The promo UI for the download button is lazily created if the UI needs to
242 // be shown.
243 Member<MediaControlButtonPromoContainer> download_promo_container_;
234 244
235 Member<MediaControlsMediaEventListener> media_event_listener_; 245 Member<MediaControlsMediaEventListener> media_event_listener_;
236 Member<MediaControlsWindowEventListener> window_event_listener_; 246 Member<MediaControlsWindowEventListener> window_event_listener_;
237 Member<MediaControlsOrientationLockDelegate> orientation_lock_delegate_; 247 Member<MediaControlsOrientationLockDelegate> orientation_lock_delegate_;
238 Member<MediaControlsRotateToFullscreenDelegate> 248 Member<MediaControlsRotateToFullscreenDelegate>
239 rotate_to_fullscreen_delegate_; 249 rotate_to_fullscreen_delegate_;
240 250
241 TaskRunnerTimer<MediaControlsImpl> hide_media_controls_timer_; 251 TaskRunnerTimer<MediaControlsImpl> hide_media_controls_timer_;
242 unsigned hide_timer_behavior_flags_; 252 unsigned hide_timer_behavior_flags_;
243 bool is_mouse_over_controls_ : 1; 253 bool is_mouse_over_controls_ : 1;
(...skipping 11 matching lines...) Expand all
255 IntSize size_; 265 IntSize size_;
256 266
257 bool keep_showing_until_timer_fires_ : 1; 267 bool keep_showing_until_timer_fires_ : 1;
258 }; 268 };
259 269
260 DEFINE_ELEMENT_TYPE_CASTS(MediaControlsImpl, IsMediaControls()); 270 DEFINE_ELEMENT_TYPE_CASTS(MediaControlsImpl, IsMediaControls());
261 271
262 } // namespace blink 272 } // namespace blink
263 273
264 #endif 274 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698