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

Unified Diff: cc/ipc/struct_traits_unittest.cc

Issue 2042643002: Implement cc::CompositorFrameMetadata StructTraits (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed comment Created 4 years, 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/ipc/compositor_frame_metadata_struct_traits.h ('k') | cc/ipc/traits_test_service.mojom » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/ipc/struct_traits_unittest.cc
diff --git a/cc/ipc/struct_traits_unittest.cc b/cc/ipc/struct_traits_unittest.cc
index 02f1496a34fa4c1be88a32331a43cab2a30c5c0c..fccf2926d12749fddf920cf53eb8813821e0fb68 100644
--- a/cc/ipc/struct_traits_unittest.cc
+++ b/cc/ipc/struct_traits_unittest.cc
@@ -29,6 +29,12 @@ class StructTraitsTest : public testing::Test, public mojom::TraitsTestService {
callback.Run(b);
}
+ void EchoCompositorFrameMetadata(
+ const CompositorFrameMetadata& c,
+ const EchoCompositorFrameMetadataCallback& callback) override {
+ callback.Run(c);
+ }
+
void EchoRenderPassId(const RenderPassId& r,
const EchoRenderPassIdCallback& callback) override {
callback.Run(r);
@@ -90,6 +96,88 @@ TEST_F(StructTraitsTest, BeginFrameArgs) {
EXPECT_EQ(on_critical_path, output.on_critical_path);
}
+TEST_F(StructTraitsTest, CompositorFrameMetadata) {
+ const float device_scale_factor = 2.6f;
+ const gfx::Vector2dF root_scroll_offset(1234.5f, 6789.1f);
+ const float page_scale_factor = 1337.5f;
+ const gfx::SizeF scrollable_viewport_size(1337.7f, 1234.5f);
+ const gfx::SizeF root_layer_size(1234.5f, 5432.1f);
+ const float min_page_scale_factor = 3.5f;
+ const float max_page_scale_factor = 4.6f;
+ const bool root_overflow_x_hidden = true;
+ const bool root_overflow_y_hidden = true;
+ const gfx::Vector2dF location_bar_offset(1234.5f, 5432.1f);
+ const gfx::Vector2dF location_bar_content_translation(1234.5f, 5432.1f);
+ const uint32_t root_background_color = 1337;
+ Selection<gfx::SelectionBound> selection;
+ selection.start.SetEdge(gfx::PointF(1234.5f, 67891.f),
+ gfx::PointF(5432.1f, 1987.6f));
+ selection.start.set_visible(true);
+ selection.start.set_type(gfx::SelectionBound::CENTER);
+ selection.end.SetEdge(gfx::PointF(1337.5f, 52124.f),
+ gfx::PointF(1234.3f, 8765.6f));
+ selection.end.set_visible(false);
+ selection.end.set_type(gfx::SelectionBound::RIGHT);
+ selection.is_editable = true;
+ selection.is_empty_text_form_control = true;
+ ui::LatencyInfo latency_info;
+ latency_info.AddLatencyNumber(
+ ui::LATENCY_BEGIN_SCROLL_LISTENER_UPDATE_MAIN_COMPONENT, 1337, 7331);
+ std::vector<ui::LatencyInfo> latency_infos = {latency_info};
+ std::vector<uint32_t> satisfies_sequences = {1234, 1337};
+ std::vector<SurfaceId> referenced_surfaces;
+ SurfaceId id(1234, 5678, 9101112);
+ referenced_surfaces.push_back(id);
+
+ CompositorFrameMetadata input;
+ input.device_scale_factor = device_scale_factor;
+ input.root_scroll_offset = root_scroll_offset;
+ input.page_scale_factor = page_scale_factor;
+ input.scrollable_viewport_size = scrollable_viewport_size;
+ input.root_layer_size = root_layer_size;
+ input.min_page_scale_factor = min_page_scale_factor;
+ input.max_page_scale_factor = max_page_scale_factor;
+ input.root_overflow_x_hidden = root_overflow_x_hidden;
+ input.root_overflow_y_hidden = root_overflow_y_hidden;
+ input.location_bar_offset = location_bar_offset;
+ input.location_bar_content_translation = location_bar_content_translation;
+ input.root_background_color = root_background_color;
+ input.selection = selection;
+ input.latency_info = latency_infos;
+ input.satisfies_sequences = satisfies_sequences;
+ input.referenced_surfaces = referenced_surfaces;
+
+ mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy();
+ CompositorFrameMetadata output;
+ proxy->EchoCompositorFrameMetadata(input, &output);
+ EXPECT_EQ(device_scale_factor, output.device_scale_factor);
+ EXPECT_EQ(root_scroll_offset, output.root_scroll_offset);
+ EXPECT_EQ(page_scale_factor, output.page_scale_factor);
+ EXPECT_EQ(scrollable_viewport_size, output.scrollable_viewport_size);
+ EXPECT_EQ(root_layer_size, output.root_layer_size);
+ EXPECT_EQ(min_page_scale_factor, output.min_page_scale_factor);
+ EXPECT_EQ(max_page_scale_factor, output.max_page_scale_factor);
+ EXPECT_EQ(root_overflow_x_hidden, output.root_overflow_x_hidden);
+ EXPECT_EQ(root_overflow_y_hidden, output.root_overflow_y_hidden);
+ EXPECT_EQ(location_bar_offset, output.location_bar_offset);
+ EXPECT_EQ(location_bar_content_translation,
+ output.location_bar_content_translation);
+ EXPECT_EQ(root_background_color, output.root_background_color);
+ EXPECT_EQ(selection, output.selection);
+ EXPECT_EQ(latency_infos.size(), output.latency_info.size());
+ ui::LatencyInfo::LatencyComponent component;
+ EXPECT_TRUE(output.latency_info[0].FindLatency(
+ ui::LATENCY_BEGIN_SCROLL_LISTENER_UPDATE_MAIN_COMPONENT, 1337,
+ &component));
+ EXPECT_EQ(7331, component.sequence_number);
+ EXPECT_EQ(satisfies_sequences.size(), output.satisfies_sequences.size());
+ for (uint32_t i = 0; i < satisfies_sequences.size(); ++i)
+ EXPECT_EQ(satisfies_sequences[i], output.satisfies_sequences[i]);
+ EXPECT_EQ(referenced_surfaces.size(), output.referenced_surfaces.size());
+ for (uint32_t i = 0; i < referenced_surfaces.size(); ++i)
+ EXPECT_EQ(referenced_surfaces[i], output.referenced_surfaces[i]);
+}
+
TEST_F(StructTraitsTest, RenderPassId) {
const int layer_id = 1337;
const uint32_t index = 0xdeadbeef;
« no previous file with comments | « cc/ipc/compositor_frame_metadata_struct_traits.h ('k') | cc/ipc/traits_test_service.mojom » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698