blob: 42f8a95c3e243087416e4a1e850c03adc6cd2c48 [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.
#ifndef CC_TEST_PROXY_MAIN_FOR_TEST_H_
#define CC_TEST_PROXY_MAIN_FOR_TEST_H_
#include "base/macros.h"
#include "cc/test/test_hooks.h"
#include "cc/trees/proxy_main.h"
namespace cc {
// Creates a ProxyMain that notifies the supplied |test_hooks| of various
// actions.
class ProxyMainForTest : public ProxyMain {
public:
static scoped_ptr<ProxyMain> CreateThreaded(
TestHooks* test_hooks,
LayerTreeHost* host,
TaskRunnerProvider* task_runner_provider);
~ProxyMainForTest() override;
ProxyMainForTest(TestHooks* test_hooks,
LayerTreeHost* host,
TaskRunnerProvider* task_runner_provider);
void SetNeedsUpdateLayers() override;
void DidCompleteSwapBuffers() override;
void SetRendererCapabilities(
const RendererCapabilities& capabilities) override;
void BeginMainFrameNotExpectedSoon() override;
void DidCommitAndDrawFrame() override;
void SetAnimationEvents(scoped_ptr<AnimationEvents> events) override;
void DidLoseOutputSurface() override;
void RequestNewOutputSurface() override;
void DidInitializeOutputSurface(
bool success,
const RendererCapabilities& capabilities) override;
void DidCompletePageScaleAnimation() override;
void PostFrameTimingEventsOnMain(
scoped_ptr<FrameTimingTracker::CompositeTimingSet> composite_events,
scoped_ptr<FrameTimingTracker::MainFrameTimingSet> main_frame_events)
override;
void BeginMainFrame(
scoped_ptr<BeginMainFrameAndCommitState> begin_main_frame_state) override;
TestHooks* test_hooks_;
};
} // namespace cc
#endif // CC_TEST_PROXY_MAIN_FOR_TEST_H_