| Index: ash/devtools/ash_devtools_dom_agent.cc
|
| diff --git a/ash/devtools/ash_devtools_dom_agent.cc b/ash/devtools/ash_devtools_dom_agent.cc
|
| index 3734a76016fa27c8232b90b7b1e5576351ab39b7..00272f56284bd0d4d979eff610d7ce6a7537d73c 100644
|
| --- a/ash/devtools/ash_devtools_dom_agent.cc
|
| +++ b/ash/devtools/ash_devtools_dom_agent.cc
|
| @@ -7,12 +7,13 @@
|
| #include "ash/public/cpp/shell_window_ids.h"
|
| #include "ash/root_window_controller.h"
|
| #include "ash/shell.h"
|
| -#include "ash/wm_window.h"
|
| #include "components/ui_devtools/devtools_server.h"
|
| #include "third_party/skia/include/core/SkColor.h"
|
| +#include "ui/aura/window.h"
|
| #include "ui/display/display.h"
|
| #include "ui/views/background.h"
|
| #include "ui/views/border.h"
|
| +#include "ui/wm/core/window_util.h"
|
|
|
| namespace ash {
|
| namespace devtools {
|
| @@ -38,12 +39,12 @@ std::unique_ptr<DOM::Node> BuildNode(
|
| return node;
|
| }
|
|
|
| -std::unique_ptr<Array<std::string>> GetAttributes(const ash::WmWindow* window) {
|
| +std::unique_ptr<Array<std::string>> GetAttributes(const aura::Window* window) {
|
| std::unique_ptr<Array<std::string>> attributes = Array<std::string>::create();
|
| attributes->addItem("name");
|
| - attributes->addItem(window->aura_window()->GetName());
|
| + attributes->addItem(window->GetName());
|
| attributes->addItem("active");
|
| - attributes->addItem(window->IsActive() ? "true" : "false");
|
| + attributes->addItem(::wm::IsActiveWindow(window) ? "true" : "false");
|
| return attributes;
|
| }
|
|
|
| @@ -63,10 +64,9 @@ std::unique_ptr<Array<std::string>> GetAttributes(const views::View* view) {
|
| return attributes;
|
| }
|
|
|
| -WmWindow* FindPreviousSibling(WmWindow* window) {
|
| - std::vector<WmWindow*> siblings = window->GetParent()->GetChildren();
|
| - std::vector<WmWindow*>::iterator it =
|
| - std::find(siblings.begin(), siblings.end(), window);
|
| +aura::Window* FindPreviousSibling(aura::Window* window) {
|
| + const aura::Window::Windows& siblings = window->parent()->children();
|
| + auto it = std::find(siblings.begin(), siblings.end(), window);
|
| DCHECK(it != siblings.end());
|
| // If this is the first child of its parent, the previous sibling is null
|
| return it == siblings.begin() ? nullptr : *std::prev(it);
|
| @@ -99,8 +99,8 @@ SkColor RGBAToSkColor(DOM::RGBA* rgba) {
|
| MaskColor(rgba->getB()));
|
| }
|
|
|
| -views::Widget* GetWidgetFromWmWindow(WmWindow* window) {
|
| - return views::Widget::GetWidgetForNativeView(window->aura_window());
|
| +views::Widget* GetWidgetFromWindow(aura::Window* window) {
|
| + return views::Widget::GetWidgetForNativeView(window);
|
| }
|
|
|
| } // namespace
|
| @@ -146,7 +146,7 @@ void AshDevToolsDOMAgent::OnWindowHierarchyChanging(
|
| // Finally, We only trigger this 0 or 1 times as an old_parent will
|
| // either exist and only call this callback once, or not at all.
|
| if (params.receiver == params.old_parent)
|
| - RemoveWindowTree(WmWindow::Get(params.target), true);
|
| + RemoveWindowTree(params.target, true);
|
| }
|
|
|
| // Handles adding windows.
|
| @@ -158,19 +158,19 @@ void AshDevToolsDOMAgent::OnWindowHierarchyChanged(
|
| // new_parent. If there is only a new_parent, OnWindowHierarchyChanging is
|
| // never called and the window is only added here.
|
| if (params.receiver == params.new_parent)
|
| - AddWindowTree(WmWindow::Get(params.target));
|
| + AddWindowTree(params.target);
|
| }
|
|
|
| void AshDevToolsDOMAgent::OnWindowStackingChanged(aura::Window* window) {
|
| - RemoveWindowTree(WmWindow::Get(window), false);
|
| - AddWindowTree(WmWindow::Get(window));
|
| + RemoveWindowTree(window, false);
|
| + AddWindowTree(window);
|
| }
|
|
|
| void AshDevToolsDOMAgent::OnWindowBoundsChanged(aura::Window* window,
|
| const gfx::Rect& old_bounds,
|
| const gfx::Rect& new_bounds) {
|
| for (auto& observer : observers_)
|
| - observer.OnWindowBoundsChanged(WmWindow::Get(window));
|
| + observer.OnWindowBoundsChanged(window);
|
| }
|
|
|
| void AshDevToolsDOMAgent::OnWillRemoveView(views::Widget* widget,
|
| @@ -206,7 +206,7 @@ void AshDevToolsDOMAgent::OnViewBoundsChanged(views::View* view) {
|
| observer.OnViewBoundsChanged(view);
|
| }
|
|
|
| -WmWindow* AshDevToolsDOMAgent::GetWindowFromNodeId(int nodeId) {
|
| +aura::Window* AshDevToolsDOMAgent::GetWindowFromNodeId(int nodeId) {
|
| return node_id_to_window_map_.count(nodeId) ? node_id_to_window_map_[nodeId]
|
| : nullptr;
|
| }
|
| @@ -221,7 +221,7 @@ views::View* AshDevToolsDOMAgent::GetViewFromNodeId(int nodeId) {
|
| : nullptr;
|
| }
|
|
|
| -int AshDevToolsDOMAgent::GetNodeIdFromWindow(WmWindow* window) {
|
| +int AshDevToolsDOMAgent::GetNodeIdFromWindow(aura::Window* window) {
|
| DCHECK(window_to_node_id_map_.count(window));
|
| return window_to_node_id_map_[window];
|
| }
|
| @@ -249,26 +249,26 @@ std::unique_ptr<ui::devtools::protocol::DOM::Node>
|
| AshDevToolsDOMAgent::BuildInitialTree() {
|
| std::unique_ptr<Array<DOM::Node>> children = Array<DOM::Node>::create();
|
| for (aura::Window* window : Shell::GetAllRootWindows())
|
| - children->addItem(BuildTreeForWindow(WmWindow::Get(window)));
|
| + children->addItem(BuildTreeForWindow(window));
|
| return BuildNode("root", nullptr, std::move(children));
|
| }
|
|
|
| std::unique_ptr<DOM::Node> AshDevToolsDOMAgent::BuildTreeForWindow(
|
| - ash::WmWindow* window) {
|
| + aura::Window* window) {
|
| DCHECK(!window_to_node_id_map_.count(window));
|
| std::unique_ptr<Array<DOM::Node>> children = Array<DOM::Node>::create();
|
| - views::Widget* widget = GetWidgetFromWmWindow(window);
|
| + views::Widget* widget = GetWidgetFromWindow(window);
|
| if (widget)
|
| children->addItem(BuildTreeForRootWidget(widget));
|
| - for (ash::WmWindow* child : window->GetChildren()) {
|
| + for (aura::Window* child : window->children()) {
|
| if (!IsHighlightingWindow(child))
|
| children->addItem(BuildTreeForWindow(child));
|
| }
|
|
|
| std::unique_ptr<ui::devtools::protocol::DOM::Node> node =
|
| BuildNode("Window", GetAttributes(window), std::move(children));
|
| - if (!window->aura_window()->HasObserver(this))
|
| - window->aura_window()->AddObserver(this);
|
| + if (!window->HasObserver(this))
|
| + window->AddObserver(this);
|
| window_to_node_id_map_[window] = node->getNodeId();
|
| node_id_to_window_map_[node->getNodeId()] = window;
|
| return node;
|
| @@ -303,48 +303,48 @@ std::unique_ptr<DOM::Node> AshDevToolsDOMAgent::BuildTreeForView(
|
| return node;
|
| }
|
|
|
| -void AshDevToolsDOMAgent::AddWindowTree(WmWindow* window) {
|
| +void AshDevToolsDOMAgent::AddWindowTree(aura::Window* window) {
|
| if (IsHighlightingWindow(window))
|
| return;
|
|
|
| - DCHECK(window_to_node_id_map_.count(window->GetParent()));
|
| - WmWindow* prev_sibling = FindPreviousSibling(window);
|
| + DCHECK(window_to_node_id_map_.count(window->parent()));
|
| + aura::Window* prev_sibling = FindPreviousSibling(window);
|
| frontend()->childNodeInserted(
|
| - window_to_node_id_map_[window->GetParent()],
|
| + window_to_node_id_map_[window->parent()],
|
| prev_sibling ? window_to_node_id_map_[prev_sibling] : 0,
|
| BuildTreeForWindow(window));
|
| }
|
|
|
| -void AshDevToolsDOMAgent::RemoveWindowTree(WmWindow* window,
|
| +void AshDevToolsDOMAgent::RemoveWindowTree(aura::Window* window,
|
| bool remove_observer) {
|
| DCHECK(window);
|
| if (IsHighlightingWindow(window))
|
| return;
|
|
|
| - if (GetWidgetFromWmWindow(window))
|
| - RemoveWidgetTree(GetWidgetFromWmWindow(window), remove_observer);
|
| + if (GetWidgetFromWindow(window))
|
| + RemoveWidgetTree(GetWidgetFromWindow(window), remove_observer);
|
|
|
| - for (ash::WmWindow* child : window->GetChildren())
|
| + for (aura::Window* child : window->children())
|
| RemoveWindowTree(child, remove_observer);
|
|
|
| RemoveWindowNode(window, remove_observer);
|
| }
|
|
|
| -void AshDevToolsDOMAgent::RemoveWindowNode(WmWindow* window,
|
| +void AshDevToolsDOMAgent::RemoveWindowNode(aura::Window* window,
|
| bool remove_observer) {
|
| WindowToNodeIdMap::iterator window_to_node_id_it =
|
| window_to_node_id_map_.find(window);
|
| DCHECK(window_to_node_id_it != window_to_node_id_map_.end());
|
|
|
| int node_id = window_to_node_id_it->second;
|
| - int parent_id = GetNodeIdFromWindow(window->GetParent());
|
| + int parent_id = GetNodeIdFromWindow(window->parent());
|
|
|
| NodeIdToWindowMap::iterator node_id_to_window_it =
|
| node_id_to_window_map_.find(node_id);
|
| DCHECK(node_id_to_window_it != node_id_to_window_map_.end());
|
|
|
| if (remove_observer)
|
| - window->aura_window()->RemoveObserver(this);
|
| + window->RemoveObserver(this);
|
|
|
| node_id_to_window_map_.erase(node_id_to_window_it);
|
| window_to_node_id_map_.erase(window_to_node_id_it);
|
| @@ -366,7 +366,7 @@ void AshDevToolsDOMAgent::RemoveWidgetNode(views::Widget* widget,
|
| DCHECK(widget_to_node_id_it != widget_to_node_id_map_.end());
|
|
|
| int node_id = widget_to_node_id_it->second;
|
| - int parent_id = GetNodeIdFromWindow(WmWindow::Get(widget->GetNativeWindow()));
|
| + int parent_id = GetNodeIdFromWindow(widget->GetNativeWindow());
|
|
|
| if (remove_observer)
|
| widget->RemoveRemovalsObserver(this);
|
| @@ -426,7 +426,7 @@ void AshDevToolsDOMAgent::RemoveViewNode(views::View* view,
|
|
|
| void AshDevToolsDOMAgent::RemoveObservers() {
|
| for (auto& pair : window_to_node_id_map_)
|
| - pair.first->aura_window()->RemoveObserver(this);
|
| + pair.first->RemoveObserver(this);
|
| for (auto& pair : widget_to_node_id_map_)
|
| pair.first->RemoveRemovalsObserver(this);
|
| for (auto& pair : view_to_node_id_map_)
|
| @@ -447,21 +447,20 @@ void AshDevToolsDOMAgent::Reset() {
|
|
|
| AshDevToolsDOMAgent::WindowAndBoundsPair
|
| AshDevToolsDOMAgent::GetNodeWindowAndBounds(int node_id) {
|
| - WmWindow* window = GetWindowFromNodeId(node_id);
|
| + aura::Window* window = GetWindowFromNodeId(node_id);
|
| if (window)
|
| return std::make_pair(window, window->GetBoundsInScreen());
|
|
|
| views::Widget* widget = GetWidgetFromNodeId(node_id);
|
| if (widget) {
|
| - return std::make_pair(WmWindow::Get(widget->GetNativeWindow()),
|
| + return std::make_pair(widget->GetNativeWindow(),
|
| widget->GetWindowBoundsInScreen());
|
| }
|
|
|
| views::View* view = GetViewFromNodeId(node_id);
|
| if (view) {
|
| gfx::Rect bounds = view->GetBoundsInScreen();
|
| - return std::make_pair(WmWindow::Get(view->GetWidget()->GetNativeWindow()),
|
| - bounds);
|
| + return std::make_pair(view->GetWidget()->GetNativeWindow(), bounds);
|
| }
|
|
|
| return std::make_pair(nullptr, gfx::Rect());
|
| @@ -494,9 +493,11 @@ void AshDevToolsDOMAgent::UpdateHighlight(
|
| root_view->SetBorder(views::CreateSolidBorder(kBorderThickness, border));
|
| root_view->set_background(
|
| views::Background::CreateSolidBackground(background));
|
| - WmWindow::Get(widget_for_highlighting_->GetNativeWindow())
|
| - ->SetBoundsInScreen(window_and_bounds.second,
|
| - window_and_bounds.first->GetDisplayNearestWindow());
|
| + display::Display display =
|
| + display::Screen::GetScreen()->GetDisplayNearestWindow(
|
| + window_and_bounds.first);
|
| + widget_for_highlighting_->GetNativeWindow()->SetBoundsInScreen(
|
| + window_and_bounds.second, display);
|
| }
|
|
|
| ui::devtools::protocol::Response AshDevToolsDOMAgent::HighlightNode(
|
| @@ -524,9 +525,9 @@ ui::devtools::protocol::Response AshDevToolsDOMAgent::HighlightNode(
|
| return ui::devtools::protocol::Response::OK();
|
| }
|
|
|
| -bool AshDevToolsDOMAgent::IsHighlightingWindow(WmWindow* window) {
|
| +bool AshDevToolsDOMAgent::IsHighlightingWindow(aura::Window* window) {
|
| return widget_for_highlighting_ &&
|
| - GetWidgetFromWmWindow(window) == widget_for_highlighting_.get();
|
| + GetWidgetFromWindow(window) == widget_for_highlighting_.get();
|
| }
|
|
|
| } // namespace devtools
|
|
|