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

Unified Diff: ui/compositor/layer_unittest.cc

Issue 2514033002: Introducing SurfaceReferenceFactory (Closed)
Patch Set: ref Created 4 years 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
« ui/compositor/layer.cc ('K') | « ui/compositor/layer.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/compositor/layer_unittest.cc
diff --git a/ui/compositor/layer_unittest.cc b/ui/compositor/layer_unittest.cc
index 75f29657e53620cc735248da11207cf9495fdbc8..3466c08f96eecd96ed3a94c1115ee20143cd458f 100644
--- a/ui/compositor/layer_unittest.cc
+++ b/ui/compositor/layer_unittest.cc
@@ -26,6 +26,7 @@
#include "cc/layers/layer.h"
#include "cc/output/copy_output_request.h"
#include "cc/output/copy_output_result.h"
+#include "cc/surfaces/surface_embedding.h"
#include "cc/surfaces/surface_id.h"
#include "cc/surfaces/surface_sequence.h"
#include "cc/test/pixel_test_utils.h"
@@ -1809,10 +1810,15 @@ TEST_F(LayerWithDelegateTest, SetBoundsWhenInvisible) {
namespace {
-void FakeSatisfyCallback(const cc::SurfaceSequence&) {}
-
-void FakeRequireCallback(const cc::SurfaceId&, const cc::SurfaceSequence&) {}
+class SurfaceEmbedding : public cc::SurfaceEmbeddingUsingSequence {
+ protected:
+ ~SurfaceEmbedding() override = default;
+ private:
+ void SatisfySequence(const cc::SurfaceSequence& seq) const override {}
+ void RequireSequence(const cc::SurfaceId& id,
+ const cc::SurfaceSequence& seq) const override {}
+};
} // namespace
TEST_F(LayerWithDelegateTest, ExternalContent) {
@@ -1833,9 +1839,9 @@ TEST_F(LayerWithDelegateTest, ExternalContent) {
// Showing surface content changes the underlying cc layer.
before = child->cc_layer_for_testing();
- child->SetShowSurface(cc::SurfaceId(), base::Bind(&FakeSatisfyCallback),
- base::Bind(&FakeRequireCallback), gfx::Size(10, 10),
- 1.0, gfx::Size(10, 10));
+ child->SetShowSurface(
+ cc::SurfaceInfo(cc::SurfaceId(), 1.0, gfx::Size(10, 10)),
+ new SurfaceEmbedding(), gfx::Size(10, 10));
EXPECT_TRUE(child->cc_layer_for_testing());
EXPECT_NE(before.get(), child->cc_layer_for_testing());
@@ -1849,40 +1855,33 @@ TEST_F(LayerWithDelegateTest, ExternalContent) {
TEST_F(LayerWithDelegateTest, ExternalContentMirroring) {
std::unique_ptr<Layer> layer(CreateLayer(LAYER_SOLID_COLOR));
- const auto satisfy_callback = base::Bind(&FakeSatisfyCallback);
- const auto require_callback = base::Bind(&FakeRequireCallback);
-
cc::SurfaceId surface_id(
cc::FrameSinkId(0, 1),
cc::LocalFrameId(2, base::UnguessableToken::Create()));
- layer->SetShowSurface(surface_id, satisfy_callback, require_callback,
- gfx::Size(10, 10), 1.0f, gfx::Size(10, 10));
+ cc::SurfaceInfo surface_info(surface_id, 1.0f, gfx::Size(10, 10));
+ layer->SetShowSurface(surface_info, new SurfaceEmbedding(),
+ gfx::Size(10, 10));
const auto mirror = layer->Mirror();
auto* const cc_layer = mirror->cc_layer_for_testing();
const auto* surface = static_cast<cc::SurfaceLayer*>(cc_layer);
// Mirroring preserves surface state.
- EXPECT_EQ(surface_id, surface->surface_id());
- EXPECT_TRUE(satisfy_callback.Equals(surface->satisfy_callback()));
- EXPECT_TRUE(require_callback.Equals(surface->require_callback()));
- EXPECT_EQ(gfx::Size(10, 10), surface->surface_size());
- EXPECT_EQ(1.0f, surface->surface_scale());
+ EXPECT_EQ(surface_info, surface->surface_info());
surface_id =
cc::SurfaceId(cc::FrameSinkId(1, 2),
cc::LocalFrameId(3, base::UnguessableToken::Create()));
- layer->SetShowSurface(surface_id, satisfy_callback, require_callback,
- gfx::Size(20, 20), 2.0f, gfx::Size(20, 20));
+ cc::SurfaceInfo surface_info_2(surface_id, 2.0f, gfx::Size(20, 20));
+ layer->SetShowSurface(surface_info_2, new SurfaceEmbedding(),
+ gfx::Size(20, 20));
// A new cc::Layer should be created for the mirror.
EXPECT_NE(cc_layer, mirror->cc_layer_for_testing());
surface = static_cast<cc::SurfaceLayer*>(mirror->cc_layer_for_testing());
// Surface updates propagate to the mirror.
- EXPECT_EQ(surface_id, surface->surface_id());
- EXPECT_EQ(gfx::Size(20, 20), surface->surface_size());
- EXPECT_EQ(2.0f, surface->surface_scale());
+ EXPECT_EQ(surface_info_2, surface->surface_info());
}
// Verifies that layer filters still attached after changing implementation
@@ -1899,9 +1898,9 @@ TEST_F(LayerWithDelegateTest, LayerFiltersSurvival) {
// Showing surface content changes the underlying cc layer.
scoped_refptr<cc::Layer> before = layer->cc_layer_for_testing();
- layer->SetShowSurface(cc::SurfaceId(), base::Bind(&FakeSatisfyCallback),
- base::Bind(&FakeRequireCallback), gfx::Size(10, 10),
- 1.0, gfx::Size(10, 10));
+ layer->SetShowSurface(
+ cc::SurfaceInfo(cc::SurfaceId(), 1.0, gfx::Size(10, 10)),
+ new SurfaceEmbedding(), gfx::Size(10, 10));
EXPECT_EQ(layer->layer_grayscale(), 0.5f);
EXPECT_TRUE(layer->cc_layer_for_testing());
EXPECT_NE(before.get(), layer->cc_layer_for_testing());
@@ -2222,9 +2221,9 @@ TEST(LayerDelegateTest, DelegatedFrameDamage) {
FrameDamageCheckingDelegate delegate;
layer->set_delegate(&delegate);
- layer->SetShowSurface(cc::SurfaceId(), base::Bind(&FakeSatisfyCallback),
- base::Bind(&FakeRequireCallback), gfx::Size(10, 10),
- 1.0, gfx::Size(10, 10));
+ layer->SetShowSurface(
+ cc::SurfaceInfo(cc::SurfaceId(), 1.0, gfx::Size(10, 10)),
+ new SurfaceEmbedding(), gfx::Size(10, 10));
EXPECT_FALSE(delegate.delegated_frame_damage_called());
layer->OnDelegatedFrameDamage(damage_rect);
« ui/compositor/layer.cc ('K') | « ui/compositor/layer.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698