| Index: chrome/browser/ui/panels/panel.cc
|
| diff --git a/chrome/browser/ui/panels/panel.cc b/chrome/browser/ui/panels/panel.cc
|
| index c0392649c2d607fd13e50c8a140d99861af57e2f..c4ce4dbf965604a1607fb98bba13cd3cbd4396d9 100644
|
| --- a/chrome/browser/ui/panels/panel.cc
|
| +++ b/chrome/browser/ui/panels/panel.cc
|
| @@ -118,14 +118,21 @@ void Panel::SetAutoResizable(bool resizable) {
|
| return;
|
|
|
| auto_resizable_ = resizable;
|
| + WebContents* web_contents = browser()->GetSelectedWebContents();
|
| if (auto_resizable_) {
|
| browser()->tabstrip_model()->AddObserver(this);
|
| - WebContents* web_contents = browser()->GetSelectedWebContents();
|
| if (web_contents)
|
| EnableWebContentsAutoResize(web_contents);
|
| } else {
|
| browser()->tabstrip_model()->RemoveObserver(this);
|
| registrar_.RemoveAll();
|
| +
|
| + if (web_contents) {
|
| + // NULL might be returned if the tab has not been added.
|
| + RenderViewHost* render_view_host = web_contents->GetRenderViewHost();
|
| + if (render_view_host)
|
| + render_view_host->DisableAutoResize(restored_size_);
|
| + }
|
| }
|
| }
|
|
|
| @@ -625,10 +632,9 @@ void Panel::ShowKeyboardOverlay(gfx::NativeWindow owning_window) {
|
|
|
| void Panel::UpdatePreferredSize(WebContents* web_contents,
|
| const gfx::Size& pref_size) {
|
| - if (auto_resizable_) {
|
| - return manager()->OnPreferredWindowSizeChanged(this,
|
| - native_panel_->WindowSizeFromContentSize(pref_size));
|
| - }
|
| + DCHECK(auto_resizable_);
|
| + return manager()->OnPreferredWindowSizeChanged(this,
|
| + native_panel_->WindowSizeFromContentSize(pref_size));
|
| }
|
|
|
| void Panel::ShowAvatarBubble(WebContents* web_contents, const gfx::Rect& rect) {
|
|
|