Index: ash/common/devtools/ash_devtools_dom_agent.cc |
diff --git a/ash/common/devtools/ash_devtools_dom_agent.cc b/ash/common/devtools/ash_devtools_dom_agent.cc |
index 058f10ea29e0c20c2669b6060f0f9ba3f3a0bd42..010835e04208615163d6a2352b86f6fba64d170d 100644 |
--- a/ash/common/devtools/ash_devtools_dom_agent.cc |
+++ b/ash/common/devtools/ash_devtools_dom_agent.cc |
@@ -137,7 +137,7 @@ ui::devtools::protocol::Response AshDevToolsDOMAgent::hideHighlight() { |
// Handles removing windows. |
void AshDevToolsDOMAgent::OnWindowHierarchyChanging( |
- const HierarchyChangeParams& params) { |
+ const aura::WindowObserver::HierarchyChangeParams& params) { |
// Only trigger this when params.receiver == params.old_parent. |
// Only removals are handled here. Removing a node can occur as a result of |
// reorganizing a window or just destroying it. OnWindowHierarchyChanged |
@@ -151,7 +151,7 @@ void AshDevToolsDOMAgent::OnWindowHierarchyChanging( |
// Handles adding windows. |
void AshDevToolsDOMAgent::OnWindowHierarchyChanged( |
- const HierarchyChangeParams& params) { |
+ const aura::WindowObserver::HierarchyChangeParams& params) { |
// Only trigger this when params.receiver == params.new_parent. |
// If there is an old_parent + new_parent, then this window's node was |
// removed in OnWindowHierarchyChanging and will now be added to the |
@@ -161,49 +161,56 @@ void AshDevToolsDOMAgent::OnWindowHierarchyChanged( |
AddWindowTree(WmWindow::Get(params.target)); |
} |
-void AshDevToolsDOMAgent::OnWindowStackingChanged(aura::Window* window) { |
- RemoveWindowTree(WmWindow::Get(window), false); |
- AddWindowTree(WmWindow::Get(window)); |
+// For WindowElement observers |
+void AshDevToolsDOMAgent::NotifyOnWindowHierarchyChanging( |
+ const aura::WindowObserver::HierarchyChangeParams& params) { |
+ OnWindowHierarchyChanging(params); |
} |
-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)); |
+void AshDevToolsDOMAgent::NotifyOnWindowHierarchyChanged( |
+ const aura::WindowObserver::HierarchyChangeParams& params) { |
+ OnWindowHierarchyChanged(params); |
+} |
+ |
+void AshDevToolsDOMAgent::NotifyRemoveWindowTree(WmWindow* window, |
+ bool remove_observer) { |
+ RemoveWindowTree(window, remove_observer); |
} |
-void AshDevToolsDOMAgent::OnWillRemoveView(views::Widget* widget, |
- views::View* view) { |
- if (view == widget->GetRootView()) |
- RemoveViewTree(view, nullptr, true); |
+void AshDevToolsDOMAgent::NotifyAddWindowTree(WmWindow* window) { |
+ AddWindowTree(window); |
} |
-void AshDevToolsDOMAgent::OnWidgetBoundsChanged(views::Widget* widget, |
- const gfx::Rect& new_bounds) { |
+void AshDevToolsDOMAgent::NotfiyOnWindowBoundsChanged(WmWindow* window) { |
for (auto& observer : observers_) |
- observer.OnWidgetBoundsChanged(widget); |
+ observer.OnWindowBoundsChanged(window); |
} |
-void AshDevToolsDOMAgent::OnChildViewRemoved(views::View* parent, |
- views::View* view) { |
+// For ViewElement observers |
+void AshDevToolsDOMAgent::NotifyRemoveViewTree(views::View* view, |
+ views::View* parent, |
+ bool remove_observer) { |
RemoveViewTree(view, parent, true); |
} |
-void AshDevToolsDOMAgent::OnChildViewAdded(views::View* parent, |
- views::View* view) { |
+void AshDevToolsDOMAgent::NotifyAddViewTree(views::View* view) { |
AddViewTree(view); |
} |
-void AshDevToolsDOMAgent::OnChildViewReordered(views::View* parent, |
- views::View* view) { |
- RemoveViewTree(view, parent, false); |
- AddViewTree(view); |
+void AshDevToolsDOMAgent::NotifyOnViewBoundsChanged(views::View* view) { |
+ for (auto& observer : observers_) |
+ observer.OnViewBoundsChanged(view); |
} |
-void AshDevToolsDOMAgent::OnViewBoundsChanged(views::View* view) { |
+// For WidgetElement observers |
+void AshDevToolsDOMAgent::NotifyOnWidgetBoundsChanged(views::Widget* widget) { |
for (auto& observer : observers_) |
- observer.OnViewBoundsChanged(view); |
+ observer.OnWidgetBoundsChanged(widget); |
+} |
+ |
+void AshDevToolsDOMAgent::OnUIElementBoundsChanged(UIElement* ui_element) { |
+ for (auto& observer : observers_) |
+ observer.OnUIElementBoundsChanged(ui_element); |
} |
WmWindow* AshDevToolsDOMAgent::GetWindowFromNodeId(int nodeId) { |
@@ -267,8 +274,8 @@ std::unique_ptr<DOM::Node> AshDevToolsDOMAgent::BuildTreeForWindow( |
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->aura_window()->HasObserver(this)) |
+ // window->aura_window()->AddObserver(this); |
window_to_node_id_map_[window] = node->getNodeId(); |
node_id_to_window_map_[node->getNodeId()] = window; |
return node; |
@@ -281,8 +288,8 @@ std::unique_ptr<DOM::Node> AshDevToolsDOMAgent::BuildTreeForRootWidget( |
children->addItem(BuildTreeForView(widget->GetRootView())); |
std::unique_ptr<ui::devtools::protocol::DOM::Node> node = |
BuildNode("Widget", GetAttributes(widget), std::move(children)); |
- if (!widget->HasRemovalsObserver(this)) |
- widget->AddRemovalsObserver(this); |
+ // if (!widget->HasRemovalsObserver(this)) |
+ // widget->AddRemovalsObserver(this); |
widget_to_node_id_map_[widget] = node->getNodeId(); |
node_id_to_widget_map_[node->getNodeId()] = widget; |
return node; |
@@ -296,8 +303,8 @@ std::unique_ptr<DOM::Node> AshDevToolsDOMAgent::BuildTreeForView( |
children->addItem(BuildTreeForView(view->child_at(i))); |
std::unique_ptr<ui::devtools::protocol::DOM::Node> node = |
BuildNode("View", GetAttributes(view), std::move(children)); |
- if (!view->HasObserver(this)) |
- view->AddObserver(this); |
+ // if (!view->HasObserver(this)) |
+ // view->AddObserver(this); |
view_to_node_id_map_[view] = node->getNodeId(); |
node_id_to_view_map_[node->getNodeId()] = view; |
return node; |
@@ -343,8 +350,8 @@ void AshDevToolsDOMAgent::RemoveWindowNode(WmWindow* window, |
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); |
+ // if (remove_observer) |
+ // window->aura_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); |
@@ -368,8 +375,8 @@ void AshDevToolsDOMAgent::RemoveWidgetNode(views::Widget* widget, |
int node_id = widget_to_node_id_it->second; |
int parent_id = GetNodeIdFromWindow(WmWindow::Get(widget->GetNativeWindow())); |
- if (remove_observer) |
- widget->RemoveRemovalsObserver(this); |
+ // if (remove_observer) |
+ // widget->RemoveRemovalsObserver(this); |
NodeIdToWidgetMap::iterator node_id_to_widget_it = |
node_id_to_widget_map_.find(node_id); |
@@ -412,8 +419,8 @@ void AshDevToolsDOMAgent::RemoveViewNode(views::View* view, |
else // views::RootView |
parent_id = GetNodeIdFromWidget(view->GetWidget()); |
- if (remove_observer) |
- view->RemoveObserver(this); |
+ // if (remove_observer) |
+ // view->RemoveObserver(this); |
NodeIdToViewMap::iterator node_id_to_view_it = |
node_id_to_view_map_.find(node_id); |
@@ -425,12 +432,12 @@ void AshDevToolsDOMAgent::RemoveViewNode(views::View* view, |
} |
void AshDevToolsDOMAgent::RemoveObservers() { |
- for (auto& pair : window_to_node_id_map_) |
- pair.first->aura_window()->RemoveObserver(this); |
- for (auto& pair : widget_to_node_id_map_) |
- pair.first->RemoveRemovalsObserver(this); |
- for (auto& pair : view_to_node_id_map_) |
- pair.first->RemoveObserver(this); |
+ // for (auto& pair : window_to_node_id_map_) |
+ // pair.first->aura_window()->RemoveObserver(this); |
+ // for (auto& pair : widget_to_node_id_map_) |
+ // pair.first->RemoveRemovalsObserver(this); |
+ // for (auto& pair : view_to_node_id_map_) |
+ // pair.first->RemoveObserver(this); |
} |
void AshDevToolsDOMAgent::Reset() { |