Index: chrome/browser/ui/views/extensions/extension_view.cc |
diff --git a/chrome/browser/ui/views/extensions/extension_view.cc b/chrome/browser/ui/views/extensions/extension_view.cc |
index fd5861f47cdafa33ba1d909a02c735cd9e95f708..a6cdcc77fc58a724a47e906a22d72393108ae78a 100644 |
--- a/chrome/browser/ui/views/extensions/extension_view.cc |
+++ b/chrome/browser/ui/views/extensions/extension_view.cc |
@@ -6,6 +6,7 @@ |
#include "chrome/browser/extensions/extension_host.h" |
#include "chrome/browser/ui/views/extensions/extension_popup.h" |
+#include "chrome/common/chrome_view_type.h" |
#include "content/public/browser/content_browser_client.h" |
#include "content/public/browser/render_view_host.h" |
#include "content/public/browser/render_widget_host_view.h" |
@@ -89,7 +90,7 @@ void ExtensionView::ShowIfCompletelyLoaded() { |
// actually been created. These can happen in different orders. |
if (host_->did_stop_loading()) { |
SetVisible(true); |
- UpdatePreferredSize(pending_preferred_size_); |
+ ResizeDueToAutoResize(pending_preferred_size_); |
} |
} |
@@ -110,7 +111,7 @@ void ExtensionView::SetBackground(const SkBitmap& background) { |
ShowIfCompletelyLoaded(); |
} |
-void ExtensionView::UpdatePreferredSize(const gfx::Size& new_size) { |
+void ExtensionView::ResizeDueToAutoResize(const gfx::Size& new_size) { |
// Don't actually do anything with this information until we have been shown. |
// Size changes will not be honored by lower layers while we are hidden. |
if (!visible()) { |
@@ -134,7 +135,7 @@ void ExtensionView::ViewHierarchyChanged(bool is_add, |
void ExtensionView::PreferredSizeChanged() { |
View::PreferredSizeChanged(); |
if (container_) |
- container_->OnExtensionPreferredSizeChanged(this); |
+ container_->OnExtensionSizeChanged(this); |
} |
bool ExtensionView::SkipDefaultKeyEventProcessing(const views::KeyEvent& e) { |
@@ -163,11 +164,14 @@ void ExtensionView::RenderViewCreated() { |
pending_background_.reset(); |
} |
- // Tell the renderer not to draw scroll bars in popups unless the |
- // popups are at the maximum allowed size. |
- gfx::Size largest_popup_size(ExtensionPopup::kMaxWidth, |
- ExtensionPopup::kMaxHeight); |
- host_->DisableScrollbarsForSmallWindows(largest_popup_size); |
+ content::ViewType host_type = host_->extension_host_type(); |
+ if (host_type == chrome::VIEW_TYPE_EXTENSION_POPUP) { |
+ gfx::Size min_size(ExtensionPopup::kMinWidth, |
+ ExtensionPopup::kMinHeight); |
+ gfx::Size max_size(ExtensionPopup::kMaxWidth, |
+ ExtensionPopup::kMaxHeight); |
+ render_view_host()->EnableAutoResize(min_size, max_size); |
+ } |
if (container_) |
container_->OnViewWasResized(); |