summaryrefslogtreecommitdiffstats
path: root/chrome/browser/ui/views/web_dialog_view.cc
diff options
context:
space:
mode:
authorzelidrag@chromium.org <zelidrag@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-23 22:49:51 +0000
committerzelidrag@chromium.org <zelidrag@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-23 22:49:51 +0000
commit4cb3921ebeede145702a9b7eea29a308bba73822 (patch)
tree1fbe129656ba3bdbf4e123d158e5388bf00b181a /chrome/browser/ui/views/web_dialog_view.cc
parent6c329b8300c8dbf0ec3e429dbd28ffdd05013138 (diff)
downloadchromium_src-4cb3921ebeede145702a9b7eea29a308bba73822.zip
chromium_src-4cb3921ebeede145702a9b7eea29a308bba73822.tar.gz
chromium_src-4cb3921ebeede145702a9b7eea29a308bba73822.tar.bz2
Properly wired WebDialogView::OnCloseContents(). Made WebDialogViews derived and used as views::ClientView.
BUG=129389 TEST=none TBR=abodenha Review URL: https://chromiumcodereview.appspot.com/10408092 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@138631 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/ui/views/web_dialog_view.cc')
-rw-r--r--chrome/browser/ui/views/web_dialog_view.cc15
1 files changed, 13 insertions, 2 deletions
diff --git a/chrome/browser/ui/views/web_dialog_view.cc b/chrome/browser/ui/views/web_dialog_view.cc
index b7d4f2b..fb5012e 100644
--- a/chrome/browser/ui/views/web_dialog_view.cc
+++ b/chrome/browser/ui/views/web_dialog_view.cc
@@ -53,13 +53,15 @@ gfx::NativeWindow ShowWebDialog(gfx::NativeWindow parent,
WebDialogView::WebDialogView(Profile* profile,
Browser* browser,
WebDialogDelegate* delegate)
- : WebDialogWebContentsDelegate(profile),
+ : ClientView(NULL, NULL),
+ WebDialogWebContentsDelegate(profile),
initialized_(false),
delegate_(delegate),
dialog_controller_(new WebDialogController(this, profile, browser)),
web_view_(new views::WebView(profile)) {
web_view_->set_allow_accelerators(true);
AddChildView(web_view_);
+ set_contents_view(web_view_);
SetLayoutManager(new views::FillLayout);
// Pressing the ESC key will close the dialog.
AddAccelerator(ui::Accelerator(ui::VKEY_ESCAPE, ui::EF_NONE));
@@ -96,6 +98,15 @@ void WebDialogView::ViewHierarchyChanged(bool is_add,
InitDialog();
}
+bool WebDialogView::CanClose() {
+ bool close_dialog = true;
+ if (delegate_)
+ delegate_->OnCloseContents(web_view_->web_contents(),
+ &close_dialog);
+
+ return close_dialog;
+}
+
////////////////////////////////////////////////////////////////////////////////
// WebDialogView, views::WidgetDelegate implementation:
@@ -127,7 +138,7 @@ void WebDialogView::WindowClosing() {
OnDialogClosed("");
}
-views::View* WebDialogView::GetContentsView() {
+views::ClientView* WebDialogView::CreateClientView(views::Widget* widget) {
return this;
}