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/HTMLVideoElement.h" | 5 #include "core/html/HTMLVideoElement.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 #include "core/dom/Document.h" | 8 #include "core/dom/Document.h" |
9 #include "core/dom/DocumentUserGestureToken.h" | 9 #include "core/dom/DocumentUserGestureToken.h" |
10 #include "core/loader/EmptyClients.h" | 10 #include "core/loader/EmptyClients.h" |
11 #include "core/testing/DummyPageHolder.h" | 11 #include "core/testing/DummyPageHolder.h" |
12 #include "platform/UserGestureIndicator.h" | 12 #include "platform/UserGestureIndicator.h" |
13 #include "platform/network/NetworkStateNotifier.h" | 13 #include "platform/network/NetworkStateNotifier.h" |
| 14 #include "platform/testing/EmptyWebMediaPlayer.h" |
14 #include "platform/testing/UnitTestHelpers.h" | 15 #include "platform/testing/UnitTestHelpers.h" |
15 #include "public/platform/WebMediaPlayer.h" | |
16 #include "public/platform/WebSize.h" | 16 #include "public/platform/WebSize.h" |
17 #include "testing/gmock/include/gmock/gmock.h" | 17 #include "testing/gmock/include/gmock/gmock.h" |
18 #include "testing/gtest/include/gtest/gtest.h" | 18 #include "testing/gtest/include/gtest/gtest.h" |
19 #include "wtf/PtrUtil.h" | 19 #include "wtf/PtrUtil.h" |
20 | 20 |
21 namespace blink { | 21 namespace blink { |
22 | 22 |
23 namespace { | 23 namespace { |
24 | 24 |
25 class EmptyWebMediaPlayer : public WebMediaPlayer { | |
26 public: | |
27 void load(LoadType, const WebMediaPlayerSource&, CORSMode) override{}; | |
28 void play() override{}; | |
29 void pause() override{}; | |
30 bool supportsSave() const override { return false; }; | |
31 void seek(double seconds) override{}; | |
32 void setRate(double) override{}; | |
33 void setVolume(double) override{}; | |
34 WebTimeRanges buffered() const override { return WebTimeRanges(); }; | |
35 WebTimeRanges seekable() const override { return WebTimeRanges(); }; | |
36 void setSinkId(const WebString& sinkId, | |
37 const WebSecurityOrigin&, | |
38 WebSetSinkIdCallbacks*) override{}; | |
39 bool hasVideo() const override { return false; }; | |
40 bool hasAudio() const override { return false; }; | |
41 WebSize naturalSize() const override { return WebSize(0, 0); }; | |
42 bool paused() const override { return false; }; | |
43 bool seeking() const override { return false; }; | |
44 double duration() const override { return 0.0; }; | |
45 double currentTime() const override { return 0.0; }; | |
46 NetworkState getNetworkState() const override { return NetworkStateEmpty; }; | |
47 ReadyState getReadyState() const override { return ReadyStateHaveNothing; }; | |
48 WebString getErrorMessage() override { return WebString(); }; | |
49 bool didLoadingProgress() override { return false; }; | |
50 bool hasSingleSecurityOrigin() const override { return true; }; | |
51 bool didPassCORSAccessCheck() const override { return true; }; | |
52 double mediaTimeForTimeValue(double timeValue) const override { | |
53 return timeValue; | |
54 }; | |
55 unsigned decodedFrameCount() const override { return 0; }; | |
56 unsigned droppedFrameCount() const override { return 0; }; | |
57 size_t audioDecodedByteCount() const override { return 0; }; | |
58 size_t videoDecodedByteCount() const override { return 0; }; | |
59 void paint(WebCanvas*, const WebRect&, PaintFlags&) override{}; | |
60 }; | |
61 | |
62 class MockWebMediaPlayer : public EmptyWebMediaPlayer { | 25 class MockWebMediaPlayer : public EmptyWebMediaPlayer { |
63 public: | 26 public: |
64 MOCK_METHOD1(setBufferingStrategy, void(BufferingStrategy)); | 27 MOCK_METHOD1(setBufferingStrategy, void(BufferingStrategy)); |
65 }; | 28 }; |
66 | 29 |
67 class StubLocalFrameClient : public EmptyLocalFrameClient { | 30 class StubLocalFrameClient : public EmptyLocalFrameClient { |
68 public: | 31 public: |
69 static StubLocalFrameClient* create() { return new StubLocalFrameClient; } | 32 static StubLocalFrameClient* create() { return new StubLocalFrameClient; } |
70 | 33 |
71 std::unique_ptr<WebMediaPlayer> createWebMediaPlayer( | 34 std::unique_ptr<WebMediaPlayer> createWebMediaPlayer( |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
147 ::testing::Mock::VerifyAndClearExpectations(player); | 110 ::testing::Mock::VerifyAndClearExpectations(player); |
148 | 111 |
149 // On play, the strategy is set to normal. | 112 // On play, the strategy is set to normal. |
150 EXPECT_CALL(*player, | 113 EXPECT_CALL(*player, |
151 setBufferingStrategy(WebMediaPlayer::BufferingStrategy::Normal)); | 114 setBufferingStrategy(WebMediaPlayer::BufferingStrategy::Normal)); |
152 m_video->play(); | 115 m_video->play(); |
153 ::testing::Mock::VerifyAndClearExpectations(player); | 116 ::testing::Mock::VerifyAndClearExpectations(player); |
154 } | 117 } |
155 | 118 |
156 } // namespace blink | 119 } // namespace blink |
OLD | NEW |