| 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/common/devtools/ash_devtools_dom_agent.h" | 5 #include "ash/common/devtools/ash_devtools_dom_agent.h" |
| 6 | 6 |
| 7 #include "ash/common/wm_lookup.h" | 7 #include "ash/common/wm_lookup.h" |
| 8 #include "ash/common/wm_window.h" | 8 #include "ash/common/wm_window.h" |
| 9 #include "components/ui_devtools/devtools_server.h" | 9 #include "components/ui_devtools/devtools_server.h" |
| 10 | 10 |
| (...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 124 // the window is only added here. | 124 // the window is only added here. |
| 125 if (window == params.new_parent) | 125 if (window == params.new_parent) |
| 126 AddWindowTree(params.target); | 126 AddWindowTree(params.target); |
| 127 } | 127 } |
| 128 | 128 |
| 129 void AshDevToolsDOMAgent::OnWindowStackingChanged(WmWindow* window) { | 129 void AshDevToolsDOMAgent::OnWindowStackingChanged(WmWindow* window) { |
| 130 RemoveWindowTree(window, false); | 130 RemoveWindowTree(window, false); |
| 131 AddWindowTree(window); | 131 AddWindowTree(window); |
| 132 } | 132 } |
| 133 | 133 |
| 134 void AshDevToolsDOMAgent::OnWindowBoundsChanged(WmWindow* window, |
| 135 const gfx::Rect& old_bounds, |
| 136 const gfx::Rect& new_bounds) { |
| 137 for (auto& observer : observers_) |
| 138 observer.OnWindowBoundsChanged(window); |
| 139 } |
| 140 |
| 134 void AshDevToolsDOMAgent::OnWillRemoveView(views::Widget* widget, | 141 void AshDevToolsDOMAgent::OnWillRemoveView(views::Widget* widget, |
| 135 views::View* view) { | 142 views::View* view) { |
| 136 if (view == widget->GetRootView()) | 143 if (view == widget->GetRootView()) |
| 137 RemoveViewTree(view, nullptr, true); | 144 RemoveViewTree(view, nullptr, true); |
| 138 } | 145 } |
| 139 | 146 |
| 147 void AshDevToolsDOMAgent::OnWidgetBoundsChanged(views::Widget* widget, |
| 148 const gfx::Rect& new_bounds) { |
| 149 for (auto& observer : observers_) |
| 150 observer.OnWidgetBoundsChanged(widget); |
| 151 } |
| 152 |
| 140 void AshDevToolsDOMAgent::OnChildViewRemoved(views::View* view, | 153 void AshDevToolsDOMAgent::OnChildViewRemoved(views::View* view, |
| 141 views::View* parent) { | 154 views::View* parent) { |
| 142 RemoveViewTree(view, parent, true); | 155 RemoveViewTree(view, parent, true); |
| 143 } | 156 } |
| 144 | 157 |
| 145 void AshDevToolsDOMAgent::OnChildViewAdded(views::View* view) { | 158 void AshDevToolsDOMAgent::OnChildViewAdded(views::View* view) { |
| 146 AddViewTree(view); | 159 AddViewTree(view); |
| 147 } | 160 } |
| 148 | 161 |
| 149 void AshDevToolsDOMAgent::OnChildViewReordered(views::View* view) { | 162 void AshDevToolsDOMAgent::OnChildViewReordered(views::View* view) { |
| 150 RemoveViewTree(view, view->parent(), false); | 163 RemoveViewTree(view, view->parent(), false); |
| 151 AddViewTree(view); | 164 AddViewTree(view); |
| 152 } | 165 } |
| 153 | 166 |
| 167 void AshDevToolsDOMAgent::OnViewBoundsChanged(views::View* view) { |
| 168 for (auto& observer : observers_) |
| 169 observer.OnViewBoundsChanged(view); |
| 170 } |
| 171 |
| 154 WmWindow* AshDevToolsDOMAgent::GetWindowFromNodeId(int nodeId) { | 172 WmWindow* AshDevToolsDOMAgent::GetWindowFromNodeId(int nodeId) { |
| 155 return node_id_to_window_map_.count(nodeId) ? node_id_to_window_map_[nodeId] | 173 return node_id_to_window_map_.count(nodeId) ? node_id_to_window_map_[nodeId] |
| 156 : nullptr; | 174 : nullptr; |
| 157 } | 175 } |
| 158 | 176 |
| 159 views::Widget* AshDevToolsDOMAgent::GetWidgetFromNodeId(int nodeId) { | 177 views::Widget* AshDevToolsDOMAgent::GetWidgetFromNodeId(int nodeId) { |
| 160 return node_id_to_widget_map_.count(nodeId) ? node_id_to_widget_map_[nodeId] | 178 return node_id_to_widget_map_.count(nodeId) ? node_id_to_widget_map_[nodeId] |
| 161 : nullptr; | 179 : nullptr; |
| 162 } | 180 } |
| 163 | 181 |
| (...skipping 10 matching lines...) Expand all Loading... |
| 174 int AshDevToolsDOMAgent::GetNodeIdFromWidget(views::Widget* widget) { | 192 int AshDevToolsDOMAgent::GetNodeIdFromWidget(views::Widget* widget) { |
| 175 DCHECK(widget_to_node_id_map_.count(widget)); | 193 DCHECK(widget_to_node_id_map_.count(widget)); |
| 176 return widget_to_node_id_map_[widget]; | 194 return widget_to_node_id_map_[widget]; |
| 177 } | 195 } |
| 178 | 196 |
| 179 int AshDevToolsDOMAgent::GetNodeIdFromView(views::View* view) { | 197 int AshDevToolsDOMAgent::GetNodeIdFromView(views::View* view) { |
| 180 DCHECK(view_to_node_id_map_.count(view)); | 198 DCHECK(view_to_node_id_map_.count(view)); |
| 181 return view_to_node_id_map_[view]; | 199 return view_to_node_id_map_[view]; |
| 182 } | 200 } |
| 183 | 201 |
| 202 void AshDevToolsDOMAgent::AddObserver(AshDevToolsDOMAgentObserver* observer) { |
| 203 observers_.AddObserver(observer); |
| 204 } |
| 205 |
| 206 void AshDevToolsDOMAgent::RemoveObserver( |
| 207 AshDevToolsDOMAgentObserver* observer) { |
| 208 observers_.RemoveObserver(observer); |
| 209 } |
| 210 |
| 184 std::unique_ptr<ui::devtools::protocol::DOM::Node> | 211 std::unique_ptr<ui::devtools::protocol::DOM::Node> |
| 185 AshDevToolsDOMAgent::BuildInitialTree() { | 212 AshDevToolsDOMAgent::BuildInitialTree() { |
| 186 std::unique_ptr<Array<DOM::Node>> children = Array<DOM::Node>::create(); | 213 std::unique_ptr<Array<DOM::Node>> children = Array<DOM::Node>::create(); |
| 187 for (ash::WmWindow* window : shell_->GetAllRootWindows()) | 214 for (ash::WmWindow* window : shell_->GetAllRootWindows()) |
| 188 children->addItem(BuildTreeForWindow(window)); | 215 children->addItem(BuildTreeForWindow(window)); |
| 189 return BuildNode("root", nullptr, std::move(children)); | 216 return BuildNode("root", nullptr, std::move(children)); |
| 190 } | 217 } |
| 191 | 218 |
| 192 std::unique_ptr<DOM::Node> AshDevToolsDOMAgent::BuildTreeForWindow( | 219 std::unique_ptr<DOM::Node> AshDevToolsDOMAgent::BuildTreeForWindow( |
| 193 ash::WmWindow* window) { | 220 ash::WmWindow* window) { |
| (...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 368 widget_to_node_id_map_.clear(); | 395 widget_to_node_id_map_.clear(); |
| 369 view_to_node_id_map_.clear(); | 396 view_to_node_id_map_.clear(); |
| 370 node_id_to_window_map_.clear(); | 397 node_id_to_window_map_.clear(); |
| 371 node_id_to_widget_map_.clear(); | 398 node_id_to_widget_map_.clear(); |
| 372 node_id_to_view_map_.clear(); | 399 node_id_to_view_map_.clear(); |
| 373 node_ids = 1; | 400 node_ids = 1; |
| 374 } | 401 } |
| 375 | 402 |
| 376 } // namespace devtools | 403 } // namespace devtools |
| 377 } // namespace ash | 404 } // namespace ash |
| OLD | NEW |