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

Side by Side Diff: cc/layers/texture_layer_unittest.cc

Issue 1895873008: cc : Replace LayerImpl::children calls with LayerById (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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
« no previous file with comments | « cc/layers/scrollbar_layer_unittest.cc ('k') | cc/trees/layer_tree_host_unittest_video.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 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/layers/texture_layer.h" 5 #include "cc/layers/texture_layer.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 1311 matching lines...) Expand 10 before | Expand all | Expand 10 after
1322 1322
1323 void SetupTree() override { 1323 void SetupTree() override {
1324 LayerTreeTest::SetupTree(); 1324 LayerTreeTest::SetupTree();
1325 1325
1326 scoped_refptr<TextureLayer> texture_layer = 1326 scoped_refptr<TextureLayer> texture_layer =
1327 TextureLayer::CreateForMailbox(this); 1327 TextureLayer::CreateForMailbox(this);
1328 texture_layer->SetBounds(gfx::Size(10, 10)); 1328 texture_layer->SetBounds(gfx::Size(10, 10));
1329 texture_layer->SetIsDrawable(true); 1329 texture_layer->SetIsDrawable(true);
1330 1330
1331 layer_tree_host()->root_layer()->AddChild(texture_layer); 1331 layer_tree_host()->root_layer()->AddChild(texture_layer);
1332 texture_layer_id_ = texture_layer->id();
1332 } 1333 }
1333 1334
1334 void BeginTest() override { 1335 void BeginTest() override {
1335 mailbox_released_ = false; 1336 mailbox_released_ = false;
1336 PostSetNeedsCommitToMainThread(); 1337 PostSetNeedsCommitToMainThread();
1337 } 1338 }
1338 1339
1339 void DidCommitAndDrawFrame() override { EndTest(); } 1340 void DidCommitAndDrawFrame() override { EndTest(); }
1340 1341
1341 void AfterTest() override { EXPECT_TRUE(mailbox_released_); } 1342 void AfterTest() override { EXPECT_TRUE(mailbox_released_); }
1342 1343
1344 protected:
1345 int texture_layer_id_;
1346
1343 private: 1347 private:
1344 bool mailbox_released_; 1348 bool mailbox_released_;
1345 }; 1349 };
1346 1350
1347 class TextureLayerReleaseResourcesAfterCommit 1351 class TextureLayerReleaseResourcesAfterCommit
1348 : public TextureLayerReleaseResourcesBase { 1352 : public TextureLayerReleaseResourcesBase {
1349 public: 1353 public:
1350 void CommitCompleteOnThread(LayerTreeHostImpl* host_impl) override { 1354 void CommitCompleteOnThread(LayerTreeHostImpl* host_impl) override {
1351 LayerTreeImpl* tree = nullptr; 1355 LayerTreeImpl* tree = nullptr;
1352 tree = host_impl->sync_tree(); 1356 tree = host_impl->sync_tree();
1353 tree->root_layer()->children()[0]->ReleaseResources(); 1357 tree->LayerById(texture_layer_id_)->ReleaseResources();
1354 } 1358 }
1355 }; 1359 };
1356 1360
1357 SINGLE_AND_MULTI_THREAD_TEST_F(TextureLayerReleaseResourcesAfterCommit); 1361 SINGLE_AND_MULTI_THREAD_TEST_F(TextureLayerReleaseResourcesAfterCommit);
1358 1362
1359 class TextureLayerReleaseResourcesAfterActivate 1363 class TextureLayerReleaseResourcesAfterActivate
1360 : public TextureLayerReleaseResourcesBase { 1364 : public TextureLayerReleaseResourcesBase {
1361 public: 1365 public:
1362 void DidActivateTreeOnThread(LayerTreeHostImpl* host_impl) override { 1366 void DidActivateTreeOnThread(LayerTreeHostImpl* host_impl) override {
1363 host_impl->active_tree()->root_layer()->children()[0]->ReleaseResources(); 1367 host_impl->active_tree()->LayerById(texture_layer_id_)->ReleaseResources();
1364 } 1368 }
1365 }; 1369 };
1366 1370
1367 SINGLE_AND_MULTI_THREAD_TEST_F(TextureLayerReleaseResourcesAfterActivate); 1371 SINGLE_AND_MULTI_THREAD_TEST_F(TextureLayerReleaseResourcesAfterActivate);
1368 1372
1369 class TextureLayerWithMailboxMainThreadDeleted : public LayerTreeTest { 1373 class TextureLayerWithMailboxMainThreadDeleted : public LayerTreeTest {
1370 public: 1374 public:
1371 void ReleaseCallback(const gpu::SyncToken& sync_token, bool lost_resource) { 1375 void ReleaseCallback(const gpu::SyncToken& sync_token, bool lost_resource) {
1372 EXPECT_EQ(true, main_thread_.CalledOnValidThread()); 1376 EXPECT_EQ(true, main_thread_.CalledOnValidThread());
1373 EXPECT_FALSE(lost_resource); 1377 EXPECT_FALSE(lost_resource);
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
1506 int callback_count_; 1510 int callback_count_;
1507 scoped_refptr<Layer> root_; 1511 scoped_refptr<Layer> root_;
1508 scoped_refptr<TextureLayer> layer_; 1512 scoped_refptr<TextureLayer> layer_;
1509 }; 1513 };
1510 1514
1511 SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_TEST_F( 1515 SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_TEST_F(
1512 TextureLayerWithMailboxImplThreadDeleted); 1516 TextureLayerWithMailboxImplThreadDeleted);
1513 1517
1514 } // namespace 1518 } // namespace
1515 } // namespace cc 1519 } // namespace cc
OLDNEW
« no previous file with comments | « cc/layers/scrollbar_layer_unittest.cc ('k') | cc/trees/layer_tree_host_unittest_video.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698