| OLD | NEW |
| 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 <stdint.h> | 5 #include <stdint.h> |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/atomicops.h" | 9 #include "base/atomicops.h" |
| 10 #include "base/macros.h" | 10 #include "base/macros.h" |
| 11 #include "base/message_loop/message_loop.h" | 11 #include "base/message_loop/message_loop.h" |
| 12 #include "base/strings/string_number_conversions.h" | 12 #include "base/strings/string_number_conversions.h" |
| 13 #include "components/mus/common/types.h" | 13 #include "components/mus/common/types.h" |
| 14 #include "components/mus/common/util.h" | 14 #include "components/mus/common/util.h" |
| 15 #include "components/mus/public/interfaces/window_tree.mojom.h" | 15 #include "components/mus/public/interfaces/window_tree.mojom.h" |
| 16 #include "components/mus/surfaces/surfaces_state.h" | 16 #include "components/mus/surfaces/surfaces_state.h" |
| 17 #include "components/mus/ws/display_binding.h" | 17 #include "components/mus/ws/display_binding.h" |
| 18 #include "components/mus/ws/display_manager.h" | 18 #include "components/mus/ws/display_manager.h" |
| 19 #include "components/mus/ws/global_window_manager_state.h" | |
| 20 #include "components/mus/ws/ids.h" | 19 #include "components/mus/ws/ids.h" |
| 21 #include "components/mus/ws/platform_display.h" | 20 #include "components/mus/ws/platform_display.h" |
| 22 #include "components/mus/ws/platform_display_factory.h" | 21 #include "components/mus/ws/platform_display_factory.h" |
| 23 #include "components/mus/ws/platform_display_init_params.h" | 22 #include "components/mus/ws/platform_display_init_params.h" |
| 24 #include "components/mus/ws/server_window.h" | 23 #include "components/mus/ws/server_window.h" |
| 25 #include "components/mus/ws/test_utils.h" | 24 #include "components/mus/ws/test_utils.h" |
| 26 #include "components/mus/ws/window_manager_state.h" | 25 #include "components/mus/ws/window_manager_state.h" |
| 27 #include "components/mus/ws/window_manager_window_tree_factory_set.h" | 26 #include "components/mus/ws/window_manager_window_tree_factory_set.h" |
| 28 #include "components/mus/ws/window_server.h" | 27 #include "components/mus/ws/window_server.h" |
| 29 #include "components/mus/ws/window_server_delegate.h" | 28 #include "components/mus/ws/window_server_delegate.h" |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 130 ASSERT_TRUE(user_display_manager1); | 129 ASSERT_TRUE(user_display_manager1); |
| 131 UserDisplayManagerTestApi(user_display_manager1) | 130 UserDisplayManagerTestApi(user_display_manager1) |
| 132 .SetTestObserver(&display_manager_observer1); | 131 .SetTestObserver(&display_manager_observer1); |
| 133 // Observer should not have been notified yet. | 132 // Observer should not have been notified yet. |
| 134 EXPECT_EQ(std::string(), | 133 EXPECT_EQ(std::string(), |
| 135 display_manager_observer1.GetAndClearObserverCalls()); | 134 display_manager_observer1.GetAndClearObserverCalls()); |
| 136 | 135 |
| 137 // Set the frame decoration values, which should trigger sending immediately. | 136 // Set the frame decoration values, which should trigger sending immediately. |
| 138 ASSERT_EQ(1u, display_manager->displays().size()); | 137 ASSERT_EQ(1u, display_manager->displays().size()); |
| 139 window_server_->window_manager_window_tree_factory_set() | 138 window_server_->window_manager_window_tree_factory_set() |
| 140 ->GetGlobalWindowManagerStateForUser(kUserId1) | 139 ->GetWindowManagerStateForUser(kUserId1) |
| 141 ->SetFrameDecorationValues(CreateDefaultFrameDecorationValues()); | 140 ->SetFrameDecorationValues(CreateDefaultFrameDecorationValues()); |
| 142 EXPECT_EQ("OnDisplays 1", | 141 EXPECT_EQ("OnDisplays 1", |
| 143 display_manager_observer1.GetAndClearObserverCalls()); | 142 display_manager_observer1.GetAndClearObserverCalls()); |
| 144 | 143 |
| 145 UserDisplayManagerTestApi(user_display_manager1).SetTestObserver(nullptr); | 144 UserDisplayManagerTestApi(user_display_manager1).SetTestObserver(nullptr); |
| 146 } | 145 } |
| 147 | 146 |
| 148 TEST_F(UserDisplayManagerTest, AddObserverAfterFrameDecorationsSet) { | 147 TEST_F(UserDisplayManagerTest, AddObserverAfterFrameDecorationsSet) { |
| 149 window_server_delegate_.set_num_displays_to_create(1); | 148 window_server_delegate_.set_num_displays_to_create(1); |
| 150 | 149 |
| 151 const UserId kUserId1 = "2"; | 150 const UserId kUserId1 = "2"; |
| 152 TestDisplayManagerObserver display_manager_observer1; | 151 TestDisplayManagerObserver display_manager_observer1; |
| 153 DisplayManager* display_manager = window_server_->display_manager(); | 152 DisplayManager* display_manager = window_server_->display_manager(); |
| 154 WindowManagerWindowTreeFactorySetTestApi( | 153 WindowManagerWindowTreeFactorySetTestApi( |
| 155 window_server_->window_manager_window_tree_factory_set()) | 154 window_server_->window_manager_window_tree_factory_set()) |
| 156 .Add(kUserId1); | 155 .Add(kUserId1); |
| 157 UserDisplayManager* user_display_manager1 = | 156 UserDisplayManager* user_display_manager1 = |
| 158 display_manager->GetUserDisplayManager(kUserId1); | 157 display_manager->GetUserDisplayManager(kUserId1); |
| 159 ASSERT_TRUE(user_display_manager1); | 158 ASSERT_TRUE(user_display_manager1); |
| 160 ASSERT_EQ(1u, display_manager->displays().size()); | 159 ASSERT_EQ(1u, display_manager->displays().size()); |
| 161 window_server_->window_manager_window_tree_factory_set() | 160 window_server_->window_manager_window_tree_factory_set() |
| 162 ->GetGlobalWindowManagerStateForUser(kUserId1) | 161 ->GetWindowManagerStateForUser(kUserId1) |
| 163 ->SetFrameDecorationValues(CreateDefaultFrameDecorationValues()); | 162 ->SetFrameDecorationValues(CreateDefaultFrameDecorationValues()); |
| 164 | 163 |
| 165 UserDisplayManagerTestApi(user_display_manager1) | 164 UserDisplayManagerTestApi(user_display_manager1) |
| 166 .SetTestObserver(&display_manager_observer1); | 165 .SetTestObserver(&display_manager_observer1); |
| 167 EXPECT_EQ("OnDisplays 1", | 166 EXPECT_EQ("OnDisplays 1", |
| 168 display_manager_observer1.GetAndClearObserverCalls()); | 167 display_manager_observer1.GetAndClearObserverCalls()); |
| 169 | 168 |
| 170 UserDisplayManagerTestApi(user_display_manager1).SetTestObserver(nullptr); | 169 UserDisplayManagerTestApi(user_display_manager1).SetTestObserver(nullptr); |
| 171 } | 170 } |
| 172 | 171 |
| 173 TEST_F(UserDisplayManagerTest, AddRemoveDisplay) { | 172 TEST_F(UserDisplayManagerTest, AddRemoveDisplay) { |
| 174 window_server_delegate_.set_num_displays_to_create(1); | 173 window_server_delegate_.set_num_displays_to_create(1); |
| 175 | 174 |
| 176 const UserId kUserId1 = "2"; | 175 const UserId kUserId1 = "2"; |
| 177 TestDisplayManagerObserver display_manager_observer1; | 176 TestDisplayManagerObserver display_manager_observer1; |
| 178 DisplayManager* display_manager = window_server_->display_manager(); | 177 DisplayManager* display_manager = window_server_->display_manager(); |
| 179 WindowManagerWindowTreeFactorySetTestApi( | 178 WindowManagerWindowTreeFactorySetTestApi( |
| 180 window_server_->window_manager_window_tree_factory_set()) | 179 window_server_->window_manager_window_tree_factory_set()) |
| 181 .Add(kUserId1); | 180 .Add(kUserId1); |
| 182 UserDisplayManager* user_display_manager1 = | 181 UserDisplayManager* user_display_manager1 = |
| 183 display_manager->GetUserDisplayManager(kUserId1); | 182 display_manager->GetUserDisplayManager(kUserId1); |
| 184 ASSERT_TRUE(user_display_manager1); | 183 ASSERT_TRUE(user_display_manager1); |
| 185 ASSERT_EQ(1u, display_manager->displays().size()); | 184 ASSERT_EQ(1u, display_manager->displays().size()); |
| 186 window_server_->window_manager_window_tree_factory_set() | 185 window_server_->window_manager_window_tree_factory_set() |
| 187 ->GetGlobalWindowManagerStateForUser(kUserId1) | 186 ->GetWindowManagerStateForUser(kUserId1) |
| 188 ->SetFrameDecorationValues(CreateDefaultFrameDecorationValues()); | 187 ->SetFrameDecorationValues(CreateDefaultFrameDecorationValues()); |
| 189 UserDisplayManagerTestApi(user_display_manager1) | 188 UserDisplayManagerTestApi(user_display_manager1) |
| 190 .SetTestObserver(&display_manager_observer1); | 189 .SetTestObserver(&display_manager_observer1); |
| 191 EXPECT_EQ("OnDisplays 1", | 190 EXPECT_EQ("OnDisplays 1", |
| 192 display_manager_observer1.GetAndClearObserverCalls()); | 191 display_manager_observer1.GetAndClearObserverCalls()); |
| 193 | 192 |
| 194 // Add another display. | 193 // Add another display. |
| 195 Display* display2 = | 194 Display* display2 = |
| 196 new Display(window_server_.get(), PlatformDisplayInitParams()); | 195 new Display(window_server_.get(), PlatformDisplayInitParams()); |
| 197 display2->Init(nullptr); | 196 display2->Init(nullptr); |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 236 base::subtle::Atomic32 location = | 235 base::subtle::Atomic32 location = |
| 237 base::subtle::NoBarrier_Load(cursor_location_memory); | 236 base::subtle::NoBarrier_Load(cursor_location_memory); |
| 238 EXPECT_EQ(gfx::Point(static_cast<int16_t>(location >> 16), | 237 EXPECT_EQ(gfx::Point(static_cast<int16_t>(location >> 16), |
| 239 static_cast<int16_t>(location & 0xFFFF)), | 238 static_cast<int16_t>(location & 0xFFFF)), |
| 240 gfx::Point(-10, -11)); | 239 gfx::Point(-10, -11)); |
| 241 } | 240 } |
| 242 | 241 |
| 243 } // namespace test | 242 } // namespace test |
| 244 } // namespace ws | 243 } // namespace ws |
| 245 } // namespace mus | 244 } // namespace mus |
| OLD | NEW |