Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2642)

Unified Diff: chrome/browser/ui/panels/panel.cc

Issue 9517010: Change panels to be able to turn off autoresize. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: code review fixes Created 8 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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) {

Powered by Google App Engine
This is Rietveld 408576698