| Index: chrome/browser/browser.cc
|
| ===================================================================
|
| --- chrome/browser/browser.cc (revision 54564)
|
| +++ chrome/browser/browser.cc (working copy)
|
| @@ -531,10 +531,10 @@
|
| case Extension::LAUNCH_WINDOW:
|
| case Extension::LAUNCH_PANEL:
|
| tab = Browser::OpenApplicationWindow(profile, extension, container,
|
| - GURL(), &browser);
|
| + GURL());
|
| break;
|
| case Extension::LAUNCH_TAB: {
|
| - tab = Browser::OpenApplicationTab(profile, extension, &browser);
|
| + tab = Browser::OpenApplicationTab(profile, extension);
|
| break;
|
| }
|
| default:
|
| @@ -542,6 +542,7 @@
|
| break;
|
| }
|
| if (tab) {
|
| + Browser* browser = tab->delegate()->GetBrowser();
|
| if (browser && extension && extension->launch_fullscreen())
|
| browser->window()->SetFullscreen(true);
|
| }
|
| @@ -553,8 +554,7 @@
|
| Profile* profile,
|
| Extension* extension,
|
| Extension::LaunchContainer container,
|
| - const GURL& url_input,
|
| - Browser** browser) {
|
| + const GURL& url_input) {
|
| GURL url;
|
| if (!url_input.is_empty()) {
|
| if (extension)
|
| @@ -570,15 +570,15 @@
|
| RegisterAppPrefs(app_name);
|
|
|
| bool as_panel = extension && (container == Extension::LAUNCH_PANEL);
|
| - Browser* local_browser = Browser::CreateForApp(app_name, extension, profile,
|
| - as_panel);
|
| - TabContents* tab_contents = local_browser->AddTabWithURL(
|
| + Browser* browser = Browser::CreateForApp(app_name, extension, profile,
|
| + as_panel);
|
| + TabContents* tab_contents = browser->AddTabWithURL(
|
| url, GURL(), PageTransition::START_PAGE, -1, TabStripModel::ADD_SELECTED,
|
| NULL, std::string());
|
|
|
| tab_contents->GetMutableRendererPrefs()->can_accept_load_drops = false;
|
| tab_contents->render_view_host()->SyncRendererPrefs();
|
| - local_browser->window()->Show();
|
| + browser->window()->Show();
|
|
|
| // TODO(jcampan): http://crbug.com/8123 we should not need to set the initial
|
| // focus explicitly.
|
| @@ -591,42 +591,33 @@
|
| // OnDidGetApplicationInfo, which calls
|
| // web_app::UpdateShortcutForTabContents when it sees UPDATE_SHORTCUT as
|
| // pending web app action.
|
| - local_browser->pending_web_app_action_ = UPDATE_SHORTCUT;
|
| + browser->pending_web_app_action_ = UPDATE_SHORTCUT;
|
| }
|
|
|
| - if (browser)
|
| - *browser = local_browser;
|
| -
|
| return tab_contents;
|
| }
|
|
|
| // static
|
| TabContents* Browser::OpenApplicationWindow(Profile* profile,
|
| - GURL& url, Browser** browser) {
|
| - return OpenApplicationWindow(profile, NULL, Extension::LAUNCH_WINDOW, url,
|
| - browser);
|
| + GURL& url) {
|
| + return OpenApplicationWindow(profile, NULL, Extension::LAUNCH_WINDOW, url);
|
| }
|
|
|
| // static
|
| TabContents* Browser::OpenApplicationTab(Profile* profile,
|
| - Extension* extension,
|
| - Browser** browser) {
|
| - Browser* local_browser = BrowserList::GetLastActiveWithProfile(profile);
|
| - if (!local_browser || local_browser->type() != Browser::TYPE_NORMAL)
|
| + Extension* extension) {
|
| + Browser* browser = BrowserList::GetLastActiveWithProfile(profile);
|
| + if (!browser || browser->type() != Browser::TYPE_NORMAL)
|
| return NULL;
|
|
|
| // TODO(erikkay): This doesn't seem like the right transition in all cases.
|
| PageTransition::Type transition = PageTransition::START_PAGE;
|
| GURL url = extension->GetFullLaunchURL();
|
| TabContents* tab_contents =
|
| - local_browser->CreateTabContentsForURL(url, GURL(), profile,
|
| - transition, false, NULL);
|
| + browser->CreateTabContentsForURL(url, GURL(), profile,
|
| + transition, false, NULL);
|
| tab_contents->SetExtensionApp(extension);
|
| - local_browser->AddTab(tab_contents, transition);
|
| -
|
| - if (browser)
|
| - *browser = local_browser;
|
| -
|
| + browser->AddTab(tab_contents, transition);
|
| return tab_contents;
|
| }
|
|
|
| @@ -2383,13 +2374,6 @@
|
| UseVerticalTabsChanged();
|
| }
|
|
|
| -bool Browser::LargeIconsPermitted() const {
|
| - // We don't show the big icons in tabs for TYPE_EXTENSION_APP windows because
|
| - // for those windows, we already have a big icon in the top-left outside any
|
| - // tab. Having big tab icons too looks kinda redonk.
|
| - return TYPE_EXTENSION_APP != type();
|
| -}
|
| -
|
| ///////////////////////////////////////////////////////////////////////////////
|
| // Browser, TabStripModelObserver implementation:
|
|
|
| @@ -2941,6 +2925,10 @@
|
| pending_web_app_action_ = NONE;
|
| }
|
|
|
| +Browser* Browser::GetBrowser() {
|
| + return this;
|
| +}
|
| +
|
| void Browser::ContentTypeChanged(TabContents* source) {
|
| if (source == GetSelectedTabContents())
|
| UpdateZoomCommandsForTabState();
|
| @@ -3741,7 +3729,7 @@
|
| if (destination_extension->launch_container() ==
|
| Extension::LAUNCH_WINDOW) {
|
| Browser::OpenApplicationWindow(profile_, destination_extension,
|
| - Extension::LAUNCH_WINDOW, url, NULL);
|
| + Extension::LAUNCH_WINDOW, url);
|
| return true;
|
| }
|
| }
|
|
|