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

Side by Side Diff: cc/surfaces/surface_factory_unittest.cc

Issue 2383373002: Reduce SurfaceIdAllocator usage and tie SurfaceFactory to a single FrameSinkId (Closed)
Patch Set: Rebased Created 4 years, 2 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/surfaces/surface_factory.cc ('k') | cc/surfaces/surface_hittest_unittest.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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/surfaces/surface_factory.h" 5 #include "cc/surfaces/surface_factory.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <utility> 10 #include <utility>
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 gpu::SyncToken GenTestSyncToken(int id) { 60 gpu::SyncToken GenTestSyncToken(int id) {
61 gpu::SyncToken token; 61 gpu::SyncToken token;
62 token.Set(gpu::CommandBufferNamespace::GPU_IO, 0, 62 token.Set(gpu::CommandBufferNamespace::GPU_IO, 0,
63 gpu::CommandBufferId::FromUnsafeValue(id), 1); 63 gpu::CommandBufferId::FromUnsafeValue(id), 1);
64 return token; 64 return token;
65 } 65 }
66 66
67 class SurfaceFactoryTest : public testing::Test, public SurfaceDamageObserver { 67 class SurfaceFactoryTest : public testing::Test, public SurfaceDamageObserver {
68 public: 68 public:
69 SurfaceFactoryTest() 69 SurfaceFactoryTest()
70 : factory_(new SurfaceFactory(&manager_, &client_)), 70 : factory_(
71 new SurfaceFactory(kArbitraryFrameSinkId, &manager_, &client_)),
71 surface_id_(kArbitraryFrameSinkId, 3, 0), 72 surface_id_(kArbitraryFrameSinkId, 3, 0),
72 frame_sync_token_(GenTestSyncToken(4)), 73 frame_sync_token_(GenTestSyncToken(4)),
73 consumer_sync_token_(GenTestSyncToken(5)) { 74 consumer_sync_token_(GenTestSyncToken(5)) {
74 manager_.AddObserver(this); 75 manager_.AddObserver(this);
75 factory_->Create(surface_id_); 76 factory_->Create(surface_id_);
76 } 77 }
77 78
78 // SurfaceDamageObserver implementation. 79 // SurfaceDamageObserver implementation.
79 void OnSurfaceDamaged(const SurfaceId& id, bool* changed) override { 80 void OnSurfaceDamaged(const SurfaceId& id, bool* changed) override {
80 *changed = true; 81 *changed = true;
(...skipping 428 matching lines...) Expand 10 before | Expand all | Expand 10 after
509 factory_->Create(id2); 510 factory_->Create(id2);
510 DCHECK(manager_.GetSurfaceForId(id2)); 511 DCHECK(manager_.GetSurfaceForId(id2));
511 manager_.GetSurfaceForId(id2)->AddDestructionDependency( 512 manager_.GetSurfaceForId(id2)->AddDestructionDependency(
512 SurfaceSequence(FrameSinkId(0, 0), 6)); 513 SurfaceSequence(FrameSinkId(0, 0), 6));
513 factory_->Destroy(id2); 514 factory_->Destroy(id2);
514 DCHECK(!manager_.GetSurfaceForId(id2)); 515 DCHECK(!manager_.GetSurfaceForId(id2));
515 } 516 }
516 517
517 // Tests that Surface ID namespace invalidation correctly allows 518 // Tests that Surface ID namespace invalidation correctly allows
518 // Sequences to be ignored. 519 // Sequences to be ignored.
519 TEST_F(SurfaceFactoryTest, InvalidClientId) { 520 TEST_F(SurfaceFactoryTest, InvalidFrameSinkId) {
520 FrameSinkId frame_sink_id(9, 9); 521 FrameSinkId frame_sink_id(1234, 5678);
521 SurfaceId id(frame_sink_id, 5, 0); 522
523 SurfaceId id(factory_->frame_sink_id(), 5, 0);
522 factory_->Create(id); 524 factory_->Create(id);
523 525
524 manager_.RegisterFrameSinkId(frame_sink_id); 526 manager_.RegisterFrameSinkId(frame_sink_id);
525 manager_.GetSurfaceForId(id)->AddDestructionDependency( 527 manager_.GetSurfaceForId(id)->AddDestructionDependency(
526 SurfaceSequence(frame_sink_id, 4)); 528 SurfaceSequence(frame_sink_id, 4));
527 factory_->Destroy(id); 529 factory_->Destroy(id);
528 530
529 // Verify the dependency has prevented the surface from getting destroyed. 531 // Verify the dependency has prevented the surface from getting destroyed.
530 EXPECT_TRUE(manager_.GetSurfaceForId(id)); 532 EXPECT_TRUE(manager_.GetSurfaceForId(id));
531 533
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
638 640
639 factory_->Destroy(surface_id_); 641 factory_->Destroy(surface_id_);
640 surface_id_ = SurfaceId(); 642 surface_id_ = SurfaceId();
641 EXPECT_TRUE(called1); 643 EXPECT_TRUE(called1);
642 EXPECT_TRUE(called2); 644 EXPECT_TRUE(called2);
643 EXPECT_TRUE(called3); 645 EXPECT_TRUE(called3);
644 } 646 }
645 647
646 } // namespace 648 } // namespace
647 } // namespace cc 649 } // namespace cc
OLDNEW
« no previous file with comments | « cc/surfaces/surface_factory.cc ('k') | cc/surfaces/surface_hittest_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698