OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "media/blink/webmediaplayer_impl.h" |
| 6 |
5 #include <stdint.h> | 7 #include <stdint.h> |
6 | 8 |
| 9 #include <memory> |
| 10 |
7 #include "base/bind.h" | 11 #include "base/bind.h" |
8 #include "base/callback_helpers.h" | 12 #include "base/callback_helpers.h" |
| 13 #include "base/memory/ptr_util.h" |
9 #include "base/memory/ref_counted.h" | 14 #include "base/memory/ref_counted.h" |
10 #include "base/memory/scoped_ptr.h" | |
11 #include "base/memory/weak_ptr.h" | 15 #include "base/memory/weak_ptr.h" |
12 #include "base/message_loop/message_loop.h" | 16 #include "base/message_loop/message_loop.h" |
13 #include "base/thread_task_runner_handle.h" | 17 #include "base/thread_task_runner_handle.h" |
14 #include "base/threading/thread.h" | 18 #include "base/threading/thread.h" |
15 #include "media/base/audio_hardware_config.h" | 19 #include "media/base/audio_hardware_config.h" |
16 #include "media/base/media_log.h" | 20 #include "media/base/media_log.h" |
17 #include "media/base/test_helpers.h" | 21 #include "media/base/test_helpers.h" |
18 #include "media/blink/mock_webframeclient.h" | 22 #include "media/blink/mock_webframeclient.h" |
19 #include "media/blink/webmediaplayer_delegate.h" | 23 #include "media/blink/webmediaplayer_delegate.h" |
20 #include "media/blink/webmediaplayer_impl.h" | |
21 #include "media/blink/webmediaplayer_params.h" | 24 #include "media/blink/webmediaplayer_params.h" |
22 #include "media/renderers/default_renderer_factory.h" | 25 #include "media/renderers/default_renderer_factory.h" |
23 #include "testing/gmock/include/gmock/gmock.h" | 26 #include "testing/gmock/include/gmock/gmock.h" |
24 #include "testing/gtest/include/gtest/gtest.h" | 27 #include "testing/gtest/include/gtest/gtest.h" |
25 #include "third_party/WebKit/public/platform/WebMediaPlayerClient.h" | 28 #include "third_party/WebKit/public/platform/WebMediaPlayerClient.h" |
26 #include "third_party/WebKit/public/platform/WebSecurityOrigin.h" | 29 #include "third_party/WebKit/public/platform/WebSecurityOrigin.h" |
27 #include "third_party/WebKit/public/web/WebFrameClient.h" | 30 #include "third_party/WebKit/public/web/WebFrameClient.h" |
28 #include "third_party/WebKit/public/web/WebLocalFrame.h" | 31 #include "third_party/WebKit/public/web/WebLocalFrame.h" |
29 #include "third_party/WebKit/public/web/WebView.h" | 32 #include "third_party/WebKit/public/web/WebView.h" |
30 #include "url/gurl.h" | 33 #include "url/gurl.h" |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
89 &web_frame_client_)), | 92 &web_frame_client_)), |
90 media_log_(new MediaLog()), | 93 media_log_(new MediaLog()), |
91 audio_parameters_(TestAudioParameters::Normal()), | 94 audio_parameters_(TestAudioParameters::Normal()), |
92 audio_hardware_config_(audio_parameters_, audio_parameters_) { | 95 audio_hardware_config_(audio_parameters_, audio_parameters_) { |
93 web_view_->setMainFrame(web_local_frame_); | 96 web_view_->setMainFrame(web_local_frame_); |
94 media_thread_.StartAndWaitForTesting(); | 97 media_thread_.StartAndWaitForTesting(); |
95 | 98 |
96 wmpi_.reset(new WebMediaPlayerImpl( | 99 wmpi_.reset(new WebMediaPlayerImpl( |
97 web_local_frame_, &client_, nullptr, | 100 web_local_frame_, &client_, nullptr, |
98 base::WeakPtr<WebMediaPlayerDelegate>(), | 101 base::WeakPtr<WebMediaPlayerDelegate>(), |
99 make_scoped_ptr(new DefaultRendererFactory( | 102 base::WrapUnique(new DefaultRendererFactory( |
100 media_log_, nullptr, DefaultRendererFactory::GetGpuFactoriesCB(), | 103 media_log_, nullptr, DefaultRendererFactory::GetGpuFactoriesCB(), |
101 audio_hardware_config_)), | 104 audio_hardware_config_)), |
102 url_index_, | 105 url_index_, |
103 WebMediaPlayerParams( | 106 WebMediaPlayerParams( |
104 WebMediaPlayerParams::DeferLoadCB(), | 107 WebMediaPlayerParams::DeferLoadCB(), |
105 scoped_refptr<SwitchableAudioRendererSink>(), media_log_, | 108 scoped_refptr<SwitchableAudioRendererSink>(), media_log_, |
106 media_thread_.task_runner(), message_loop_.task_runner(), | 109 media_thread_.task_runner(), message_loop_.task_runner(), |
107 message_loop_.task_runner(), WebMediaPlayerParams::Context3DCB(), | 110 message_loop_.task_runner(), WebMediaPlayerParams::Context3DCB(), |
108 base::Bind(&OnAdjustAllocatedMemory), nullptr, nullptr, nullptr))); | 111 base::Bind(&OnAdjustAllocatedMemory), nullptr, nullptr, nullptr))); |
109 } | 112 } |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
179 | 182 |
180 // Audio hardware configuration. | 183 // Audio hardware configuration. |
181 AudioParameters audio_parameters_; | 184 AudioParameters audio_parameters_; |
182 AudioHardwareConfig audio_hardware_config_; | 185 AudioHardwareConfig audio_hardware_config_; |
183 | 186 |
184 // The client interface used by |wmpi_|. Just a dummy for now, but later we | 187 // The client interface used by |wmpi_|. Just a dummy for now, but later we |
185 // may want a mock or intelligent fake. | 188 // may want a mock or intelligent fake. |
186 DummyWebMediaPlayerClient client_; | 189 DummyWebMediaPlayerClient client_; |
187 | 190 |
188 // The WebMediaPlayerImpl instance under test. | 191 // The WebMediaPlayerImpl instance under test. |
189 scoped_ptr<WebMediaPlayerImpl> wmpi_; | 192 std::unique_ptr<WebMediaPlayerImpl> wmpi_; |
190 | 193 |
191 private: | 194 private: |
192 DISALLOW_COPY_AND_ASSIGN(WebMediaPlayerImplTest); | 195 DISALLOW_COPY_AND_ASSIGN(WebMediaPlayerImplTest); |
193 }; | 196 }; |
194 | 197 |
195 TEST_F(WebMediaPlayerImplTest, ConstructAndDestroy) {} | 198 TEST_F(WebMediaPlayerImplTest, ConstructAndDestroy) {} |
196 | 199 |
197 TEST_F(WebMediaPlayerImplTest, ComputePlayState_AfterConstruction) { | 200 TEST_F(WebMediaPlayerImplTest, ComputePlayState_AfterConstruction) { |
198 WebMediaPlayerImpl::PlayState state; | 201 WebMediaPlayerImpl::PlayState state; |
199 | 202 |
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
364 EXPECT_FALSE(state.is_memory_reporting_enabled); | 367 EXPECT_FALSE(state.is_memory_reporting_enabled); |
365 EXPECT_FALSE(state.is_suspended); | 368 EXPECT_FALSE(state.is_suspended); |
366 | 369 |
367 state = ComputeIdlePlayState(); | 370 state = ComputeIdlePlayState(); |
368 EXPECT_EQ(WebMediaPlayerImpl::DelegateState::ENDED, state.delegate_state); | 371 EXPECT_EQ(WebMediaPlayerImpl::DelegateState::ENDED, state.delegate_state); |
369 EXPECT_FALSE(state.is_memory_reporting_enabled); | 372 EXPECT_FALSE(state.is_memory_reporting_enabled); |
370 EXPECT_TRUE(state.is_suspended); | 373 EXPECT_TRUE(state.is_suspended); |
371 } | 374 } |
372 | 375 |
373 } // namespace media | 376 } // namespace media |
OLD | NEW |