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

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

Issue 2685333005: ash: fix regression where ctrl+n put new window on wrong desktop (Closed)
Patch Set: rebase to tot Created 3 years, 10 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_tab_util.cc
diff --git a/chrome/browser/extensions/extension_tab_util.cc b/chrome/browser/extensions/extension_tab_util.cc
index 163ebfb58aedf0684ac74420b5e376c7cf82f548..3f6d651e9dc61a909d54483d3abb1830ceb81052 100644
--- a/chrome/browser/extensions/extension_tab_util.cc
+++ b/chrome/browser/extensions/extension_tab_util.cc
@@ -95,8 +95,12 @@ Browser* GetBrowserInProfileWithId(Profile* profile,
return NULL;
}
-Browser* CreateBrowser(Profile* profile, int window_id, std::string* error) {
+Browser* CreateBrowser(Profile* profile,
+ int window_id,
+ bool user_gesture,
+ std::string* error) {
Browser::CreateParams params(Browser::TYPE_TABBED, profile);
+ params.user_gesture = user_gesture;
Browser* browser = new Browser(params);
browser->window()->Show();
return browser;
@@ -126,6 +130,7 @@ ExtensionTabUtil::OpenTabParams::~OpenTabParams() {
base::DictionaryValue* ExtensionTabUtil::OpenTab(
UIThreadExtensionFunction* function,
const OpenTabParams& params,
+ bool user_gesture,
std::string* error) {
ChromeExtensionFunctionDetails chrome_details(function);
Profile* profile = chrome_details.GetProfile();
@@ -139,7 +144,7 @@ base::DictionaryValue* ExtensionTabUtil::OpenTab(
if (!params.create_browser_if_needed) {
return NULL;
}
- browser = CreateBrowser(profile, window_id, error);
+ browser = CreateBrowser(profile, window_id, user_gesture, error);
if (!browser)
return NULL;
}
@@ -215,8 +220,10 @@ base::DictionaryValue* ExtensionTabUtil::OpenTab(
browser = chrome::FindTabbedBrowser(profile, false);
if (!browser) {
- browser =
- new Browser(Browser::CreateParams(Browser::TYPE_TABBED, profile));
+ Browser::CreateParams params =
+ Browser::CreateParams(Browser::TYPE_TABBED, profile);
+ params.user_gesture = user_gesture;
+ browser = new Browser(params);
browser->window()->Show();
}
}
@@ -583,8 +590,11 @@ void ExtensionTabUtil::CreateTab(WebContents* web_contents,
Profile::FromBrowserContext(web_contents->GetBrowserContext());
Browser* browser = chrome::FindTabbedBrowser(profile, false);
const bool browser_created = !browser;
- if (!browser)
- browser = new Browser(Browser::CreateParams(profile));
+ if (!browser) {
+ Browser::CreateParams params = Browser::CreateParams(profile);
+ params.user_gesture = user_gesture;
+ browser = new Browser(params);
+ }
chrome::NavigateParams params(browser, web_contents);
// The extension_app_id parameter ends up as app_name in the Browser

Powered by Google App Engine
This is Rietveld 408576698