Chromium Code Reviews| Index: chrome/browser/extensions/api/tabs/tabs_api.cc |
| diff --git a/chrome/browser/extensions/api/tabs/tabs_api.cc b/chrome/browser/extensions/api/tabs/tabs_api.cc |
| index b88feedd5fd827d6a08ebd4f8173f0752ef922fc..6e029e269675a7c720448543bbda587397b5cb75 100644 |
| --- a/chrome/browser/extensions/api/tabs/tabs_api.cc |
| +++ b/chrome/browser/extensions/api/tabs/tabs_api.cc |
| @@ -42,6 +42,7 @@ |
| #include "chrome/browser/ui/browser_finder.h" |
| #include "chrome/browser/ui/browser_list.h" |
| #include "chrome/browser/ui/browser_navigator.h" |
| +#include "chrome/browser/ui/browser_navigator_params.h" |
| #include "chrome/browser/ui/browser_tabstrip.h" |
| #include "chrome/browser/ui/browser_window.h" |
| #include "chrome/browser/ui/panels/panel_manager.h" |
| @@ -641,11 +642,16 @@ bool WindowsCreateFunction::RunSync() { |
| Browser* new_window = new Browser(create_params); |
| - for (std::vector<GURL>::iterator i = urls.begin(); i != urls.end(); ++i) { |
| - WebContents* tab = chrome::AddSelectedTabWithURL( |
|
Devlin
2016/04/01 17:20:57
Do we still need browser_tabstrip.h?
dcheng
2016/04/01 17:42:00
Done.
|
| - new_window, *i, ui::PAGE_TRANSITION_LINK); |
| + for (const GURL& url : urls) { |
| + chrome::NavigateParams navigate_params(new_window, url, |
| + ui::PAGE_TRANSITION_LINK); |
| + navigate_params.disposition = NEW_FOREGROUND_TAB; |
| + navigate_params.source_site_instance = |
|
Devlin
2016/04/01 17:20:57
"Without plumbing through the source SiteInstance,
dcheng
2016/04/01 17:42:00
It'd cause a navigation from an extension origin t
Devlin
2016/04/01 18:56:34
Ah, got it - can you add that to the CL descriptio
dcheng
2016/04/02 00:54:25
Done.
|
| + render_frame_host()->GetSiteInstance(); |
| + chrome::Navigate(&navigate_params); |
| if (create_panel) { |
| - TabHelper::FromWebContents(tab)->SetExtensionAppIconById(extension_id); |
| + TabHelper::FromWebContents(navigate_params.target_contents) |
| + ->SetExtensionAppIconById(extension_id); |
| } |
| } |