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

Side by Side Diff: ash/common/devtools/ash_devtools_dom_agent.cc

Issue 2526103002: Add live updates for AshDevToolsCSSAgent (Closed)
Patch Set: Override enable/disable methods to attach/detach observer to DOMAgent Created 4 years 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
« no previous file with comments | « ash/common/devtools/ash_devtools_dom_agent.h ('k') | components/ui_devtools/protocol.json » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/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
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
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
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
OLDNEW
« no previous file with comments | « ash/common/devtools/ash_devtools_dom_agent.h ('k') | components/ui_devtools/protocol.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698