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

Side by Side Diff: cc/trees/layer_tree_host_unittest_delegated.cc

Issue 20185002: ContextProvider in OutputSurface (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: contextprovider: android Created 7 years, 4 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/trees/layer_tree_host.h" 5 #include "cc/trees/layer_tree_host.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "cc/layers/delegated_renderer_layer.h" 8 #include "cc/layers/delegated_renderer_layer.h"
9 #include "cc/layers/delegated_renderer_layer_client.h" 9 #include "cc/layers/delegated_renderer_layer_client.h"
10 #include "cc/layers/delegated_renderer_layer_impl.h" 10 #include "cc/layers/delegated_renderer_layer_impl.h"
11 #include "cc/output/compositor_frame.h" 11 #include "cc/output/compositor_frame.h"
12 #include "cc/output/compositor_frame_ack.h" 12 #include "cc/output/compositor_frame_ack.h"
13 #include "cc/output/delegated_frame_data.h" 13 #include "cc/output/delegated_frame_data.h"
14 #include "cc/quads/shared_quad_state.h" 14 #include "cc/quads/shared_quad_state.h"
15 #include "cc/quads/texture_draw_quad.h" 15 #include "cc/quads/texture_draw_quad.h"
16 #include "cc/test/fake_delegated_renderer_layer.h" 16 #include "cc/test/fake_delegated_renderer_layer.h"
17 #include "cc/test/fake_delegated_renderer_layer_impl.h" 17 #include "cc/test/fake_delegated_renderer_layer_impl.h"
18 #include "cc/test/fake_output_surface.h" 18 #include "cc/test/fake_output_surface.h"
19 #include "cc/test/layer_tree_test.h" 19 #include "cc/test/layer_tree_test.h"
20 #include "cc/trees/layer_tree_impl.h" 20 #include "cc/trees/layer_tree_impl.h"
21 #include "gpu/GLES2/gl2extchromium.h" 21 #include "gpu/GLES2/gl2extchromium.h"
22 #include "third_party/WebKit/public/platform/WebGraphicsContext3D.h"
22 23
23 namespace cc { 24 namespace cc {
24 namespace { 25 namespace {
25 26
26 // These tests deal with delegated renderer layers. 27 // These tests deal with delegated renderer layers.
27 class LayerTreeHostDelegatedTest : public LayerTreeTest { 28 class LayerTreeHostDelegatedTest : public LayerTreeTest {
28 protected: 29 protected:
29 scoped_ptr<DelegatedFrameData> CreateFrameData(gfx::Rect root_output_rect, 30 scoped_ptr<DelegatedFrameData> CreateFrameData(gfx::Rect root_output_rect,
30 gfx::Rect root_damage_rect) { 31 gfx::Rect root_damage_rect) {
31 scoped_ptr<DelegatedFrameData> frame(new DelegatedFrameData); 32 scoped_ptr<DelegatedFrameData> frame(new DelegatedFrameData);
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
239 return; 240 return;
240 delegated_->SetFrameData(CreateFrameData(gfx::Rect(0, 0, 1, 1), 241 delegated_->SetFrameData(CreateFrameData(gfx::Rect(0, 0, 1, 1),
241 gfx::Rect(0, 0, 1, 1))); 242 gfx::Rect(0, 0, 1, 1)));
242 } 243 }
243 244
244 virtual void DidActivateTreeOnThread(LayerTreeHostImpl* host_impl) OVERRIDE { 245 virtual void DidActivateTreeOnThread(LayerTreeHostImpl* host_impl) OVERRIDE {
245 LayerImpl* root_impl = host_impl->active_tree()->root_layer(); 246 LayerImpl* root_impl = host_impl->active_tree()->root_layer();
246 FakeDelegatedRendererLayerImpl* delegated_impl = 247 FakeDelegatedRendererLayerImpl* delegated_impl =
247 static_cast<FakeDelegatedRendererLayerImpl*>(root_impl->children()[0]); 248 static_cast<FakeDelegatedRendererLayerImpl*>(root_impl->children()[0]);
248 249
249 WebKit::WebGraphicsContext3D* context = 250 ContextProvider* context_provider =
250 host_impl->resource_provider()->GraphicsContext3D(); 251 host_impl->output_surface()->context_provider();
251 252
252 ++num_activates_; 253 ++num_activates_;
253 switch (num_activates_) { 254 switch (num_activates_) {
254 case 2: 255 case 2:
255 EXPECT_TRUE(delegated_impl->ChildId()); 256 EXPECT_TRUE(delegated_impl->ChildId());
256 EXPECT_FALSE(did_reset_child_id_); 257 EXPECT_FALSE(did_reset_child_id_);
257 258
258 context->loseContextCHROMIUM(GL_GUILTY_CONTEXT_RESET_ARB, 259 context_provider->Context3d()->loseContextCHROMIUM(
259 GL_INNOCENT_CONTEXT_RESET_ARB); 260 GL_GUILTY_CONTEXT_RESET_ARB,
261 GL_INNOCENT_CONTEXT_RESET_ARB);
260 break; 262 break;
261 case 3: 263 case 3:
262 EXPECT_TRUE(delegated_impl->ChildId()); 264 EXPECT_TRUE(delegated_impl->ChildId());
263 EXPECT_TRUE(did_reset_child_id_); 265 EXPECT_TRUE(did_reset_child_id_);
264 EndTest(); 266 EndTest();
265 break; 267 break;
266 } 268 }
267 } 269 }
268 270
269 virtual void InitializedRendererOnThread(LayerTreeHostImpl* host_impl, 271 virtual void InitializedRendererOnThread(LayerTreeHostImpl* host_impl,
(...skipping 1196 matching lines...) Expand 10 before | Expand all | Expand 10 after
1466 } 1468 }
1467 } 1469 }
1468 1470
1469 virtual void AfterTest() OVERRIDE {} 1471 virtual void AfterTest() OVERRIDE {}
1470 }; 1472 };
1471 1473
1472 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostDelegatedTestCommitWithoutTake); 1474 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostDelegatedTestCommitWithoutTake);
1473 1475
1474 } // namespace 1476 } // namespace
1475 } // namespace cc 1477 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698