| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 #include "core/html/shadow/MediaControls.h" | 5 #include "core/html/shadow/MediaControls.h" |
| 6 | 6 |
| 7 #include "core/HTMLNames.h" | 7 #include "core/HTMLNames.h" |
| 8 #include "core/css/StylePropertySet.h" | 8 #include "core/css/StylePropertySet.h" |
| 9 #include "core/dom/Document.h" | 9 #include "core/dom/Document.h" |
| 10 #include "core/dom/ElementTraversal.h" | 10 #include "core/dom/ElementTraversal.h" |
| (...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 286 | 286 |
| 287 mediaControls().mediaElement().setBooleanAttribute( | 287 mediaControls().mediaElement().setBooleanAttribute( |
| 288 HTMLNames::disableremoteplaybackAttr, true); | 288 HTMLNames::disableremoteplaybackAttr, true); |
| 289 ASSERT_FALSE(isElementVisible(*castOverlayButton)); | 289 ASSERT_FALSE(isElementVisible(*castOverlayButton)); |
| 290 | 290 |
| 291 mediaControls().mediaElement().setBooleanAttribute( | 291 mediaControls().mediaElement().setBooleanAttribute( |
| 292 HTMLNames::disableremoteplaybackAttr, false); | 292 HTMLNames::disableremoteplaybackAttr, false); |
| 293 ASSERT_TRUE(isElementVisible(*castOverlayButton)); | 293 ASSERT_TRUE(isElementVisible(*castOverlayButton)); |
| 294 } | 294 } |
| 295 | 295 |
| 296 TEST_F(MediaControlsTest, CastOverlayMediaControlsDisabled) { |
| 297 Element* castOverlayButton = getElementByShadowPseudoId( |
| 298 mediaControls(), "-internal-media-controls-overlay-cast-button"); |
| 299 ASSERT_NE(nullptr, castOverlayButton); |
| 300 |
| 301 EXPECT_FALSE(isElementVisible(*castOverlayButton)); |
| 302 simulateRouteAvailabe(); |
| 303 EXPECT_TRUE(isElementVisible(*castOverlayButton)); |
| 304 |
| 305 document().settings()->setMediaControlsEnabled(false); |
| 306 EXPECT_FALSE(isElementVisible(*castOverlayButton)); |
| 307 |
| 308 document().settings()->setMediaControlsEnabled(true); |
| 309 EXPECT_TRUE(isElementVisible(*castOverlayButton)); |
| 310 } |
| 311 |
| 296 TEST_F(MediaControlsTest, KeepControlsVisibleIfOverflowListVisible) { | 312 TEST_F(MediaControlsTest, KeepControlsVisibleIfOverflowListVisible) { |
| 297 Element* overflowList = getElementByShadowPseudoId( | 313 Element* overflowList = getElementByShadowPseudoId( |
| 298 mediaControls(), "-internal-media-controls-overflow-menu-list"); | 314 mediaControls(), "-internal-media-controls-overflow-menu-list"); |
| 299 ASSERT_NE(nullptr, overflowList); | 315 ASSERT_NE(nullptr, overflowList); |
| 300 | 316 |
| 301 Element* panel = getElementByShadowPseudoId(mediaControls(), | 317 Element* panel = getElementByShadowPseudoId(mediaControls(), |
| 302 "-webkit-media-controls-panel"); | 318 "-webkit-media-controls-panel"); |
| 303 ASSERT_NE(nullptr, panel); | 319 ASSERT_NE(nullptr, panel); |
| 304 | 320 |
| 305 mediaControls().mediaElement().setSrc("http://example.com"); | 321 mediaControls().mediaElement().setSrc("http://example.com"); |
| 306 mediaControls().mediaElement().play(); | 322 mediaControls().mediaElement().play(); |
| 307 testing::runPendingTasks(); | 323 testing::runPendingTasks(); |
| 308 | 324 |
| 309 mediaControls().show(); | 325 mediaControls().show(); |
| 310 mediaControls().toggleOverflowMenu(); | 326 mediaControls().toggleOverflowMenu(); |
| 311 EXPECT_TRUE(isElementVisible(*overflowList)); | 327 EXPECT_TRUE(isElementVisible(*overflowList)); |
| 312 | 328 |
| 313 simulateHideMediaControlsTimerFired(); | 329 simulateHideMediaControlsTimerFired(); |
| 314 EXPECT_TRUE(isElementVisible(*overflowList)); | 330 EXPECT_TRUE(isElementVisible(*overflowList)); |
| 315 EXPECT_TRUE(isElementVisible(*panel)); | 331 EXPECT_TRUE(isElementVisible(*panel)); |
| 316 } | 332 } |
| 317 | 333 |
| 318 } // namespace blink | 334 } // namespace blink |
| OLD | NEW |