| OLD | NEW |
| 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 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 216 MediaControlMuteButtonElement* muteButton = MediaControlMuteButtonElement::c
reate(*this); | 216 MediaControlMuteButtonElement* muteButton = MediaControlMuteButtonElement::c
reate(*this); |
| 217 m_muteButton = muteButton; | 217 m_muteButton = muteButton; |
| 218 panel->appendChild(muteButton); | 218 panel->appendChild(muteButton); |
| 219 | 219 |
| 220 MediaControlVolumeSliderElement* slider = MediaControlVolumeSliderElement::c
reate(*this); | 220 MediaControlVolumeSliderElement* slider = MediaControlVolumeSliderElement::c
reate(*this); |
| 221 m_volumeSlider = slider; | 221 m_volumeSlider = slider; |
| 222 panel->appendChild(slider); | 222 panel->appendChild(slider); |
| 223 if (m_allowHiddenVolumeControls && preferHiddenVolumeControls(document())) | 223 if (m_allowHiddenVolumeControls && preferHiddenVolumeControls(document())) |
| 224 m_volumeSlider->setIsWanted(false); | 224 m_volumeSlider->setIsWanted(false); |
| 225 | 225 |
| 226 MediaControlToggleClosedCaptionsButtonElement* toggleClosedCaptionsButton =
MediaControlToggleClosedCaptionsButtonElement::create(*this); | |
| 227 m_toggleClosedCaptionsButton = toggleClosedCaptionsButton; | |
| 228 panel->appendChild(toggleClosedCaptionsButton); | |
| 229 | |
| 230 MediaControlCastButtonElement* castButton = MediaControlCastButtonElement::c
reate(*this, false); | |
| 231 m_castButton = castButton; | |
| 232 panel->appendChild(castButton); | |
| 233 | |
| 234 MediaControlFullscreenButtonElement* fullscreenButton = MediaControlFullscre
enButtonElement::create(*this); | 226 MediaControlFullscreenButtonElement* fullscreenButton = MediaControlFullscre
enButtonElement::create(*this); |
| 235 m_fullscreenButton = fullscreenButton; | 227 m_fullscreenButton = fullscreenButton; |
| 236 panel->appendChild(fullscreenButton); | 228 panel->appendChild(fullscreenButton); |
| 237 | 229 |
| 238 MediaControlDownloadButtonElement* downloadButton = MediaControlDownloadButt
onElement::create(*this); | 230 MediaControlDownloadButtonElement* downloadButton = MediaControlDownloadButt
onElement::create(*this); |
| 239 m_downloadButton = downloadButton; | 231 m_downloadButton = downloadButton; |
| 240 panel->appendChild(downloadButton); | 232 panel->appendChild(downloadButton); |
| 241 | 233 |
| 234 MediaControlCastButtonElement* castButton = MediaControlCastButtonElement::c
reate(*this, false); |
| 235 m_castButton = castButton; |
| 236 panel->appendChild(castButton); |
| 237 |
| 238 MediaControlToggleClosedCaptionsButtonElement* toggleClosedCaptionsButton =
MediaControlToggleClosedCaptionsButtonElement::create(*this); |
| 239 m_toggleClosedCaptionsButton = toggleClosedCaptionsButton; |
| 240 panel->appendChild(toggleClosedCaptionsButton); |
| 241 |
| 242 m_panel = panel; | 242 m_panel = panel; |
| 243 enclosure->appendChild(panel); | 243 enclosure->appendChild(panel); |
| 244 | 244 |
| 245 m_enclosure = enclosure; | 245 m_enclosure = enclosure; |
| 246 appendChild(enclosure); | 246 appendChild(enclosure); |
| 247 | 247 |
| 248 MediaControlTextTrackListElement* textTrackList = MediaControlTextTrackListE
lement::create(*this); | 248 MediaControlTextTrackListElement* textTrackList = MediaControlTextTrackListE
lement::create(*this); |
| 249 m_textTrackList = textTrackList; | 249 m_textTrackList = textTrackList; |
| 250 appendChild(textTrackList); | 250 appendChild(textTrackList); |
| 251 | 251 |
| 252 MediaControlOverflowMenuButtonElement* overflowMenu = MediaControlOverflowMe
nuButtonElement::create(*this); | 252 MediaControlOverflowMenuButtonElement* overflowMenu = MediaControlOverflowMe
nuButtonElement::create(*this); |
| 253 m_overflowMenu = overflowMenu; | 253 m_overflowMenu = overflowMenu; |
| 254 panel->appendChild(overflowMenu); | 254 panel->appendChild(overflowMenu); |
| 255 | 255 |
| 256 MediaControlOverflowMenuListElement* overflowList = MediaControlOverflowMenu
ListElement::create(*this); | 256 MediaControlOverflowMenuListElement* overflowList = MediaControlOverflowMenu
ListElement::create(*this); |
| 257 m_overflowList = overflowList; | 257 m_overflowList = overflowList; |
| 258 appendChild(overflowList); | 258 appendChild(overflowList); |
| 259 | 259 |
| 260 // The order in which we append elements to the overflow list does matter. | 260 // The order in which we append elements to the overflow list is significant |
| 261 // because it determines how the elements show up in the overflow menu relat
ive to each other. |
| 262 // The first item appended appears at the top of the overflow menu. |
| 263 m_overflowList->appendChild(m_playButton->createOverflowElement(*this, Media
ControlPlayButtonElement::create(*this))); |
| 264 m_overflowList->appendChild(m_fullscreenButton->createOverflowElement(*this,
MediaControlFullscreenButtonElement::create(*this))); |
| 265 m_overflowList->appendChild(m_downloadButton->createOverflowElement(*this, M
ediaControlDownloadButtonElement::create(*this))); |
| 261 m_overflowList->appendChild(m_muteButton->createOverflowElement(*this, Media
ControlMuteButtonElement::create(*this))); | 266 m_overflowList->appendChild(m_muteButton->createOverflowElement(*this, Media
ControlMuteButtonElement::create(*this))); |
| 262 m_overflowList->appendChild(m_castButton->createOverflowElement(*this, Media
ControlCastButtonElement::create(*this, false))); | 267 m_overflowList->appendChild(m_castButton->createOverflowElement(*this, Media
ControlCastButtonElement::create(*this, false))); |
| 263 m_overflowList->appendChild(m_toggleClosedCaptionsButton->createOverflowElem
ent(*this, MediaControlToggleClosedCaptionsButtonElement::create(*this))); | 268 m_overflowList->appendChild(m_toggleClosedCaptionsButton->createOverflowElem
ent(*this, MediaControlToggleClosedCaptionsButtonElement::create(*this))); |
| 264 m_overflowList->appendChild(m_fullscreenButton->createOverflowElement(*this,
MediaControlFullscreenButtonElement::create(*this))); | |
| 265 m_overflowList->appendChild(m_playButton->createOverflowElement(*this, Media
ControlPlayButtonElement::create(*this))); | |
| 266 m_overflowList->appendChild(m_downloadButton->createOverflowElement(*this, M
ediaControlDownloadButtonElement::create(*this))); | |
| 267 } | 269 } |
| 268 | 270 |
| 269 void MediaControls::reset() | 271 void MediaControls::reset() |
| 270 { | 272 { |
| 271 EventDispatchForbiddenScope::AllowUserAgentEvents allowEventsInShadow; | 273 EventDispatchForbiddenScope::AllowUserAgentEvents allowEventsInShadow; |
| 272 const bool useNewUi = RuntimeEnabledFeatures::newMediaPlaybackUiEnabled(); | 274 const bool useNewUi = RuntimeEnabledFeatures::newMediaPlaybackUiEnabled(); |
| 273 BatchedControlUpdate batch(this); | 275 BatchedControlUpdate batch(this); |
| 274 | 276 |
| 275 m_allowHiddenVolumeControls = useNewUi; | 277 m_allowHiddenVolumeControls = useNewUi; |
| 276 | 278 |
| (...skipping 432 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 709 | 711 |
| 710 if (!RuntimeEnabledFeatures::newMediaPlaybackUiEnabled()) | 712 if (!RuntimeEnabledFeatures::newMediaPlaybackUiEnabled()) |
| 711 return; | 713 return; |
| 712 | 714 |
| 713 // Controls that we'll hide / show, in order of decreasing priority. | 715 // Controls that we'll hide / show, in order of decreasing priority. |
| 714 MediaControlElement* elements[] = { | 716 MediaControlElement* elements[] = { |
| 715 // Exclude m_overflowMenu; we handle it specially. | 717 // Exclude m_overflowMenu; we handle it specially. |
| 716 m_playButton.get(), | 718 m_playButton.get(), |
| 717 m_fullscreenButton.get(), | 719 m_fullscreenButton.get(), |
| 718 m_downloadButton.get(), | 720 m_downloadButton.get(), |
| 721 m_timeline.get(), |
| 722 m_muteButton.get(), |
| 723 m_volumeSlider.get(), |
| 719 m_toggleClosedCaptionsButton.get(), | 724 m_toggleClosedCaptionsButton.get(), |
| 720 m_timeline.get(), | 725 m_castButton.get(), |
| 721 m_currentTimeDisplay.get(), | 726 m_currentTimeDisplay.get(), |
| 722 m_volumeSlider.get(), | |
| 723 m_castButton.get(), | |
| 724 m_muteButton.get(), | |
| 725 m_durationDisplay.get(), | 727 m_durationDisplay.get(), |
| 726 }; | 728 }; |
| 727 | 729 |
| 728 int usedWidth = 0; | 730 int usedWidth = 0; |
| 729 | 731 |
| 730 // Assume that all controls require 48px, unless we can get the computed | 732 // Assume that all controls require 48px, unless we can get the computed |
| 731 // style for the play button. Since the play button or overflow is always | 733 // style for the play button. Since the play button or overflow is always |
| 732 // shown, one of the two buttons should be available the first time we're | 734 // shown, one of the two buttons should be available the first time we're |
| 733 // called after layout. This will | 735 // called after layout. This will |
| 734 // also be the first time we have m_panelWidth!=0, so it won't matter if | 736 // also be the first time we have m_panelWidth!=0, so it won't matter if |
| (...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 866 visitor->trace(m_enclosure); | 868 visitor->trace(m_enclosure); |
| 867 visitor->trace(m_textTrackList); | 869 visitor->trace(m_textTrackList); |
| 868 visitor->trace(m_overflowMenu); | 870 visitor->trace(m_overflowMenu); |
| 869 visitor->trace(m_overflowList); | 871 visitor->trace(m_overflowList); |
| 870 visitor->trace(m_castButton); | 872 visitor->trace(m_castButton); |
| 871 visitor->trace(m_overlayCastButton); | 873 visitor->trace(m_overlayCastButton); |
| 872 HTMLDivElement::trace(visitor); | 874 HTMLDivElement::trace(visitor); |
| 873 } | 875 } |
| 874 | 876 |
| 875 } // namespace blink | 877 } // namespace blink |
| OLD | NEW |