Index: chrome/browser/ui/browser_navigator.cc |
diff --git a/chrome/browser/ui/browser_navigator.cc b/chrome/browser/ui/browser_navigator.cc |
index f7714d42f7fde86c2987c6a939fedbce25dd32dd..4197fba97d48a184fff238ff3bfd08fd0ae2b593 100644 |
--- a/chrome/browser/ui/browser_navigator.cc |
+++ b/chrome/browser/ui/browser_navigator.cc |
@@ -81,9 +81,10 @@ bool WindowCanOpenTabs(Browser* browser) { |
// Finds an existing Browser compatible with |profile|, making a new one if no |
// such Browser is located. |
-Browser* GetOrCreateBrowser(Profile* profile) { |
+Browser* GetOrCreateBrowser(Profile* profile, bool user_gesture) { |
Browser* browser = chrome::FindTabbedBrowser(profile, false); |
- return browser ? browser : new Browser(Browser::CreateParams(profile)); |
+ return browser ? browser |
+ : new Browser(Browser::CreateParams(profile, user_gesture)); |
} |
// Change some of the navigation parameters based on the particular URL. |
@@ -114,7 +115,7 @@ bool AdjustNavigateParamsForURL(chrome::NavigateParams* params) { |
} |
params->disposition = WindowOpenDisposition::SINGLETON_TAB; |
- params->browser = GetOrCreateBrowser(profile); |
+ params->browser = GetOrCreateBrowser(profile, params->user_gesture); |
params->window_action = chrome::NavigateParams::SHOW_WINDOW; |
} |
@@ -142,7 +143,7 @@ Browser* GetBrowserForDisposition(chrome::NavigateParams* params) { |
return params->browser; |
// Find a compatible window and re-execute this command in it. Otherwise |
// re-run with NEW_WINDOW. |
- return GetOrCreateBrowser(profile); |
+ return GetOrCreateBrowser(profile, params->user_gesture); |
case WindowOpenDisposition::SINGLETON_TAB: |
case WindowOpenDisposition::NEW_FOREGROUND_TAB: |
case WindowOpenDisposition::NEW_BACKGROUND_TAB: |
@@ -151,7 +152,7 @@ Browser* GetBrowserForDisposition(chrome::NavigateParams* params) { |
return params->browser; |
// Find a compatible window and re-execute this command in it. Otherwise |
// re-run with NEW_WINDOW. |
- return GetOrCreateBrowser(profile); |
+ return GetOrCreateBrowser(profile, params->user_gesture); |
case WindowOpenDisposition::NEW_POPUP: { |
// Make a new popup window. |
// Coerce app-style if |source| represents an app. |
@@ -172,22 +173,25 @@ Browser* GetBrowserForDisposition(chrome::NavigateParams* params) { |
} |
#endif |
if (app_name.empty()) { |
- Browser::CreateParams browser_params(Browser::TYPE_POPUP, profile); |
+ Browser::CreateParams browser_params(Browser::TYPE_POPUP, profile, |
+ params->user_gesture); |
browser_params.trusted_source = params->trusted_source; |
browser_params.initial_bounds = params->window_bounds; |
return new Browser(browser_params); |
} |
return new Browser(Browser::CreateParams::CreateForApp( |
- app_name, params->trusted_source, params->window_bounds, profile)); |
+ app_name, params->trusted_source, params->window_bounds, profile, |
+ params->user_gesture)); |
} |
case WindowOpenDisposition::NEW_WINDOW: { |
// Make a new normal browser window. |
- return new Browser(Browser::CreateParams(profile)); |
+ return new Browser(Browser::CreateParams(profile, params->user_gesture)); |
} |
case WindowOpenDisposition::OFF_THE_RECORD: |
// Make or find an incognito window. |
- return GetOrCreateBrowser(profile->GetOffTheRecordProfile()); |
+ return GetOrCreateBrowser(profile->GetOffTheRecordProfile(), |
+ params->user_gesture); |
// The following types result in no navigation. |
case WindowOpenDisposition::SAVE_TO_DISK: |
case WindowOpenDisposition::IGNORE_ACTION: |