| 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 #ifndef ASH_COMMON_DEVTOOLS_ASH_DEVTOOLS_CSS_AGENT_H_ |   5 #ifndef ASH_COMMON_DEVTOOLS_ASH_DEVTOOLS_CSS_AGENT_H_ | 
|   6 #define ASH_COMMON_DEVTOOLS_ASH_DEVTOOLS_CSS_AGENT_H_ |   6 #define ASH_COMMON_DEVTOOLS_ASH_DEVTOOLS_CSS_AGENT_H_ | 
|   7  |   7  | 
|   8 #include "ash/common/devtools/ash_devtools_dom_agent.h" |   8 #include "ash/common/devtools/ash_devtools_dom_agent.h" | 
|   9 #include "components/ui_devtools/CSS.h" |   9 #include "components/ui_devtools/CSS.h" | 
 |  10 #include "ui/views/widget/widget_observer.h" | 
|  10  |  11  | 
|  11 namespace ash { |  12 namespace ash { | 
|  12 namespace devtools { |  13 namespace devtools { | 
|  13  |  14  | 
|  14 class ASH_EXPORT AshDevToolsCSSAgent |  15 class ASH_EXPORT AshDevToolsCSSAgent | 
|  15     : public NON_EXPORTED_BASE(ui::devtools::UiDevToolsBaseAgent< |  16     : public NON_EXPORTED_BASE(ui::devtools::UiDevToolsBaseAgent< | 
|  16                                ui::devtools::protocol::CSS::Metainfo>) { |  17                                ui::devtools::protocol::CSS::Metainfo>), | 
 |  18       public AshDevToolsDOMAgentObserver, | 
 |  19       public WmWindowObserver, | 
 |  20       public views::WidgetObserver, | 
 |  21       public views::ViewObserver { | 
|  17  public: |  22  public: | 
|  18   explicit AshDevToolsCSSAgent(AshDevToolsDOMAgent* dom_agent); |  23   explicit AshDevToolsCSSAgent(AshDevToolsDOMAgent* dom_agent); | 
|  19   ~AshDevToolsCSSAgent() override; |  24   ~AshDevToolsCSSAgent() override; | 
|  20  |  25  | 
|  21   // CSS::Backend |  26   // CSS::Backend | 
|  22   ui::devtools::protocol::Response getMatchedStylesForNode( |  27   ui::devtools::protocol::Response getMatchedStylesForNode( | 
|  23       int nodeId, |  28       int nodeId, | 
|  24       ui::devtools::protocol::Maybe<ui::devtools::protocol::CSS::CSSStyle>* |  29       ui::devtools::protocol::Maybe<ui::devtools::protocol::CSS::CSSStyle>* | 
|  25           inlineStyle) override; |  30           inlineStyle) override; | 
|  26  |  31  | 
 |  32   // AshDevToolsDOMAgentObserver | 
 |  33   void OnWindowAdded(WmWindow* window) override; | 
 |  34   void OnWindowRemoved(WmWindow* window) override; | 
 |  35   void OnWidgetAdded(views::Widget* widget) override; | 
 |  36   void OnWidgetRemoved(views::Widget* widget) override; | 
 |  37   void OnViewAdded(views::View* view) override; | 
 |  38   void OnViewRemoved(views::View* view) override; | 
 |  39  | 
 |  40   // WmWindowObserver | 
 |  41   void OnWindowBoundsChanged(WmWindow* window, | 
 |  42                              const gfx::Rect& old_bounds, | 
 |  43                              const gfx::Rect& new_bounds) override; | 
 |  44  | 
 |  45   // views::WidgetObserver | 
 |  46   void OnWidgetBoundsChanged(views::Widget* widget, | 
 |  47                              const gfx::Rect& new_bounds) override; | 
 |  48  | 
 |  49   // views::ViewObserver | 
 |  50   void OnViewBoundsChanged(views::View* view) override; | 
 |  51  | 
|  27  private: |  52  private: | 
|  28   std::unique_ptr<ui::devtools::protocol::CSS::CSSStyle> GetStylesForNode( |  53   std::unique_ptr<ui::devtools::protocol::CSS::CSSStyle> GetStylesForNode( | 
|  29       int nodeId); |  54       int nodeId); | 
 |  55   void InvalidateStyleSheet(); | 
|  30  |  56  | 
|  31   AshDevToolsDOMAgent* dom_agent_; |  57   AshDevToolsDOMAgent* dom_agent_; | 
|  32  |  58  | 
|  33   DISALLOW_COPY_AND_ASSIGN(AshDevToolsCSSAgent); |  59   DISALLOW_COPY_AND_ASSIGN(AshDevToolsCSSAgent); | 
|  34 }; |  60 }; | 
|  35  |  61  | 
|  36 }  // namespace devtools |  62 }  // namespace devtools | 
|  37 }  // namespace ash |  63 }  // namespace ash | 
|  38  |  64  | 
|  39 #endif  // ASH_COMMON_DEVTOOLS_ASH_DEVTOOLS_CSS_AGENT_H_ |  65 #endif  // ASH_COMMON_DEVTOOLS_ASH_DEVTOOLS_CSS_AGENT_H_ | 
| OLD | NEW |