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 "ash/devtools/ash_devtools_css_agent.h" | |
6 #include "ash/devtools/ash_devtools_dom_agent.h" | |
7 #include "ash/devtools/ui_element.h" | |
8 #include "ash/devtools/window_element.h" | |
9 #include "ash/public/cpp/shell_window_ids.h" | 5 #include "ash/public/cpp/shell_window_ids.h" |
10 #include "ash/shell.h" | |
11 #include "ash/test/ash_test_base.h" | |
12 #include "ash/wm/widget_finder.h" | |
13 #include "base/memory/ptr_util.h" | 6 #include "base/memory/ptr_util.h" |
14 #include "base/strings/stringprintf.h" | 7 #include "base/strings/stringprintf.h" |
| 8 #include "components/ui_devtools/devtools/ui_devtools_css_agent.h" |
| 9 #include "components/ui_devtools/devtools/ui_devtools_dom_agent.h" |
| 10 #include "components/ui_devtools/devtools/ui_element.h" |
| 11 #include "components/ui_devtools/devtools/window_element.h" |
15 #include "ui/aura/window_tree_host.h" | 12 #include "ui/aura/window_tree_host.h" |
16 #include "ui/display/display.h" | 13 #include "ui/display/display.h" |
17 #include "ui/views/background.h" | 14 #include "ui/views/background.h" |
| 15 #include "ui/views/test/views_test_base.h" |
18 #include "ui/views/widget/native_widget_private.h" | 16 #include "ui/views/widget/native_widget_private.h" |
19 #include "ui/views/widget/widget.h" | 17 #include "ui/views/widget/widget.h" |
20 | 18 |
21 namespace ash { | 19 namespace ui { |
22 namespace { | 20 namespace { |
23 | 21 |
24 using namespace ui::devtools::protocol; | 22 using namespace ui::devtools::protocol; |
25 | 23 |
26 const int kDefaultChildNodeCount = -1; | 24 const int kDefaultChildNodeCount = -1; |
27 const SkColor kBackgroundColor = SK_ColorRED; | 25 const SkColor kBackgroundColor = SK_ColorRED; |
28 const SkColor kBorderColor = SK_ColorBLUE; | 26 const SkColor kBorderColor = SK_ColorBLUE; |
29 | 27 |
30 class TestView : public views::View { | 28 class TestView : public views::View { |
31 public: | 29 public: |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
78 Array<std::string>* attributes = node->getAttributes(nullptr); | 76 Array<std::string>* attributes = node->getAttributes(nullptr); |
79 for (size_t i = 0; i < attributes->length() - 1; i++) { | 77 for (size_t i = 0; i < attributes->length() - 1; i++) { |
80 if (attributes->get(i) == attribute) | 78 if (attributes->get(i) == attribute) |
81 return attributes->get(i + 1); | 79 return attributes->get(i + 1); |
82 } | 80 } |
83 return nullptr; | 81 return nullptr; |
84 } | 82 } |
85 | 83 |
86 bool Equals(aura::Window* window, DOM::Node* node) { | 84 bool Equals(aura::Window* window, DOM::Node* node) { |
87 int children_count = static_cast<int>(window->children().size()); | 85 int children_count = static_cast<int>(window->children().size()); |
88 if (GetInternalWidgetForWindow(window)) | 86 if (views::Widget::GetWidgetForNativeView(window)) |
89 children_count++; | 87 children_count++; |
90 return "Window" == node->getNodeName() && | 88 return "Window" == node->getNodeName() && |
91 window->GetName() == GetAttributeValue("name", node) && | 89 window->GetName() == GetAttributeValue("name", node) && |
92 children_count == node->getChildNodeCount(kDefaultChildNodeCount); | 90 children_count == node->getChildNodeCount(kDefaultChildNodeCount); |
93 } | 91 } |
94 | 92 |
95 void Compare(views::Widget* widget, DOM::Node* node) { | 93 void Compare(views::Widget* widget, DOM::Node* node) { |
96 EXPECT_EQ("Widget", node->getNodeName()); | 94 EXPECT_EQ("Widget", node->getNodeName()); |
97 EXPECT_EQ(widget->GetName(), GetAttributeValue("name", node)); | 95 EXPECT_EQ(widget->GetName(), GetAttributeValue("name", node)); |
98 EXPECT_EQ(widget->GetRootView() ? 1 : 0, | 96 EXPECT_EQ(widget->GetRootView() ? 1 : 0, |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
133 EXPECT_TRUE(base::StringToInt(property->getValue(), &value)); | 131 EXPECT_TRUE(base::StringToInt(property->getValue(), &value)); |
134 return value; | 132 return value; |
135 } | 133 } |
136 } | 134 } |
137 NOTREACHED(); | 135 NOTREACHED(); |
138 return -1; | 136 return -1; |
139 } | 137 } |
140 | 138 |
141 aura::Window* GetHighlightingWindow(aura::Window* root_window) { | 139 aura::Window* GetHighlightingWindow(aura::Window* root_window) { |
142 const aura::Window::Windows& overlay_windows = | 140 const aura::Window::Windows& overlay_windows = |
143 root_window->GetChildById(kShellWindowId_OverlayContainer)->children(); | 141 root_window->GetChildById(ash::kShellWindowId_OverlayContainer) |
| 142 ->children(); |
144 for (aura::Window* window : overlay_windows) { | 143 for (aura::Window* window : overlay_windows) { |
145 if (window->GetName() == "HighlightingWidget") | 144 if (window->GetName() == "HighlightingWidget") |
146 return window; | 145 return window; |
147 } | 146 } |
148 NOTREACHED(); | 147 NOTREACHED(); |
149 return nullptr; | 148 return nullptr; |
150 } | 149 } |
151 | 150 |
152 std::unique_ptr<DOM::RGBA> SkColorToRGBA(const SkColor& color) { | 151 std::unique_ptr<DOM::RGBA> SkColorToRGBA(const SkColor& color) { |
153 return DOM::RGBA::create() | 152 return DOM::RGBA::create() |
(...skipping 10 matching lines...) Expand all Loading... |
164 return DOM::HighlightConfig::create() | 163 return DOM::HighlightConfig::create() |
165 .setContentColor(SkColorToRGBA(background_color)) | 164 .setContentColor(SkColorToRGBA(background_color)) |
166 .setBorderColor(SkColorToRGBA(border_color)) | 165 .setBorderColor(SkColorToRGBA(border_color)) |
167 .build(); | 166 .build(); |
168 } | 167 } |
169 | 168 |
170 void ExpectHighlighted(const gfx::Rect& bounds, aura::Window* root_window) { | 169 void ExpectHighlighted(const gfx::Rect& bounds, aura::Window* root_window) { |
171 aura::Window* highlighting_window = GetHighlightingWindow(root_window); | 170 aura::Window* highlighting_window = GetHighlightingWindow(root_window); |
172 EXPECT_TRUE(highlighting_window->IsVisible()); | 171 EXPECT_TRUE(highlighting_window->IsVisible()); |
173 EXPECT_EQ(bounds, highlighting_window->GetBoundsInScreen()); | 172 EXPECT_EQ(bounds, highlighting_window->GetBoundsInScreen()); |
174 EXPECT_EQ(kBackgroundColor, GetInternalWidgetForWindow(highlighting_window) | 173 views::Widget* widget = |
175 ->GetRootView() | 174 views::Widget::GetWidgetForNativeView(highlighting_window); |
176 ->background() | 175 |
177 ->get_color()); | 176 EXPECT_EQ(kBackgroundColor, widget->GetRootView()->background()->get_color()); |
178 } | 177 } |
179 | 178 |
180 } // namespace | 179 } // namespace |
181 | 180 |
182 class AshDevToolsTest : public test::AshTestBase { | 181 class UIDevToolsTest : public views::ViewsTestBase { |
183 public: | 182 public: |
184 AshDevToolsTest() {} | 183 UIDevToolsTest() {} |
185 ~AshDevToolsTest() override {} | 184 ~UIDevToolsTest() override {} |
186 | 185 |
187 views::internal::NativeWidgetPrivate* CreateTestNativeWidget() { | 186 views::internal::NativeWidgetPrivate* CreateTestNativeWidget() { |
188 views::Widget* widget = new views::Widget; | 187 views::Widget* widget = new views::Widget; |
189 views::Widget::InitParams params; | 188 views::Widget::InitParams params; |
190 params.ownership = views::Widget::InitParams::NATIVE_WIDGET_OWNS_WIDGET; | 189 params.ownership = views::Widget::InitParams::NATIVE_WIDGET_OWNS_WIDGET; |
191 params.parent = nullptr; | 190 params.parent = nullptr; |
192 if (!dom_agent()->root_windows().empty()) { | 191 if (!dom_agent()->root_windows().empty()) { |
193 params.parent = dom_agent()->root_windows()[0]->GetChildById( | 192 params.parent = dom_agent()->root_windows()[0]->GetChildById( |
194 kShellWindowId_DefaultContainer); | 193 ash::kShellWindowId_DefaultContainer); |
195 } | 194 } |
196 widget->Init(params); | 195 widget->Init(params); |
197 return widget->native_widget_private(); | 196 return widget->native_widget_private(); |
198 } | 197 } |
199 | 198 |
200 std::unique_ptr<views::Widget> CreateTestWidget(const gfx::Rect& bounds) { | 199 std::unique_ptr<views::Widget> CreateTestWidget( |
201 return AshTestBase::CreateTestWidget(nullptr, kShellWindowId_Invalid, | 200 const gfx::Rect& bounds, |
202 bounds); | 201 aura::Window* parent = nullptr) { |
| 202 std::unique_ptr<views::Widget> widget(new views::Widget); |
| 203 views::Widget::InitParams params; |
| 204 params.delegate = nullptr; |
| 205 params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET; |
| 206 params.bounds = bounds; |
| 207 |
| 208 params.parent = parent; |
| 209 if (!parent && !dom_agent()->root_windows().empty()) { |
| 210 params.parent = dom_agent()->root_windows()[0]->GetChildById( |
| 211 ash::kShellWindowId_Invalid); |
| 212 } |
| 213 widget->Init(params); |
| 214 widget->Show(); |
| 215 return widget; |
| 216 } |
| 217 |
| 218 std::unique_ptr<aura::Window> CreateChildWindow( |
| 219 aura::Window* parent, |
| 220 int id = ash::kShellWindowId_Invalid, |
| 221 ui::wm::WindowType type = ui::wm::WINDOW_TYPE_NORMAL) { |
| 222 std::unique_ptr<aura::Window> window = |
| 223 base::MakeUnique<aura::Window>(nullptr, type); |
| 224 window->Init(ui::LAYER_NOT_DRAWN); |
| 225 window->SetBounds(gfx::Rect()); |
| 226 window->set_id(id); |
| 227 parent->AddChild(window.get()); |
| 228 window->Show(); |
| 229 return window; |
203 } | 230 } |
204 | 231 |
205 void SetUp() override { | 232 void SetUp() override { |
206 fake_frontend_channel_ = base::MakeUnique<FakeFrontendChannel>(); | 233 fake_frontend_channel_ = base::MakeUnique<FakeFrontendChannel>(); |
207 uber_dispatcher_ = | 234 uber_dispatcher_ = |
208 base::MakeUnique<UberDispatcher>(fake_frontend_channel_.get()); | 235 base::MakeUnique<UberDispatcher>(fake_frontend_channel_.get()); |
209 dom_agent_ = base::MakeUnique<devtools::AshDevToolsDOMAgent>(); | 236 dom_agent_ = base::MakeUnique<devtools::UIDevToolsDOMAgent>(); |
210 dom_agent_->Init(uber_dispatcher_.get()); | 237 dom_agent_->Init(uber_dispatcher_.get()); |
211 css_agent_ = | 238 css_agent_ = |
212 base::MakeUnique<devtools::AshDevToolsCSSAgent>(dom_agent_.get()); | 239 base::MakeUnique<devtools::UIDevToolsCSSAgent>(dom_agent_.get()); |
213 css_agent_->Init(uber_dispatcher_.get()); | 240 css_agent_->Init(uber_dispatcher_.get()); |
214 css_agent_->enable(); | 241 css_agent_->enable(); |
215 AshTestBase::SetUp(); | 242 views::ViewsTestBase::SetUp(); |
| 243 top_window = CreateChildWindow(dom_agent()->root_windows()[0]); |
| 244 top_default_container_window = CreateChildWindow( |
| 245 dom_agent()->root_windows()[0], ash::kShellWindowId_DefaultContainer); |
| 246 top_overlay_window = CreateChildWindow(dom_agent()->root_windows()[0], |
| 247 ash::kShellWindowId_OverlayContainer, |
| 248 ui::wm::WINDOW_TYPE_UNKNOWN); |
216 } | 249 } |
217 | 250 |
218 void TearDown() override { | 251 void TearDown() override { |
| 252 top_overlay_window.reset(); |
| 253 top_default_container_window.reset(); |
| 254 top_window.reset(); |
219 css_agent_.reset(); | 255 css_agent_.reset(); |
220 dom_agent_.reset(); | 256 dom_agent_.reset(); |
221 uber_dispatcher_.reset(); | 257 uber_dispatcher_.reset(); |
222 fake_frontend_channel_.reset(); | 258 fake_frontend_channel_.reset(); |
223 AshTestBase::TearDown(); | 259 views::ViewsTestBase::TearDown(); |
224 } | 260 } |
225 | 261 |
226 void ExpectChildNodeInserted(int parent_id, int prev_sibling_id) { | 262 void ExpectChildNodeInserted(int parent_id, int prev_sibling_id) { |
227 EXPECT_EQ(1, frontend_channel()->CountProtocolNotificationMessageStartsWith( | 263 EXPECT_EQ(1, frontend_channel()->CountProtocolNotificationMessageStartsWith( |
228 base::StringPrintf("{\"method\":\"DOM.childNodeInserted\"," | 264 base::StringPrintf("{\"method\":\"DOM.childNodeInserted\"," |
229 "\"params\":{\"parentNodeId\":%d," | 265 "\"params\":{\"parentNodeId\":%d," |
230 "\"previousNodeId\":%d", | 266 "\"previousNodeId\":%d", |
231 parent_id, prev_sibling_id))); | 267 parent_id, prev_sibling_id))); |
232 } | 268 } |
233 | 269 |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
285 dom_agent_->hideHighlight(); | 321 dom_agent_->hideHighlight(); |
286 ASSERT_FALSE( | 322 ASSERT_FALSE( |
287 GetHighlightingWindow(dom_agent()->root_windows()[root_window_index]) | 323 GetHighlightingWindow(dom_agent()->root_windows()[root_window_index]) |
288 ->IsVisible()); | 324 ->IsVisible()); |
289 } | 325 } |
290 | 326 |
291 FakeFrontendChannel* frontend_channel() { | 327 FakeFrontendChannel* frontend_channel() { |
292 return fake_frontend_channel_.get(); | 328 return fake_frontend_channel_.get(); |
293 } | 329 } |
294 | 330 |
295 devtools::AshDevToolsCSSAgent* css_agent() { return css_agent_.get(); } | 331 devtools::UIDevToolsCSSAgent* css_agent() { return css_agent_.get(); } |
296 devtools::AshDevToolsDOMAgent* dom_agent() { return dom_agent_.get(); } | 332 devtools::UIDevToolsDOMAgent* dom_agent() { return dom_agent_.get(); } |
| 333 |
| 334 std::unique_ptr<aura::Window> top_overlay_window; |
| 335 std::unique_ptr<aura::Window> top_window; |
| 336 std::unique_ptr<aura::Window> top_default_container_window; |
297 | 337 |
298 private: | 338 private: |
299 std::unique_ptr<UberDispatcher> uber_dispatcher_; | 339 std::unique_ptr<UberDispatcher> uber_dispatcher_; |
300 std::unique_ptr<FakeFrontendChannel> fake_frontend_channel_; | 340 std::unique_ptr<FakeFrontendChannel> fake_frontend_channel_; |
301 std::unique_ptr<devtools::AshDevToolsDOMAgent> dom_agent_; | 341 std::unique_ptr<devtools::UIDevToolsDOMAgent> dom_agent_; |
302 std::unique_ptr<devtools::AshDevToolsCSSAgent> css_agent_; | 342 std::unique_ptr<devtools::UIDevToolsCSSAgent> css_agent_; |
303 | 343 |
304 DISALLOW_COPY_AND_ASSIGN(AshDevToolsTest); | 344 DISALLOW_COPY_AND_ASSIGN(UIDevToolsTest); |
305 }; | 345 }; |
306 | 346 |
307 TEST_F(AshDevToolsTest, GetDocumentWithWindowWidgetView) { | 347 TEST_F(UIDevToolsTest, GetDocumentWithWindowWidgetView) { |
308 std::unique_ptr<views::Widget> widget( | 348 std::unique_ptr<views::Widget> widget( |
309 CreateTestWidget(gfx::Rect(1, 1, 1, 1))); | 349 CreateTestWidget(gfx::Rect(1, 1, 1, 1))); |
310 aura::Window* parent_window = widget->GetNativeWindow(); | 350 aura::Window* parent_window = widget->GetNativeWindow(); |
311 parent_window->SetName("parent_window"); | 351 parent_window->SetName("parent_window"); |
312 std::unique_ptr<aura::Window> child_window = CreateChildWindow(parent_window); | 352 std::unique_ptr<aura::Window> child_window = CreateChildWindow(parent_window); |
313 child_window->SetName("child_window"); | 353 child_window->SetName("child_window"); |
314 widget->Show(); | 354 widget->Show(); |
315 views::View* child_view = new TestView("child_view"); | 355 views::View* child_view = new TestView("child_view"); |
316 widget->GetRootView()->AddChildView(child_view); | 356 widget->GetRootView()->AddChildView(child_view); |
317 | 357 |
318 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; | 358 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; |
319 dom_agent()->getDocument(&root); | 359 dom_agent()->getDocument(&root); |
320 | 360 |
321 DOM::Node* parent_node = FindInRoot(parent_window, root.get()); | 361 DOM::Node* parent_node = FindInRoot(parent_window, root.get()); |
322 ASSERT_TRUE(parent_node); | 362 ASSERT_TRUE(parent_node); |
323 Array<DOM::Node>* parent_children = parent_node->getChildren(nullptr); | 363 Array<DOM::Node>* parent_children = parent_node->getChildren(nullptr); |
324 ASSERT_TRUE(parent_children); | 364 ASSERT_TRUE(parent_children); |
325 DOM::Node* widget_node = parent_children->get(0); | 365 DOM::Node* widget_node = parent_children->get(0); |
326 Compare(widget.get(), widget_node); | 366 Compare(widget.get(), widget_node); |
327 Compare(child_window.get(), parent_children->get(1)); | 367 Compare(child_window.get(), parent_children->get(1)); |
328 Array<DOM::Node>* widget_children = widget_node->getChildren(nullptr); | 368 Array<DOM::Node>* widget_children = widget_node->getChildren(nullptr); |
329 ASSERT_TRUE(widget_children); | 369 ASSERT_TRUE(widget_children); |
330 Compare(widget->GetRootView(), widget_children->get(0)); | 370 Compare(widget->GetRootView(), widget_children->get(0)); |
331 ASSERT_TRUE(widget_children->get(0)->getChildren(nullptr)); | 371 ASSERT_TRUE(widget_children->get(0)->getChildren(nullptr)); |
332 Compare(child_view, widget_children->get(0)->getChildren(nullptr)->get(1)); | 372 Compare(child_view, widget_children->get(0)->getChildren(nullptr)->get(1)); |
333 } | 373 } |
334 | 374 |
335 TEST_F(AshDevToolsTest, GetDocumentNativeWidgetOwnsWidget) { | 375 TEST_F(UIDevToolsTest, GetDocumentNativeWidgetOwnsWidget) { |
336 views::internal::NativeWidgetPrivate* native_widget_private = | 376 views::internal::NativeWidgetPrivate* native_widget_private = |
337 CreateTestNativeWidget(); | 377 CreateTestNativeWidget(); |
338 views::Widget* widget = native_widget_private->GetWidget(); | 378 views::Widget* widget = native_widget_private->GetWidget(); |
339 aura::Window* parent_window = widget->GetNativeWindow(); | 379 aura::Window* parent_window = widget->GetNativeWindow(); |
340 | 380 |
341 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; | 381 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; |
342 dom_agent()->getDocument(&root); | 382 dom_agent()->getDocument(&root); |
343 | 383 |
344 DOM::Node* parent_node = FindInRoot(parent_window, root.get()); | 384 DOM::Node* parent_node = FindInRoot(parent_window, root.get()); |
345 ASSERT_TRUE(parent_node); | 385 ASSERT_TRUE(parent_node); |
346 DOM::Node* widget_node = parent_node->getChildren(nullptr)->get(0); | 386 DOM::Node* widget_node = parent_node->getChildren(nullptr)->get(0); |
347 Compare(widget, widget_node); | 387 Compare(widget, widget_node); |
348 // Destroy NativeWidget followed by |widget| | 388 // Destroy NativeWidget followed by |widget| |
349 widget->CloseNow(); | 389 widget->CloseNow(); |
350 } | 390 } |
351 | 391 |
352 TEST_F(AshDevToolsTest, WindowAddedChildNodeInserted) { | 392 TEST_F(UIDevToolsTest, WindowAddedChildNodeInserted) { |
353 // Initialize DOMAgent | 393 // Initialize DOMAgent |
| 394 std::unique_ptr<aura::Window> top_invalid_window_child = |
| 395 CreateChildWindow(top_window.get()); |
| 396 |
354 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; | 397 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; |
355 dom_agent()->getDocument(&root); | 398 dom_agent()->getDocument(&root); |
356 | |
357 aura::Window* root_window = dom_agent()->root_windows()[0]; | 399 aura::Window* root_window = dom_agent()->root_windows()[0]; |
358 aura::Window* parent_window = root_window->children()[0]; | 400 aura::Window* parent_window = root_window->children()[0]; |
359 DOM::Node* parent_node = FindInRoot(parent_window, root.get()); | 401 DOM::Node* parent_node = FindInRoot(parent_window, root.get()); |
360 Array<DOM::Node>* parent_node_children = parent_node->getChildren(nullptr); | 402 Array<DOM::Node>* parent_node_children = parent_node->getChildren(nullptr); |
361 DOM::Node* sibling_node = | 403 DOM::Node* sibling_node = |
362 parent_node_children->get(parent_node_children->length() - 1); | 404 parent_node_children->get(parent_node_children->length() - 1); |
363 | 405 |
364 std::unique_ptr<aura::Window> child(CreateChildWindow(parent_window)); | 406 std::unique_ptr<aura::Window> child(CreateChildWindow(parent_window)); |
365 ExpectChildNodeInserted(parent_node->getNodeId(), sibling_node->getNodeId()); | 407 ExpectChildNodeInserted(parent_node->getNodeId(), sibling_node->getNodeId()); |
| 408 top_invalid_window_child.reset(); |
366 } | 409 } |
367 | 410 |
368 TEST_F(AshDevToolsTest, WindowDestroyedChildNodeRemoved) { | 411 TEST_F(UIDevToolsTest, WindowDestroyedChildNodeRemoved) { |
| 412 std::unique_ptr<aura::Window> child_1 = CreateChildWindow(top_window.get()); |
| 413 std::unique_ptr<aura::Window> child_2 = CreateChildWindow(child_1.get()); |
| 414 |
369 // Initialize DOMAgent | 415 // Initialize DOMAgent |
370 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; | 416 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; |
371 dom_agent()->getDocument(&root); | 417 dom_agent()->getDocument(&root); |
372 | 418 |
373 aura::Window* root_window = dom_agent()->root_windows()[0]; | 419 aura::Window* root_window = dom_agent()->root_windows()[0]; |
374 aura::Window* rotation_window = root_window->children()[0]; | 420 aura::Window* rotation_window = root_window->children()[0]; |
375 aura::Window* parent_window = rotation_window->children()[0]; | 421 aura::Window* parent_window = rotation_window->children()[0]; |
376 aura::Window* child_window = parent_window->children()[0]; | 422 aura::Window* child_window = parent_window->children()[0]; |
377 DOM::Node* root_node = | 423 DOM::Node* root_node = |
378 root->getChildren(nullptr)->get(0)->getChildren(nullptr)->get(0); | 424 root->getChildren(nullptr)->get(0)->getChildren(nullptr)->get(0); |
379 DOM::Node* parent_node = root_node->getChildren(nullptr)->get(0); | 425 DOM::Node* parent_node = root_node->getChildren(nullptr)->get(0); |
380 DOM::Node* child_node = parent_node->getChildren(nullptr)->get(0); | 426 DOM::Node* child_node = parent_node->getChildren(nullptr)->get(0); |
381 | 427 |
382 Compare(parent_window, parent_node); | 428 Compare(parent_window, parent_node); |
383 Compare(child_window, child_node); | 429 Compare(child_window, child_node); |
384 delete child_window; | 430 child_2.reset(); |
385 ExpectChildNodeRemoved(parent_node->getNodeId(), child_node->getNodeId()); | 431 ExpectChildNodeRemoved(parent_node->getNodeId(), child_node->getNodeId()); |
| 432 child_1.reset(); |
386 } | 433 } |
387 | 434 |
388 TEST_F(AshDevToolsTest, WindowReorganizedChildNodeRearranged) { | 435 TEST_F(UIDevToolsTest, WindowReorganizedChildNodeRearranged) { |
| 436 std::unique_ptr<aura::Window> child_1 = CreateChildWindow(top_window.get()); |
| 437 std::unique_ptr<aura::Window> child_2 = CreateChildWindow(top_window.get()); |
| 438 std::unique_ptr<aura::Window> child_11 = CreateChildWindow(child_1.get()); |
| 439 std::unique_ptr<aura::Window> child_21 = CreateChildWindow(child_2.get()); |
389 // Initialize DOMAgent | 440 // Initialize DOMAgent |
390 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; | 441 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; |
391 dom_agent()->getDocument(&root); | 442 dom_agent()->getDocument(&root); |
392 | |
393 aura::Window* root_window = dom_agent()->root_windows()[0]; | 443 aura::Window* root_window = dom_agent()->root_windows()[0]; |
394 aura::Window* rotation_window = root_window->children()[0]; | 444 aura::Window* rotation_window = root_window->children()[0]; |
395 aura::Window* parent_window = rotation_window->children()[0]; | 445 aura::Window* parent_window = rotation_window->children()[0]; |
396 aura::Window* target_window = rotation_window->children()[1]; | 446 aura::Window* target_window = rotation_window->children()[1]; |
397 aura::Window* child_window = parent_window->children()[0]; | 447 aura::Window* child_window = parent_window->children()[0]; |
398 | 448 |
399 DOM::Node* root_node = | 449 DOM::Node* root_node = |
400 root->getChildren(nullptr)->get(0)->getChildren(nullptr)->get(0); | 450 root->getChildren(nullptr)->get(0)->getChildren(nullptr)->get(0); |
401 DOM::Node* parent_node = root_node->getChildren(nullptr)->get(0); | 451 DOM::Node* parent_node = root_node->getChildren(nullptr)->get(0); |
402 DOM::Node* target_node = root_node->getChildren(nullptr)->get(1); | 452 DOM::Node* target_node = root_node->getChildren(nullptr)->get(1); |
403 Array<DOM::Node>* target_node_children = target_node->getChildren(nullptr); | 453 Array<DOM::Node>* target_node_children = target_node->getChildren(nullptr); |
404 DOM::Node* sibling_node = | 454 DOM::Node* sibling_node = |
405 target_node_children->get(target_node_children->length() - 1); | 455 target_node_children->get(target_node_children->length() - 1); |
406 DOM::Node* child_node = parent_node->getChildren(nullptr)->get(0); | 456 DOM::Node* child_node = parent_node->getChildren(nullptr)->get(0); |
407 | 457 |
408 Compare(parent_window, parent_node); | 458 Compare(parent_window, parent_node); |
409 Compare(target_window, target_node); | 459 Compare(target_window, target_node); |
410 Compare(child_window, child_node); | 460 Compare(child_window, child_node); |
411 target_window->AddChild(child_window); | 461 target_window->AddChild(child_window); |
412 ExpectChildNodeRemoved(parent_node->getNodeId(), child_node->getNodeId()); | 462 ExpectChildNodeRemoved(parent_node->getNodeId(), child_node->getNodeId()); |
413 ExpectChildNodeInserted(target_node->getNodeId(), sibling_node->getNodeId()); | 463 ExpectChildNodeInserted(target_node->getNodeId(), sibling_node->getNodeId()); |
414 } | 464 } |
415 | 465 |
416 TEST_F(AshDevToolsTest, WindowReorganizedChildNodeRemovedAndInserted) { | 466 TEST_F(UIDevToolsTest, WindowReorganizedChildNodeRemovedAndInserted) { |
| 467 std::unique_ptr<aura::Window> child_1 = CreateChildWindow(top_window.get()); |
| 468 std::unique_ptr<aura::Window> child_2 = CreateChildWindow(top_window.get()); |
| 469 std::unique_ptr<aura::Window> child_21 = CreateChildWindow(child_2.get()); |
| 470 std::unique_ptr<aura::Window> child_22 = CreateChildWindow(child_2.get()); |
| 471 |
417 aura::Window* root_window = dom_agent()->root_windows()[0]; | 472 aura::Window* root_window = dom_agent()->root_windows()[0]; |
418 aura::Window* rotation_window = root_window->children()[0]; | 473 aura::Window* rotation_window = root_window->children()[0]; |
419 aura::Window* parent_window = rotation_window->children()[0]; | 474 aura::Window* parent_window = rotation_window->children()[0]; |
420 aura::Window* target_window = rotation_window->children()[1]; | 475 aura::Window* target_window = rotation_window->children()[1]; |
421 std::unique_ptr<aura::Window> child_window(CreateChildWindow(parent_window)); | 476 std::unique_ptr<aura::Window> child_window(CreateChildWindow(parent_window)); |
422 | 477 |
423 // Initialize DOMAgent | 478 // Initialize DOMAgent |
424 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; | 479 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; |
425 dom_agent()->getDocument(&root); | 480 dom_agent()->getDocument(&root); |
426 DOM::Node* root_node = | 481 DOM::Node* root_node = |
427 root->getChildren(nullptr)->get(0)->getChildren(nullptr)->get(0); | 482 root->getChildren(nullptr)->get(0)->getChildren(nullptr)->get(0); |
428 DOM::Node* parent_node = root_node->getChildren(nullptr)->get(0); | 483 DOM::Node* parent_node = root_node->getChildren(nullptr)->get(0); |
429 DOM::Node* target_node = root_node->getChildren(nullptr)->get(1); | 484 DOM::Node* target_node = root_node->getChildren(nullptr)->get(1); |
430 Array<DOM::Node>* target_node_children = target_node->getChildren(nullptr); | 485 Array<DOM::Node>* target_node_children = target_node->getChildren(nullptr); |
431 DOM::Node* sibling_node = | 486 DOM::Node* sibling_node = |
432 target_node_children->get(target_node_children->length() - 1); | 487 target_node_children->get(target_node_children->length() - 1); |
433 Array<DOM::Node>* parent_node_children = parent_node->getChildren(nullptr); | 488 Array<DOM::Node>* parent_node_children = parent_node->getChildren(nullptr); |
434 DOM::Node* child_node = | 489 DOM::Node* child_node = |
435 parent_node_children->get(parent_node_children->length() - 1); | 490 parent_node_children->get(parent_node_children->length() - 1); |
436 | 491 |
437 Compare(parent_window, parent_node); | 492 Compare(parent_window, parent_node); |
438 Compare(target_window, target_node); | 493 Compare(target_window, target_node); |
439 Compare(child_window.get(), child_node); | 494 Compare(child_window.get(), child_node); |
440 parent_window->RemoveChild(child_window.get()); | 495 parent_window->RemoveChild(child_window.get()); |
441 target_window->AddChild(child_window.get()); | 496 target_window->AddChild(child_window.get()); |
442 ExpectChildNodeRemoved(parent_node->getNodeId(), child_node->getNodeId()); | 497 ExpectChildNodeRemoved(parent_node->getNodeId(), child_node->getNodeId()); |
443 ExpectChildNodeInserted(target_node->getNodeId(), sibling_node->getNodeId()); | 498 ExpectChildNodeInserted(target_node->getNodeId(), sibling_node->getNodeId()); |
444 } | 499 } |
445 | 500 |
446 TEST_F(AshDevToolsTest, WindowStackingChangedChildNodeRemovedAndInserted) { | 501 TEST_F(UIDevToolsTest, WindowStackingChangedChildNodeRemovedAndInserted) { |
| 502 std::unique_ptr<aura::Window> child_11 = CreateChildWindow(top_window.get()); |
| 503 std::unique_ptr<aura::Window> child_12 = CreateChildWindow(top_window.get()); |
| 504 std::unique_ptr<aura::Window> child_13 = CreateChildWindow(top_window.get()); |
| 505 |
447 // Initialize DOMAgent | 506 // Initialize DOMAgent |
448 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; | 507 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; |
449 dom_agent()->getDocument(&root); | 508 dom_agent()->getDocument(&root); |
450 | 509 |
451 aura::Window* root_window = dom_agent()->root_windows()[0]; | 510 aura::Window* root_window = dom_agent()->root_windows()[0]; |
452 aura::Window* parent_window = root_window->children()[0]; | 511 aura::Window* parent_window = root_window->children()[0]; |
453 aura::Window* child_window = parent_window->children()[0]; | 512 aura::Window* child_window = parent_window->children()[0]; |
454 aura::Window* target_window = parent_window->children()[1]; | 513 aura::Window* target_window = parent_window->children()[1]; |
455 | 514 |
456 DOM::Node* parent_node = | 515 DOM::Node* parent_node = |
457 root->getChildren(nullptr)->get(0)->getChildren(nullptr)->get(0); | 516 root->getChildren(nullptr)->get(0)->getChildren(nullptr)->get(0); |
458 Array<DOM::Node>* parent_node_children = parent_node->getChildren(nullptr); | 517 Array<DOM::Node>* parent_node_children = parent_node->getChildren(nullptr); |
459 DOM::Node* child_node = parent_node_children->get(0); | 518 DOM::Node* child_node = parent_node_children->get(0); |
460 DOM::Node* sibling_node = parent_node_children->get(1); | 519 DOM::Node* sibling_node = parent_node_children->get(1); |
461 int parent_id = parent_node->getNodeId(); | 520 int parent_id = parent_node->getNodeId(); |
462 | 521 |
463 Compare(parent_window, parent_node); | 522 Compare(parent_window, parent_node); |
464 Compare(child_window, child_node); | 523 Compare(child_window, child_node); |
465 parent_window->StackChildAbove(child_window, target_window); | 524 parent_window->StackChildAbove(child_window, target_window); |
466 ExpectChildNodeRemoved(parent_id, child_node->getNodeId()); | 525 ExpectChildNodeRemoved(parent_id, child_node->getNodeId()); |
467 ExpectChildNodeInserted(parent_id, sibling_node->getNodeId()); | 526 ExpectChildNodeInserted(parent_id, sibling_node->getNodeId()); |
468 } | 527 } |
469 | 528 |
470 TEST_F(AshDevToolsTest, ViewInserted) { | 529 TEST_F(UIDevToolsTest, ViewInserted) { |
471 std::unique_ptr<views::Widget> widget( | 530 std::unique_ptr<views::Widget> widget( |
472 CreateTestWidget(gfx::Rect(1, 1, 1, 1))); | 531 CreateTestWidget(gfx::Rect(1, 1, 1, 1))); |
473 aura::Window* window = widget->GetNativeWindow(); | 532 aura::Window* window = widget->GetNativeWindow(); |
474 widget->Show(); | 533 widget->Show(); |
475 | 534 |
476 // Initialize DOMAgent | 535 // Initialize DOMAgent |
477 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; | 536 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; |
478 dom_agent()->getDocument(&root); | 537 dom_agent()->getDocument(&root); |
479 | 538 |
480 DOM::Node* parent_node = FindInRoot(window, root.get()); | 539 DOM::Node* parent_node = FindInRoot(window, root.get()); |
481 ASSERT_TRUE(parent_node); | 540 ASSERT_TRUE(parent_node); |
482 DOM::Node* widget_node = parent_node->getChildren(nullptr)->get(0); | 541 DOM::Node* widget_node = parent_node->getChildren(nullptr)->get(0); |
483 DOM::Node* root_view_node = widget_node->getChildren(nullptr)->get(0); | 542 DOM::Node* root_view_node = widget_node->getChildren(nullptr)->get(0); |
484 Array<DOM::Node>* root_view_children = root_view_node->getChildren(nullptr); | 543 Array<DOM::Node>* root_view_children = root_view_node->getChildren(nullptr); |
485 ASSERT_TRUE(root_view_children); | 544 ASSERT_TRUE(root_view_children); |
486 DOM::Node* sibling_view_node = | 545 DOM::Node* sibling_view_node = |
487 root_view_children->get(root_view_children->length() - 1); | 546 root_view_children->get(root_view_children->length() - 1); |
488 | 547 |
489 widget->GetRootView()->AddChildView(new views::View); | 548 widget->GetRootView()->AddChildView(new views::View); |
490 ExpectChildNodeInserted(root_view_node->getNodeId(), | 549 ExpectChildNodeInserted(root_view_node->getNodeId(), |
491 sibling_view_node->getNodeId()); | 550 sibling_view_node->getNodeId()); |
492 } | 551 } |
493 | 552 |
494 TEST_F(AshDevToolsTest, ViewRemoved) { | 553 TEST_F(UIDevToolsTest, ViewRemoved) { |
495 std::unique_ptr<views::Widget> widget( | 554 std::unique_ptr<views::Widget> widget( |
496 CreateTestWidget(gfx::Rect(1, 1, 1, 1))); | 555 CreateTestWidget(gfx::Rect(1, 1, 1, 1))); |
497 // Need to store |view| in unique_ptr because it is removed from the widget | 556 // Need to store |view| in unique_ptr because it is removed from the widget |
498 // and needs to be destroyed independently | 557 // and needs to be destroyed independently |
499 std::unique_ptr<views::View> child_view = base::MakeUnique<views::View>(); | 558 std::unique_ptr<views::View> child_view = base::MakeUnique<views::View>(); |
500 aura::Window* window = widget->GetNativeWindow(); | 559 aura::Window* window = widget->GetNativeWindow(); |
501 widget->Show(); | 560 widget->Show(); |
502 views::View* root_view = widget->GetRootView(); | 561 views::View* root_view = widget->GetRootView(); |
503 root_view->AddChildView(child_view.get()); | 562 root_view->AddChildView(child_view.get()); |
504 | 563 |
505 // Initialize DOMAgent | 564 // Initialize DOMAgent |
506 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; | 565 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; |
507 dom_agent()->getDocument(&root); | 566 dom_agent()->getDocument(&root); |
508 | 567 |
509 DOM::Node* parent_node = FindInRoot(window, root.get()); | 568 DOM::Node* parent_node = FindInRoot(window, root.get()); |
510 ASSERT_TRUE(parent_node); | 569 ASSERT_TRUE(parent_node); |
511 DOM::Node* widget_node = parent_node->getChildren(nullptr)->get(0); | 570 DOM::Node* widget_node = parent_node->getChildren(nullptr)->get(0); |
512 DOM::Node* root_view_node = widget_node->getChildren(nullptr)->get(0); | 571 DOM::Node* root_view_node = widget_node->getChildren(nullptr)->get(0); |
513 Array<DOM::Node>* root_view_children = root_view_node->getChildren(nullptr); | 572 Array<DOM::Node>* root_view_children = root_view_node->getChildren(nullptr); |
514 ASSERT_TRUE(root_view_children); | 573 ASSERT_TRUE(root_view_children); |
515 DOM::Node* child_view_node = | 574 DOM::Node* child_view_node = |
516 root_view_children->get(root_view_children->length() - 1); | 575 root_view_children->get(root_view_children->length() - 1); |
517 | 576 |
518 Compare(child_view.get(), child_view_node); | 577 Compare(child_view.get(), child_view_node); |
519 root_view->RemoveChildView(child_view.get()); | 578 root_view->RemoveChildView(child_view.get()); |
520 ExpectChildNodeRemoved(root_view_node->getNodeId(), | 579 ExpectChildNodeRemoved(root_view_node->getNodeId(), |
521 child_view_node->getNodeId()); | 580 child_view_node->getNodeId()); |
522 } | 581 } |
523 | 582 |
524 TEST_F(AshDevToolsTest, ViewRearranged) { | 583 TEST_F(UIDevToolsTest, ViewRearranged) { |
525 std::unique_ptr<views::Widget> widget( | 584 std::unique_ptr<views::Widget> widget( |
526 CreateTestWidget(gfx::Rect(1, 1, 1, 1))); | 585 CreateTestWidget(gfx::Rect(1, 1, 1, 1))); |
527 aura::Window* window = widget->GetNativeWindow(); | 586 aura::Window* window = widget->GetNativeWindow(); |
528 widget->Show(); | 587 widget->Show(); |
529 views::View* root_view = widget->GetRootView(); | 588 views::View* root_view = widget->GetRootView(); |
530 views::View* parent_view = new views::View; | 589 views::View* parent_view = new views::View; |
531 views::View* target_view = new views::View; | 590 views::View* target_view = new views::View; |
532 views::View* child_view = new views::View; | 591 views::View* child_view = new views::View; |
533 views::View* child_view_1 = new views::View; | 592 views::View* child_view_1 = new views::View; |
534 | 593 |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
567 ExpectChildNodeRemoved(parent_view_node->getNodeId(), | 626 ExpectChildNodeRemoved(parent_view_node->getNodeId(), |
568 child_view_node_1->getNodeId()); | 627 child_view_node_1->getNodeId()); |
569 ExpectChildNodeInserted(parent_view_node->getNodeId(), 0); | 628 ExpectChildNodeInserted(parent_view_node->getNodeId(), 0); |
570 | 629 |
571 target_view->AddChildView(child_view); | 630 target_view->AddChildView(child_view); |
572 ExpectChildNodeRemoved(parent_view_node->getNodeId(), | 631 ExpectChildNodeRemoved(parent_view_node->getNodeId(), |
573 child_view_node->getNodeId()); | 632 child_view_node->getNodeId()); |
574 ExpectChildNodeInserted(target_view_node->getNodeId(), 0); | 633 ExpectChildNodeInserted(target_view_node->getNodeId(), 0); |
575 } | 634 } |
576 | 635 |
577 TEST_F(AshDevToolsTest, ViewRearrangedRemovedAndInserted) { | 636 TEST_F(UIDevToolsTest, ViewRearrangedRemovedAndInserted) { |
578 std::unique_ptr<views::Widget> widget( | 637 std::unique_ptr<views::Widget> widget( |
579 CreateTestWidget(gfx::Rect(1, 1, 1, 1))); | 638 CreateTestWidget(gfx::Rect(1, 1, 1, 1))); |
580 aura::Window* window = widget->GetNativeWindow(); | 639 aura::Window* window = widget->GetNativeWindow(); |
581 widget->Show(); | 640 widget->Show(); |
582 views::View* root_view = widget->GetRootView(); | 641 views::View* root_view = widget->GetRootView(); |
583 views::View* parent_view = new views::View; | 642 views::View* parent_view = new views::View; |
584 views::View* target_view = new views::View; | 643 views::View* target_view = new views::View; |
585 views::View* child_view = new views::View; | 644 views::View* child_view = new views::View; |
586 root_view->AddChildView(parent_view); | 645 root_view->AddChildView(parent_view); |
587 root_view->AddChildView(target_view); | 646 root_view->AddChildView(target_view); |
(...skipping 18 matching lines...) Expand all Loading... |
606 Compare(parent_view, parent_view_node); | 665 Compare(parent_view, parent_view_node); |
607 Compare(target_view, target_view_node); | 666 Compare(target_view, target_view_node); |
608 Compare(child_view, child_view_node); | 667 Compare(child_view, child_view_node); |
609 parent_view->RemoveChildView(child_view); | 668 parent_view->RemoveChildView(child_view); |
610 target_view->AddChildView(child_view); | 669 target_view->AddChildView(child_view); |
611 ExpectChildNodeRemoved(parent_view_node->getNodeId(), | 670 ExpectChildNodeRemoved(parent_view_node->getNodeId(), |
612 child_view_node->getNodeId()); | 671 child_view_node->getNodeId()); |
613 ExpectChildNodeInserted(target_view_node->getNodeId(), 0); | 672 ExpectChildNodeInserted(target_view_node->getNodeId(), 0); |
614 } | 673 } |
615 | 674 |
616 TEST_F(AshDevToolsTest, WindowWidgetViewHighlight) { | 675 TEST_F(UIDevToolsTest, WindowWidgetViewHighlight) { |
| 676 DCHECK_EQ(dom_agent()->root_windows()[0]->GetChildById( |
| 677 ash::kShellWindowId_OverlayContainer), |
| 678 top_overlay_window.get()); |
617 std::unique_ptr<views::Widget> widget( | 679 std::unique_ptr<views::Widget> widget( |
618 CreateTestWidget(gfx::Rect(0, 0, 400, 400))); | 680 CreateTestWidget(gfx::Rect(0, 0, 400, 400))); |
619 aura::Window* parent_window = widget->GetNativeWindow(); | 681 aura::Window* parent_window = widget->GetNativeWindow(); |
620 std::unique_ptr<aura::Window> window(CreateChildWindow(parent_window)); | 682 std::unique_ptr<aura::Window> window(CreateChildWindow(parent_window)); |
621 views::View* root_view = widget->GetRootView(); | 683 views::View* root_view = widget->GetRootView(); |
622 | 684 |
623 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; | 685 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; |
624 dom_agent()->getDocument(&root); | 686 dom_agent()->getDocument(&root); |
625 | 687 |
626 DOM::Node* parent_node = FindInRoot(parent_window, root.get()); | 688 DOM::Node* parent_node = FindInRoot(parent_window, root.get()); |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
665 for (auto* child : ui_element->children()) { | 727 for (auto* child : ui_element->children()) { |
666 if (child->type() == devtools::UIElementType::WINDOW) { | 728 if (child->type() == devtools::UIElementType::WINDOW) { |
667 int node_id = GetNodeIdFromWindow(child, window); | 729 int node_id = GetNodeIdFromWindow(child, window); |
668 if (node_id > 0) | 730 if (node_id > 0) |
669 return node_id; | 731 return node_id; |
670 } | 732 } |
671 } | 733 } |
672 return 0; | 734 return 0; |
673 } | 735 } |
674 | 736 |
675 TEST_F(AshDevToolsTest, MultipleDisplayHighlight) { | 737 // TODO(thanhph): Add UIDevToolsTest.MultipleDisplayHighlight back when multiple |
676 UpdateDisplay("300x400,500x500"); | 738 // displays are available for ViewTestBase. |
677 | 739 |
678 aura::Window::Windows root_windows = dom_agent()->root_windows(); | 740 TEST_F(UIDevToolsTest, WindowWidgetViewGetMatchedStylesForNode) { |
679 std::unique_ptr<aura::Window> window( | |
680 CreateTestWindowInShellWithBounds(gfx::Rect(1, 2, 30, 40))); | |
681 | |
682 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; | |
683 dom_agent()->getDocument(&root); | |
684 | |
685 EXPECT_EQ(root_windows[0], window->GetRootWindow()); | |
686 HighlightNode( | |
687 GetNodeIdFromWindow(dom_agent()->window_element_root(), window.get())); | |
688 ExpectHighlighted(window->GetBoundsInScreen(), | |
689 dom_agent()->root_windows()[0]); | |
690 | |
691 window->SetBoundsInScreen(gfx::Rect(500, 0, 50, 50), GetSecondaryDisplay()); | |
692 EXPECT_EQ(root_windows[1], window->GetRootWindow()); | |
693 HighlightNode( | |
694 GetNodeIdFromWindow(dom_agent()->window_element_root(), window.get())); | |
695 ExpectHighlighted(window->GetBoundsInScreen(), | |
696 dom_agent()->root_windows()[1]); | |
697 } | |
698 | |
699 TEST_F(AshDevToolsTest, WindowWidgetViewGetMatchedStylesForNode) { | |
700 std::unique_ptr<views::Widget> widget( | 741 std::unique_ptr<views::Widget> widget( |
701 CreateTestWidget(gfx::Rect(1, 1, 1, 1))); | 742 CreateTestWidget(gfx::Rect(1, 1, 1, 1))); |
702 aura::Window* parent_window = widget->GetNativeWindow(); | 743 aura::Window* parent_window = widget->GetNativeWindow(); |
703 std::unique_ptr<aura::Window> window(CreateChildWindow(parent_window)); | 744 std::unique_ptr<aura::Window> window(CreateChildWindow(parent_window)); |
704 gfx::Rect window_bounds(2, 2, 3, 3); | 745 gfx::Rect window_bounds(2, 2, 3, 3); |
705 gfx::Rect widget_bounds(50, 50, 100, 75); | 746 gfx::Rect widget_bounds(50, 50, 100, 75); |
706 gfx::Rect view_bounds(4, 4, 3, 3); | 747 gfx::Rect view_bounds(4, 4, 3, 3); |
707 window->SetBounds(window_bounds); | 748 window->SetBounds(window_bounds); |
708 widget->SetBounds(widget_bounds); | 749 widget->SetBounds(widget_bounds); |
709 widget->GetRootView()->SetBoundsRect(view_bounds); | 750 widget->GetRootView()->SetBoundsRect(view_bounds); |
710 | 751 |
711 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; | 752 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; |
712 dom_agent()->getDocument(&root); | 753 dom_agent()->getDocument(&root); |
713 | 754 |
714 DOM::Node* parent_node = FindInRoot(parent_window, root.get()); | 755 DOM::Node* parent_node = FindInRoot(parent_window, root.get()); |
715 ASSERT_TRUE(parent_node); | 756 ASSERT_TRUE(parent_node); |
716 Array<DOM::Node>* parent_children = parent_node->getChildren(nullptr); | 757 Array<DOM::Node>* parent_children = parent_node->getChildren(nullptr); |
717 ASSERT_TRUE(parent_children); | 758 ASSERT_TRUE(parent_children); |
718 | 759 |
719 CompareNodeBounds(parent_node, widget_bounds); | 760 CompareNodeBounds(parent_node, widget_bounds); |
720 CompareNodeBounds(parent_children->get(1), window_bounds); | 761 CompareNodeBounds(parent_children->get(1), window_bounds); |
721 CompareNodeBounds(parent_children->get(0)->getChildren(nullptr)->get(0), | 762 CompareNodeBounds(parent_children->get(0)->getChildren(nullptr)->get(0), |
722 view_bounds); | 763 view_bounds); |
723 } | 764 } |
724 | 765 |
725 TEST_F(AshDevToolsTest, WindowWidgetViewStyleSheetChanged) { | 766 TEST_F(UIDevToolsTest, WindowWidgetViewStyleSheetChanged) { |
726 std::unique_ptr<views::Widget> widget( | 767 std::unique_ptr<views::Widget> widget( |
727 CreateTestWidget(gfx::Rect(1, 1, 1, 1))); | 768 CreateTestWidget(gfx::Rect(1, 1, 1, 1))); |
728 aura::Window* widget_window = widget->GetNativeWindow(); | 769 aura::Window* widget_window = widget->GetNativeWindow(); |
729 std::unique_ptr<aura::Window> child(CreateChildWindow(widget_window)); | 770 std::unique_ptr<aura::Window> child(CreateChildWindow(widget_window)); |
730 | 771 |
731 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; | 772 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; |
732 dom_agent()->getDocument(&root); | 773 dom_agent()->getDocument(&root); |
733 | 774 |
734 gfx::Rect child_bounds(2, 2, 3, 3); | 775 gfx::Rect child_bounds(2, 2, 3, 3); |
735 gfx::Rect widget_bounds(10, 10, 150, 160); | 776 gfx::Rect widget_bounds(10, 10, 150, 160); |
736 gfx::Rect view_bounds(4, 4, 3, 3); | 777 gfx::Rect view_bounds(4, 4, 3, 3); |
737 child->SetBounds(child_bounds); | 778 child->SetBounds(child_bounds); |
738 widget->SetBounds(widget_bounds); | 779 widget->SetBounds(widget_bounds); |
739 widget->GetRootView()->SetBoundsRect(view_bounds); | 780 widget->GetRootView()->SetBoundsRect(view_bounds); |
740 | 781 |
741 DOM::Node* widget_node = FindInRoot(widget_window, root.get()); | 782 DOM::Node* widget_node = FindInRoot(widget_window, root.get()); |
742 ASSERT_TRUE(widget_node); | 783 ASSERT_TRUE(widget_node); |
743 Array<DOM::Node>* widget_node_children = widget_node->getChildren(nullptr); | 784 Array<DOM::Node>* widget_node_children = widget_node->getChildren(nullptr); |
744 ASSERT_TRUE(widget_node_children); | 785 ASSERT_TRUE(widget_node_children); |
745 | 786 |
746 EXPECT_EQ(1, GetStyleSheetChangedCount(widget_node->getNodeId())); | 787 EXPECT_EQ(1, GetStyleSheetChangedCount(widget_node->getNodeId())); |
747 EXPECT_EQ( | 788 EXPECT_EQ( |
748 1, GetStyleSheetChangedCount(widget_node_children->get(1)->getNodeId())); | 789 1, GetStyleSheetChangedCount(widget_node_children->get(1)->getNodeId())); |
749 EXPECT_EQ(2, | 790 EXPECT_EQ(2, GetStyleSheetChangedCount(widget_node_children->get(0) |
750 GetStyleSheetChangedCount(widget_node_children->get(0) | 791 ->getChildren(nullptr) |
751 ->getChildren(nullptr) | 792 ->get(0) |
752 ->get(0) | 793 ->getNodeId())); |
753 ->getNodeId())); | |
754 } | 794 } |
755 | 795 |
756 TEST_F(AshDevToolsTest, WindowWidgetViewSetStyleText) { | 796 TEST_F(UIDevToolsTest, WindowWidgetViewSetStyleText) { |
757 std::unique_ptr<views::Widget> widget( | 797 std::unique_ptr<views::Widget> widget( |
758 CreateTestWidget(gfx::Rect(0, 0, 400, 400))); | 798 CreateTestWidget(gfx::Rect(0, 0, 400, 400))); |
759 aura::Window* parent_window = widget->GetNativeWindow(); | 799 aura::Window* parent_window = widget->GetNativeWindow(); |
760 std::unique_ptr<aura::Window> window(CreateChildWindow(parent_window)); | 800 std::unique_ptr<aura::Window> window(CreateChildWindow(parent_window)); |
761 views::View* root_view = widget->GetRootView(); | 801 views::View* root_view = widget->GetRootView(); |
762 | 802 |
763 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; | 803 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; |
764 dom_agent()->getDocument(&root); | 804 dom_agent()->getDocument(&root); |
765 | 805 |
766 DOM::Node* parent_node = FindInRoot(parent_window, root.get()); | 806 DOM::Node* parent_node = FindInRoot(parent_window, root.get()); |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
818 | 858 |
819 SetStyleTexts(root_view_node, "\nheight: 73;\n ", true); | 859 SetStyleTexts(root_view_node, "\nheight: 73;\n ", true); |
820 EXPECT_EQ(gfx::Rect(25, 35, 45, 73), root_view->bounds()); | 860 EXPECT_EQ(gfx::Rect(25, 35, 45, 73), root_view->bounds()); |
821 | 861 |
822 SetStyleTexts(root_view_node, "\nx: 10; y: 23; width: 52;\nvisibility: 1;\n", | 862 SetStyleTexts(root_view_node, "\nx: 10; y: 23; width: 52;\nvisibility: 1;\n", |
823 true); | 863 true); |
824 EXPECT_EQ(gfx::Rect(10, 23, 52, 73), root_view->bounds()); | 864 EXPECT_EQ(gfx::Rect(10, 23, 52, 73), root_view->bounds()); |
825 EXPECT_TRUE(root_view->visible()); | 865 EXPECT_TRUE(root_view->visible()); |
826 } | 866 } |
827 | 867 |
828 } // namespace ash | 868 } // namespace ui |
OLD | NEW |