| Index: ash/devtools/ash_devtools_css_agent.cc
 | 
| diff --git a/ash/devtools/ash_devtools_css_agent.cc b/ash/devtools/ash_devtools_css_agent.cc
 | 
| index 90c2ed2d37a1a38a95f69655c94e7f45ceff8d74..84c65d7d1e0c1a31cab815248c286cc98878964e 100644
 | 
| --- a/ash/devtools/ash_devtools_css_agent.cc
 | 
| +++ b/ash/devtools/ash_devtools_css_agent.cc
 | 
| @@ -4,15 +4,14 @@
 | 
|  
 | 
|  #include "ash/devtools/ash_devtools_css_agent.h"
 | 
|  
 | 
| -#include "ash/devtools/ui_element.h"
 | 
|  #include "base/strings/string_split.h"
 | 
|  #include "base/strings/string_util.h"
 | 
|  #include "ui/aura/window.h"
 | 
|  
 | 
|  namespace ash {
 | 
|  namespace devtools {
 | 
| +
 | 
|  namespace {
 | 
| -
 | 
|  using namespace ui::devtools::protocol;
 | 
|  
 | 
|  const char kHeight[] = "height";
 | 
| @@ -164,8 +163,16 @@
 | 
|    return ui::devtools::protocol::Response::OK();
 | 
|  }
 | 
|  
 | 
| -void AshDevToolsCSSAgent::OnNodeBoundsChanged(int node_id) {
 | 
| -  InvalidateStyleSheet(node_id);
 | 
| +void AshDevToolsCSSAgent::OnWindowBoundsChanged(aura::Window* window) {
 | 
| +  InvalidateStyleSheet(dom_agent_->GetNodeIdFromWindow(window));
 | 
| +}
 | 
| +
 | 
| +void AshDevToolsCSSAgent::OnWidgetBoundsChanged(views::Widget* widget) {
 | 
| +  InvalidateStyleSheet(dom_agent_->GetNodeIdFromWidget(widget));
 | 
| +}
 | 
| +
 | 
| +void AshDevToolsCSSAgent::OnViewBoundsChanged(views::View* view) {
 | 
| +  InvalidateStyleSheet(dom_agent_->GetNodeIdFromView(view));
 | 
|  }
 | 
|  
 | 
|  std::unique_ptr<ui::devtools::protocol::CSS::CSSStyle>
 | 
| @@ -185,10 +192,22 @@
 | 
|  bool AshDevToolsCSSAgent::GetPropertiesForNodeId(int node_id,
 | 
|                                                   gfx::Rect* bounds,
 | 
|                                                   bool* visible) {
 | 
| -  UIElement* ui_element = dom_agent_->GetElementFromNodeId(node_id);
 | 
| -  if (ui_element) {
 | 
| -    ui_element->GetBounds(bounds);
 | 
| -    ui_element->GetVisible(visible);
 | 
| +  aura::Window* window = dom_agent_->GetWindowFromNodeId(node_id);
 | 
| +  if (window) {
 | 
| +    *bounds = window->bounds();
 | 
| +    *visible = window->IsVisible();
 | 
| +    return true;
 | 
| +  }
 | 
| +  views::Widget* widget = dom_agent_->GetWidgetFromNodeId(node_id);
 | 
| +  if (widget) {
 | 
| +    *bounds = widget->GetRestoredBounds();
 | 
| +    *visible = widget->IsVisible();
 | 
| +    return true;
 | 
| +  }
 | 
| +  views::View* view = dom_agent_->GetViewFromNodeId(node_id);
 | 
| +  if (view) {
 | 
| +    *bounds = view->bounds();
 | 
| +    *visible = view->visible();
 | 
|      return true;
 | 
|    }
 | 
|    return false;
 | 
| @@ -197,10 +216,33 @@
 | 
|  bool AshDevToolsCSSAgent::SetPropertiesForNodeId(int node_id,
 | 
|                                                   const gfx::Rect& bounds,
 | 
|                                                   bool visible) {
 | 
| -  UIElement* ui_element = dom_agent_->GetElementFromNodeId(node_id);
 | 
| -  if (ui_element) {
 | 
| -    ui_element->SetBounds(bounds);
 | 
| -    ui_element->SetVisible(visible);
 | 
| +  aura::Window* window = dom_agent_->GetWindowFromNodeId(node_id);
 | 
| +  if (window) {
 | 
| +    window->SetBounds(bounds);
 | 
| +    if (visible != window->IsVisible()) {
 | 
| +      if (visible)
 | 
| +        window->Show();
 | 
| +      else
 | 
| +        window->Hide();
 | 
| +    }
 | 
| +    return true;
 | 
| +  }
 | 
| +  views::Widget* widget = dom_agent_->GetWidgetFromNodeId(node_id);
 | 
| +  if (widget) {
 | 
| +    widget->SetBounds(bounds);
 | 
| +    if (visible != widget->IsVisible()) {
 | 
| +      if (visible)
 | 
| +        widget->Show();
 | 
| +      else
 | 
| +        widget->Hide();
 | 
| +    }
 | 
| +    return true;
 | 
| +  }
 | 
| +  views::View* view = dom_agent_->GetViewFromNodeId(node_id);
 | 
| +  if (view) {
 | 
| +    view->SetBoundsRect(bounds);
 | 
| +    if (visible != view->visible())
 | 
| +      view->SetVisible(visible);
 | 
|      return true;
 | 
|    }
 | 
|    return false;
 | 
| 
 |