| Index: mojo/examples/window_manager/debug_panel.cc
|
| diff --git a/mojo/examples/window_manager/debug_panel.cc b/mojo/examples/window_manager/debug_panel.cc
|
| index c0438a2aef1912adf99cccfe8b90cbaf24ad2ed8..b39fc8efb8dd9e4cb75d1d18a3bf676672608012 100644
|
| --- a/mojo/examples/window_manager/debug_panel.cc
|
| +++ b/mojo/examples/window_manager/debug_panel.cc
|
| @@ -46,25 +46,28 @@ DebugPanel::DebugPanel(Delegate* delegate, view_manager::Node* node)
|
| navigation_target_default_->SetChecked(true);
|
|
|
| views::WidgetDelegateView* widget_delegate = new views::WidgetDelegateView();
|
| - widget_delegate->GetContentsView()->set_background(
|
| + contents_view_ = widget_delegate->GetContentsView();
|
| + contents_view_->set_background(
|
| views::Background::CreateSolidBackground(0xFFDDDDDD));
|
| - widget_delegate->GetContentsView()->AddChildView(navigation_target_label_);
|
| - widget_delegate->GetContentsView()->AddChildView(navigation_target_default_);
|
| - widget_delegate->GetContentsView()->AddChildView(navigation_target_new_);
|
| - widget_delegate->GetContentsView()->AddChildView(navigation_target_source_);
|
| - widget_delegate->GetContentsView()->AddChildView(colored_square_);
|
| - widget_delegate->GetContentsView()->AddChildView(close_last_);
|
| - widget_delegate->GetContentsView()->AddChildView(cross_app_);
|
| - widget_delegate->GetContentsView()->SetLayoutManager(this);
|
| -
|
| - views::Widget* widget = new views::Widget();
|
| + contents_view_->AddChildView(navigation_target_label_);
|
| + contents_view_->AddChildView(navigation_target_default_);
|
| + contents_view_->AddChildView(navigation_target_new_);
|
| + contents_view_->AddChildView(navigation_target_source_);
|
| + contents_view_->AddChildView(colored_square_);
|
| + contents_view_->AddChildView(close_last_);
|
| + contents_view_->AddChildView(cross_app_);
|
| + contents_view_->SetLayoutManager(this);
|
| +
|
| + widget_ = new views::Widget();
|
| views::Widget::InitParams params(
|
| views::Widget::InitParams::TYPE_WINDOW_FRAMELESS);
|
| - params.native_widget = new NativeWidgetViewManager(widget, node);
|
| + params.native_widget = new NativeWidgetViewManager(widget_, node);
|
| params.delegate = widget_delegate;
|
| params.bounds = gfx::Rect(node->bounds().size());
|
| - widget->Init(params);
|
| - widget->Show();
|
| + widget_->Init(params);
|
| + widget_->Show();
|
| +
|
| + node->AddObserver(this);
|
| }
|
|
|
| DebugPanel::~DebugPanel() {
|
| @@ -134,5 +137,13 @@ void DebugPanel::Navigate(const std::string& url) {
|
| delegate_->RequestNavigate(node_->id(), navigation::NEW_NODE, details.Pass());
|
| }
|
|
|
| +void DebugPanel::OnNodeBoundsChanged(view_manager::Node* node,
|
| + const gfx::Rect& /*old_bounds*/,
|
| + const gfx::Rect& /*new_bounds*/) {
|
| + widget_->SetBounds(gfx::Rect(node->bounds().size()));
|
| + contents_view_->Layout();
|
| +}
|
| +
|
| +
|
| } // namespace examples
|
| } // namespace mojo
|
|
|