diff options
author | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-30 20:40:53 +0000 |
---|---|---|
committer | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-30 20:40:53 +0000 |
commit | 6b2ee92785ecfd9a28333190925ea9d6fb5709ea (patch) | |
tree | b3d3ef315a7faa7ccb18528426ae9da2b0f31e61 /chrome/browser/browser.cc | |
parent | 9b67a3bafdcf549a9a28f4a0ce63dc165a34b6cd (diff) | |
download | chromium_src-6b2ee92785ecfd9a28333190925ea9d6fb5709ea.zip chromium_src-6b2ee92785ecfd9a28333190925ea9d6fb5709ea.tar.gz chromium_src-6b2ee92785ecfd9a28333190925ea9d6fb5709ea.tar.bz2 |
Don't show popups before tabs have been added. Instead, prevent the BrowserView from restoring focus to the tab if the window that contains it isn't visible. This prevents blur events from being fired incorrectly.
http://crbug.com/7991
Review URL: http://codereview.chromium.org/99248
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14985 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/browser.cc')
-rw-r--r-- | chrome/browser/browser.cc | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/chrome/browser/browser.cc b/chrome/browser/browser.cc index dc86bcb..6d50e66 100644 --- a/chrome/browser/browser.cc +++ b/chrome/browser/browser.cc @@ -2601,15 +2601,8 @@ void Browser::BuildPopupWindowHelper(TabContents* source, browser->set_maximized_state(MAXIMIZED_STATE_UNMAXIMIZED); browser->CreateBrowserWindow(); - // We need to Show before AddNewContents, otherwise AddNewContents will focus - // it (via BrowserView::TabSelectedAt calling RestoreFocus), triggering any - // onblur="" handlers. + browser->tabstrip_model()->AppendTabContents(new_contents, true); browser->window()->Show(); - - // TODO(beng): See if this can be made to use - // TabStripModel::AppendTabContents. - browser->AddNewContents(source, new_contents, NEW_FOREGROUND_TAB, - gfx::Rect(), true); } GURL Browser::GetHomePage() const { |