Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1607)

Unified Diff: cc/trees/remote_channel_unittest.cc

Issue 2158973002: cc: Clean up LayerTreeTest and TestHooks. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: proxy-impls: test Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/trees/remote_channel_main.cc ('k') | cc/trees/single_thread_proxy.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « cc/trees/remote_channel_main.cc ('k') | cc/trees/single_thread_proxy.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698