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

Unified Diff: cc/trees/layer_tree_host_unittest.cc

Issue 2698793002: cc: Enable use of render surfaces for Android WebView (Closed)
Patch Set: softwaredraw-allow-surfaces: todo-bug Created 3 years, 10 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 | « no previous file | cc/trees/layer_tree_impl.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/trees/layer_tree_host_unittest.cc
diff --git a/cc/trees/layer_tree_host_unittest.cc b/cc/trees/layer_tree_host_unittest.cc
index 0bac7ba69904a8dd1f7cb75990f58e19a323d51f..751366c76ef5be61c37f88054d5d91e8753ee023 100644
--- a/cc/trees/layer_tree_host_unittest.cc
+++ b/cc/trees/layer_tree_host_unittest.cc
@@ -3148,112 +3148,6 @@ class LayerTreeHostTestNumFramesPending : public LayerTreeHostTest {
SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestNumFramesPending);
-class LayerTreeHostTestResourcelessSoftwareDraw : public LayerTreeHostTest {
- protected:
- void InitializeSettings(LayerTreeSettings* settings) override {
- settings->using_synchronous_renderer_compositor = true;
- }
-
- void SetupTree() override {
- root_layer_ = FakePictureLayer::Create(&client_);
- root_layer_->SetIsDrawable(true);
- root_layer_->SetBounds(gfx::Size(50, 50));
-
- parent_layer_ = FakePictureLayer::Create(&client_);
- parent_layer_->SetIsDrawable(true);
- parent_layer_->SetBounds(gfx::Size(50, 50));
- parent_layer_->SetForceRenderSurfaceForTesting(true);
-
- child_layer_ = FakePictureLayer::Create(&client_);
- child_layer_->SetIsDrawable(true);
- child_layer_->SetBounds(gfx::Size(50, 50));
-
- root_layer_->AddChild(parent_layer_);
- parent_layer_->AddChild(child_layer_);
- layer_tree_host()->SetRootLayer(root_layer_);
-
- LayerTreeHostTest::SetupTree();
- client_.set_bounds(root_layer_->bounds());
- }
-
- std::unique_ptr<TestCompositorFrameSink> CreateCompositorFrameSink(
- scoped_refptr<ContextProvider> compositor_context_provider,
- scoped_refptr<ContextProvider> worker_context_provider) override {
- auto on_draw_callback =
- base::Bind(&LayerTreeHostTestResourcelessSoftwareDraw::CallOnDraw,
- base::Unretained(this));
- auto frame_sink = base::MakeUnique<OnDrawCompositorFrameSink>(
- compositor_context_provider, std::move(worker_context_provider),
- shared_bitmap_manager(), gpu_memory_buffer_manager(),
- layer_tree_host()->GetSettings().renderer_settings,
- ImplThreadTaskRunner(), false /* synchronous_composite */,
- false /* force_disable_reclaim_resources */,
- std::move(on_draw_callback));
- compositor_frame_sink_ = frame_sink.get();
- return std::move(frame_sink);
- }
-
- void BeginTest() override { PostSetNeedsCommitToMainThread(); }
-
- void CallOnDraw() {
- if (!TestEnded()) {
- // Synchronous compositor does not draw unless told to do so by the output
- // surface. But it needs to be done on a new stack frame.
- bool resourceless_software_draw = true;
- ImplThreadTaskRunner()->PostTask(
- FROM_HERE, base::Bind(&OnDrawCompositorFrameSink::OnDraw,
- base::Unretained(compositor_frame_sink_),
- resourceless_software_draw));
- }
- }
-
- DrawResult PrepareToDrawOnThread(LayerTreeHostImpl* host_impl,
- LayerTreeHostImpl::FrameData* frame_data,
- DrawResult draw_result) override {
- if (host_impl->GetDrawMode() == DRAW_MODE_RESOURCELESS_SOFTWARE) {
- EXPECT_EQ(1u, frame_data->render_passes.size());
- // Has at least 3 quads for each layer.
- RenderPass* render_pass = frame_data->render_passes[0].get();
- EXPECT_GE(render_pass->quad_list.size(), 3u);
- } else {
- EXPECT_EQ(2u, frame_data->render_passes.size());
-
- // At least root layer quad in root render pass.
- EXPECT_GE(frame_data->render_passes[0]->quad_list.size(), 1u);
- // At least parent and child layer quads in parent render pass.
- EXPECT_GE(frame_data->render_passes[1]->quad_list.size(), 2u);
- }
- return draw_result;
- }
-
- void DrawLayersOnThread(LayerTreeHostImpl* host_impl) override {
- draw_count_++;
- switch (draw_count_) {
- case 1:
- host_impl->SetNeedsRedraw();
- break;
- case 2:
- EndTest();
- break;
- default:
- NOTREACHED();
- }
- }
-
- void AfterTest() override {}
-
- private:
- OnDrawCompositorFrameSink* compositor_frame_sink_ = nullptr;
- FakeContentLayerClient client_;
- scoped_refptr<Layer> root_layer_;
- scoped_refptr<Layer> parent_layer_;
- scoped_refptr<Layer> child_layer_;
- int draw_count_ = 0;
-};
-
-// Resourceless is not used for SingleThreadProxy, so it is unimplemented.
-MULTI_THREAD_TEST_F(LayerTreeHostTestResourcelessSoftwareDraw);
-
// Test for UI Resource management.
class LayerTreeHostTestUIResource : public LayerTreeHostTest {
public:
« no previous file with comments | « no previous file | cc/trees/layer_tree_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698