Index: third_party/WebKit/Source/core/html/shadow/MediaControls.cpp |
diff --git a/third_party/WebKit/Source/core/html/shadow/MediaControls.cpp b/third_party/WebKit/Source/core/html/shadow/MediaControls.cpp |
index 517b668f365d01141d9aea9c014258031d095e57..4d80febe833f2744939b7cde8656e397b6fba622 100644 |
--- a/third_party/WebKit/Source/core/html/shadow/MediaControls.cpp |
+++ b/third_party/WebKit/Source/core/html/shadow/MediaControls.cpp |
@@ -144,32 +144,54 @@ MediaControls* MediaControls::create(HTMLMediaElement& mediaElement) { |
// The media controls DOM structure looks like: |
// |
-// MediaControls (-webkit-media-controls) |
-// +-MediaControlOverlayEnclosureElement (-webkit-media-controls-overlay-enclosure) |
-// | +-MediaControlOverlayPlayButtonElement (-webkit-media-controls-overlay-play-button) |
+// MediaControls |
+// (-webkit-media-controls) |
+// +-MediaControlOverlayEnclosureElement |
+// | (-webkit-media-controls-overlay-enclosure) |
+// | +-MediaControlOverlayPlayButtonElement |
+// | | (-webkit-media-controls-overlay-play-button) |
// | | {if mediaControlsOverlayPlayButtonEnabled} |
-// | \-MediaControlCastButtonElement (-internal-media-controls-overlay-cast-button) |
-// \-MediaControlPanelEnclosureElement (-webkit-media-controls-enclosure) |
-// \-MediaControlPanelElement (-webkit-media-controls-panel) |
-// +-MediaControlPlayButtonElement (-webkit-media-controls-play-button) |
+// | \-MediaControlCastButtonElement |
+// | (-internal-media-controls-overlay-cast-button) |
+// \-MediaControlPanelEnclosureElement |
+// | (-webkit-media-controls-enclosure) |
+// \-MediaControlPanelElement |
+// | (-webkit-media-controls-panel) |
+// +-MediaControlPlayButtonElement |
+// | (-webkit-media-controls-play-button) |
// | {if !RTE::newMediaPlaybackUi()} |
-// +-MediaControlTimelineElement (-webkit-media-controls-timeline) |
-// +-MediaControlCurrentTimeDisplayElement (-webkit-media-controls-current-time-display) |
-// +-MediaControlTimeRemainingDisplayElement (-webkit-media-controls-time-remaining-display) |
+// +-MediaControlTimelineElement |
+// | (-webkit-media-controls-timeline) |
+// +-MediaControlCurrentTimeDisplayElement |
+// | (-webkit-media-controls-current-time-display) |
+// +-MediaControlTimeRemainingDisplayElement |
+// | (-webkit-media-controls-time-remaining-display) |
// | {if RTE::newMediaPlaybackUi()} |
-// +-MediaControlTimelineElement (-webkit-media-controls-timeline) |
-// +-MediaControlMuteButtonElement (-webkit-media-controls-mute-button) |
-// +-MediaControlVolumeSliderElement (-webkit-media-controls-volume-slider) |
-// +-MediaControlFullscreenButtonElement (-webkit-media-controls-fullscreen-button) |
-// +-MediaControlDownloadButtonElement (-internal-media-controls-download-button) |
-// +-MediaControlToggleClosedCaptionsButtonElement (-webkit-media-controls-toggle-closed-captions-button) |
-// \-MediaControlCastButtonElement (-internal-media-controls-cast-button) |
-// +-MediaControlTextTrackListElement (-internal-media-controls-text-track-list) |
+// +-MediaControlTimelineElement |
+// | (-webkit-media-controls-timeline) |
+// +-MediaControlMuteButtonElement |
+// | (-webkit-media-controls-mute-button) |
+// +-MediaControlVolumeSliderElement |
+// | (-webkit-media-controls-volume-slider) |
+// +-MediaControlFullscreenButtonElement |
+// | (-webkit-media-controls-fullscreen-button) |
+// +-MediaControlDownloadButtonElement |
+// | (-internal-media-controls-download-button) |
+// +-MediaControlToggleClosedCaptionsButtonElement |
+// | (-webkit-media-controls-toggle-closed-captions-button) |
+// \-MediaControlCastButtonElement |
+// (-internal-media-controls-cast-button) |
+// +-MediaControlTextTrackListElement |
+// | (-internal-media-controls-text-track-list) |
// | {for each renderable text track} |
-// \-MediaControlTextTrackListItem (-internal-media-controls-text-track-list-item) |
-// +-MediaControlTextTrackListItemInput (-internal-media-controls-text-track-list-item-input) |
-// +-MediaControlTextTrackListItemCaptions (-internal-media-controls-text-track-list-kind-captions) |
-// +-MediaControlTextTrackListItemSubtitles (-internal-media-controls-text-track-list-kind-subtitles) |
+// \-MediaControlTextTrackListItem |
+// | (-internal-media-controls-text-track-list-item) |
+// +-MediaControlTextTrackListItemInput |
+// | (-internal-media-controls-text-track-list-item-input) |
+// +-MediaControlTextTrackListItemCaptions |
+// | (-internal-media-controls-text-track-list-kind-captions) |
+// +-MediaControlTextTrackListItemSubtitles |
+// (-internal-media-controls-text-track-list-kind-subtitles) |
void MediaControls::initializeControls() { |
const bool useNewUi = RuntimeEnabledFeatures::newMediaPlaybackUiEnabled(); |
MediaControlOverlayEnclosureElement* overlayEnclosure = |
@@ -191,7 +213,8 @@ void MediaControls::initializeControls() { |
m_overlayEnclosure = overlayEnclosure; |
appendChild(overlayEnclosure); |
- // Create an enclosing element for the panel so we can visually offset the controls correctly. |
+ // Create an enclosing element for the panel so we can visually offset the |
+ // controls correctly. |
MediaControlPanelEnclosureElement* enclosure = |
MediaControlPanelEnclosureElement::create(*this); |
@@ -279,8 +302,9 @@ void MediaControls::initializeControls() { |
appendChild(overflowList); |
// The order in which we append elements to the overflow list is significant |
- // because it determines how the elements show up in the overflow menu relative to each other. |
- // The first item appended appears at the top of the overflow menu. |
+ // because it determines how the elements show up in the overflow menu |
+ // relative to each other. The first item appended appears at the top of the |
+ // overflow menu. |
m_overflowList->appendChild(m_playButton->createOverflowElement( |
*this, MediaControlPlayButtonElement::create(*this))); |
m_overflowList->appendChild(m_fullscreenButton->createOverflowElement( |
@@ -477,7 +501,8 @@ void MediaControls::updateCurrentTimeDisplay() { |
void MediaControls::updateVolume() { |
m_muteButton->updateDisplayType(); |
- // Invalidate the mute button because it paints differently according to volume. |
+ // Invalidate the mute button because it paints differently according to |
+ // volume. |
invalidate(m_muteButton); |
if (mediaElement().muted()) |
@@ -498,13 +523,15 @@ void MediaControls::updateVolume() { |
// is true, then we choose to hide or show the mute button to save space. |
// If enableNew* is not set, then we never touch the mute button, and |
// instead leave it to the CSS. |
- // Note that this is why m_allowHiddenVolumeControls isn't rolled into prefer...(). |
+ // Note that this is why m_allowHiddenVolumeControls isn't rolled into |
+ // prefer...(). |
if (m_allowHiddenVolumeControls) { |
// If there is no audio track, then hide the mute button. |
m_muteButton->setIsWanted(mediaElement().hasAudio()); |
} |
- // Invalidate the volume slider because it paints differently according to volume. |
+ // Invalidate the volume slider because it paints differently according to |
+ // volume. |
invalidate(m_volumeSlider); |
} |
@@ -541,11 +568,13 @@ void MediaControls::refreshCastButtonVisibilityWithoutUpdate() { |
return; |
} |
- // The reason for the autoplay test is that some pages (e.g. vimeo.com) have an autoplay background video, which |
- // doesn't autoplay on Chrome for Android (we prevent it) so starts paused. In such cases we don't want to automatically |
- // show the cast button, since it looks strange and is unlikely to correspond with anything the user wants to do. |
- // If a user does want to cast a paused autoplay video then they can still do so by touching or clicking on the |
- // video, which will cause the cast button to appear. |
+ // The reason for the autoplay test is that some pages (e.g. vimeo.com) have |
+ // an autoplay background video, which doesn't autoplay on Chrome for Android |
+ // (we prevent it) so starts paused. In such cases we don't want to |
+ // automatically show the cast button, since it looks strange and is unlikely |
+ // to correspond with anything the user wants to do. If a user does want to |
+ // cast a paused autoplay video then they can still do so by touching or |
+ // clicking on the video, which will cause the cast button to appear. |
if (!mediaElement().shouldShowControls() && !mediaElement().autoplay() && |
mediaElement().paused()) { |
// Note that this is a case where we add the overlay cast button |
@@ -607,10 +636,10 @@ void MediaControls::stoppedCasting() { |
void MediaControls::defaultEventHandler(Event* event) { |
HTMLDivElement::defaultEventHandler(event); |
- // Add IgnoreControlsHover to m_hideTimerBehaviorFlags when we see a touch event, |
- // to allow the hide-timer to do the right thing when it fires. |
- // FIXME: Preferably we would only do this when we're actually handling the event |
- // here ourselves. |
+ // Add IgnoreControlsHover to m_hideTimerBehaviorFlags when we see a touch |
+ // event, to allow the hide-timer to do the right thing when it fires. |
+ // FIXME: Preferably we would only do this when we're actually handling the |
+ // event here ourselves. |
bool wasLastEventTouch = |
event->isTouchEvent() || event->isGestureEvent() || |
(event->isMouseEvent() && toMouseEvent(event)->fromTouch()); |