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" | 5 #include "ash/devtools/ash_devtools_css_agent.h" |
6 #include "ash/devtools/ash_devtools_dom_agent.h" | 6 #include "ash/devtools/ash_devtools_dom_agent.h" |
7 #include "ash/public/cpp/shell_window_ids.h" | 7 #include "ash/public/cpp/shell_window_ids.h" |
8 #include "ash/root_window_controller.h" | 8 #include "ash/root_window_controller.h" |
9 #include "ash/shell.h" | 9 #include "ash/shell.h" |
10 #include "ash/shell_port.h" | 10 #include "ash/test/ash_test_base.h" |
11 #include "ash/test/ash_test.h" | |
12 #include "ash/wm/widget_finder.h" | 11 #include "ash/wm/widget_finder.h" |
13 #include "ash/wm_window.h" | |
14 #include "base/memory/ptr_util.h" | 12 #include "base/memory/ptr_util.h" |
15 #include "base/strings/stringprintf.h" | 13 #include "base/strings/stringprintf.h" |
16 #include "ui/display/display.h" | 14 #include "ui/display/display.h" |
17 #include "ui/views/background.h" | 15 #include "ui/views/background.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 ash { |
22 namespace { | 20 namespace { |
23 using namespace ui::devtools::protocol; | 21 using namespace ui::devtools::protocol; |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
74 std::string GetAttributeValue(const std::string& attribute, DOM::Node* node) { | 72 std::string GetAttributeValue(const std::string& attribute, DOM::Node* node) { |
75 EXPECT_TRUE(node->hasAttributes()); | 73 EXPECT_TRUE(node->hasAttributes()); |
76 Array<std::string>* attributes = node->getAttributes(nullptr); | 74 Array<std::string>* attributes = node->getAttributes(nullptr); |
77 for (size_t i = 0; i < attributes->length() - 1; i++) { | 75 for (size_t i = 0; i < attributes->length() - 1; i++) { |
78 if (attributes->get(i) == attribute) | 76 if (attributes->get(i) == attribute) |
79 return attributes->get(i + 1); | 77 return attributes->get(i + 1); |
80 } | 78 } |
81 return nullptr; | 79 return nullptr; |
82 } | 80 } |
83 | 81 |
84 bool Equals(WmWindow* window, DOM::Node* node) { | 82 bool Equals(aura::Window* window, DOM::Node* node) { |
85 int children_count = static_cast<int>(window->GetChildren().size()); | 83 int children_count = static_cast<int>(window->children().size()); |
86 if (GetInternalWidgetForWindow(window->aura_window())) | 84 if (GetInternalWidgetForWindow(window)) |
87 children_count++; | 85 children_count++; |
88 return "Window" == node->getNodeName() && | 86 return "Window" == node->getNodeName() && |
89 window->aura_window()->GetName() == GetAttributeValue("name", node) && | 87 window->GetName() == GetAttributeValue("name", node) && |
90 children_count == node->getChildNodeCount(kDefaultChildNodeCount); | 88 children_count == node->getChildNodeCount(kDefaultChildNodeCount); |
91 } | 89 } |
92 | 90 |
93 void Compare(views::Widget* widget, DOM::Node* node) { | 91 void Compare(views::Widget* widget, DOM::Node* node) { |
94 EXPECT_EQ("Widget", node->getNodeName()); | 92 EXPECT_EQ("Widget", node->getNodeName()); |
95 EXPECT_EQ(widget->GetName(), GetAttributeValue("name", node)); | 93 EXPECT_EQ(widget->GetName(), GetAttributeValue("name", node)); |
96 EXPECT_EQ(widget->GetRootView() ? 1 : 0, | 94 EXPECT_EQ(widget->GetRootView() ? 1 : 0, |
97 node->getChildNodeCount(kDefaultChildNodeCount)); | 95 node->getChildNodeCount(kDefaultChildNodeCount)); |
98 } | 96 } |
99 | 97 |
100 void Compare(views::View* view, DOM::Node* node) { | 98 void Compare(views::View* view, DOM::Node* node) { |
101 EXPECT_EQ("View", node->getNodeName()); | 99 EXPECT_EQ("View", node->getNodeName()); |
102 EXPECT_EQ(view->GetClassName(), GetAttributeValue("name", node)); | 100 EXPECT_EQ(view->GetClassName(), GetAttributeValue("name", node)); |
103 EXPECT_EQ(view->child_count(), | 101 EXPECT_EQ(view->child_count(), |
104 node->getChildNodeCount(kDefaultChildNodeCount)); | 102 node->getChildNodeCount(kDefaultChildNodeCount)); |
105 } | 103 } |
106 | 104 |
107 void Compare(WmWindow* window, DOM::Node* node) { | 105 void Compare(aura::Window* window, DOM::Node* node) { |
108 EXPECT_TRUE(Equals(window, node)); | 106 EXPECT_TRUE(Equals(window, node)); |
109 } | 107 } |
110 | 108 |
111 DOM::Node* FindInRoot(WmWindow* window, DOM::Node* root) { | 109 DOM::Node* FindInRoot(aura::Window* window, DOM::Node* root) { |
112 if (Equals(window, root)) | 110 if (Equals(window, root)) |
113 return root; | 111 return root; |
114 | 112 |
115 Array<DOM::Node>* children = root->getChildren(nullptr); | 113 Array<DOM::Node>* children = root->getChildren(nullptr); |
116 DOM::Node* window_node = nullptr; | 114 DOM::Node* window_node = nullptr; |
117 for (size_t i = 0; i < children->length(); i++) { | 115 for (size_t i = 0; i < children->length(); i++) { |
118 window_node = FindInRoot(window, children->get(i)); | 116 window_node = FindInRoot(window, children->get(i)); |
119 if (window_node) | 117 if (window_node) |
120 return window_node; | 118 return window_node; |
121 } | 119 } |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
170 void ExpectHighlighted(const gfx::Rect& bounds, int root_window_index) { | 168 void ExpectHighlighted(const gfx::Rect& bounds, int root_window_index) { |
171 aura::Window* highlighting_window = GetHighlightingWindow(root_window_index); | 169 aura::Window* highlighting_window = GetHighlightingWindow(root_window_index); |
172 EXPECT_TRUE(highlighting_window->IsVisible()); | 170 EXPECT_TRUE(highlighting_window->IsVisible()); |
173 EXPECT_EQ(bounds, highlighting_window->GetBoundsInScreen()); | 171 EXPECT_EQ(bounds, highlighting_window->GetBoundsInScreen()); |
174 EXPECT_EQ(kBackgroundColor, GetInternalWidgetForWindow(highlighting_window) | 172 EXPECT_EQ(kBackgroundColor, GetInternalWidgetForWindow(highlighting_window) |
175 ->GetRootView() | 173 ->GetRootView() |
176 ->background() | 174 ->background() |
177 ->get_color()); | 175 ->get_color()); |
178 } | 176 } |
179 | 177 |
180 WmWindow* GetPrimaryRootWindow() { | 178 aura::Window* GetPrimaryRootWindow() { |
181 return ShellPort::Get()->GetPrimaryRootWindow(); | 179 return Shell::Get()->GetPrimaryRootWindow(); |
182 } | 180 } |
183 | 181 |
184 } // namespace | 182 } // namespace |
185 | 183 |
186 class AshDevToolsTest : public AshTest { | 184 class AshDevToolsTest : public test::AshTestBase { |
187 public: | 185 public: |
188 AshDevToolsTest() {} | 186 AshDevToolsTest() {} |
189 ~AshDevToolsTest() override {} | 187 ~AshDevToolsTest() override {} |
190 | 188 |
191 views::internal::NativeWidgetPrivate* CreateTestNativeWidget() { | 189 views::internal::NativeWidgetPrivate* CreateTestNativeWidget() { |
192 views::Widget* widget = new views::Widget; | 190 views::Widget* widget = new views::Widget; |
193 views::Widget::InitParams params; | 191 views::Widget::InitParams params; |
194 params.ownership = views::Widget::InitParams::NATIVE_WIDGET_OWNS_WIDGET; | 192 params.ownership = views::Widget::InitParams::NATIVE_WIDGET_OWNS_WIDGET; |
195 ShellPort::Get() | 193 Shell::GetPrimaryRootWindowController() |
196 ->GetPrimaryRootWindowController() | |
197 ->ConfigureWidgetInitParamsForContainer( | 194 ->ConfigureWidgetInitParamsForContainer( |
198 widget, kShellWindowId_DefaultContainer, ¶ms); | 195 widget, kShellWindowId_DefaultContainer, ¶ms); |
199 widget->Init(params); | 196 widget->Init(params); |
200 return widget->native_widget_private(); | 197 return widget->native_widget_private(); |
201 } | 198 } |
202 | 199 |
| 200 std::unique_ptr<views::Widget> CreateTestWidget(const gfx::Rect& bounds) { |
| 201 return AshTestBase::CreateTestWidget(nullptr, kShellWindowId_Invalid, |
| 202 bounds); |
| 203 } |
| 204 |
203 void SetUp() override { | 205 void SetUp() override { |
204 AshTest::SetUp(); | 206 AshTestBase::SetUp(); |
205 fake_frontend_channel_ = base::MakeUnique<FakeFrontendChannel>(); | 207 fake_frontend_channel_ = base::MakeUnique<FakeFrontendChannel>(); |
206 uber_dispatcher_ = | 208 uber_dispatcher_ = |
207 base::MakeUnique<UberDispatcher>(fake_frontend_channel_.get()); | 209 base::MakeUnique<UberDispatcher>(fake_frontend_channel_.get()); |
208 dom_agent_ = base::MakeUnique<devtools::AshDevToolsDOMAgent>(); | 210 dom_agent_ = base::MakeUnique<devtools::AshDevToolsDOMAgent>(); |
209 dom_agent_->Init(uber_dispatcher_.get()); | 211 dom_agent_->Init(uber_dispatcher_.get()); |
210 css_agent_ = | 212 css_agent_ = |
211 base::MakeUnique<devtools::AshDevToolsCSSAgent>(dom_agent_.get()); | 213 base::MakeUnique<devtools::AshDevToolsCSSAgent>(dom_agent_.get()); |
212 css_agent_->Init(uber_dispatcher_.get()); | 214 css_agent_->Init(uber_dispatcher_.get()); |
213 css_agent_->enable(); | 215 css_agent_->enable(); |
214 } | 216 } |
215 | 217 |
216 void TearDown() override { | 218 void TearDown() override { |
217 css_agent_.reset(); | 219 css_agent_.reset(); |
218 dom_agent_.reset(); | 220 dom_agent_.reset(); |
219 uber_dispatcher_.reset(); | 221 uber_dispatcher_.reset(); |
220 fake_frontend_channel_.reset(); | 222 fake_frontend_channel_.reset(); |
221 AshTest::TearDown(); | 223 AshTestBase::TearDown(); |
222 } | 224 } |
223 | 225 |
224 void ExpectChildNodeInserted(int parent_id, int prev_sibling_id) { | 226 void ExpectChildNodeInserted(int parent_id, int prev_sibling_id) { |
225 EXPECT_EQ(1, frontend_channel()->CountProtocolNotificationMessageStartsWith( | 227 EXPECT_EQ(1, frontend_channel()->CountProtocolNotificationMessageStartsWith( |
226 base::StringPrintf("{\"method\":\"DOM.childNodeInserted\"," | 228 base::StringPrintf("{\"method\":\"DOM.childNodeInserted\"," |
227 "\"params\":{\"parentNodeId\":%d," | 229 "\"params\":{\"parentNodeId\":%d," |
228 "\"previousNodeId\":%d", | 230 "\"previousNodeId\":%d", |
229 parent_id, prev_sibling_id))); | 231 parent_id, prev_sibling_id))); |
230 } | 232 } |
231 | 233 |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
296 std::unique_ptr<FakeFrontendChannel> fake_frontend_channel_; | 298 std::unique_ptr<FakeFrontendChannel> fake_frontend_channel_; |
297 std::unique_ptr<devtools::AshDevToolsDOMAgent> dom_agent_; | 299 std::unique_ptr<devtools::AshDevToolsDOMAgent> dom_agent_; |
298 std::unique_ptr<devtools::AshDevToolsCSSAgent> css_agent_; | 300 std::unique_ptr<devtools::AshDevToolsCSSAgent> css_agent_; |
299 | 301 |
300 DISALLOW_COPY_AND_ASSIGN(AshDevToolsTest); | 302 DISALLOW_COPY_AND_ASSIGN(AshDevToolsTest); |
301 }; | 303 }; |
302 | 304 |
303 TEST_F(AshDevToolsTest, GetDocumentWithWindowWidgetView) { | 305 TEST_F(AshDevToolsTest, GetDocumentWithWindowWidgetView) { |
304 std::unique_ptr<views::Widget> widget( | 306 std::unique_ptr<views::Widget> widget( |
305 CreateTestWidget(gfx::Rect(1, 1, 1, 1))); | 307 CreateTestWidget(gfx::Rect(1, 1, 1, 1))); |
306 WmWindow* parent_window = WmWindow::Get(widget->GetNativeWindow()); | 308 aura::Window* parent_window = widget->GetNativeWindow(); |
307 parent_window->aura_window()->SetName("parent_window"); | 309 parent_window->SetName("parent_window"); |
308 std::unique_ptr<WindowOwner> child_owner(CreateChildWindow(parent_window)); | 310 std::unique_ptr<aura::Window> child_window = CreateChildWindow(parent_window); |
309 WmWindow* child_window = child_owner->window(); | 311 child_window->SetName("child_window"); |
310 child_window->aura_window()->SetName("child_window"); | |
311 widget->Show(); | 312 widget->Show(); |
312 views::View* child_view = new TestView("child_view"); | 313 views::View* child_view = new TestView("child_view"); |
313 widget->GetRootView()->AddChildView(child_view); | 314 widget->GetRootView()->AddChildView(child_view); |
314 | 315 |
315 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; | 316 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; |
316 dom_agent()->getDocument(&root); | 317 dom_agent()->getDocument(&root); |
317 | 318 |
318 DOM::Node* parent_node = FindInRoot(parent_window, root.get()); | 319 DOM::Node* parent_node = FindInRoot(parent_window, root.get()); |
319 ASSERT_TRUE(parent_node); | 320 ASSERT_TRUE(parent_node); |
320 Array<DOM::Node>* parent_children = parent_node->getChildren(nullptr); | 321 Array<DOM::Node>* parent_children = parent_node->getChildren(nullptr); |
321 ASSERT_TRUE(parent_children); | 322 ASSERT_TRUE(parent_children); |
322 DOM::Node* widget_node = parent_children->get(0); | 323 DOM::Node* widget_node = parent_children->get(0); |
323 Compare(widget.get(), widget_node); | 324 Compare(widget.get(), widget_node); |
324 Compare(child_window, parent_children->get(1)); | 325 Compare(child_window.get(), parent_children->get(1)); |
325 Array<DOM::Node>* widget_children = widget_node->getChildren(nullptr); | 326 Array<DOM::Node>* widget_children = widget_node->getChildren(nullptr); |
326 ASSERT_TRUE(widget_children); | 327 ASSERT_TRUE(widget_children); |
327 Compare(widget->GetRootView(), widget_children->get(0)); | 328 Compare(widget->GetRootView(), widget_children->get(0)); |
328 ASSERT_TRUE(widget_children->get(0)->getChildren(nullptr)); | 329 ASSERT_TRUE(widget_children->get(0)->getChildren(nullptr)); |
329 Compare(child_view, widget_children->get(0)->getChildren(nullptr)->get(1)); | 330 Compare(child_view, widget_children->get(0)->getChildren(nullptr)->get(1)); |
330 } | 331 } |
331 | 332 |
332 TEST_F(AshDevToolsTest, GetDocumentNativeWidgetOwnsWidget) { | 333 TEST_F(AshDevToolsTest, GetDocumentNativeWidgetOwnsWidget) { |
333 views::internal::NativeWidgetPrivate* native_widget_private = | 334 views::internal::NativeWidgetPrivate* native_widget_private = |
334 CreateTestNativeWidget(); | 335 CreateTestNativeWidget(); |
335 views::Widget* widget = native_widget_private->GetWidget(); | 336 views::Widget* widget = native_widget_private->GetWidget(); |
336 WmWindow* parent_window = WmWindow::Get(widget->GetNativeWindow()); | 337 aura::Window* parent_window = widget->GetNativeWindow(); |
337 | 338 |
338 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; | 339 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; |
339 dom_agent()->getDocument(&root); | 340 dom_agent()->getDocument(&root); |
340 | 341 |
341 DOM::Node* parent_node = FindInRoot(parent_window, root.get()); | 342 DOM::Node* parent_node = FindInRoot(parent_window, root.get()); |
342 ASSERT_TRUE(parent_node); | 343 ASSERT_TRUE(parent_node); |
343 DOM::Node* widget_node = parent_node->getChildren(nullptr)->get(0); | 344 DOM::Node* widget_node = parent_node->getChildren(nullptr)->get(0); |
344 Compare(widget, widget_node); | 345 Compare(widget, widget_node); |
345 // Destroy NativeWidget followed by |widget| | 346 // Destroy NativeWidget followed by |widget| |
346 widget->CloseNow(); | 347 widget->CloseNow(); |
347 } | 348 } |
348 | 349 |
349 TEST_F(AshDevToolsTest, WindowAddedChildNodeInserted) { | 350 TEST_F(AshDevToolsTest, WindowAddedChildNodeInserted) { |
350 // Initialize DOMAgent | 351 // Initialize DOMAgent |
351 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; | 352 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; |
352 dom_agent()->getDocument(&root); | 353 dom_agent()->getDocument(&root); |
353 | 354 |
354 WmWindow* root_window = GetPrimaryRootWindow(); | 355 aura::Window* root_window = GetPrimaryRootWindow(); |
355 WmWindow* parent_window = root_window->GetChildren()[0]; | 356 aura::Window* parent_window = root_window->children()[0]; |
356 DOM::Node* parent_node = FindInRoot(parent_window, root.get()); | 357 DOM::Node* parent_node = FindInRoot(parent_window, root.get()); |
357 Array<DOM::Node>* parent_node_children = parent_node->getChildren(nullptr); | 358 Array<DOM::Node>* parent_node_children = parent_node->getChildren(nullptr); |
358 DOM::Node* sibling_node = | 359 DOM::Node* sibling_node = |
359 parent_node_children->get(parent_node_children->length() - 1); | 360 parent_node_children->get(parent_node_children->length() - 1); |
360 | 361 |
361 std::unique_ptr<WindowOwner> child_owner(CreateChildWindow(parent_window)); | 362 std::unique_ptr<aura::Window> child(CreateChildWindow(parent_window)); |
362 ExpectChildNodeInserted(parent_node->getNodeId(), sibling_node->getNodeId()); | 363 ExpectChildNodeInserted(parent_node->getNodeId(), sibling_node->getNodeId()); |
363 } | 364 } |
364 | 365 |
365 TEST_F(AshDevToolsTest, WindowDestroyedChildNodeRemoved) { | 366 TEST_F(AshDevToolsTest, WindowDestroyedChildNodeRemoved) { |
366 // Initialize DOMAgent | 367 // Initialize DOMAgent |
367 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; | 368 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; |
368 dom_agent()->getDocument(&root); | 369 dom_agent()->getDocument(&root); |
369 | 370 |
370 WmWindow* root_window = GetPrimaryRootWindow(); | 371 aura::Window* root_window = GetPrimaryRootWindow(); |
371 WmWindow* rotation_window = root_window->GetChildren()[0]; | 372 aura::Window* rotation_window = root_window->children()[0]; |
372 WmWindow* parent_window = rotation_window->GetChildren()[0]; | 373 aura::Window* parent_window = rotation_window->children()[0]; |
373 WmWindow* child_window = parent_window->GetChildren()[0]; | 374 aura::Window* child_window = parent_window->children()[0]; |
374 DOM::Node* root_node = | 375 DOM::Node* root_node = |
375 root->getChildren(nullptr)->get(0)->getChildren(nullptr)->get(0); | 376 root->getChildren(nullptr)->get(0)->getChildren(nullptr)->get(0); |
376 DOM::Node* parent_node = root_node->getChildren(nullptr)->get(0); | 377 DOM::Node* parent_node = root_node->getChildren(nullptr)->get(0); |
377 DOM::Node* child_node = parent_node->getChildren(nullptr)->get(0); | 378 DOM::Node* child_node = parent_node->getChildren(nullptr)->get(0); |
378 | 379 |
379 Compare(parent_window, parent_node); | 380 Compare(parent_window, parent_node); |
380 Compare(child_window, child_node); | 381 Compare(child_window, child_node); |
381 child_window->Destroy(); | 382 delete child_window; |
382 ExpectChildNodeRemoved(parent_node->getNodeId(), child_node->getNodeId()); | 383 ExpectChildNodeRemoved(parent_node->getNodeId(), child_node->getNodeId()); |
383 } | 384 } |
384 | 385 |
385 TEST_F(AshDevToolsTest, WindowReorganizedChildNodeRearranged) { | 386 TEST_F(AshDevToolsTest, WindowReorganizedChildNodeRearranged) { |
386 // Initialize DOMAgent | 387 // Initialize DOMAgent |
387 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; | 388 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; |
388 dom_agent()->getDocument(&root); | 389 dom_agent()->getDocument(&root); |
389 | 390 |
390 WmWindow* root_window = GetPrimaryRootWindow(); | 391 aura::Window* root_window = GetPrimaryRootWindow(); |
391 WmWindow* rotation_window = root_window->GetChildren()[0]; | 392 aura::Window* rotation_window = root_window->children()[0]; |
392 WmWindow* parent_window = rotation_window->GetChildren()[0]; | 393 aura::Window* parent_window = rotation_window->children()[0]; |
393 WmWindow* target_window = rotation_window->GetChildren()[1]; | 394 aura::Window* target_window = rotation_window->children()[1]; |
394 WmWindow* child_window = parent_window->GetChildren()[0]; | 395 aura::Window* child_window = parent_window->children()[0]; |
395 | 396 |
396 DOM::Node* root_node = | 397 DOM::Node* root_node = |
397 root->getChildren(nullptr)->get(0)->getChildren(nullptr)->get(0); | 398 root->getChildren(nullptr)->get(0)->getChildren(nullptr)->get(0); |
398 DOM::Node* parent_node = root_node->getChildren(nullptr)->get(0); | 399 DOM::Node* parent_node = root_node->getChildren(nullptr)->get(0); |
399 DOM::Node* target_node = root_node->getChildren(nullptr)->get(1); | 400 DOM::Node* target_node = root_node->getChildren(nullptr)->get(1); |
400 Array<DOM::Node>* target_node_children = target_node->getChildren(nullptr); | 401 Array<DOM::Node>* target_node_children = target_node->getChildren(nullptr); |
401 DOM::Node* sibling_node = | 402 DOM::Node* sibling_node = |
402 target_node_children->get(target_node_children->length() - 1); | 403 target_node_children->get(target_node_children->length() - 1); |
403 DOM::Node* child_node = parent_node->getChildren(nullptr)->get(0); | 404 DOM::Node* child_node = parent_node->getChildren(nullptr)->get(0); |
404 | 405 |
405 Compare(parent_window, parent_node); | 406 Compare(parent_window, parent_node); |
406 Compare(target_window, target_node); | 407 Compare(target_window, target_node); |
407 Compare(child_window, child_node); | 408 Compare(child_window, child_node); |
408 target_window->AddChild(child_window); | 409 target_window->AddChild(child_window); |
409 ExpectChildNodeRemoved(parent_node->getNodeId(), child_node->getNodeId()); | 410 ExpectChildNodeRemoved(parent_node->getNodeId(), child_node->getNodeId()); |
410 ExpectChildNodeInserted(target_node->getNodeId(), sibling_node->getNodeId()); | 411 ExpectChildNodeInserted(target_node->getNodeId(), sibling_node->getNodeId()); |
411 } | 412 } |
412 | 413 |
413 TEST_F(AshDevToolsTest, WindowReorganizedChildNodeRemovedAndInserted) { | 414 TEST_F(AshDevToolsTest, WindowReorganizedChildNodeRemovedAndInserted) { |
414 WmWindow* root_window = GetPrimaryRootWindow(); | 415 aura::Window* root_window = GetPrimaryRootWindow(); |
415 WmWindow* rotation_window = root_window->GetChildren()[0]; | 416 aura::Window* rotation_window = root_window->children()[0]; |
416 WmWindow* parent_window = rotation_window->GetChildren()[0]; | 417 aura::Window* parent_window = rotation_window->children()[0]; |
417 WmWindow* target_window = rotation_window->GetChildren()[1]; | 418 aura::Window* target_window = rotation_window->children()[1]; |
418 std::unique_ptr<WindowOwner> child_owner(CreateChildWindow(parent_window)); | 419 std::unique_ptr<aura::Window> child_window(CreateChildWindow(parent_window)); |
419 WmWindow* child_window = child_owner->window(); | |
420 | 420 |
421 // Initialize DOMAgent | 421 // Initialize DOMAgent |
422 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; | 422 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; |
423 dom_agent()->getDocument(&root); | 423 dom_agent()->getDocument(&root); |
424 DOM::Node* root_node = | 424 DOM::Node* root_node = |
425 root->getChildren(nullptr)->get(0)->getChildren(nullptr)->get(0); | 425 root->getChildren(nullptr)->get(0)->getChildren(nullptr)->get(0); |
426 DOM::Node* parent_node = root_node->getChildren(nullptr)->get(0); | 426 DOM::Node* parent_node = root_node->getChildren(nullptr)->get(0); |
427 DOM::Node* target_node = root_node->getChildren(nullptr)->get(1); | 427 DOM::Node* target_node = root_node->getChildren(nullptr)->get(1); |
428 Array<DOM::Node>* target_node_children = target_node->getChildren(nullptr); | 428 Array<DOM::Node>* target_node_children = target_node->getChildren(nullptr); |
429 DOM::Node* sibling_node = | 429 DOM::Node* sibling_node = |
430 target_node_children->get(target_node_children->length() - 1); | 430 target_node_children->get(target_node_children->length() - 1); |
431 Array<DOM::Node>* parent_node_children = parent_node->getChildren(nullptr); | 431 Array<DOM::Node>* parent_node_children = parent_node->getChildren(nullptr); |
432 DOM::Node* child_node = | 432 DOM::Node* child_node = |
433 parent_node_children->get(parent_node_children->length() - 1); | 433 parent_node_children->get(parent_node_children->length() - 1); |
434 | 434 |
435 Compare(parent_window, parent_node); | 435 Compare(parent_window, parent_node); |
436 Compare(target_window, target_node); | 436 Compare(target_window, target_node); |
437 Compare(child_window, child_node); | 437 Compare(child_window.get(), child_node); |
438 parent_window->RemoveChild(child_window); | 438 parent_window->RemoveChild(child_window.get()); |
439 target_window->AddChild(child_window); | 439 target_window->AddChild(child_window.get()); |
440 ExpectChildNodeRemoved(parent_node->getNodeId(), child_node->getNodeId()); | 440 ExpectChildNodeRemoved(parent_node->getNodeId(), child_node->getNodeId()); |
441 ExpectChildNodeInserted(target_node->getNodeId(), sibling_node->getNodeId()); | 441 ExpectChildNodeInserted(target_node->getNodeId(), sibling_node->getNodeId()); |
442 } | 442 } |
443 | 443 |
444 TEST_F(AshDevToolsTest, WindowStackingChangedChildNodeRemovedAndInserted) { | 444 TEST_F(AshDevToolsTest, WindowStackingChangedChildNodeRemovedAndInserted) { |
445 // Initialize DOMAgent | 445 // Initialize DOMAgent |
446 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; | 446 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; |
447 dom_agent()->getDocument(&root); | 447 dom_agent()->getDocument(&root); |
448 | 448 |
449 WmWindow* root_window = GetPrimaryRootWindow(); | 449 aura::Window* root_window = GetPrimaryRootWindow(); |
450 WmWindow* parent_window = root_window->GetChildren()[0]; | 450 aura::Window* parent_window = root_window->children()[0]; |
451 WmWindow* child_window = parent_window->GetChildren()[0]; | 451 aura::Window* child_window = parent_window->children()[0]; |
452 WmWindow* target_window = parent_window->GetChildren()[1]; | 452 aura::Window* target_window = parent_window->children()[1]; |
453 | 453 |
454 DOM::Node* parent_node = | 454 DOM::Node* parent_node = |
455 root->getChildren(nullptr)->get(0)->getChildren(nullptr)->get(0); | 455 root->getChildren(nullptr)->get(0)->getChildren(nullptr)->get(0); |
456 Array<DOM::Node>* parent_node_children = parent_node->getChildren(nullptr); | 456 Array<DOM::Node>* parent_node_children = parent_node->getChildren(nullptr); |
457 DOM::Node* child_node = parent_node_children->get(0); | 457 DOM::Node* child_node = parent_node_children->get(0); |
458 DOM::Node* sibling_node = parent_node_children->get(1); | 458 DOM::Node* sibling_node = parent_node_children->get(1); |
459 int parent_id = parent_node->getNodeId(); | 459 int parent_id = parent_node->getNodeId(); |
460 | 460 |
461 Compare(parent_window, parent_node); | 461 Compare(parent_window, parent_node); |
462 Compare(child_window, child_node); | 462 Compare(child_window, child_node); |
463 parent_window->StackChildAbove(child_window, target_window); | 463 parent_window->StackChildAbove(child_window, target_window); |
464 ExpectChildNodeRemoved(parent_id, child_node->getNodeId()); | 464 ExpectChildNodeRemoved(parent_id, child_node->getNodeId()); |
465 ExpectChildNodeInserted(parent_id, sibling_node->getNodeId()); | 465 ExpectChildNodeInserted(parent_id, sibling_node->getNodeId()); |
466 } | 466 } |
467 | 467 |
468 TEST_F(AshDevToolsTest, ViewInserted) { | 468 TEST_F(AshDevToolsTest, ViewInserted) { |
469 std::unique_ptr<views::Widget> widget( | 469 std::unique_ptr<views::Widget> widget( |
470 CreateTestWidget(gfx::Rect(1, 1, 1, 1))); | 470 CreateTestWidget(gfx::Rect(1, 1, 1, 1))); |
471 WmWindow* window = WmWindow::Get(widget->GetNativeWindow()); | 471 aura::Window* window = widget->GetNativeWindow(); |
472 widget->Show(); | 472 widget->Show(); |
473 | 473 |
474 // Initialize DOMAgent | 474 // Initialize DOMAgent |
475 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; | 475 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; |
476 dom_agent()->getDocument(&root); | 476 dom_agent()->getDocument(&root); |
477 | 477 |
478 DOM::Node* parent_node = FindInRoot(window, root.get()); | 478 DOM::Node* parent_node = FindInRoot(window, root.get()); |
479 ASSERT_TRUE(parent_node); | 479 ASSERT_TRUE(parent_node); |
480 DOM::Node* widget_node = parent_node->getChildren(nullptr)->get(0); | 480 DOM::Node* widget_node = parent_node->getChildren(nullptr)->get(0); |
481 DOM::Node* root_view_node = widget_node->getChildren(nullptr)->get(0); | 481 DOM::Node* root_view_node = widget_node->getChildren(nullptr)->get(0); |
482 Array<DOM::Node>* root_view_children = root_view_node->getChildren(nullptr); | 482 Array<DOM::Node>* root_view_children = root_view_node->getChildren(nullptr); |
483 ASSERT_TRUE(root_view_children); | 483 ASSERT_TRUE(root_view_children); |
484 DOM::Node* sibling_view_node = | 484 DOM::Node* sibling_view_node = |
485 root_view_children->get(root_view_children->length() - 1); | 485 root_view_children->get(root_view_children->length() - 1); |
486 | 486 |
487 widget->GetRootView()->AddChildView(new views::View); | 487 widget->GetRootView()->AddChildView(new views::View); |
488 ExpectChildNodeInserted(root_view_node->getNodeId(), | 488 ExpectChildNodeInserted(root_view_node->getNodeId(), |
489 sibling_view_node->getNodeId()); | 489 sibling_view_node->getNodeId()); |
490 } | 490 } |
491 | 491 |
492 TEST_F(AshDevToolsTest, ViewRemoved) { | 492 TEST_F(AshDevToolsTest, ViewRemoved) { |
493 std::unique_ptr<views::Widget> widget( | 493 std::unique_ptr<views::Widget> widget( |
494 CreateTestWidget(gfx::Rect(1, 1, 1, 1))); | 494 CreateTestWidget(gfx::Rect(1, 1, 1, 1))); |
495 // Need to store |view| in unique_ptr because it is removed from the widget | 495 // Need to store |view| in unique_ptr because it is removed from the widget |
496 // and needs to be destroyed independently | 496 // and needs to be destroyed independently |
497 std::unique_ptr<views::View> child_view = base::MakeUnique<views::View>(); | 497 std::unique_ptr<views::View> child_view = base::MakeUnique<views::View>(); |
498 WmWindow* window = WmWindow::Get(widget->GetNativeWindow()); | 498 aura::Window* window = widget->GetNativeWindow(); |
499 widget->Show(); | 499 widget->Show(); |
500 views::View* root_view = widget->GetRootView(); | 500 views::View* root_view = widget->GetRootView(); |
501 root_view->AddChildView(child_view.get()); | 501 root_view->AddChildView(child_view.get()); |
502 | 502 |
503 // Initialize DOMAgent | 503 // Initialize DOMAgent |
504 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; | 504 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; |
505 dom_agent()->getDocument(&root); | 505 dom_agent()->getDocument(&root); |
506 | 506 |
507 DOM::Node* parent_node = FindInRoot(window, root.get()); | 507 DOM::Node* parent_node = FindInRoot(window, root.get()); |
508 ASSERT_TRUE(parent_node); | 508 ASSERT_TRUE(parent_node); |
509 DOM::Node* widget_node = parent_node->getChildren(nullptr)->get(0); | 509 DOM::Node* widget_node = parent_node->getChildren(nullptr)->get(0); |
510 DOM::Node* root_view_node = widget_node->getChildren(nullptr)->get(0); | 510 DOM::Node* root_view_node = widget_node->getChildren(nullptr)->get(0); |
511 Array<DOM::Node>* root_view_children = root_view_node->getChildren(nullptr); | 511 Array<DOM::Node>* root_view_children = root_view_node->getChildren(nullptr); |
512 ASSERT_TRUE(root_view_children); | 512 ASSERT_TRUE(root_view_children); |
513 DOM::Node* child_view_node = | 513 DOM::Node* child_view_node = |
514 root_view_children->get(root_view_children->length() - 1); | 514 root_view_children->get(root_view_children->length() - 1); |
515 | 515 |
516 Compare(child_view.get(), child_view_node); | 516 Compare(child_view.get(), child_view_node); |
517 root_view->RemoveChildView(child_view.get()); | 517 root_view->RemoveChildView(child_view.get()); |
518 ExpectChildNodeRemoved(root_view_node->getNodeId(), | 518 ExpectChildNodeRemoved(root_view_node->getNodeId(), |
519 child_view_node->getNodeId()); | 519 child_view_node->getNodeId()); |
520 } | 520 } |
521 | 521 |
522 TEST_F(AshDevToolsTest, ViewRearranged) { | 522 TEST_F(AshDevToolsTest, ViewRearranged) { |
523 std::unique_ptr<views::Widget> widget( | 523 std::unique_ptr<views::Widget> widget( |
524 CreateTestWidget(gfx::Rect(1, 1, 1, 1))); | 524 CreateTestWidget(gfx::Rect(1, 1, 1, 1))); |
525 WmWindow* window = WmWindow::Get(widget->GetNativeWindow()); | 525 aura::Window* window = widget->GetNativeWindow(); |
526 widget->Show(); | 526 widget->Show(); |
527 views::View* root_view = widget->GetRootView(); | 527 views::View* root_view = widget->GetRootView(); |
528 views::View* parent_view = new views::View; | 528 views::View* parent_view = new views::View; |
529 views::View* target_view = new views::View; | 529 views::View* target_view = new views::View; |
530 views::View* child_view = new views::View; | 530 views::View* child_view = new views::View; |
531 root_view->AddChildView(parent_view); | 531 root_view->AddChildView(parent_view); |
532 root_view->AddChildView(target_view); | 532 root_view->AddChildView(target_view); |
533 parent_view->AddChildView(child_view); | 533 parent_view->AddChildView(child_view); |
534 | 534 |
535 // Initialize DOMAgent | 535 // Initialize DOMAgent |
(...skipping 17 matching lines...) Expand all Loading... |
553 Compare(child_view, child_view_node); | 553 Compare(child_view, child_view_node); |
554 target_view->AddChildView(child_view); | 554 target_view->AddChildView(child_view); |
555 ExpectChildNodeRemoved(parent_view_node->getNodeId(), | 555 ExpectChildNodeRemoved(parent_view_node->getNodeId(), |
556 child_view_node->getNodeId()); | 556 child_view_node->getNodeId()); |
557 ExpectChildNodeInserted(target_view_node->getNodeId(), 0); | 557 ExpectChildNodeInserted(target_view_node->getNodeId(), 0); |
558 } | 558 } |
559 | 559 |
560 TEST_F(AshDevToolsTest, ViewRearrangedRemovedAndInserted) { | 560 TEST_F(AshDevToolsTest, ViewRearrangedRemovedAndInserted) { |
561 std::unique_ptr<views::Widget> widget( | 561 std::unique_ptr<views::Widget> widget( |
562 CreateTestWidget(gfx::Rect(1, 1, 1, 1))); | 562 CreateTestWidget(gfx::Rect(1, 1, 1, 1))); |
563 WmWindow* window = WmWindow::Get(widget->GetNativeWindow()); | 563 aura::Window* window = widget->GetNativeWindow(); |
564 widget->Show(); | 564 widget->Show(); |
565 views::View* root_view = widget->GetRootView(); | 565 views::View* root_view = widget->GetRootView(); |
566 views::View* parent_view = new views::View; | 566 views::View* parent_view = new views::View; |
567 views::View* target_view = new views::View; | 567 views::View* target_view = new views::View; |
568 views::View* child_view = new views::View; | 568 views::View* child_view = new views::View; |
569 root_view->AddChildView(parent_view); | 569 root_view->AddChildView(parent_view); |
570 root_view->AddChildView(target_view); | 570 root_view->AddChildView(target_view); |
571 parent_view->AddChildView(child_view); | 571 parent_view->AddChildView(child_view); |
572 | 572 |
573 // Initialize DOMAgent | 573 // Initialize DOMAgent |
(...skipping 18 matching lines...) Expand all Loading... |
592 parent_view->RemoveChildView(child_view); | 592 parent_view->RemoveChildView(child_view); |
593 target_view->AddChildView(child_view); | 593 target_view->AddChildView(child_view); |
594 ExpectChildNodeRemoved(parent_view_node->getNodeId(), | 594 ExpectChildNodeRemoved(parent_view_node->getNodeId(), |
595 child_view_node->getNodeId()); | 595 child_view_node->getNodeId()); |
596 ExpectChildNodeInserted(target_view_node->getNodeId(), 0); | 596 ExpectChildNodeInserted(target_view_node->getNodeId(), 0); |
597 } | 597 } |
598 | 598 |
599 TEST_F(AshDevToolsTest, WindowWidgetViewHighlight) { | 599 TEST_F(AshDevToolsTest, WindowWidgetViewHighlight) { |
600 std::unique_ptr<views::Widget> widget( | 600 std::unique_ptr<views::Widget> widget( |
601 CreateTestWidget(gfx::Rect(0, 0, 400, 400))); | 601 CreateTestWidget(gfx::Rect(0, 0, 400, 400))); |
602 WmWindow* parent_window = WmWindow::Get(widget->GetNativeWindow()); | 602 aura::Window* parent_window = widget->GetNativeWindow(); |
603 std::unique_ptr<WindowOwner> child_owner(CreateChildWindow(parent_window)); | 603 std::unique_ptr<aura::Window> window(CreateChildWindow(parent_window)); |
604 WmWindow* window = child_owner->window(); | |
605 views::View* root_view = widget->GetRootView(); | 604 views::View* root_view = widget->GetRootView(); |
606 | 605 |
607 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; | 606 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; |
608 dom_agent()->getDocument(&root); | 607 dom_agent()->getDocument(&root); |
609 | 608 |
610 DOM::Node* parent_node = FindInRoot(parent_window, root.get()); | 609 DOM::Node* parent_node = FindInRoot(parent_window, root.get()); |
611 ASSERT_TRUE(parent_node); | 610 ASSERT_TRUE(parent_node); |
612 Array<DOM::Node>* parent_children = parent_node->getChildren(nullptr); | 611 Array<DOM::Node>* parent_children = parent_node->getChildren(nullptr); |
613 ASSERT_TRUE(parent_children); | 612 ASSERT_TRUE(parent_children); |
614 DOM::Node* window_node = parent_children->get(1); | 613 DOM::Node* window_node = parent_children->get(1); |
(...skipping 16 matching lines...) Expand all Loading... |
631 HideHighlight(0); | 630 HideHighlight(0); |
632 | 631 |
633 // Highlight non-existent node | 632 // Highlight non-existent node |
634 HighlightNode(10000); | 633 HighlightNode(10000); |
635 EXPECT_FALSE(GetHighlightingWindow(0)->IsVisible()); | 634 EXPECT_FALSE(GetHighlightingWindow(0)->IsVisible()); |
636 } | 635 } |
637 | 636 |
638 TEST_F(AshDevToolsTest, MultipleDisplayHighlight) { | 637 TEST_F(AshDevToolsTest, MultipleDisplayHighlight) { |
639 UpdateDisplay("300x400,500x500"); | 638 UpdateDisplay("300x400,500x500"); |
640 | 639 |
641 WmWindow::Windows root_windows = ShellPort::Get()->GetAllRootWindows(); | 640 aura::Window::Windows root_windows = Shell::GetAllRootWindows(); |
642 std::unique_ptr<WindowOwner> window_owner( | 641 std::unique_ptr<aura::Window> window( |
643 CreateTestWindow(gfx::Rect(1, 2, 30, 40))); | 642 CreateTestWindowInShellWithBounds(gfx::Rect(1, 2, 30, 40))); |
644 WmWindow* window = window_owner->window(); | |
645 | 643 |
646 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; | 644 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; |
647 dom_agent()->getDocument(&root); | 645 dom_agent()->getDocument(&root); |
648 | 646 |
649 EXPECT_EQ(root_windows[0], window->GetRootWindow()); | 647 EXPECT_EQ(root_windows[0], window->GetRootWindow()); |
650 HighlightNode(dom_agent()->GetNodeIdFromWindow(window)); | 648 HighlightNode(dom_agent()->GetNodeIdFromWindow(window.get())); |
651 ExpectHighlighted(window->GetBoundsInScreen(), 0); | 649 ExpectHighlighted(window->GetBoundsInScreen(), 0); |
652 | 650 |
653 window->SetBoundsInScreen(gfx::Rect(500, 0, 50, 50), GetSecondaryDisplay()); | 651 window->SetBoundsInScreen(gfx::Rect(500, 0, 50, 50), GetSecondaryDisplay()); |
654 EXPECT_EQ(root_windows[1], window->GetRootWindow()); | 652 EXPECT_EQ(root_windows[1], window->GetRootWindow()); |
655 HighlightNode(dom_agent()->GetNodeIdFromWindow(window)); | 653 HighlightNode(dom_agent()->GetNodeIdFromWindow(window.get())); |
656 ExpectHighlighted(window->GetBoundsInScreen(), 1); | 654 ExpectHighlighted(window->GetBoundsInScreen(), 1); |
657 } | 655 } |
658 | 656 |
659 TEST_F(AshDevToolsTest, WindowWidgetViewGetMatchedStylesForNode) { | 657 TEST_F(AshDevToolsTest, WindowWidgetViewGetMatchedStylesForNode) { |
660 std::unique_ptr<views::Widget> widget( | 658 std::unique_ptr<views::Widget> widget( |
661 CreateTestWidget(gfx::Rect(1, 1, 1, 1))); | 659 CreateTestWidget(gfx::Rect(1, 1, 1, 1))); |
662 WmWindow* parent_window = WmWindow::Get(widget->GetNativeWindow()); | 660 aura::Window* parent_window = widget->GetNativeWindow(); |
663 std::unique_ptr<WindowOwner> child_owner(CreateChildWindow(parent_window)); | 661 std::unique_ptr<aura::Window> window(CreateChildWindow(parent_window)); |
664 WmWindow* window = child_owner->window(); | |
665 gfx::Rect window_bounds(2, 2, 3, 3); | 662 gfx::Rect window_bounds(2, 2, 3, 3); |
666 gfx::Rect widget_bounds(50, 50, 100, 75); | 663 gfx::Rect widget_bounds(50, 50, 100, 75); |
667 gfx::Rect view_bounds(4, 4, 3, 3); | 664 gfx::Rect view_bounds(4, 4, 3, 3); |
668 window->SetBounds(window_bounds); | 665 window->SetBounds(window_bounds); |
669 widget->SetBounds(widget_bounds); | 666 widget->SetBounds(widget_bounds); |
670 widget->GetRootView()->SetBoundsRect(view_bounds); | 667 widget->GetRootView()->SetBoundsRect(view_bounds); |
671 | 668 |
672 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; | 669 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; |
673 dom_agent()->getDocument(&root); | 670 dom_agent()->getDocument(&root); |
674 | 671 |
675 DOM::Node* parent_node = FindInRoot(parent_window, root.get()); | 672 DOM::Node* parent_node = FindInRoot(parent_window, root.get()); |
676 ASSERT_TRUE(parent_node); | 673 ASSERT_TRUE(parent_node); |
677 Array<DOM::Node>* parent_children = parent_node->getChildren(nullptr); | 674 Array<DOM::Node>* parent_children = parent_node->getChildren(nullptr); |
678 ASSERT_TRUE(parent_children); | 675 ASSERT_TRUE(parent_children); |
679 | 676 |
680 CompareNodeBounds(parent_node, widget_bounds); | 677 CompareNodeBounds(parent_node, widget_bounds); |
681 CompareNodeBounds(parent_children->get(1), window_bounds); | 678 CompareNodeBounds(parent_children->get(1), window_bounds); |
682 CompareNodeBounds(parent_children->get(0)->getChildren(nullptr)->get(0), | 679 CompareNodeBounds(parent_children->get(0)->getChildren(nullptr)->get(0), |
683 view_bounds); | 680 view_bounds); |
684 } | 681 } |
685 | 682 |
686 TEST_F(AshDevToolsTest, WindowWidgetViewStyleSheetChanged) { | 683 TEST_F(AshDevToolsTest, WindowWidgetViewStyleSheetChanged) { |
687 std::unique_ptr<views::Widget> widget( | 684 std::unique_ptr<views::Widget> widget( |
688 CreateTestWidget(gfx::Rect(1, 1, 1, 1))); | 685 CreateTestWidget(gfx::Rect(1, 1, 1, 1))); |
689 WmWindow* widget_window = WmWindow::Get(widget->GetNativeWindow()); | 686 aura::Window* widget_window = widget->GetNativeWindow(); |
690 std::unique_ptr<WindowOwner> child_owner(CreateChildWindow(widget_window)); | 687 std::unique_ptr<aura::Window> child(CreateChildWindow(widget_window)); |
691 WmWindow* child = child_owner->window(); | |
692 | 688 |
693 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; | 689 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; |
694 dom_agent()->getDocument(&root); | 690 dom_agent()->getDocument(&root); |
695 | 691 |
696 gfx::Rect child_bounds(2, 2, 3, 3); | 692 gfx::Rect child_bounds(2, 2, 3, 3); |
697 gfx::Rect widget_bounds(10, 10, 150, 160); | 693 gfx::Rect widget_bounds(10, 10, 150, 160); |
698 gfx::Rect view_bounds(4, 4, 3, 3); | 694 gfx::Rect view_bounds(4, 4, 3, 3); |
699 child->SetBounds(child_bounds); | 695 child->SetBounds(child_bounds); |
700 widget->SetBounds(widget_bounds); | 696 widget->SetBounds(widget_bounds); |
701 widget->GetRootView()->SetBoundsRect(view_bounds); | 697 widget->GetRootView()->SetBoundsRect(view_bounds); |
702 | 698 |
703 DOM::Node* widget_node = FindInRoot(widget_window, root.get()); | 699 DOM::Node* widget_node = FindInRoot(widget_window, root.get()); |
704 ASSERT_TRUE(widget_node); | 700 ASSERT_TRUE(widget_node); |
705 Array<DOM::Node>* widget_node_children = widget_node->getChildren(nullptr); | 701 Array<DOM::Node>* widget_node_children = widget_node->getChildren(nullptr); |
706 ASSERT_TRUE(widget_node_children); | 702 ASSERT_TRUE(widget_node_children); |
707 | 703 |
708 EXPECT_EQ(1, GetStyleSheetChangedCount(widget_node->getNodeId())); | 704 EXPECT_EQ(1, GetStyleSheetChangedCount(widget_node->getNodeId())); |
709 EXPECT_EQ( | 705 EXPECT_EQ( |
710 1, GetStyleSheetChangedCount(widget_node_children->get(1)->getNodeId())); | 706 1, GetStyleSheetChangedCount(widget_node_children->get(1)->getNodeId())); |
711 EXPECT_EQ(2, | 707 EXPECT_EQ(2, |
712 GetStyleSheetChangedCount(widget_node_children->get(0) | 708 GetStyleSheetChangedCount(widget_node_children->get(0) |
713 ->getChildren(nullptr) | 709 ->getChildren(nullptr) |
714 ->get(0) | 710 ->get(0) |
715 ->getNodeId())); | 711 ->getNodeId())); |
716 } | 712 } |
717 | 713 |
718 TEST_F(AshDevToolsTest, WindowWidgetViewSetStyleText) { | 714 TEST_F(AshDevToolsTest, WindowWidgetViewSetStyleText) { |
719 std::unique_ptr<views::Widget> widget( | 715 std::unique_ptr<views::Widget> widget( |
720 CreateTestWidget(gfx::Rect(0, 0, 400, 400))); | 716 CreateTestWidget(gfx::Rect(0, 0, 400, 400))); |
721 WmWindow* parent_window = WmWindow::Get(widget->GetNativeWindow()); | 717 aura::Window* parent_window = widget->GetNativeWindow(); |
722 std::unique_ptr<WindowOwner> child_owner(CreateChildWindow(parent_window)); | 718 std::unique_ptr<aura::Window> window(CreateChildWindow(parent_window)); |
723 WmWindow* window = child_owner->window(); | |
724 views::View* root_view = widget->GetRootView(); | 719 views::View* root_view = widget->GetRootView(); |
725 | 720 |
726 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; | 721 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; |
727 dom_agent()->getDocument(&root); | 722 dom_agent()->getDocument(&root); |
728 | 723 |
729 DOM::Node* parent_node = FindInRoot(parent_window, root.get()); | 724 DOM::Node* parent_node = FindInRoot(parent_window, root.get()); |
730 ASSERT_TRUE(parent_node); | 725 ASSERT_TRUE(parent_node); |
731 Array<DOM::Node>* parent_children = parent_node->getChildren(nullptr); | 726 Array<DOM::Node>* parent_children = parent_node->getChildren(nullptr); |
732 ASSERT_TRUE(parent_children); | 727 ASSERT_TRUE(parent_children); |
733 | 728 |
734 // Test different combinations on window node | 729 // Test different combinations on window node |
735 DOM::Node* window_node = parent_children->get(1); | 730 DOM::Node* window_node = parent_children->get(1); |
736 | 731 |
737 SetStyleTexts(window_node, | 732 SetStyleTexts(window_node, |
738 "x: 25; y:35; width: 5; height: 20; visibility: 1;", true); | 733 "x: 25; y:35; width: 5; height: 20; visibility: 1;", true); |
739 EXPECT_EQ(gfx::Rect(25, 35, 5, 20), window->GetBounds()); | 734 EXPECT_EQ(gfx::Rect(25, 35, 5, 20), window->bounds()); |
740 EXPECT_TRUE(window->IsVisible()); | 735 EXPECT_TRUE(window->IsVisible()); |
741 | 736 |
742 SetStyleTexts(window_node, "test_nothing_happens:1;", false); | 737 SetStyleTexts(window_node, "test_nothing_happens:1;", false); |
743 EXPECT_EQ(gfx::Rect(25, 35, 5, 20), window->GetBounds()); // Not changed | 738 EXPECT_EQ(gfx::Rect(25, 35, 5, 20), window->bounds()); // Not changed |
744 | 739 |
745 SetStyleTexts(window_node, "\nheight: 10;\nvisibility: 0;\n", true); | 740 SetStyleTexts(window_node, "\nheight: 10;\nvisibility: 0;\n", true); |
746 EXPECT_EQ(gfx::Rect(25, 35, 5, 10), window->GetBounds()); | 741 EXPECT_EQ(gfx::Rect(25, 35, 5, 10), window->bounds()); |
747 EXPECT_FALSE(window->IsVisible()); | 742 EXPECT_FALSE(window->IsVisible()); |
748 | 743 |
749 SetStyleTexts(window_node, "\nx: 10; y: 23; width: 52;\n ", true); | 744 SetStyleTexts(window_node, "\nx: 10; y: 23; width: 52;\n ", true); |
750 EXPECT_EQ(gfx::Rect(10, 23, 52, 10), window->GetBounds()); | 745 EXPECT_EQ(gfx::Rect(10, 23, 52, 10), window->bounds()); |
751 | 746 |
752 // Test different combinations on widget node | 747 // Test different combinations on widget node |
753 DOM::Node* widget_node = parent_children->get(0); | 748 DOM::Node* widget_node = parent_children->get(0); |
754 | 749 |
755 SetStyleTexts(widget_node, | 750 SetStyleTexts(widget_node, |
756 "x: 25; y:35; width: 53; height: 64; visibility: 0;", true); | 751 "x: 25; y:35; width: 53; height: 64; visibility: 0;", true); |
757 EXPECT_EQ(gfx::Rect(25, 35, 53, 64), widget->GetRestoredBounds()); | 752 EXPECT_EQ(gfx::Rect(25, 35, 53, 64), widget->GetRestoredBounds()); |
758 EXPECT_FALSE(widget->IsVisible()); | 753 EXPECT_FALSE(widget->IsVisible()); |
759 | 754 |
760 SetStyleTexts(widget_node, "test_nothing_happens:1;", false); | 755 SetStyleTexts(widget_node, "test_nothing_happens:1;", false); |
(...skipping 21 matching lines...) Expand all Loading... |
782 SetStyleTexts(root_view_node, "\nheight: 73;\n ", true); | 777 SetStyleTexts(root_view_node, "\nheight: 73;\n ", true); |
783 EXPECT_EQ(gfx::Rect(25, 35, 45, 73), root_view->bounds()); | 778 EXPECT_EQ(gfx::Rect(25, 35, 45, 73), root_view->bounds()); |
784 | 779 |
785 SetStyleTexts(root_view_node, "\nx: 10; y: 23; width: 52;\nvisibility: 1;\n", | 780 SetStyleTexts(root_view_node, "\nx: 10; y: 23; width: 52;\nvisibility: 1;\n", |
786 true); | 781 true); |
787 EXPECT_EQ(gfx::Rect(10, 23, 52, 73), root_view->bounds()); | 782 EXPECT_EQ(gfx::Rect(10, 23, 52, 73), root_view->bounds()); |
788 EXPECT_TRUE(root_view->visible()); | 783 EXPECT_TRUE(root_view->visible()); |
789 } | 784 } |
790 | 785 |
791 } // namespace ash | 786 } // namespace ash |
OLD | NEW |