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

Unified Diff: chrome/browser/ui/views/extensions/extension_dialog.cc

Issue 363233002: Abstract base 'ExtensionView' to Fix DEPS violation in extension_view_host.h (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase for r281699 (unused hwnd_util.h) Created 6 years, 5 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/views/extensions/extension_dialog.cc
diff --git a/chrome/browser/ui/views/extensions/extension_dialog.cc b/chrome/browser/ui/views/extensions/extension_dialog.cc
index ba2c1c774a0a0a86dd1c0aad1192e9bab1941c9c..272612976c466d74dc7db3de50be14f8154a907a 100644
--- a/chrome/browser/ui/views/extensions/extension_dialog.cc
+++ b/chrome/browser/ui/views/extensions/extension_dialog.cc
@@ -10,6 +10,7 @@
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/views/constrained_window_views.h"
#include "chrome/browser/ui/views/extensions/extension_dialog_observer.h"
+#include "chrome/browser/ui/views/extensions/extension_view_views.h"
#include "content/public/browser/notification_details.h"
#include "content/public/browser/notification_source.h"
#include "content/public/browser/render_view_host.h"
@@ -24,6 +25,14 @@
using content::BrowserContext;
using content::WebContents;
+namespace {
+
+ExtensionViewViews* GetExtensionView(extensions::ExtensionViewHost* host) {
+ return static_cast<ExtensionViewViews*>(host->view());
+}
+
+} // namespace
+
ExtensionDialog::ExtensionDialog(extensions::ExtensionViewHost* host,
ExtensionDialogObserver* observer)
: host_(host),
@@ -61,8 +70,9 @@ ExtensionDialog* ExtensionDialog::Show(
return NULL;
// Preferred size must be set before views::Widget::CreateWindowWithParent
// is called because CreateWindowWithParent refers the result of CanResize().
- host->view()->SetPreferredSize(gfx::Size(width, height));
- host->view()->set_minimum_size(gfx::Size(min_width, min_height));
+ ExtensionViewViews* view = GetExtensionView(host);
+ view->SetPreferredSize(gfx::Size(width, height));
+ view->set_minimum_size(gfx::Size(min_width, min_height));
host->SetAssociatedWebContents(web_contents);
DCHECK(parent_window);
@@ -72,9 +82,9 @@ ExtensionDialog* ExtensionDialog::Show(
// Show a white background while the extension loads. This is prettier than
// flashing a black unfilled window frame.
- host->view()->set_background(
+ view->set_background(
views::Background::CreateSolidBackground(0xFF, 0xFF, 0xFF));
- host->view()->SetVisible(true);
+ view->SetVisible(true);
// Ensure the DOM JavaScript can respond immediately to keyboard shortcuts.
host->host_contents()->Focus();
@@ -132,11 +142,11 @@ int ExtensionDialog::GetDialogButtons() const {
bool ExtensionDialog::CanResize() const {
// Can resize only if minimum contents size set.
- return host_->view()->GetPreferredSize() != gfx::Size();
+ return GetExtensionView(host_.get())->GetPreferredSize() != gfx::Size();
}
void ExtensionDialog::SetMinimumContentsSize(int width, int height) {
- host_->view()->SetPreferredSize(gfx::Size(width, height));
+ GetExtensionView(host_.get())->SetPreferredSize(gfx::Size(width, height));
}
ui::ModalType ExtensionDialog::GetModalType() const {
@@ -162,15 +172,15 @@ void ExtensionDialog::DeleteDelegate() {
}
views::Widget* ExtensionDialog::GetWidget() {
- return host_->view()->GetWidget();
+ return GetExtensionView(host_.get())->GetWidget();
}
const views::Widget* ExtensionDialog::GetWidget() const {
- return host_->view()->GetWidget();
+ return GetExtensionView(host_.get())->GetWidget();
}
views::View* ExtensionDialog::GetContentsView() {
- return host_->view();
+ return GetExtensionView(host_.get());
}
bool ExtensionDialog::UseNewStyleForThisDialog() const {
@@ -187,7 +197,7 @@ void ExtensionDialog::Observe(int type,
case chrome::NOTIFICATION_EXTENSION_HOST_DID_STOP_LOADING:
// Avoid potential overdraw by removing the temporary background after
// the extension finishes loading.
- host_->view()->set_background(NULL);
+ GetExtensionView(host_.get())->set_background(NULL);
// The render view is created during the LoadURL(), so we should
// set the focus to the view if nobody else takes the focus.
if (content::Details<extensions::ExtensionHost>(host()) == details)

Powered by Google App Engine
This is Rietveld 408576698