| Index: cc/ipc/struct_traits_unittest.cc
|
| diff --git a/cc/ipc/struct_traits_unittest.cc b/cc/ipc/struct_traits_unittest.cc
|
| index 6c9803e9a055c1ea0e6fc8408be0b0742d89174a..55113890b7b490ae2b47dcbd3624852a44988645 100644
|
| --- a/cc/ipc/struct_traits_unittest.cc
|
| +++ b/cc/ipc/struct_traits_unittest.cc
|
| @@ -5,7 +5,10 @@
|
| #include "base/message_loop/message_loop.h"
|
| #include "cc/input/selection.h"
|
| #include "cc/ipc/traits_test_service.mojom.h"
|
| +#include "cc/quads/debug_border_draw_quad.h"
|
| +#include "cc/quads/render_pass.h"
|
| #include "cc/quads/render_pass_id.h"
|
| +#include "cc/quads/solid_color_draw_quad.h"
|
| #include "mojo/public/cpp/bindings/binding_set.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| #include "third_party/skia/include/core/SkString.h"
|
| @@ -49,6 +52,11 @@ class StructTraitsTest : public testing::Test, public mojom::TraitsTestService {
|
| callback.Run(f);
|
| }
|
|
|
| + void EchoQuadList(const QuadList& q,
|
| + const EchoQuadListCallback& callback) override {
|
| + callback.Run(q);
|
| + }
|
| +
|
| void EchoRenderPassId(const RenderPassId& r,
|
| const EchoRenderPassIdCallback& callback) override {
|
| callback.Run(r);
|
| @@ -267,6 +275,44 @@ TEST_F(StructTraitsTest, FilterOperations) {
|
| }
|
| }
|
|
|
| +TEST_F(StructTraitsTest, QuadList) {
|
| + const DrawQuad::Material material1 = DrawQuad::DEBUG_BORDER;
|
| + const DrawQuad::Material material2 = DrawQuad::SOLID_COLOR;
|
| + const gfx::Rect rect1(1234, 4321, 1357, 7531);
|
| + const gfx::Rect rect2(2468, 8642, 4321, 1234);
|
| + const int32_t width1 = 1337;
|
| + const uint32_t color2 = 0xffffffff;
|
| +
|
| + QuadList input;
|
| + DebugBorderDrawQuad* debug_quad =
|
| + input.AllocateAndConstruct<DebugBorderDrawQuad>();
|
| + debug_quad->material = material1;
|
| + debug_quad->rect = rect1;
|
| + debug_quad->width = width1;
|
| +
|
| + SolidColorDrawQuad* solid_quad =
|
| + input.AllocateAndConstruct<SolidColorDrawQuad>();
|
| + solid_quad->material = material2;
|
| + solid_quad->rect = rect2;
|
| + solid_quad->color = color2;
|
| +
|
| + mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy();
|
| + QuadList output;
|
| + proxy->EchoQuadList(input, &output);
|
| +
|
| + ASSERT_EQ(input.size(), output.size());
|
| +
|
| + ASSERT_EQ(material1, output.ElementAt(0)->material);
|
| + EXPECT_EQ(rect1, output.ElementAt(0)->rect);
|
| + EXPECT_EQ(width1,
|
| + static_cast<DebugBorderDrawQuad*>(output.ElementAt(0))->width);
|
| +
|
| + ASSERT_EQ(material2, output.ElementAt(1)->material);
|
| + EXPECT_EQ(rect2, output.ElementAt(1)->rect);
|
| + EXPECT_EQ(color2,
|
| + static_cast<SolidColorDrawQuad*>(output.ElementAt(1))->color);
|
| +}
|
| +
|
| TEST_F(StructTraitsTest, RenderPassId) {
|
| const int layer_id = 1337;
|
| const uint32_t index = 0xdeadbeef;
|
|
|