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

Unified Diff: cc/test/serialization_test_utils.cc

Issue 2494623002: cc: Remove client/engine LayerTreeHostInProcess. (Closed)
Patch Set: .. Created 4 years, 1 month 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 | « cc/test/serialization_test_utils.h ('k') | cc/trees/layer_tree.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/test/serialization_test_utils.cc
diff --git a/cc/test/serialization_test_utils.cc b/cc/test/serialization_test_utils.cc
new file mode 100644
index 0000000000000000000000000000000000000000..fccc7d8e6a3c7b6abacebbf779d887e42f084f9a
--- /dev/null
+++ b/cc/test/serialization_test_utils.cc
@@ -0,0 +1,167 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "cc/test/serialization_test_utils.h"
+
+#include "cc/blimp/compositor_state_deserializer.h"
+#include "cc/layers/layer.h"
+#include "cc/trees/layer_tree.h"
+#include "cc/trees/layer_tree_host_common.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace cc {
+
+#define EXPECT_LAYERS_EQ(engine_layer_id, client_layer) \
+ EXPECT_EQ( \
+ compositor_state_deserializer->GetLayerForEngineId(engine_layer_id), \
+ client_layer);
+
+void VerifySerializedTreesAreIdentical(
+ LayerTree* engine_layer_tree,
+ LayerTree* client_layer_tree,
+ CompositorStateDeserializer* compositor_state_deserializer) {
+ if (engine_layer_tree->root_layer()) {
+ for (auto* engine_layer : *engine_layer_tree) {
+ Layer* client_layer = compositor_state_deserializer->GetLayerForEngineId(
+ engine_layer->id());
+ EXPECT_EQ(client_layer->GetLayerTree(), client_layer_tree);
+ VerifySerializedLayersAreIdentical(engine_layer, client_layer,
+ compositor_state_deserializer);
+ }
+ } else {
+ EXPECT_EQ(client_layer_tree->root_layer(), nullptr);
+ }
+
+ // Viewport layers.
+ // Overscroll Elasticty Layer.
+ Layer* client_overscroll_elasticity_layer =
+ client_layer_tree->overscroll_elasticity_layer();
+ if (engine_layer_tree->overscroll_elasticity_layer()) {
+ int engine_overscroll_elasticity_layer_id =
+ engine_layer_tree->overscroll_elasticity_layer()->id();
+
+ EXPECT_LAYERS_EQ(engine_overscroll_elasticity_layer_id,
+ client_overscroll_elasticity_layer);
+ } else {
+ EXPECT_EQ(client_overscroll_elasticity_layer, nullptr);
+ }
+
+ // PageScale Layer.
+ Layer* client_page_scale_layer = client_layer_tree->page_scale_layer();
+ if (engine_layer_tree->page_scale_layer()) {
+ int engine_page_scale_layer_id =
+ engine_layer_tree->page_scale_layer()->id();
+
+ EXPECT_LAYERS_EQ(engine_page_scale_layer_id, client_page_scale_layer);
+ } else {
+ EXPECT_EQ(client_page_scale_layer, nullptr);
+ }
+
+ // InnerViewportScroll Layer.
+ Layer* client_inner_viewport_layer =
+ client_layer_tree->inner_viewport_scroll_layer();
+ if (engine_layer_tree->inner_viewport_scroll_layer()) {
+ int engine_inner_viewport_layer_id =
+ engine_layer_tree->inner_viewport_scroll_layer()->id();
+
+ EXPECT_LAYERS_EQ(engine_inner_viewport_layer_id,
+ client_inner_viewport_layer);
+ } else {
+ EXPECT_EQ(client_inner_viewport_layer, nullptr);
+ }
+
+ // OuterViewportScroll Layer.
+ Layer* client_outer_viewport_layer =
+ client_layer_tree->outer_viewport_scroll_layer();
+ if (engine_layer_tree->outer_viewport_scroll_layer()) {
+ int engine_outer_viewport_layer_id =
+ engine_layer_tree->outer_viewport_scroll_layer()->id();
+
+ EXPECT_LAYERS_EQ(engine_outer_viewport_layer_id,
+ client_outer_viewport_layer);
+ } else {
+ EXPECT_EQ(client_outer_viewport_layer, nullptr);
+ }
+
+ // Other LayerTree inputs.
+ EXPECT_EQ(engine_layer_tree->device_scale_factor(),
+ client_layer_tree->device_scale_factor());
+ EXPECT_EQ(engine_layer_tree->painted_device_scale_factor(),
+ client_layer_tree->painted_device_scale_factor());
+ EXPECT_EQ(engine_layer_tree->device_viewport_size(),
+ client_layer_tree->device_viewport_size());
+
+ EXPECT_EQ(engine_layer_tree->page_scale_factor(),
+ client_layer_tree->page_scale_factor());
+ EXPECT_EQ(engine_layer_tree->min_page_scale_factor(),
+ client_layer_tree->min_page_scale_factor());
+ EXPECT_EQ(engine_layer_tree->max_page_scale_factor(),
+ client_layer_tree->max_page_scale_factor());
+
+ EXPECT_EQ(engine_layer_tree->background_color(),
+ client_layer_tree->background_color());
+ EXPECT_EQ(engine_layer_tree->has_transparent_background(),
+ client_layer_tree->has_transparent_background());
+
+ EXPECT_EQ(engine_layer_tree->selection(), client_layer_tree->selection());
+
+ EXPECT_EQ(engine_layer_tree->have_scroll_event_handlers(),
+ client_layer_tree->have_scroll_event_handlers());
+
+ for (int i = 0; i < static_cast<int>(EventListenerClass::kNumClasses); ++i) {
+ EXPECT_EQ(engine_layer_tree->event_listener_properties(
+ static_cast<EventListenerClass>(i)),
+ client_layer_tree->event_listener_properties(
+ static_cast<EventListenerClass>(i)));
+ }
+}
+
+void VerifySerializedLayersAreIdentical(
+ Layer* engine_layer,
+ Layer* client_layer,
+ CompositorStateDeserializer* compositor_state_deserializer) {
+ ASSERT_NE(client_layer, nullptr);
+
+ // Parent.
+ if (engine_layer->parent()) {
+ int engine_parent_id = engine_layer->parent()->id();
+ EXPECT_LAYERS_EQ(engine_parent_id, client_layer->parent());
+ } else {
+ EXPECT_EQ(client_layer->parent(), nullptr);
+ }
+
+ // Mask Layers.
+ if (engine_layer->mask_layer()) {
+ int engine_mask_layer_id = engine_layer->mask_layer()->id();
+ EXPECT_LAYERS_EQ(engine_mask_layer_id, client_layer->mask_layer());
+ } else {
+ EXPECT_EQ(client_layer->mask_layer(), nullptr);
+ }
+
+ // Scroll parent.
+ if (engine_layer->scroll_parent()) {
+ int engine_scroll_parent_id = engine_layer->scroll_parent()->id();
+ EXPECT_LAYERS_EQ(engine_scroll_parent_id, client_layer->scroll_parent());
+ } else {
+ EXPECT_EQ(client_layer->scroll_parent(), nullptr);
+ }
+
+ // Clip parent.
+ if (engine_layer->clip_parent()) {
+ int engine_clip_parent_id = engine_layer->clip_parent()->id();
+ EXPECT_LAYERS_EQ(engine_clip_parent_id, client_layer->clip_parent());
+ } else {
+ EXPECT_EQ(client_layer->clip_parent(), nullptr);
+ }
+
+ // Scroll-clip layer.
+ if (engine_layer->scroll_clip_layer()) {
+ int scroll_clip_id = engine_layer->scroll_clip_layer()->id();
+ EXPECT_LAYERS_EQ(scroll_clip_id, client_layer->scroll_clip_layer());
+ } else {
+ EXPECT_EQ(client_layer->scroll_clip_layer(), nullptr);
+ }
+}
+
+} // namespace cc
« no previous file with comments | « cc/test/serialization_test_utils.h ('k') | cc/trees/layer_tree.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698