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

Side by Side Diff: services/ui/ws/user_display_manager_unittest.cc

Issue 2897303002: chromeos: Changes DisplayManagerObserver to have a single function (Closed)
Patch Set: fix compile Created 3 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 | « services/ui/ws/user_display_manager.cc ('k') | ui/views/mus/screen_mus.h » ('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 "services/ui/ws/user_display_manager.h" 5 #include "services/ui/ws/user_display_manager.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <string> 9 #include <string>
10 10
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 std::string display_ids; 63 std::string display_ids;
64 for (const auto& wm_display : wm_displays) { 64 for (const auto& wm_display : wm_displays) {
65 if (!display_ids.empty()) 65 if (!display_ids.empty())
66 display_ids += " "; 66 display_ids += " ";
67 display_ids += base::Int64ToString(wm_display->display.id()); 67 display_ids += base::Int64ToString(wm_display->display.id());
68 } 68 }
69 return display_ids; 69 return display_ids;
70 } 70 }
71 71
72 // mojom::DisplayManagerObserver: 72 // mojom::DisplayManagerObserver:
73 void OnDisplays(std::vector<mojom::WsDisplayPtr> displays, 73 void OnDisplaysChanged(std::vector<mojom::WsDisplayPtr> displays,
74 int64_t primary_display_id, 74 int64_t primary_display_id,
75 int64_t internal_display_id) override { 75 int64_t internal_display_id) override {
76 AddCall("OnDisplays " + DisplayIdsToString(displays));
77 }
78 void OnDisplaysChanged(std::vector<mojom::WsDisplayPtr> displays) override {
79 AddCall("OnDisplaysChanged " + DisplayIdsToString(displays)); 76 AddCall("OnDisplaysChanged " + DisplayIdsToString(displays));
80 } 77 }
81 void OnDisplayRemoved(int64_t id) override {
82 AddCall("OnDisplayRemoved " + base::Int64ToString(id));
83 }
84 void OnPrimaryDisplayChanged(int64_t id) override {
85 AddCall("OnPrimaryDisplayChanged " + base::Int64ToString(id));
86 }
87 78
88 mojo::Binding<mojom::DisplayManagerObserver> binding_; 79 mojo::Binding<mojom::DisplayManagerObserver> binding_;
89 std::string observer_calls_; 80 std::string observer_calls_;
90 81
91 DISALLOW_COPY_AND_ASSIGN(TestDisplayManagerObserver); 82 DISALLOW_COPY_AND_ASSIGN(TestDisplayManagerObserver);
92 }; 83 };
93 84
94 mojom::FrameDecorationValuesPtr CreateDefaultFrameDecorationValues() { 85 mojom::FrameDecorationValuesPtr CreateDefaultFrameDecorationValues() {
95 return mojom::FrameDecorationValues::New(); 86 return mojom::FrameDecorationValues::New();
96 } 87 }
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 display_manager_observer1.GetAndClearObserverCalls()); 131 display_manager_observer1.GetAndClearObserverCalls());
141 132
142 // Set the frame decoration values, which should trigger sending immediately. 133 // Set the frame decoration values, which should trigger sending immediately.
143 ASSERT_EQ(1u, display_manager->displays().size()); 134 ASSERT_EQ(1u, display_manager->displays().size());
144 window_server() 135 window_server()
145 ->window_manager_window_tree_factory_set() 136 ->window_manager_window_tree_factory_set()
146 ->GetWindowManagerStateForUser(kUserId1) 137 ->GetWindowManagerStateForUser(kUserId1)
147 ->SetFrameDecorationValues(CreateDefaultFrameDecorationValues()); 138 ->SetFrameDecorationValues(CreateDefaultFrameDecorationValues());
148 RunUntilIdle(); 139 RunUntilIdle();
149 140
150 EXPECT_EQ("OnDisplays 1", 141 EXPECT_EQ("OnDisplaysChanged 1",
151 display_manager_observer1.GetAndClearObserverCalls()); 142 display_manager_observer1.GetAndClearObserverCalls());
152 } 143 }
153 144
154 TEST_F(UserDisplayManagerTest, AddObserverAfterFrameDecorationsSet) { 145 TEST_F(UserDisplayManagerTest, AddObserverAfterFrameDecorationsSet) {
155 screen_manager().AddDisplay(); 146 screen_manager().AddDisplay();
156 147
157 TestDisplayManagerObserver display_manager_observer1; 148 TestDisplayManagerObserver display_manager_observer1;
158 DisplayManager* display_manager = window_server()->display_manager(); 149 DisplayManager* display_manager = window_server()->display_manager();
159 AddWindowManager(window_server(), kUserId1); 150 AddWindowManager(window_server(), kUserId1);
160 UserDisplayManager* user_display_manager1 = 151 UserDisplayManager* user_display_manager1 =
161 display_manager->GetUserDisplayManager(kUserId1); 152 display_manager->GetUserDisplayManager(kUserId1);
162 ASSERT_TRUE(user_display_manager1); 153 ASSERT_TRUE(user_display_manager1);
163 ASSERT_EQ(1u, display_manager->displays().size()); 154 ASSERT_EQ(1u, display_manager->displays().size());
164 window_server() 155 window_server()
165 ->window_manager_window_tree_factory_set() 156 ->window_manager_window_tree_factory_set()
166 ->GetWindowManagerStateForUser(kUserId1) 157 ->GetWindowManagerStateForUser(kUserId1)
167 ->SetFrameDecorationValues(CreateDefaultFrameDecorationValues()); 158 ->SetFrameDecorationValues(CreateDefaultFrameDecorationValues());
168 159
169 user_display_manager1->AddObserver(display_manager_observer1.GetPtr()); 160 user_display_manager1->AddObserver(display_manager_observer1.GetPtr());
170 RunUntilIdle(); 161 RunUntilIdle();
171 162
172 EXPECT_EQ("OnDisplays 1", 163 EXPECT_EQ("OnDisplaysChanged 1",
173 display_manager_observer1.GetAndClearObserverCalls()); 164 display_manager_observer1.GetAndClearObserverCalls());
174 } 165 }
175 166
176 TEST_F(UserDisplayManagerTest, AddRemoveDisplay) { 167 TEST_F(UserDisplayManagerTest, AddRemoveDisplay) {
177 screen_manager().AddDisplay(); 168 screen_manager().AddDisplay();
178 169
179 TestDisplayManagerObserver display_manager_observer1; 170 TestDisplayManagerObserver display_manager_observer1;
180 DisplayManager* display_manager = window_server()->display_manager(); 171 DisplayManager* display_manager = window_server()->display_manager();
181 AddWindowManager(window_server(), kUserId1); 172 AddWindowManager(window_server(), kUserId1);
182 UserDisplayManager* user_display_manager1 = 173 UserDisplayManager* user_display_manager1 =
183 display_manager->GetUserDisplayManager(kUserId1); 174 display_manager->GetUserDisplayManager(kUserId1);
184 ASSERT_TRUE(user_display_manager1); 175 ASSERT_TRUE(user_display_manager1);
185 ASSERT_EQ(1u, display_manager->displays().size()); 176 ASSERT_EQ(1u, display_manager->displays().size());
186 window_server() 177 window_server()
187 ->window_manager_window_tree_factory_set() 178 ->window_manager_window_tree_factory_set()
188 ->GetWindowManagerStateForUser(kUserId1) 179 ->GetWindowManagerStateForUser(kUserId1)
189 ->SetFrameDecorationValues(CreateDefaultFrameDecorationValues()); 180 ->SetFrameDecorationValues(CreateDefaultFrameDecorationValues());
190 user_display_manager1->AddObserver(display_manager_observer1.GetPtr()); 181 user_display_manager1->AddObserver(display_manager_observer1.GetPtr());
191 RunUntilIdle(); 182 RunUntilIdle();
192 183
193 EXPECT_EQ("OnDisplays 1", 184 EXPECT_EQ("OnDisplaysChanged 1",
194 display_manager_observer1.GetAndClearObserverCalls()); 185 display_manager_observer1.GetAndClearObserverCalls());
195 186
196 // Add another display. 187 // Add another display.
197 const int64_t second_display_id = screen_manager().AddDisplay(); 188 const int64_t second_display_id = screen_manager().AddDisplay();
198 RunUntilIdle(); 189 RunUntilIdle();
199 190
200 // Observer should be notified immediately as frame decorations were set. 191 // Observer should be notified immediately as frame decorations were set.
201 EXPECT_EQ("OnDisplaysChanged 2", 192 EXPECT_EQ("OnDisplaysChanged 1 2",
202 display_manager_observer1.GetAndClearObserverCalls()); 193 display_manager_observer1.GetAndClearObserverCalls());
203 194
204 // Remove the display and verify observer is notified. 195 // Remove the display and verify observer is notified.
205 screen_manager().RemoveDisplay(second_display_id); 196 screen_manager().RemoveDisplay(second_display_id);
206 RunUntilIdle(); 197 RunUntilIdle();
207 198
208 EXPECT_EQ("OnDisplayRemoved 2", 199 EXPECT_EQ("OnDisplaysChanged 1",
209 display_manager_observer1.GetAndClearObserverCalls()); 200 display_manager_observer1.GetAndClearObserverCalls());
210 } 201 }
211 202
212 } // namespace test 203 } // namespace test
213 } // namespace ws 204 } // namespace ws
214 } // namespace ui 205 } // namespace ui
OLDNEW
« no previous file with comments | « services/ui/ws/user_display_manager.cc ('k') | ui/views/mus/screen_mus.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698