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

Side by Side Diff: ui/gfx/mojo/struct_traits_unittest.cc

Issue 2071163002: Add StructTraits for AcceleratedWidget instances. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: review comments 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 unified diff | Download patch
« no previous file with comments | « ui/gfx/mojo/accelerated_widget_struct_traits.h ('k') | ui/gfx/mojo/traits_test_service.mojom » ('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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "base/message_loop/message_loop.h" 5 #include "base/message_loop/message_loop.h"
6 #include "mojo/public/cpp/bindings/binding_set.h" 6 #include "mojo/public/cpp/bindings/binding_set.h"
7 #include "testing/gtest/include/gtest/gtest.h" 7 #include "testing/gtest/include/gtest/gtest.h"
8 #include "ui/gfx/mojo/traits_test_service.mojom.h" 8 #include "ui/gfx/mojo/traits_test_service.mojom.h"
9 #include "ui/gfx/native_widget_types.h"
9 #include "ui/gfx/selection_bound.h" 10 #include "ui/gfx/selection_bound.h"
10 #include "ui/gfx/transform.h" 11 #include "ui/gfx/transform.h"
11 12
12 namespace gfx { 13 namespace gfx {
13 14
14 namespace { 15 namespace {
15 16
17 gfx::AcceleratedWidget castToAcceleratedWidget(int i) {
18 #if defined(USE_OZONE) || defined(USE_X11)
19 return static_cast<gfx::AcceleratedWidget>(i);
20 #else
21 return reinterpret_cast<gfx::AcceleratedWidget>(i);
22 #endif
23 }
24
16 class StructTraitsTest : public testing::Test, public mojom::TraitsTestService { 25 class StructTraitsTest : public testing::Test, public mojom::TraitsTestService {
17 public: 26 public:
18 StructTraitsTest() {} 27 StructTraitsTest() {}
19 28
20 protected: 29 protected:
21 mojom::TraitsTestServicePtr GetTraitsTestProxy() { 30 mojom::TraitsTestServicePtr GetTraitsTestProxy() {
22 return traits_test_bindings_.CreateInterfacePtrAndBind(this); 31 return traits_test_bindings_.CreateInterfacePtrAndBind(this);
23 } 32 }
24 33
25 private: 34 private:
26 // TraitsTestService: 35 // TraitsTestService:
27 void EchoSelectionBound(const SelectionBound& s, 36 void EchoSelectionBound(const SelectionBound& s,
28 const EchoSelectionBoundCallback& callback) override { 37 const EchoSelectionBoundCallback& callback) override {
29 callback.Run(s); 38 callback.Run(s);
30 } 39 }
31 40
32 void EchoTransform(const Transform& t, 41 void EchoTransform(const Transform& t,
33 const EchoTransformCallback& callback) override { 42 const EchoTransformCallback& callback) override {
34 callback.Run(t); 43 callback.Run(t);
35 } 44 }
36 45
46 void EchoAcceleratedWidget(
47 const AcceleratedWidget& t,
48 const EchoAcceleratedWidgetCallback& callback) override {
49 callback.Run(t);
50 }
51
37 base::MessageLoop loop_; 52 base::MessageLoop loop_;
38 mojo::BindingSet<TraitsTestService> traits_test_bindings_; 53 mojo::BindingSet<TraitsTestService> traits_test_bindings_;
39 54
40 DISALLOW_COPY_AND_ASSIGN(StructTraitsTest); 55 DISALLOW_COPY_AND_ASSIGN(StructTraitsTest);
41 }; 56 };
42 57
43 } // namespace 58 } // namespace
44 59
45 TEST_F(StructTraitsTest, SelectionBound) { 60 TEST_F(StructTraitsTest, SelectionBound) {
46 const gfx::SelectionBound::Type type = gfx::SelectionBound::CENTER; 61 const gfx::SelectionBound::Type type = gfx::SelectionBound::CENTER;
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 EXPECT_EQ(col1row3, output.matrix().get(2, 0)); 112 EXPECT_EQ(col1row3, output.matrix().get(2, 0));
98 EXPECT_EQ(col2row3, output.matrix().get(2, 1)); 113 EXPECT_EQ(col2row3, output.matrix().get(2, 1));
99 EXPECT_EQ(col3row3, output.matrix().get(2, 2)); 114 EXPECT_EQ(col3row3, output.matrix().get(2, 2));
100 EXPECT_EQ(col4row3, output.matrix().get(2, 3)); 115 EXPECT_EQ(col4row3, output.matrix().get(2, 3));
101 EXPECT_EQ(col1row4, output.matrix().get(3, 0)); 116 EXPECT_EQ(col1row4, output.matrix().get(3, 0));
102 EXPECT_EQ(col2row4, output.matrix().get(3, 1)); 117 EXPECT_EQ(col2row4, output.matrix().get(3, 1));
103 EXPECT_EQ(col3row4, output.matrix().get(3, 2)); 118 EXPECT_EQ(col3row4, output.matrix().get(3, 2));
104 EXPECT_EQ(col4row4, output.matrix().get(3, 3)); 119 EXPECT_EQ(col4row4, output.matrix().get(3, 3));
105 } 120 }
106 121
122 // AcceleratedWidgets can only be sent between processes on X11, Ozone, Win
123 #if defined(OS_WIN) || defined(USE_OZONE) || defined(USE_X11)
124 #define MAYBE_AcceleratedWidget AcceleratedWidget
125 #else
126 #define MAYBE_AcceleratedWidget DISABLED_AcceleratedWidget
127 #endif
128
129 TEST_F(StructTraitsTest, MAYBE_AcceleratedWidget) {
130 gfx::AcceleratedWidget input(castToAcceleratedWidget(1001));
131 mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy();
132 gfx::AcceleratedWidget output;
133 proxy->EchoAcceleratedWidget(input, &output);
134 EXPECT_EQ(input, output);
135 }
136
107 } // namespace gfx 137 } // namespace gfx
OLDNEW
« no previous file with comments | « ui/gfx/mojo/accelerated_widget_struct_traits.h ('k') | ui/gfx/mojo/traits_test_service.mojom » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698