Index: ash/common/devtools/ash_devtools_dom_agent.h |
diff --git a/ash/common/devtools/ash_devtools_dom_agent.h b/ash/common/devtools/ash_devtools_dom_agent.h |
deleted file mode 100644 |
index c66a04f2734ae8b84cdb362611b6768a7757b1b9..0000000000000000000000000000000000000000 |
--- a/ash/common/devtools/ash_devtools_dom_agent.h |
+++ /dev/null |
@@ -1,155 +0,0 @@ |
-// Copyright 2016 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef ASH_COMMON_DEVTOOLS_ASH_DEVTOOLS_DOM_AGENT_H_ |
-#define ASH_COMMON_DEVTOOLS_ASH_DEVTOOLS_DOM_AGENT_H_ |
- |
-#include "ash/common/wm_shell.h" |
-#include "base/compiler_specific.h" |
-#include "base/observer_list.h" |
-#include "components/ui_devtools/DOM.h" |
-#include "components/ui_devtools/devtools_base_agent.h" |
-#include "ui/aura/window_observer.h" |
-#include "ui/views/view.h" |
-#include "ui/views/view_observer.h" |
-#include "ui/views/widget/widget.h" |
-#include "ui/views/widget/widget_observer.h" |
-#include "ui/views/widget/widget_removals_observer.h" |
- |
-namespace ash { |
-namespace devtools { |
- |
-class ASH_EXPORT AshDevToolsDOMAgentObserver { |
- public: |
- virtual void OnWindowBoundsChanged(WmWindow* window) {} |
- virtual void OnWidgetBoundsChanged(views::Widget* widget) {} |
- virtual void OnViewBoundsChanged(views::View* view) {} |
-}; |
- |
-class ASH_EXPORT AshDevToolsDOMAgent |
- : public NON_EXPORTED_BASE(ui::devtools::UiDevToolsBaseAgent< |
- ui::devtools::protocol::DOM::Metainfo>), |
- public aura::WindowObserver, |
- public views::WidgetObserver, |
- public views::WidgetRemovalsObserver, |
- public views::ViewObserver { |
- public: |
- AshDevToolsDOMAgent(ash::WmShell* shell); |
- ~AshDevToolsDOMAgent() override; |
- |
- // DOM::Backend |
- ui::devtools::protocol::Response disable() override; |
- ui::devtools::protocol::Response getDocument( |
- std::unique_ptr<ui::devtools::protocol::DOM::Node>* out_root) override; |
- ui::devtools::protocol::Response highlightNode( |
- std::unique_ptr<ui::devtools::protocol::DOM::HighlightConfig> |
- highlight_config, |
- ui::devtools::protocol::Maybe<int> node_id) override; |
- ui::devtools::protocol::Response hideHighlight() override; |
- |
- // WindowObserver |
- void OnWindowHierarchyChanging(const HierarchyChangeParams& params) override; |
- void OnWindowHierarchyChanged(const HierarchyChangeParams& params) override; |
- void OnWindowStackingChanged(aura::Window* window) override; |
- void OnWindowBoundsChanged(aura::Window* window, |
- const gfx::Rect& old_bounds, |
- const gfx::Rect& new_bounds) override; |
- |
- // views::WidgetRemovalsObserver |
- void OnWillRemoveView(views::Widget* widget, views::View* view) override; |
- |
- // views::WidgetObserver |
- void OnWidgetBoundsChanged(views::Widget* widget, |
- const gfx::Rect& new_bounds) override; |
- |
- // views::ViewObserver |
- void OnChildViewRemoved(views::View* view, views::View* parent) override; |
- void OnChildViewAdded(views::View* view) override; |
- void OnChildViewReordered(views::View*) override; |
- void OnViewBoundsChanged(views::View* view) override; |
- |
- WmWindow* GetWindowFromNodeId(int nodeId); |
- views::Widget* GetWidgetFromNodeId(int nodeId); |
- views::View* GetViewFromNodeId(int nodeId); |
- |
- int GetNodeIdFromWindow(WmWindow* window); |
- int GetNodeIdFromWidget(views::Widget* widget); |
- int GetNodeIdFromView(views::View* view); |
- |
- void AddObserver(AshDevToolsDOMAgentObserver* observer); |
- void RemoveObserver(AshDevToolsDOMAgentObserver* observer); |
- |
- private: |
- std::unique_ptr<ui::devtools::protocol::DOM::Node> BuildInitialTree(); |
- std::unique_ptr<ui::devtools::protocol::DOM::Node> BuildTreeForWindow( |
- WmWindow* window); |
- std::unique_ptr<ui::devtools::protocol::DOM::Node> BuildTreeForRootWidget( |
- views::Widget* widget); |
- std::unique_ptr<ui::devtools::protocol::DOM::Node> BuildTreeForView( |
- views::View* view); |
- |
- void AddWindowTree(WmWindow* window); |
- // |remove_observer| ensures that we don't add a duplicate observer in any |
- // observer callback. For example, |remove_observer| is false when rebuilding |
- // the tree in OnWindowStackingChanged so that the observer is not removed and |
- // re-added, thus causing endless calls on the observer. |
- void RemoveWindowTree(WmWindow* window, bool remove_observer); |
- void RemoveWindowNode(WmWindow* window, bool remove_observer); |
- |
- // Don't need AddWidgetTree because |widget| will always be inside a window, |
- // so when windows are created, their widget nodes are created as well. |
- void RemoveWidgetTree(views::Widget* widget, bool remove_observer); |
- void RemoveWidgetNode(views::Widget* widget, bool remove_observer); |
- |
- void AddViewTree(views::View* view); |
- void RemoveViewTree(views::View* view, |
- views::View* parent, |
- bool remove_observer); |
- void RemoveViewNode(views::View* view, |
- views::View* parent, |
- bool remove_observer); |
- |
- void DestroyHighlightingWidget(); |
- void RemoveObservers(); |
- void Reset(); |
- |
- using WindowAndBoundsPair = std::pair<WmWindow*, gfx::Rect>; |
- WindowAndBoundsPair GetNodeWindowAndBounds(int node_id); |
- void InitializeHighlightingWidget(); |
- void UpdateHighlight(const WindowAndBoundsPair& window_and_bounds, |
- SkColor background, |
- SkColor border); |
- ui::devtools::protocol::Response HighlightNode( |
- std::unique_ptr<ui::devtools::protocol::DOM::HighlightConfig> |
- highlight_config, |
- int node_id); |
- bool IsHighlightingWindow(WmWindow* window); |
- |
- std::unique_ptr<views::Widget> widget_for_highlighting_; |
- ash::WmShell* shell_; |
- |
- using WindowToNodeIdMap = std::unordered_map<WmWindow*, int>; |
- WindowToNodeIdMap window_to_node_id_map_; |
- using NodeIdToWindowMap = std::unordered_map<int, WmWindow*>; |
- NodeIdToWindowMap node_id_to_window_map_; |
- |
- using WidgetToNodeIdMap = std::unordered_map<views::Widget*, int>; |
- WidgetToNodeIdMap widget_to_node_id_map_; |
- using NodeIdToWidgetMap = std::unordered_map<int, views::Widget*>; |
- NodeIdToWidgetMap node_id_to_widget_map_; |
- |
- using ViewToNodeIdMap = std::unordered_map<views::View*, int>; |
- ViewToNodeIdMap view_to_node_id_map_; |
- using NodeIdToViewMap = std::unordered_map<int, views::View*>; |
- NodeIdToViewMap node_id_to_view_map_; |
- |
- base::ObserverList<AshDevToolsDOMAgentObserver> observers_; |
- |
- DISALLOW_COPY_AND_ASSIGN(AshDevToolsDOMAgent); |
-}; |
- |
-} // namespace devtools |
-} // namespace ash |
- |
-#endif // ASH_COMMON_DEVTOOLS_ASH_DEVTOOLS_DOM_AGENT_H_ |