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

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

Issue 2786883008: [Desktop FRE] Do not show Welcome if sign-in disabled (Closed)
Patch Set: using correct policy Created 3 years, 8 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 "base/metrics/histogram_macros.h" 7 #include "base/metrics/histogram_macros.h"
8 #include "build/build_config.h" 8 #include "build/build_config.h"
9 #include "chrome/browser/first_run/first_run.h" 9 #include "chrome/browser/first_run/first_run.h"
10 #include "chrome/browser/profile_resetter/triggered_profile_resetter.h" 10 #include "chrome/browser/profile_resetter/triggered_profile_resetter.h"
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 #if defined(OS_CHROMEOS) 49 #if defined(OS_CHROMEOS)
50 return StartupTabs(); 50 return StartupTabs();
51 #else 51 #else
52 if (!profile) 52 if (!profile)
53 return StartupTabs(); 53 return StartupTabs();
54 54
55 bool is_first_run = first_run::IsChromeFirstRun(); 55 bool is_first_run = first_run::IsChromeFirstRun();
56 PrefService* prefs = profile->GetPrefs(); 56 PrefService* prefs = profile->GetPrefs();
57 bool has_seen_welcome_page = 57 bool has_seen_welcome_page =
58 prefs && prefs->GetBoolean(prefs::kHasSeenWelcomePage); 58 prefs && prefs->GetBoolean(prefs::kHasSeenWelcomePage);
59 bool is_signin_allowed = profile->IsSyncAllowed();
Peter Kasting 2017/04/05 23:04:11 Naively it seems like this should be checking sign
tmartino 2017/04/06 20:43:05 In fact, the policy backing IsSigninAllowed is dep
59 SigninManagerBase* signin_manager = 60 SigninManagerBase* signin_manager =
60 SigninManagerFactory::GetForProfile(profile); 61 SigninManagerFactory::GetForProfile(profile);
61 bool is_signed_in = signin_manager && signin_manager->IsAuthenticated(); 62 bool is_signed_in = signin_manager && signin_manager->IsAuthenticated();
62 bool is_supervised_user = profile->IsSupervised(); 63 bool is_supervised_user = profile->IsSupervised();
63 64
64 #if defined(OS_WIN) 65 #if defined(OS_WIN)
65 // Windows 10 has unique onboarding policies and content. 66 // Windows 10 has unique onboarding policies and content.
66 if (base::win::GetVersion() >= base::win::VERSION_WIN10) { 67 if (base::win::GetVersion() >= base::win::VERSION_WIN10) {
67 PrefService* local_state = g_browser_process->local_state(); 68 PrefService* local_state = g_browser_process->local_state();
68 bool has_seen_win10_promo = 69 bool has_seen_win10_promo =
69 local_state && local_state->GetBoolean(prefs::kHasSeenWin10PromoPage); 70 local_state && local_state->GetBoolean(prefs::kHasSeenWin10PromoPage);
70 // The set default browser operation can be disabled by the browser 71 // The set default browser operation can be disabled by the browser
71 // distribution (e.g. SxS Canary), or by enterprise policy. In these cases, 72 // distribution (e.g. SxS Canary), or by enterprise policy. In these cases,
72 // the Win 10 promo page should not be displayed. 73 // the Win 10 promo page should not be displayed.
73 bool disabled_by_enterprise_policy = 74 bool disabled_by_enterprise_policy =
74 local_state && 75 local_state &&
75 local_state->IsManagedPreference( 76 local_state->IsManagedPreference(
76 prefs::kDefaultBrowserSettingEnabled) && 77 prefs::kDefaultBrowserSettingEnabled) &&
77 !local_state->GetBoolean(prefs::kDefaultBrowserSettingEnabled); 78 !local_state->GetBoolean(prefs::kDefaultBrowserSettingEnabled);
78 bool set_default_browser_allowed = 79 bool set_default_browser_allowed =
79 !disabled_by_enterprise_policy && 80 !disabled_by_enterprise_policy &&
80 shell_integration::CanSetAsDefaultBrowser(); 81 shell_integration::CanSetAsDefaultBrowser();
81 bool is_default_browser = 82 bool is_default_browser =
82 g_browser_process->CachedDefaultWebClientState() == 83 g_browser_process->CachedDefaultWebClientState() ==
83 shell_integration::IS_DEFAULT; 84 shell_integration::IS_DEFAULT;
84 return GetWin10OnboardingTabsForState( 85 return GetWin10OnboardingTabsForState(
85 is_first_run, has_seen_welcome_page, has_seen_win10_promo, is_signed_in, 86 is_first_run, has_seen_welcome_page, has_seen_win10_promo,
86 set_default_browser_allowed, is_default_browser, is_supervised_user); 87 is_signin_allowed, is_signed_in, set_default_browser_allowed,
88 is_default_browser, is_supervised_user);
87 } 89 }
88 #endif // defined(OS_WIN) 90 #endif // defined(OS_WIN)
89 91
90 return GetStandardOnboardingTabsForState(is_first_run, has_seen_welcome_page, 92 return GetStandardOnboardingTabsForState(is_first_run, has_seen_welcome_page,
91 is_signed_in, is_supervised_user); 93 is_signin_allowed, is_signed_in,
94 is_supervised_user);
92 #endif // defined(OS_CHROMEOS) 95 #endif // defined(OS_CHROMEOS)
93 } 96 }
94 97
95 StartupTabs StartupTabProviderImpl::GetDistributionFirstRunTabs( 98 StartupTabs StartupTabProviderImpl::GetDistributionFirstRunTabs(
96 StartupBrowserCreator* browser_creator) const { 99 StartupBrowserCreator* browser_creator) const {
97 if (!browser_creator) 100 if (!browser_creator)
98 return StartupTabs(); 101 return StartupTabs();
99 StartupTabs tabs = GetMasterPrefsTabsForState( 102 StartupTabs tabs = GetMasterPrefsTabsForState(
100 first_run::IsChromeFirstRun(), browser_creator->first_run_tabs_); 103 first_run::IsChromeFirstRun(), browser_creator->first_run_tabs_);
101 browser_creator->first_run_tabs_.clear(); 104 browser_creator->first_run_tabs_.clear();
(...skipping 30 matching lines...) Expand all
132 const base::CommandLine& command_line, 135 const base::CommandLine& command_line,
133 Profile* profile) const { 136 Profile* profile) const {
134 return GetNewTabPageTabsForState( 137 return GetNewTabPageTabsForState(
135 StartupBrowserCreator::GetSessionStartupPref(command_line, profile)); 138 StartupBrowserCreator::GetSessionStartupPref(command_line, profile));
136 } 139 }
137 140
138 // static 141 // static
139 StartupTabs StartupTabProviderImpl::GetStandardOnboardingTabsForState( 142 StartupTabs StartupTabProviderImpl::GetStandardOnboardingTabsForState(
140 bool is_first_run, 143 bool is_first_run,
141 bool has_seen_welcome_page, 144 bool has_seen_welcome_page,
145 bool is_signin_allowed,
142 bool is_signed_in, 146 bool is_signed_in,
143 bool is_supervised_user) { 147 bool is_supervised_user) {
144 StartupTabs tabs; 148 StartupTabs tabs;
145 if (!has_seen_welcome_page && !is_signed_in && !is_supervised_user) 149 if (!has_seen_welcome_page && is_signin_allowed && !is_signed_in &&
150 !is_supervised_user)
146 tabs.emplace_back(GetWelcomePageUrl(!is_first_run), false); 151 tabs.emplace_back(GetWelcomePageUrl(!is_first_run), false);
147 return tabs; 152 return tabs;
148 } 153 }
149 154
150 #if defined(OS_WIN) 155 #if defined(OS_WIN)
151 // static 156 // static
152 StartupTabs StartupTabProviderImpl::GetWin10OnboardingTabsForState( 157 StartupTabs StartupTabProviderImpl::GetWin10OnboardingTabsForState(
153 bool is_first_run, 158 bool is_first_run,
154 bool has_seen_welcome_page, 159 bool has_seen_welcome_page,
155 bool has_seen_win10_promo, 160 bool has_seen_win10_promo,
161 bool is_signin_allowed,
156 bool is_signed_in, 162 bool is_signed_in,
157 bool set_default_browser_allowed, 163 bool set_default_browser_allowed,
158 bool is_default_browser, 164 bool is_default_browser,
159 bool is_supervised_user) { 165 bool is_supervised_user) {
160 StartupTabs tabs; 166 StartupTabs tabs;
161 167
162 if (is_supervised_user) 168 if (is_supervised_user)
163 return tabs; 169 return tabs;
164 170
165 if (set_default_browser_allowed && !has_seen_win10_promo && 171 if (set_default_browser_allowed && !has_seen_win10_promo &&
166 !is_default_browser) { 172 !is_default_browser) {
167 tabs.emplace_back(GetWin10WelcomePageUrl(!is_first_run), false); 173 tabs.emplace_back(GetWin10WelcomePageUrl(!is_first_run), false);
168 } else if (!has_seen_welcome_page && !is_signed_in) { 174 } else if (!has_seen_welcome_page && is_signin_allowed && !is_signed_in) {
Peter Kasting 2017/04/05 23:04:11 Nit: This function could be simplified to somethin
tmartino 2017/04/06 20:43:05 Ack. Will follow up with a CL that reorganizes thi
169 tabs.emplace_back(GetWelcomePageUrl(!is_first_run), false); 175 tabs.emplace_back(GetWelcomePageUrl(!is_first_run), false);
170 } 176 }
171 return tabs; 177 return tabs;
172 } 178 }
173 #endif 179 #endif
174 180
175 // static 181 // static
176 StartupTabs StartupTabProviderImpl::GetMasterPrefsTabsForState( 182 StartupTabs StartupTabProviderImpl::GetMasterPrefsTabsForState(
177 bool is_first_run, 183 bool is_first_run,
178 const std::vector<GURL>& first_run_tabs) { 184 const std::vector<GURL>& first_run_tabs) {
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
256 ? net::AppendQueryParameter(url, "text", "faster") 262 ? net::AppendQueryParameter(url, "text", "faster")
257 : url; 263 : url;
258 } 264 }
259 #endif 265 #endif
260 266
261 // static 267 // static
262 GURL StartupTabProviderImpl::GetTriggeredResetSettingsUrl() { 268 GURL StartupTabProviderImpl::GetTriggeredResetSettingsUrl() {
263 return GURL( 269 return GURL(
264 chrome::GetSettingsUrl(chrome::kTriggeredResetProfileSettingsSubPage)); 270 chrome::GetSettingsUrl(chrome::kTriggeredResetProfileSettingsSubPage));
265 } 271 }
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