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

Side by Side Diff: ash/devtools/ash_devtools_unittest.cc

Issue 2776543002: Create a unified UIElement interface for Widget, View and Window. (Closed)
Patch Set: nits Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "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/devtools/ui_element.h"
8 #include "ash/devtools/window_element.h"
7 #include "ash/public/cpp/shell_window_ids.h" 9 #include "ash/public/cpp/shell_window_ids.h"
8 #include "ash/root_window_controller.h" 10 #include "ash/root_window_controller.h"
9 #include "ash/shell.h" 11 #include "ash/shell.h"
10 #include "ash/test/ash_test_base.h" 12 #include "ash/test/ash_test_base.h"
11 #include "ash/wm/widget_finder.h" 13 #include "ash/wm/widget_finder.h"
12 #include "base/memory/ptr_util.h" 14 #include "base/memory/ptr_util.h"
13 #include "base/strings/stringprintf.h" 15 #include "base/strings/stringprintf.h"
14 #include "ui/display/display.h" 16 #include "ui/display/display.h"
15 #include "ui/views/background.h" 17 #include "ui/views/background.h"
16 #include "ui/views/widget/native_widget_private.h" 18 #include "ui/views/widget/native_widget_private.h"
(...skipping 610 matching lines...) Expand 10 before | Expand all | Expand 10 after
627 HighlightNode(root_view_node->getNodeId()); 629 HighlightNode(root_view_node->getNodeId());
628 ExpectHighlighted(root_view->GetBoundsInScreen(), 0); 630 ExpectHighlighted(root_view->GetBoundsInScreen(), 0);
629 631
630 HideHighlight(0); 632 HideHighlight(0);
631 633
632 // Highlight non-existent node 634 // Highlight non-existent node
633 HighlightNode(10000); 635 HighlightNode(10000);
634 EXPECT_FALSE(GetHighlightingWindow(0)->IsVisible()); 636 EXPECT_FALSE(GetHighlightingWindow(0)->IsVisible());
635 } 637 }
636 638
639 int GetNodeIdFromWindow(devtools::UIElement* ui_element, aura::Window* window) {
640 for (auto* child : ui_element->GetChildren()) {
641 if (child->GetType() == devtools::UIElementType::WINDOW &&
642 static_cast<devtools::WindowElement*>(child)->window() == window) {
643 return child->GetNodeId();
644 }
645 }
646 for (auto* child : ui_element->GetChildren()) {
647 if (child->GetType() == devtools::UIElementType::WINDOW) {
648 int node_id = GetNodeIdFromWindow(child, window);
649 if (node_id > 0)
650 return node_id;
651 }
652 }
653 return 0;
654 }
655
637 TEST_F(AshDevToolsTest, MultipleDisplayHighlight) { 656 TEST_F(AshDevToolsTest, MultipleDisplayHighlight) {
638 UpdateDisplay("300x400,500x500"); 657 UpdateDisplay("300x400,500x500");
639 658
640 aura::Window::Windows root_windows = Shell::GetAllRootWindows(); 659 aura::Window::Windows root_windows = Shell::GetAllRootWindows();
641 std::unique_ptr<aura::Window> window( 660 std::unique_ptr<aura::Window> window(
642 CreateTestWindowInShellWithBounds(gfx::Rect(1, 2, 30, 40))); 661 CreateTestWindowInShellWithBounds(gfx::Rect(1, 2, 30, 40)));
643 662
644 std::unique_ptr<ui::devtools::protocol::DOM::Node> root; 663 std::unique_ptr<ui::devtools::protocol::DOM::Node> root;
645 dom_agent()->getDocument(&root); 664 dom_agent()->getDocument(&root);
646 665
647 EXPECT_EQ(root_windows[0], window->GetRootWindow()); 666 EXPECT_EQ(root_windows[0], window->GetRootWindow());
648 HighlightNode(dom_agent()->GetNodeIdFromWindow(window.get())); 667 HighlightNode(
668 GetNodeIdFromWindow(dom_agent()->GetWindowElementRoot(), window.get()));
649 ExpectHighlighted(window->GetBoundsInScreen(), 0); 669 ExpectHighlighted(window->GetBoundsInScreen(), 0);
650 670
651 window->SetBoundsInScreen(gfx::Rect(500, 0, 50, 50), GetSecondaryDisplay()); 671 window->SetBoundsInScreen(gfx::Rect(500, 0, 50, 50), GetSecondaryDisplay());
652 EXPECT_EQ(root_windows[1], window->GetRootWindow()); 672 EXPECT_EQ(root_windows[1], window->GetRootWindow());
653 HighlightNode(dom_agent()->GetNodeIdFromWindow(window.get())); 673 HighlightNode(
674 GetNodeIdFromWindow(dom_agent()->GetWindowElementRoot(), window.get()));
654 ExpectHighlighted(window->GetBoundsInScreen(), 1); 675 ExpectHighlighted(window->GetBoundsInScreen(), 1);
655 } 676 }
656 677
657 TEST_F(AshDevToolsTest, WindowWidgetViewGetMatchedStylesForNode) { 678 TEST_F(AshDevToolsTest, WindowWidgetViewGetMatchedStylesForNode) {
658 std::unique_ptr<views::Widget> widget( 679 std::unique_ptr<views::Widget> widget(
659 CreateTestWidget(gfx::Rect(1, 1, 1, 1))); 680 CreateTestWidget(gfx::Rect(1, 1, 1, 1)));
660 aura::Window* parent_window = widget->GetNativeWindow(); 681 aura::Window* parent_window = widget->GetNativeWindow();
661 std::unique_ptr<aura::Window> window(CreateChildWindow(parent_window)); 682 std::unique_ptr<aura::Window> window(CreateChildWindow(parent_window));
662 gfx::Rect window_bounds(2, 2, 3, 3); 683 gfx::Rect window_bounds(2, 2, 3, 3);
663 gfx::Rect widget_bounds(50, 50, 100, 75); 684 gfx::Rect widget_bounds(50, 50, 100, 75);
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
777 SetStyleTexts(root_view_node, "\nheight: 73;\n ", true); 798 SetStyleTexts(root_view_node, "\nheight: 73;\n ", true);
778 EXPECT_EQ(gfx::Rect(25, 35, 45, 73), root_view->bounds()); 799 EXPECT_EQ(gfx::Rect(25, 35, 45, 73), root_view->bounds());
779 800
780 SetStyleTexts(root_view_node, "\nx: 10; y: 23; width: 52;\nvisibility: 1;\n", 801 SetStyleTexts(root_view_node, "\nx: 10; y: 23; width: 52;\nvisibility: 1;\n",
781 true); 802 true);
782 EXPECT_EQ(gfx::Rect(10, 23, 52, 73), root_view->bounds()); 803 EXPECT_EQ(gfx::Rect(10, 23, 52, 73), root_view->bounds());
783 EXPECT_TRUE(root_view->visible()); 804 EXPECT_TRUE(root_view->visible());
784 } 805 }
785 806
786 } // namespace ash 807 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698