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

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

Issue 2623253002: Adding check to ensure onboarding content is not shown to supervised users. (Closed)
Patch Set: Fixing Win double define Created 3 years, 11 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"
(...skipping 25 matching lines...) Expand all
36 if (!profile) 36 if (!profile)
37 return StartupTabs(); 37 return StartupTabs();
38 38
39 bool is_first_run = first_run::IsChromeFirstRun(); 39 bool is_first_run = first_run::IsChromeFirstRun();
40 PrefService* prefs = profile->GetPrefs(); 40 PrefService* prefs = profile->GetPrefs();
41 bool has_seen_welcome_page = 41 bool has_seen_welcome_page =
42 prefs && prefs->GetBoolean(prefs::kHasSeenWelcomePage); 42 prefs && prefs->GetBoolean(prefs::kHasSeenWelcomePage);
43 SigninManagerBase* signin_manager = 43 SigninManagerBase* signin_manager =
44 SigninManagerFactory::GetForProfile(profile); 44 SigninManagerFactory::GetForProfile(profile);
45 bool is_signed_in = signin_manager && signin_manager->IsAuthenticated(); 45 bool is_signed_in = signin_manager && signin_manager->IsAuthenticated();
46 bool is_supervised_user = profile->IsSupervised();
46 47
47 #if defined(OS_WIN) 48 #if defined(OS_WIN)
48 // Windows 10 has unique onboarding policies and content. 49 // Windows 10 has unique onboarding policies and content.
49 if (base::win::GetVersion() >= base::win::VERSION_WIN10) { 50 if (base::win::GetVersion() >= base::win::VERSION_WIN10) {
50 PrefService* local_state = g_browser_process->local_state(); 51 PrefService* local_state = g_browser_process->local_state();
51 bool has_seen_win10_promo = 52 bool has_seen_win10_promo =
52 local_state && local_state->GetBoolean(prefs::kHasSeenWin10PromoPage); 53 local_state && local_state->GetBoolean(prefs::kHasSeenWin10PromoPage);
53 // The set default browser operation can be disabled by the browser 54 // The set default browser operation can be disabled by the browser
54 // distribution (e.g. SxS Canary), or by enterprise policy. In these cases, 55 // distribution (e.g. SxS Canary), or by enterprise policy. In these cases,
55 // the Win 10 promo page should not be displayed. 56 // the Win 10 promo page should not be displayed.
56 bool disabled_by_enterprise_policy = 57 bool disabled_by_enterprise_policy =
57 local_state && 58 local_state &&
58 local_state->IsManagedPreference( 59 local_state->IsManagedPreference(
59 prefs::kDefaultBrowserSettingEnabled) && 60 prefs::kDefaultBrowserSettingEnabled) &&
60 !local_state->GetBoolean(prefs::kDefaultBrowserSettingEnabled); 61 !local_state->GetBoolean(prefs::kDefaultBrowserSettingEnabled);
61 bool set_default_browser_allowed = 62 bool set_default_browser_allowed =
62 !disabled_by_enterprise_policy && 63 !disabled_by_enterprise_policy &&
63 shell_integration::CanSetAsDefaultBrowser(); 64 shell_integration::CanSetAsDefaultBrowser();
64 bool is_default_browser = 65 bool is_default_browser =
65 g_browser_process->CachedDefaultWebClientState() == 66 g_browser_process->CachedDefaultWebClientState() ==
66 shell_integration::IS_DEFAULT; 67 shell_integration::IS_DEFAULT;
67 return CheckWin10OnboardingTabPolicy( 68 return CheckWin10OnboardingTabPolicy(
68 is_first_run, has_seen_welcome_page, has_seen_win10_promo, is_signed_in, 69 is_first_run, has_seen_welcome_page, has_seen_win10_promo, is_signed_in,
69 set_default_browser_allowed, is_default_browser); 70 set_default_browser_allowed, is_default_browser, is_supervised_user);
70 } 71 }
71 #endif // defined(OS_WIN) 72 #endif // defined(OS_WIN)
72 73
73 return CheckStandardOnboardingTabPolicy(is_first_run, has_seen_welcome_page, 74 return CheckStandardOnboardingTabPolicy(is_first_run, has_seen_welcome_page,
74 is_signed_in); 75 is_signed_in, is_supervised_user);
75 #endif // defined(OS_CHROMEOS) 76 #endif // defined(OS_CHROMEOS)
76 } 77 }
77 78
78 StartupTabs StartupTabProviderImpl::GetDistributionFirstRunTabs( 79 StartupTabs StartupTabProviderImpl::GetDistributionFirstRunTabs(
79 StartupBrowserCreator* browser_creator) const { 80 StartupBrowserCreator* browser_creator) const {
80 if (!browser_creator) 81 if (!browser_creator)
81 return StartupTabs(); 82 return StartupTabs();
82 StartupTabs tabs = CheckMasterPrefsTabPolicy( 83 StartupTabs tabs = CheckMasterPrefsTabPolicy(
83 first_run::IsChromeFirstRun(), browser_creator->first_run_tabs_); 84 first_run::IsChromeFirstRun(), browser_creator->first_run_tabs_);
84 browser_creator->first_run_tabs_.clear(); 85 browser_creator->first_run_tabs_.clear();
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 const base::CommandLine& command_line, 126 const base::CommandLine& command_line,
126 Profile* profile) const { 127 Profile* profile) const {
127 return CheckNewTabPageTabPolicy( 128 return CheckNewTabPageTabPolicy(
128 StartupBrowserCreator::GetSessionStartupPref(command_line, profile)); 129 StartupBrowserCreator::GetSessionStartupPref(command_line, profile));
129 } 130 }
130 131
131 // static 132 // static
132 StartupTabs StartupTabProviderImpl::CheckStandardOnboardingTabPolicy( 133 StartupTabs StartupTabProviderImpl::CheckStandardOnboardingTabPolicy(
133 bool is_first_run, 134 bool is_first_run,
134 bool has_seen_welcome_page, 135 bool has_seen_welcome_page,
135 bool is_signed_in) { 136 bool is_signed_in,
137 bool is_supervised_user) {
136 StartupTabs tabs; 138 StartupTabs tabs;
137 if (!has_seen_welcome_page && !is_signed_in) 139 if (!has_seen_welcome_page && !is_signed_in && !is_supervised_user)
138 tabs.emplace_back(GetWelcomePageUrl(!is_first_run), false); 140 tabs.emplace_back(GetWelcomePageUrl(!is_first_run), false);
139 return tabs; 141 return tabs;
140 } 142 }
141 143
142 #if defined(OS_WIN) 144 #if defined(OS_WIN)
143 // static 145 // static
144 StartupTabs StartupTabProviderImpl::CheckWin10OnboardingTabPolicy( 146 StartupTabs StartupTabProviderImpl::CheckWin10OnboardingTabPolicy(
145 bool is_first_run, 147 bool is_first_run,
146 bool has_seen_welcome_page, 148 bool has_seen_welcome_page,
147 bool has_seen_win10_promo, 149 bool has_seen_win10_promo,
148 bool is_signed_in, 150 bool is_signed_in,
149 bool set_default_browser_allowed, 151 bool set_default_browser_allowed,
150 bool is_default_browser) { 152 bool is_default_browser,
153 bool is_supervised_user) {
151 StartupTabs tabs; 154 StartupTabs tabs;
155
156 if (is_supervised_user)
157 return tabs;
158
152 if (set_default_browser_allowed && !has_seen_win10_promo && 159 if (set_default_browser_allowed && !has_seen_win10_promo &&
153 !is_default_browser) { 160 !is_default_browser) {
154 tabs.emplace_back(GetWin10WelcomePageUrl(!is_first_run), false); 161 tabs.emplace_back(GetWin10WelcomePageUrl(!is_first_run), false);
155 } else if (!has_seen_welcome_page && !is_signed_in) { 162 } else if (!has_seen_welcome_page && !is_signed_in) {
156 tabs.emplace_back(GetWelcomePageUrl(!is_first_run), false); 163 tabs.emplace_back(GetWelcomePageUrl(!is_first_run), false);
157 } 164 }
158 return tabs; 165 return tabs;
159 } 166 }
160 #endif 167 #endif
161 168
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
238 ? net::AppendQueryParameter(url, "text", "faster") 245 ? net::AppendQueryParameter(url, "text", "faster")
239 : url; 246 : url;
240 } 247 }
241 #endif 248 #endif
242 249
243 // static 250 // static
244 GURL StartupTabProviderImpl::GetTriggeredResetSettingsUrl() { 251 GURL StartupTabProviderImpl::GetTriggeredResetSettingsUrl() {
245 return GURL( 252 return GURL(
246 chrome::GetSettingsUrl(chrome::kTriggeredResetProfileSettingsSubPage)); 253 chrome::GetSettingsUrl(chrome::kTriggeredResetProfileSettingsSubPage));
247 } 254 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698