| Index: chrome/browser/ui/browser_init.cc
|
| diff --git a/chrome/browser/ui/browser_init.cc b/chrome/browser/ui/browser_init.cc
|
| index 853e6d1d87727deb722b7126005345b5398fa361..b820611f250fc6fa20d9a3b7c49aa30819bc05ec 100644
|
| --- a/chrome/browser/ui/browser_init.cc
|
| +++ b/chrome/browser/ui/browser_init.cc
|
| @@ -65,14 +65,11 @@
|
| #include "chrome/browser/tab_contents/simple_alert_infobar_delegate.h"
|
| #include "chrome/browser/tabs/pinned_tab_codec.h"
|
| #include "chrome/browser/tabs/tab_strip_model.h"
|
| -#include "chrome/browser/ui/browser_dialogs.h"
|
| #include "chrome/browser/ui/browser_list.h"
|
| #include "chrome/browser/ui/browser_navigator.h"
|
| #include "chrome/browser/ui/browser_window.h"
|
| -#include "chrome/browser/ui/dialog_style.h"
|
| #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h"
|
| #include "chrome/browser/ui/webui/ntp/app_launcher_handler.h"
|
| -#include "chrome/browser/ui/webui/sync_promo/sync_promo_dialog.h"
|
| #include "chrome/browser/ui/webui/sync_promo/sync_promo_trial.h"
|
| #include "chrome/browser/ui/webui/sync_promo/sync_promo_ui.h"
|
| #include "chrome/common/chrome_constants.h"
|
| @@ -1225,8 +1222,8 @@ Browser* BrowserInit::LaunchWithProfile::OpenURLsInBrowser(
|
| Browser* BrowserInit::LaunchWithProfile::OpenTabsInBrowser(
|
| Browser* browser,
|
| bool process_startup,
|
| - const std::vector<Tab>& in_tabs) {
|
| - DCHECK(!in_tabs.empty());
|
| + const std::vector<Tab>& tabs) {
|
| + DCHECK(!tabs.empty());
|
|
|
| // If we don't yet have a profile, try to use the one we're given from
|
| // |browser|. While we may not end up actually using |browser| (since it
|
| @@ -1234,11 +1231,6 @@ Browser* BrowserInit::LaunchWithProfile::OpenTabsInBrowser(
|
| if (!profile_ && browser)
|
| profile_ = browser->profile();
|
|
|
| - std::vector<Tab> tabs(in_tabs);
|
| - size_t active_tab_index =
|
| - ShowSyncPromoDialog(process_startup, &browser, &tabs);
|
| - bool first_tab = active_tab_index == std::string::npos;
|
| -
|
| if (!browser || !browser->is_type_tabbed()) {
|
| browser = Browser::Create(profile_);
|
| } else {
|
| @@ -1256,6 +1248,7 @@ Browser* BrowserInit::LaunchWithProfile::OpenTabsInBrowser(
|
| browser->ToggleFullscreenMode();
|
| #endif
|
|
|
| + bool first_tab = true;
|
| for (size_t i = 0; i < tabs.size(); ++i) {
|
| // We skip URLs that we'd have to launch an external protocol handler for.
|
| // This avoids us getting into an infinite loop asking ourselves to open
|
| @@ -1267,27 +1260,17 @@ Browser* BrowserInit::LaunchWithProfile::OpenTabsInBrowser(
|
| if (!process_startup && !handled_by_chrome)
|
| continue;
|
|
|
| - size_t index;
|
| - if (tabs[i].url.SchemeIs(chrome::kChromeUIScheme) &&
|
| - tabs[i].url.host() == chrome::kChromeUISyncPromoHost) {
|
| - // The sync promo must always be the first tab. If the browser window
|
| - // was spawned from the sync promo dialog then it might have other tabs
|
| - // in it already. Explicilty set it to 0 to ensure that it's first.
|
| - index = 0;
|
| - } else {
|
| - index = browser->GetIndexForInsertionDuringRestore(i);
|
| - }
|
| -
|
| - int add_types = (first_tab || index == active_tab_index) ?
|
| - TabStripModel::ADD_ACTIVE : TabStripModel::ADD_NONE;
|
| + int add_types = first_tab ? TabStripModel::ADD_ACTIVE :
|
| + TabStripModel::ADD_NONE;
|
| add_types |= TabStripModel::ADD_FORCE_INDEX;
|
| if (tabs[i].is_pinned)
|
| add_types |= TabStripModel::ADD_PINNED;
|
| + int index = browser->GetIndexForInsertionDuringRestore(i);
|
|
|
| browser::NavigateParams params(browser, tabs[i].url,
|
| content::PAGE_TRANSITION_START_PAGE);
|
| - params.disposition = (first_tab || index == active_tab_index) ?
|
| - NEW_FOREGROUND_TAB : NEW_BACKGROUND_TAB;
|
| + params.disposition = first_tab ? NEW_FOREGROUND_TAB :
|
| + NEW_BACKGROUND_TAB;
|
| params.tabstrip_index = index;
|
| params.tabstrip_add_types = add_types;
|
| params.extension_app_id = tabs[i].app_id;
|
| @@ -1495,9 +1478,7 @@ void BrowserInit::LaunchWithProfile::AddStartupURLs(
|
|
|
| // If the sync promo page is going to be displayed then insert it at the front
|
| // of the list.
|
| - bool promo_suppressed = false;
|
| - if (SyncPromoUI::ShouldShowSyncPromoAtStartup(profile_, is_first_run_,
|
| - &promo_suppressed)) {
|
| + if (SyncPromoUI::ShouldShowSyncPromoAtStartup(profile_, is_first_run_)) {
|
| SyncPromoUI::DidShowSyncPromoAtStartup(profile_);
|
| GURL old_url = (*startup_urls)[0];
|
| (*startup_urls)[0] =
|
| @@ -1521,8 +1502,6 @@ void BrowserInit::LaunchWithProfile::AddStartupURLs(
|
| if (it != startup_urls->end())
|
| startup_urls->erase(it);
|
| }
|
| - } else if (promo_suppressed) {
|
| - sync_promo_trial::RecordSyncPromoSuppressedForCurrentTrial();
|
| }
|
| }
|
|
|
| @@ -1583,49 +1562,6 @@ bool BrowserInit::LaunchWithProfile::CheckIfAutoLaunched(Profile* profile) {
|
| return false;
|
| }
|
|
|
| -size_t BrowserInit::LaunchWithProfile::ShowSyncPromoDialog(
|
| - bool process_startup,
|
| - Browser** browser,
|
| - std::vector<Tab>* tabs) {
|
| - DCHECK(browser);
|
| - DCHECK(tabs);
|
| -
|
| - // The dialog is only shown on process startup if no browser window is already
|
| - // being displayed.
|
| - if (!profile_ || profile_->IsOffTheRecord() || *browser || !process_startup ||
|
| - SyncPromoUI::GetSyncPromoVersion() != SyncPromoUI::VERSION_DIALOG) {
|
| - return std::string::npos;
|
| - }
|
| -
|
| - for (size_t i = 0; i < tabs->size(); ++i) {
|
| - GURL url((*tabs)[i].url);
|
| - if (url.SchemeIs(chrome::kChromeUIScheme) &&
|
| - url.host() == chrome::kChromeUISyncPromoHost) {
|
| - SyncPromoDialog dialog(profile_, url);
|
| - dialog.ShowDialog();
|
| - *browser = dialog.spawned_browser();
|
| - if (!*browser) {
|
| - // If no browser window was spawned then just replace the sync promo
|
| - // with the next URL.
|
| - (*tabs)[i].url = SyncPromoUI::GetNextPageURLForSyncPromoURL(url);
|
| - return i;
|
| - } else if (dialog.sync_promo_was_closed()) {
|
| - tabs->erase(tabs->begin() + i);
|
| - // The tab spawned by the dialog is at tab index 0 so return 0 to make
|
| - // it the active tab.
|
| - return 0;
|
| - } else {
|
| - // Since the sync promo is not closed it will be inserted at tab
|
| - // index 0. The tab spawned by the dialog will be at index 1 so return
|
| - // 0 to make it the active tab.
|
| - return 1;
|
| - }
|
| - }
|
| - }
|
| -
|
| - return std::string::npos;
|
| -}
|
| -
|
| std::vector<GURL> BrowserInit::GetURLsFromCommandLine(
|
| const CommandLine& command_line,
|
| const FilePath& cur_dir,
|
|
|