blob: d4c60db75dbd46d6a740ebe3673184386988ceaf [file] [log] [blame]
// 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 {
std::unique_ptr<ProxyMainForTest> ProxyMainForTest::CreateThreaded(
TestHooks* test_hooks,
LayerTreeHost* host,
TaskRunnerProvider* task_runner_provider) {
std::unique_ptr<ProxyMainForTest> proxy_main(
new ProxyMainForTest(test_hooks, host, task_runner_provider));
std::unique_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;
}
std::unique_ptr<ProxyMainForTest> ProxyMainForTest::CreateRemote(
TestHooks* test_hooks,
RemoteProtoChannel* remote_proto_channel,
LayerTreeHost* host,
TaskRunnerProvider* task_runner_provider) {
std::unique_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(
std::unique_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::BeginMainFrame(
std::unique_ptr<BeginMainFrameAndCommitState> begin_main_frame_state) {
test_hooks_->ReceivedBeginMainFrame();
ProxyMain::BeginMainFrame(std::move(begin_main_frame_state));
}
} // namespace cc