diff options
author | erikkay@chromium.org <erikkay@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-05 22:00:05 +0000 |
---|---|---|
committer | erikkay@chromium.org <erikkay@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-05 22:00:05 +0000 |
commit | abf68099745ba6ac94a766ca948371a7f1d009d1 (patch) | |
tree | 36338257f61a472ed8636daa2eba368e823f3605 /chrome/browser/views | |
parent | b8d7cc09baa2fa0364df444ddd9b5d76085a4362 (diff) | |
download | chromium_src-abf68099745ba6ac94a766ca948371a7f1d009d1.zip chromium_src-abf68099745ba6ac94a766ca948371a7f1d009d1.tar.gz chromium_src-abf68099745ba6ac94a766ca948371a7f1d009d1.tar.bz2 |
Allow popups to close themselves with window.close().
This also fixes an issue where not all of the parts of WebPreferences were being serialized/deserialized across IPC.
BUG=23832
TEST=run set_page_color extension, when it sets the color, the popup
should close
Review URL: http://codereview.chromium.org/243096
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28053 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/views')
-rw-r--r-- | chrome/browser/views/browser_bubble_win.cc | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/chrome/browser/views/browser_bubble_win.cc b/chrome/browser/views/browser_bubble_win.cc index 8cae2da..17ab8ca 100644 --- a/chrome/browser/views/browser_bubble_win.cc +++ b/chrome/browser/views/browser_bubble_win.cc @@ -27,9 +27,23 @@ public: if (closed_) return; closed_ = true; + if (IsActive()) { + BrowserBubble::Delegate* delegate = bubble_->delegate(); + if (delegate) + delegate->BubbleLostFocus(bubble_); + } views::WidgetWin::Close(); } + void Hide() { + if (IsActive()) { + BrowserBubble::Delegate* delegate = bubble_->delegate(); + if (delegate) + delegate->BubbleLostFocus(bubble_); + } + views::WidgetWin::Hide(); + } + void OnActivate(UINT action, BOOL minimized, HWND window) { BrowserBubble::Delegate* delegate = bubble_->delegate(); if (!delegate) |