| 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 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 215 | 215 |
| 216 TEST_F(MediaControlsTest, CastButtonDisableRemotePlaybackAttr) { | 216 TEST_F(MediaControlsTest, CastButtonDisableRemotePlaybackAttr) { |
| 217 ensureLayout(); | 217 ensureLayout(); |
| 218 mediaControls().mediaElement().setBooleanAttribute(HTMLNames::controlsAttr, | 218 mediaControls().mediaElement().setBooleanAttribute(HTMLNames::controlsAttr, |
| 219 true); | 219 true); |
| 220 | 220 |
| 221 Element* castButton = getElementByShadowPseudoId( | 221 Element* castButton = getElementByShadowPseudoId( |
| 222 mediaControls(), "-internal-media-controls-cast-button"); | 222 mediaControls(), "-internal-media-controls-cast-button"); |
| 223 ASSERT_NE(nullptr, castButton); | 223 ASSERT_NE(nullptr, castButton); |
| 224 | 224 |
| 225 ASSERT_FALSE(isElementVisible(*castButton)); |
| 226 simulateRouteAvailabe(); |
| 227 ASSERT_TRUE(isElementVisible(*castButton)); |
| 228 |
| 225 mediaControls().mediaElement().setBooleanAttribute( | 229 mediaControls().mediaElement().setBooleanAttribute( |
| 226 HTMLNames::disableremoteplaybackAttr, true); | 230 HTMLNames::disableremoteplaybackAttr, true); |
| 227 simulateRouteAvailabe(); | |
| 228 ASSERT_FALSE(isElementVisible(*castButton)); | 231 ASSERT_FALSE(isElementVisible(*castButton)); |
| 229 | 232 |
| 230 mediaControls().mediaElement().setBooleanAttribute( | 233 mediaControls().mediaElement().setBooleanAttribute( |
| 231 HTMLNames::disableremoteplaybackAttr, false); | 234 HTMLNames::disableremoteplaybackAttr, false); |
| 232 mediaControls().reset(); | |
| 233 ASSERT_TRUE(isElementVisible(*castButton)); | 235 ASSERT_TRUE(isElementVisible(*castButton)); |
| 234 } | 236 } |
| 235 | 237 |
| 236 TEST_F(MediaControlsTest, CastOverlayDefault) { | 238 TEST_F(MediaControlsTest, CastOverlayDefault) { |
| 237 Element* castOverlayButton = getElementByShadowPseudoId( | 239 Element* castOverlayButton = getElementByShadowPseudoId( |
| 238 mediaControls(), "-internal-media-controls-overlay-cast-button"); | 240 mediaControls(), "-internal-media-controls-overlay-cast-button"); |
| 239 ASSERT_NE(nullptr, castOverlayButton); | 241 ASSERT_NE(nullptr, castOverlayButton); |
| 240 | 242 |
| 241 simulateRouteAvailabe(); | 243 simulateRouteAvailabe(); |
| 242 ASSERT_TRUE(isElementVisible(*castOverlayButton)); | 244 ASSERT_TRUE(isElementVisible(*castOverlayButton)); |
| 243 } | 245 } |
| 244 | 246 |
| 245 TEST_F(MediaControlsTest, CastOverlayDisableRemotePlaybackAttr) { | 247 TEST_F(MediaControlsTest, CastOverlayDisableRemotePlaybackAttr) { |
| 246 Element* castOverlayButton = getElementByShadowPseudoId( | 248 Element* castOverlayButton = getElementByShadowPseudoId( |
| 247 mediaControls(), "-internal-media-controls-overlay-cast-button"); | 249 mediaControls(), "-internal-media-controls-overlay-cast-button"); |
| 248 ASSERT_NE(nullptr, castOverlayButton); | 250 ASSERT_NE(nullptr, castOverlayButton); |
| 249 | 251 |
| 252 ASSERT_FALSE(isElementVisible(*castOverlayButton)); |
| 253 simulateRouteAvailabe(); |
| 254 ASSERT_TRUE(isElementVisible(*castOverlayButton)); |
| 255 |
| 250 mediaControls().mediaElement().setBooleanAttribute( | 256 mediaControls().mediaElement().setBooleanAttribute( |
| 251 HTMLNames::disableremoteplaybackAttr, true); | 257 HTMLNames::disableremoteplaybackAttr, true); |
| 252 simulateRouteAvailabe(); | |
| 253 ASSERT_FALSE(isElementVisible(*castOverlayButton)); | 258 ASSERT_FALSE(isElementVisible(*castOverlayButton)); |
| 254 | 259 |
| 255 mediaControls().mediaElement().setBooleanAttribute( | 260 mediaControls().mediaElement().setBooleanAttribute( |
| 256 HTMLNames::disableremoteplaybackAttr, false); | 261 HTMLNames::disableremoteplaybackAttr, false); |
| 257 mediaControls().reset(); | |
| 258 ASSERT_TRUE(isElementVisible(*castOverlayButton)); | 262 ASSERT_TRUE(isElementVisible(*castOverlayButton)); |
| 259 } | 263 } |
| 260 | 264 |
| 261 TEST_F(MediaControlsTest, KeepControlsVisibleIfOverflowListVisible) { | 265 TEST_F(MediaControlsTest, KeepControlsVisibleIfOverflowListVisible) { |
| 262 Element* overflowList = getElementByShadowPseudoId( | 266 Element* overflowList = getElementByShadowPseudoId( |
| 263 mediaControls(), "-internal-media-controls-overflow-menu-list"); | 267 mediaControls(), "-internal-media-controls-overflow-menu-list"); |
| 264 ASSERT_NE(nullptr, overflowList); | 268 ASSERT_NE(nullptr, overflowList); |
| 265 | 269 |
| 266 Element* panel = getElementByShadowPseudoId(mediaControls(), | 270 Element* panel = getElementByShadowPseudoId(mediaControls(), |
| 267 "-webkit-media-controls-panel"); | 271 "-webkit-media-controls-panel"); |
| 268 ASSERT_NE(nullptr, panel); | 272 ASSERT_NE(nullptr, panel); |
| 269 | 273 |
| 270 mediaControls().mediaElement().setSrc("http://example.com"); | 274 mediaControls().mediaElement().setSrc("http://example.com"); |
| 271 mediaControls().mediaElement().play(); | 275 mediaControls().mediaElement().play(); |
| 272 testing::runPendingTasks(); | 276 testing::runPendingTasks(); |
| 273 | 277 |
| 274 mediaControls().show(); | 278 mediaControls().show(); |
| 275 mediaControls().toggleOverflowMenu(); | 279 mediaControls().toggleOverflowMenu(); |
| 276 EXPECT_TRUE(isElementVisible(*overflowList)); | 280 EXPECT_TRUE(isElementVisible(*overflowList)); |
| 277 | 281 |
| 278 simulateHideMediaControlsTimerFired(); | 282 simulateHideMediaControlsTimerFired(); |
| 279 EXPECT_TRUE(isElementVisible(*overflowList)); | 283 EXPECT_TRUE(isElementVisible(*overflowList)); |
| 280 EXPECT_TRUE(isElementVisible(*panel)); | 284 EXPECT_TRUE(isElementVisible(*panel)); |
| 281 } | 285 } |
| 282 | 286 |
| 283 } // namespace blink | 287 } // namespace blink |
| OLD | NEW |