| // Copyright 2015 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "cc/test/proxy_main_for_test.h" |
| |
| #include "cc/animation/animation_events.h" |
| #include "cc/test/threaded_channel_for_test.h" |
| #include "cc/trees/remote_channel_main.h" |
| |
| namespace cc { |
| |
| scoped_ptr<ProxyMainForTest> ProxyMainForTest::CreateThreaded( |
| TestHooks* test_hooks, |
| LayerTreeHost* host, |
| TaskRunnerProvider* task_runner_provider) { |
| scoped_ptr<ProxyMainForTest> proxy_main( |
| new ProxyMainForTest(test_hooks, host, task_runner_provider)); |
| scoped_ptr<ThreadedChannelForTest> channel = ThreadedChannelForTest::Create( |
| test_hooks, proxy_main.get(), task_runner_provider); |
| proxy_main->threaded_channel_for_test_ = channel.get(); |
| proxy_main->SetChannel(std::move(channel)); |
| return proxy_main; |
| } |
| |
| scoped_ptr<ProxyMainForTest> ProxyMainForTest::CreateRemote( |
| TestHooks* test_hooks, |
| RemoteProtoChannel* remote_proto_channel, |
| LayerTreeHost* host, |
| TaskRunnerProvider* task_runner_provider) { |
| scoped_ptr<ProxyMainForTest> proxy_main( |
| new ProxyMainForTest(test_hooks, host, task_runner_provider)); |
| proxy_main->SetChannel(RemoteChannelMain::Create( |
| remote_proto_channel, proxy_main.get(), task_runner_provider)); |
| return proxy_main; |
| } |
| |
| ProxyMainForTest::~ProxyMainForTest() {} |
| |
| ProxyMainForTest::ProxyMainForTest(TestHooks* test_hooks, |
| LayerTreeHost* host, |
| TaskRunnerProvider* task_runner_provider) |
| : ProxyMain(host, task_runner_provider), |
| test_hooks_(test_hooks), |
| threaded_channel_for_test_(nullptr) {} |
| |
| void ProxyMainForTest::SetNeedsUpdateLayers() { |
| ProxyMain::SetNeedsUpdateLayers(); |
| test_hooks_->DidSetNeedsUpdateLayers(); |
| } |
| |
| void ProxyMainForTest::DidCompleteSwapBuffers() { |
| test_hooks_->ReceivedDidCompleteSwapBuffers(); |
| ProxyMain::DidCompleteSwapBuffers(); |
| } |
| |
| void ProxyMainForTest::SetRendererCapabilities( |
| const RendererCapabilities& capabilities) { |
| test_hooks_->ReceivedSetRendererCapabilitiesMainCopy(capabilities); |
| ProxyMain::SetRendererCapabilities(capabilities); |
| } |
| |
| void ProxyMainForTest::BeginMainFrameNotExpectedSoon() { |
| test_hooks_->ReceivedBeginMainFrameNotExpectedSoon(); |
| ProxyMain::BeginMainFrameNotExpectedSoon(); |
| } |
| |
| void ProxyMainForTest::DidCommitAndDrawFrame() { |
| test_hooks_->ReceivedDidCommitAndDrawFrame(); |
| ProxyMain::DidCommitAndDrawFrame(); |
| } |
| |
| void ProxyMainForTest::SetAnimationEvents(scoped_ptr<AnimationEvents> events) { |
| test_hooks_->ReceivedSetAnimationEvents(); |
| ProxyMain::SetAnimationEvents(std::move(events)); |
| } |
| |
| void ProxyMainForTest::DidLoseOutputSurface() { |
| test_hooks_->ReceivedDidLoseOutputSurface(); |
| ProxyMain::DidLoseOutputSurface(); |
| } |
| |
| void ProxyMainForTest::RequestNewOutputSurface() { |
| test_hooks_->ReceivedRequestNewOutputSurface(); |
| ProxyMain::RequestNewOutputSurface(); |
| } |
| |
| void ProxyMainForTest::DidInitializeOutputSurface( |
| bool success, |
| const RendererCapabilities& capabilities) { |
| test_hooks_->ReceivedDidInitializeOutputSurface(success, capabilities); |
| ProxyMain::DidInitializeOutputSurface(success, capabilities); |
| } |
| |
| void ProxyMainForTest::DidCompletePageScaleAnimation() { |
| test_hooks_->ReceivedDidCompletePageScaleAnimation(); |
| ProxyMain::DidCompletePageScaleAnimation(); |
| } |
| |
| void ProxyMainForTest::PostFrameTimingEventsOnMain( |
| scoped_ptr<FrameTimingTracker::CompositeTimingSet> composite_events, |
| scoped_ptr<FrameTimingTracker::MainFrameTimingSet> main_frame_events) { |
| test_hooks_->ReceivedPostFrameTimingEventsOnMain(); |
| ProxyMain::PostFrameTimingEventsOnMain(std::move(composite_events), |
| std::move(main_frame_events)); |
| } |
| |
| void ProxyMainForTest::BeginMainFrame( |
| scoped_ptr<BeginMainFrameAndCommitState> begin_main_frame_state) { |
| test_hooks_->ReceivedBeginMainFrame(); |
| ProxyMain::BeginMainFrame(std::move(begin_main_frame_state)); |
| } |
| |
| } // namespace cc |