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 |