Make sure that the created browser is displayed when chrome::FindOrCreateTabbedBrowser() is used
BUG=177542
TEST=None
Review URL: https://codereview.chromium.org/36333002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@232018 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/extensions/extension_tab_util.cc b/chrome/browser/extensions/extension_tab_util.cc
index 004fca0..e77c47d 100644
--- a/chrome/browser/extensions/extension_tab_util.cc
+++ b/chrome/browser/extensions/extension_tab_util.cc
@@ -16,6 +16,7 @@
#include "chrome/browser/ui/browser_finder.h"
#include "chrome/browser/ui/browser_iterator.h"
#include "chrome/browser/ui/browser_window.h"
+#include "chrome/browser/ui/scoped_tabbed_browser_displayer.h"
#include "chrome/browser/ui/tab_contents/tab_contents_iterator.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
#include "chrome/common/extensions/extension.h"
@@ -340,9 +341,12 @@
// Force the options page to open in non-OTR window, because it won't be
// able to save settings from OTR.
+ scoped_ptr<chrome::ScopedTabbedBrowserDisplayer> displayer;
if (browser->profile()->IsOffTheRecord()) {
- browser = chrome::FindOrCreateTabbedBrowser(
- browser->profile()->GetOriginalProfile(), browser->host_desktop_type());
+ displayer.reset(new chrome::ScopedTabbedBrowserDisplayer(
+ browser->profile()->GetOriginalProfile(),
+ browser->host_desktop_type()));
+ browser = displayer->browser();
}
content::OpenURLParams params(