Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(417)

Side by Side Diff: chrome/browser/ui/startup/startup_tab_provider.cc

Issue 2396133002: Adding Pinned Tab and Preferences-specified Tab logic to Startup Flow refactor (Closed)
Patch Set: Correcting initializer nit Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/startup/startup_tab_provider.h" 5 #include "chrome/browser/ui/startup/startup_tab_provider.h"
6 6
7 #include "build/build_config.h" 7 #include "build/build_config.h"
8 #include "chrome/browser/first_run/first_run.h" 8 #include "chrome/browser/first_run/first_run.h"
9 #include "chrome/browser/profile_resetter/triggered_profile_resetter.h" 9 #include "chrome/browser/profile_resetter/triggered_profile_resetter.h"
10 #include "chrome/browser/profile_resetter/triggered_profile_resetter_factory.h" 10 #include "chrome/browser/profile_resetter/triggered_profile_resetter_factory.h"
11 #include "chrome/browser/ui/chrome_pages.h" 11 #include "chrome/browser/ui/chrome_pages.h"
12 #include "chrome/browser/ui/tabs/pinned_tab_codec.h"
12 #include "chrome/common/url_constants.h" 13 #include "chrome/common/url_constants.h"
13 #include "chrome/grit/locale_settings.h" 14 #include "chrome/grit/locale_settings.h"
14 #include "ui/base/l10n/l10n_util.h" 15 #include "ui/base/l10n/l10n_util.h"
15 16
16 #if defined(OS_WIN) 17 #if defined(OS_WIN)
17 #include "base/win/windows_version.h" 18 #include "base/win/windows_version.h"
18 #endif 19 #endif
19 20
20 StartupTabs StartupTabProviderImpl::GetOnboardingTabs() const { 21 StartupTabs StartupTabProviderImpl::GetOnboardingTabs() const {
21 #if defined(OS_WIN) 22 #if defined(OS_WIN)
(...skipping 23 matching lines...) Expand all
45 46
46 StartupTabs StartupTabProviderImpl::GetResetTriggerTabs( 47 StartupTabs StartupTabProviderImpl::GetResetTriggerTabs(
47 Profile* profile) const { 48 Profile* profile) const {
48 auto* triggered_profile_resetter = 49 auto* triggered_profile_resetter =
49 TriggeredProfileResetterFactory::GetForBrowserContext(profile); 50 TriggeredProfileResetterFactory::GetForBrowserContext(profile);
50 bool has_reset_trigger = triggered_profile_resetter && 51 bool has_reset_trigger = triggered_profile_resetter &&
51 triggered_profile_resetter->HasResetTrigger(); 52 triggered_profile_resetter->HasResetTrigger();
52 return CheckResetTriggerTabPolicy(has_reset_trigger); 53 return CheckResetTriggerTabPolicy(has_reset_trigger);
53 } 54 }
54 55
55 StartupTabs StartupTabProviderImpl::GetPinnedTabs() const { 56 StartupTabs StartupTabProviderImpl::GetPinnedTabs(Profile* profile) const {
56 // TODO(tmartino): Copy/clean up logic from 57 return PinnedTabCodec::ReadPinnedTabs(profile);
57 // StartupBrowserCreatorImpl::ProcessSpecifiedUrls.
58 return StartupTabs();
59 } 58 }
60 59
61 StartupTabs StartupTabProviderImpl::GetPreferencesTabs() const { 60 StartupTabs StartupTabProviderImpl::GetPreferencesTabs(
62 // TODO(tmartino): Copy/clean up logic from 61 const base::CommandLine& command_line,
63 // StartupBrowserCreatorImpl::ProcessStartupUrls. 62 Profile* profile) const {
64 return StartupTabs(); 63 return CheckPreferencesTabPolicy(
64 StartupBrowserCreator::GetSessionStartupPref(command_line, profile));
65 } 65 }
66 66
67 // static 67 // static
68 StartupTabs StartupTabProviderImpl::CheckStandardOnboardingTabPolicy( 68 StartupTabs StartupTabProviderImpl::CheckStandardOnboardingTabPolicy(
69 bool is_first_run) { 69 bool is_first_run) {
70 StartupTabs tabs; 70 StartupTabs tabs;
71 if (is_first_run) 71 if (is_first_run)
72 tabs.emplace_back(GetWelcomePageUrl(), false); 72 tabs.emplace_back(GetWelcomePageUrl(), false);
73 return tabs; 73 return tabs;
74 } 74 }
75 75
76 // static 76 // static
77 StartupTabs StartupTabProviderImpl::CheckMasterPrefsTabPolicy( 77 StartupTabs StartupTabProviderImpl::CheckMasterPrefsTabPolicy(
78 bool is_first_run, 78 bool is_first_run,
79 const std::vector<GURL>& first_run_tabs) { 79 const std::vector<GURL>& first_run_tabs) {
80 // Constants: Magic words used by Master Preferences files in place of a URL 80 // Constants: Magic words used by Master Preferences files in place of a URL
81 // host to indicate that internal pages should appear on first run. 81 // host to indicate that internal pages should appear on first run.
82 constexpr char kNewTabUrlHost[] = "new_tab_page"; 82 static constexpr char kNewTabUrlHost[] = "new_tab_page";
83 constexpr char kWelcomePageUrlHost[] = "welcome_page"; 83 static constexpr char kWelcomePageUrlHost[] = "welcome_page";
84 84
85 StartupTabs tabs; 85 StartupTabs tabs;
86 if (is_first_run) { 86 if (is_first_run) {
87 tabs.reserve(first_run_tabs.size()); 87 tabs.reserve(first_run_tabs.size());
88 for (GURL url : first_run_tabs) { 88 for (GURL url : first_run_tabs) {
89 if (url.host() == kNewTabUrlHost) 89 if (url.host() == kNewTabUrlHost)
90 url = GURL(chrome::kChromeUINewTabURL); 90 url = GURL(chrome::kChromeUINewTabURL);
91 else if (url.host() == kWelcomePageUrlHost) 91 else if (url.host() == kWelcomePageUrlHost)
92 url = GetWelcomePageUrl(); 92 url = GetWelcomePageUrl();
93 tabs.emplace_back(url, false); 93 tabs.emplace_back(url, false);
94 } 94 }
95 } 95 }
96 return tabs; 96 return tabs;
97 } 97 }
98 98
99 // static 99 // static
100 StartupTabs StartupTabProviderImpl::CheckResetTriggerTabPolicy( 100 StartupTabs StartupTabProviderImpl::CheckResetTriggerTabPolicy(
101 bool profile_has_trigger) { 101 bool profile_has_trigger) {
102 StartupTabs tabs; 102 StartupTabs tabs;
103 if (profile_has_trigger) 103 if (profile_has_trigger)
104 tabs.emplace_back(GetTriggeredResetSettingsUrl(), false); 104 tabs.emplace_back(GetTriggeredResetSettingsUrl(), false);
105 return tabs; 105 return tabs;
106 } 106 }
107 107
108 // static 108 // static
109 StartupTabs StartupTabProviderImpl::CheckPreferencesTabPolicy(
110 SessionStartupPref pref) {
grt (UTC plus 2) 2016/10/24 06:55:35 should this be passed by const-ref since it contai
111 StartupTabs tabs;
112 if (pref.type == SessionStartupPref::Type::URLS && !pref.urls.empty()) {
113 for (auto& url : pref.urls)
grt (UTC plus 2) 2016/10/24 06:55:35 nit: "const auto&"
114 tabs.push_back(StartupTab(url, false));
115 }
116 return tabs;
117 }
118
119 // static
109 GURL StartupTabProviderImpl::GetWelcomePageUrl() { 120 GURL StartupTabProviderImpl::GetWelcomePageUrl() {
110 return GURL(chrome::kChromeUIWelcomeURL); 121 return GURL(chrome::kChromeUIWelcomeURL);
111 } 122 }
112 123
113 // static 124 // static
114 GURL StartupTabProviderImpl::GetTriggeredResetSettingsUrl() { 125 GURL StartupTabProviderImpl::GetTriggeredResetSettingsUrl() {
115 return GURL( 126 return GURL(
116 chrome::GetSettingsUrl(chrome::kTriggeredResetProfileSettingsSubPage)); 127 chrome::GetSettingsUrl(chrome::kTriggeredResetProfileSettingsSubPage));
117 } 128 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/startup/startup_tab_provider.h ('k') | chrome/browser/ui/startup/startup_tab_provider_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698