diff options
author | zelidrag@chromium.org <zelidrag@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-23 22:49:51 +0000 |
---|---|---|
committer | zelidrag@chromium.org <zelidrag@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-23 22:49:51 +0000 |
commit | 4cb3921ebeede145702a9b7eea29a308bba73822 (patch) | |
tree | 1fbe129656ba3bdbf4e123d158e5388bf00b181a /chrome/browser/ui/views/web_dialog_view.cc | |
parent | 6c329b8300c8dbf0ec3e429dbd28ffdd05013138 (diff) | |
download | chromium_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.cc | 15 |
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; } |