| 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" |
| 11 #include "core/dom/StyleEngine.h" | 11 #include "core/dom/StyleEngine.h" |
| 12 #include "core/frame/Settings.h" | 12 #include "core/frame/Settings.h" |
| 13 #include "core/html/HTMLVideoElement.h" | 13 #include "core/html/HTMLVideoElement.h" |
| 14 #include "core/testing/DummyPageHolder.h" | 14 #include "core/testing/DummyPageHolder.h" |
| 15 #include "platform/heap/Handle.h" | 15 #include "platform/heap/Handle.h" |
| 16 #include "testing/gtest/include/gtest/gtest.h" | 16 #include "testing/gtest/include/gtest/gtest.h" |
| 17 #include <memory> | |
| 18 | 17 |
| 19 namespace blink { | 18 namespace blink { |
| 20 | 19 |
| 21 namespace { | 20 namespace { |
| 22 | 21 |
| 23 Element* getElementByShadowPseudoId(Node& rootNode, const char* shadowPseudoId) | 22 Element* getElementByShadowPseudoId(Node& rootNode, const char* shadowPseudoId) |
| 24 { | 23 { |
| 25 for (Element& element : ElementTraversal::descendantsOf(rootNode)) { | 24 for (Element& element : ElementTraversal::descendantsOf(rootNode)) { |
| 26 if (element.shadowPseudoId() == shadowPseudoId) | 25 if (element.shadowPseudoId() == shadowPseudoId) |
| 27 return &element; | 26 return &element; |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 78 { | 77 { |
| 79 // Force a relayout, so that the controls know the width. Otherwise, | 78 // Force a relayout, so that the controls know the width. Otherwise, |
| 80 // they don't know if, for example, the cast button will fit. | 79 // they don't know if, for example, the cast button will fit. |
| 81 m_mediaControls->mediaElement().clientWidth(); | 80 m_mediaControls->mediaElement().clientWidth(); |
| 82 } | 81 } |
| 83 | 82 |
| 84 MediaControls& mediaControls() { return *m_mediaControls; } | 83 MediaControls& mediaControls() { return *m_mediaControls; } |
| 85 Document& document() { return m_pageHolder->document(); } | 84 Document& document() { return m_pageHolder->document(); } |
| 86 | 85 |
| 87 private: | 86 private: |
| 88 std::unique_ptr<DummyPageHolder> m_pageHolder; | 87 OwnPtr<DummyPageHolder> m_pageHolder; |
| 89 Persistent<MediaControls> m_mediaControls; | 88 Persistent<MediaControls> m_mediaControls; |
| 90 }; | 89 }; |
| 91 | 90 |
| 92 TEST_F(MediaControlsTest, HideAndShow) | 91 TEST_F(MediaControlsTest, HideAndShow) |
| 93 { | 92 { |
| 94 mediaControls().mediaElement().setBooleanAttribute(HTMLNames::controlsAttr,
true); | 93 mediaControls().mediaElement().setBooleanAttribute(HTMLNames::controlsAttr,
true); |
| 95 | 94 |
| 96 Element* panel = getElementByShadowPseudoId(mediaControls(), "-webkit-media-
controls-panel"); | 95 Element* panel = getElementByShadowPseudoId(mediaControls(), "-webkit-media-
controls-panel"); |
| 97 ASSERT_NE(nullptr, panel); | 96 ASSERT_NE(nullptr, panel); |
| 98 | 97 |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 188 mediaControls().mediaElement().setBooleanAttribute(HTMLNames::disableremotep
laybackAttr, true); | 187 mediaControls().mediaElement().setBooleanAttribute(HTMLNames::disableremotep
laybackAttr, true); |
| 189 simulateRouteAvailabe(); | 188 simulateRouteAvailabe(); |
| 190 ASSERT_FALSE(isElementVisible(*castOverlayButton)); | 189 ASSERT_FALSE(isElementVisible(*castOverlayButton)); |
| 191 | 190 |
| 192 mediaControls().mediaElement().setBooleanAttribute(HTMLNames::disableremotep
laybackAttr, false); | 191 mediaControls().mediaElement().setBooleanAttribute(HTMLNames::disableremotep
laybackAttr, false); |
| 193 mediaControls().reset(); | 192 mediaControls().reset(); |
| 194 ASSERT_TRUE(isElementVisible(*castOverlayButton)); | 193 ASSERT_TRUE(isElementVisible(*castOverlayButton)); |
| 195 } | 194 } |
| 196 | 195 |
| 197 } // namespace blink | 196 } // namespace blink |
| OLD | NEW |