Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4216)

Unified Diff: chrome/browser/extensions/extension_host.cc

Issue 6881073: Cleanup popup related browser navigation code. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix Popup tests for ChromeOS. Created 9 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/extension_host.cc
diff --git a/chrome/browser/extensions/extension_host.cc b/chrome/browser/extensions/extension_host.cc
index 6af23f9baa77849e52872c8545d4adad3e1ab8a7..0f82b86a4c5d78c42b74c161f4c487eb2e2deeba 100644
--- a/chrome/browser/extensions/extension_host.cc
+++ b/chrome/browser/extensions/extension_host.cc
@@ -22,6 +22,7 @@
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_list.h"
#include "chrome/browser/ui/browser_window.h"
+#include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h"
#include "chrome/browser/ui/webui/chrome_web_ui_factory.h"
#include "chrome/common/chrome_constants.h"
#include "chrome/common/extensions/extension.h"
@@ -603,16 +604,19 @@ void ExtensionHost::ShowCreatedWindow(int route_id,
return;
if (disposition == NEW_POPUP) {
- // Create a new Browser window of type TYPE_APP_POPUP.
- // (AddTabContents would otherwise create a window of type TYPE_POPUP).
- Browser* browser = Browser::CreateForPopup(Browser::TYPE_APP_POPUP,
- contents->profile(),
- contents,
- initial_pos);
- if (user_gesture)
- browser->window()->Show();
- else
- browser->window()->ShowInactive();
+ // Find a browser with a matching profile for creating a popup.
+ // (If none is found, NULL argument to NavigateParams is valid).
+ Browser* browser = BrowserList::FindBrowserWithType(
+ contents->profile(),
+ Browser::TYPE_NORMAL,
+ false); // Match incognito exactly.
+ TabContentsWrapper* wrapper = new TabContentsWrapper(contents);
+ browser::NavigateParams params(browser, wrapper);
+ params.disposition = NEW_POPUP;
+ params.window_bounds = initial_pos;
+ params.window_action = browser::NavigateParams::SHOW_WINDOW;
+ params.user_gesture = user_gesture;
+ browser::Navigate(&params);
return;
}

Powered by Google App Engine
This is Rietveld 408576698