| 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() {
|
|
|