| Index: cc/trees/remote_channel_unittest.cc
|
| diff --git a/cc/trees/remote_channel_unittest.cc b/cc/trees/remote_channel_unittest.cc
|
| deleted file mode 100644
|
| index 81ec63776dda5b046e823c5810be83dea429d59e..0000000000000000000000000000000000000000
|
| --- a/cc/trees/remote_channel_unittest.cc
|
| +++ /dev/null
|
| @@ -1,257 +0,0 @@
|
| -// Copyright 2016 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/begin_frame_args_test.h"
|
| -#include "cc/test/layer_tree_test.h"
|
| -
|
| -namespace cc {
|
| -
|
| -class RemoteChannelTest : public LayerTreeTest {
|
| - protected:
|
| - RemoteChannelTest()
|
| - : calls_received_(0), calls_received_on_both_server_and_client_(0) {}
|
| -
|
| - ~RemoteChannelTest() override {}
|
| -
|
| - void BeginTest() override {
|
| - DCHECK(IsRemoteTest());
|
| - BeginChannelTest();
|
| - }
|
| - virtual void BeginChannelTest() {}
|
| -
|
| - int calls_received_;
|
| -
|
| - // Since LayerTreeHost on engine and client share a common LayerTreeHostClient
|
| - // for unit tests, there are some functions called twice. This variable keep
|
| - // tracks of those function calls.
|
| - int calls_received_on_both_server_and_client_;
|
| -
|
| - private:
|
| - DISALLOW_COPY_AND_ASSIGN(RemoteChannelTest);
|
| -};
|
| -
|
| -class RemoteChannelTestInitializationAndShutdown : public RemoteChannelTest {
|
| - void SetVisibleOnImpl(bool visible) override { calls_received_++; }
|
| -
|
| - void RequestNewOutputSurface() override {
|
| - LayerTreeTest::RequestNewOutputSurface();
|
| - calls_received_++;
|
| - }
|
| -
|
| - void InitializeOutputSurfaceOnImpl(OutputSurface* output_surface) override {
|
| - calls_received_++;
|
| - }
|
| -
|
| - void DidInitializeOutputSurface() override {
|
| - calls_received_++;
|
| - EndTest();
|
| - }
|
| -
|
| - void FinishGLOnImpl() override { calls_received_++; }
|
| -
|
| - // On initialization and shutdown, each of the above calls should happen only
|
| - // once.
|
| - void AfterTest() override { EXPECT_EQ(5, calls_received_); }
|
| -};
|
| -
|
| -REMOTE_DIRECT_RENDERER_TEST_F(RemoteChannelTestInitializationAndShutdown);
|
| -
|
| -class RemoteChannelTestMainThreadStoppedFlinging : public RemoteChannelTest {
|
| - void BeginChannelTest() override { proxy()->MainThreadHasStoppedFlinging(); }
|
| -
|
| - void MainThreadHasStoppedFlingingOnImpl() override {
|
| - calls_received_++;
|
| - EndTest();
|
| - }
|
| -
|
| - void AfterTest() override { EXPECT_EQ(1, calls_received_); }
|
| -};
|
| -
|
| -REMOTE_DIRECT_RENDERER_TEST_F(RemoteChannelTestMainThreadStoppedFlinging);
|
| -
|
| -class RemoteChannelTestDeferCommits : public RemoteChannelTest {
|
| - void BeginChannelTest() override { DispatchSetDeferCommits(true); }
|
| -
|
| - void SetDeferCommitsOnImpl(bool defer_commits) override {
|
| - EXPECT_TRUE(defer_commits);
|
| - calls_received_++;
|
| - EndTest();
|
| - }
|
| -
|
| - void AfterTest() override { EXPECT_EQ(1, calls_received_); }
|
| -};
|
| -
|
| -REMOTE_DIRECT_RENDERER_TEST_F(RemoteChannelTestDeferCommits);
|
| -
|
| -class RemoteChannelTestNeedsRedraw : public RemoteChannelTest {
|
| - public:
|
| - RemoteChannelTestNeedsRedraw()
|
| - : damaged_rect_(4, 5), device_viewport_size_(0, 0) {}
|
| -
|
| - void BeginChannelTest() override {
|
| - device_viewport_size_ =
|
| - gfx::Rect(remote_client_layer_tree_host()->device_viewport_size());
|
| - layer_tree_host()->SetNeedsRedrawRect(damaged_rect_);
|
| - }
|
| -
|
| - void SetNeedsRedrawOnImpl(const gfx::Rect& damage_rect) override {
|
| - calls_received_++;
|
| - if (calls_received_ == 1) {
|
| - EXPECT_EQ(damaged_rect_, damage_rect);
|
| - } else {
|
| - // The second call is received after the output surface is successfully
|
| - // initialized.
|
| - EXPECT_EQ(device_viewport_size_, damage_rect);
|
| - EndTest();
|
| - }
|
| - }
|
| -
|
| - void AfterTest() override { EXPECT_EQ(2, calls_received_); }
|
| -
|
| - gfx::Rect damaged_rect_;
|
| - gfx::Rect device_viewport_size_;
|
| -};
|
| -
|
| -REMOTE_DIRECT_RENDERER_TEST_F(RemoteChannelTestNeedsRedraw);
|
| -
|
| -class RemoteChannelTestReleaseOutputSurface : public RemoteChannelTest {
|
| - void DidInitializeOutputSurface() override {
|
| - SetVisibleOnLayerTreeHost(false);
|
| - ReleaseOutputSurfaceOnLayerTreeHost();
|
| - }
|
| -
|
| - void ReleaseOutputSurfaceOnImpl() override {
|
| - calls_received_++;
|
| - EndTest();
|
| - }
|
| -
|
| - void AfterTest() override { EXPECT_EQ(1, calls_received_); }
|
| -};
|
| -
|
| -REMOTE_DIRECT_RENDERER_TEST_F(RemoteChannelTestReleaseOutputSurface);
|
| -
|
| -class RemoteChannelTestCommit : public RemoteChannelTest {
|
| - void BeginChannelTest() override {
|
| - layer_tree_host()->SetViewportSize(viewport_size_);
|
| - PostSetNeedsCommitToMainThread();
|
| - }
|
| -
|
| - void SetNeedsCommitOnImpl() override {
|
| - calls_received_++;
|
| - EXPECT_EQ(1, calls_received_);
|
| - }
|
| -
|
| - void ReceivedBeginMainFrame() override {
|
| - calls_received_++;
|
| - EXPECT_EQ(2, calls_received_);
|
| - }
|
| -
|
| - void StartCommitOnImpl() override {
|
| - calls_received_++;
|
| - EXPECT_EQ(3, calls_received_);
|
| - }
|
| -
|
| - void DidCommitAndDrawFrame() override {
|
| - calls_received_on_both_server_and_client_++;
|
| - }
|
| -
|
| - void DidCompleteSwapBuffers() override {
|
| - calls_received_on_both_server_and_client_++;
|
| - if (calls_received_on_both_server_and_client_ == 4)
|
| - EndTest();
|
| - }
|
| -
|
| - void WillCommitCompleteOnThread(LayerTreeHostImpl* host_impl) override {
|
| - // Ensure that we serialized and deserialized the LayerTreeHost for the
|
| - // commit.
|
| - EXPECT_EQ(viewport_size_, host_impl->device_viewport_size());
|
| - }
|
| -
|
| - void AfterTest() override {
|
| - EXPECT_EQ(3, calls_received_);
|
| - EXPECT_EQ(4, calls_received_on_both_server_and_client_);
|
| - }
|
| -
|
| - const gfx::Size viewport_size_ = gfx::Size(5, 3);
|
| -};
|
| -
|
| -REMOTE_DIRECT_RENDERER_TEST_F(RemoteChannelTestCommit);
|
| -
|
| -class RemoteChannelTestBeginMainFrameAborted : public RemoteChannelTest {
|
| - void BeginChannelTest() override { PostSetNeedsCommitToMainThread(); }
|
| -
|
| - void ScheduledActionWillSendBeginMainFrame() override {
|
| - PostSetDeferCommitsToMainThread(true);
|
| - }
|
| -
|
| - void BeginMainFrameAbortedOnImpl(CommitEarlyOutReason reason) override {
|
| - EXPECT_EQ(reason, CommitEarlyOutReason::ABORTED_DEFERRED_COMMIT);
|
| - calls_received_++;
|
| - EndTest();
|
| - }
|
| -
|
| - void AfterTest() override { EXPECT_EQ(1, calls_received_); }
|
| -};
|
| -
|
| -REMOTE_DIRECT_RENDERER_TEST_F(RemoteChannelTestBeginMainFrameAborted);
|
| -
|
| -class RemoteChannelTestReleaseOutputSurfaceDuringCommit
|
| - : public RemoteChannelTest {
|
| - public:
|
| - RemoteChannelTestReleaseOutputSurfaceDuringCommit()
|
| - : output_surface_initialized_count_(0), commit_count_(0) {}
|
| - void BeginChannelTest() override { PostSetNeedsCommitToMainThread(); }
|
| -
|
| - void DidInitializeOutputSurface() override {
|
| - ++output_surface_initialized_count_;
|
| -
|
| - switch (output_surface_initialized_count_) {
|
| - case 1:
|
| - // No commits can be performed before the first output surface is
|
| - // initialized. The Scheduler should not send BeginMainFrames.
|
| - EXPECT_EQ(0, commit_count_);
|
| - break;
|
| - case 2:
|
| - // When the first BeginMainFrame is received on the server, we release
|
| - // the output surface on the client. The RemoteChannelImpl on the client
|
| - // will queue the commit received till a new output surface is
|
| - // initialized, so we shouldn't see any commits till a second output
|
| - // surface is provided to the LTH.
|
| - EXPECT_EQ(0, commit_count_);
|
| - break;
|
| - }
|
| - }
|
| -
|
| - void ReceivedBeginMainFrame() override {
|
| - if (commit_count_ == 0) {
|
| - // Release the output surface before we respond to the BeginMainFrame.
|
| - // We perform the test only for the first BeginMainFrame request.
|
| - SetVisibleOnLayerTreeHost(false);
|
| - ReleaseOutputSurfaceOnLayerTreeHost();
|
| - SetVisibleOnLayerTreeHost(true);
|
| - }
|
| - }
|
| -
|
| - void StartCommitOnImpl() override {
|
| - ++commit_count_;
|
| - if (commit_count_ == 1) {
|
| - // If this is the first commit, then the output surface must have been
|
| - // initialized twice.
|
| - EXPECT_EQ(2, output_surface_initialized_count_);
|
| - EndTest();
|
| - }
|
| - }
|
| -
|
| - void AfterTest() override {}
|
| -
|
| - // Accessed on the main thread and the impl thread, when the main thread is
|
| - // blocked.
|
| - int output_surface_initialized_count_;
|
| - int commit_count_;
|
| -};
|
| -
|
| -REMOTE_DIRECT_RENDERER_TEST_F(
|
| - RemoteChannelTestReleaseOutputSurfaceDuringCommit);
|
| -
|
| -} // namespace cc
|
|
|