| OLD | NEW |
| 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 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 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 | 46 |
| 47 #if defined(OS_WIN) | 47 #if defined(OS_WIN) |
| 48 // Windows 10 has unique onboarding policies and content. | 48 // Windows 10 has unique onboarding policies and content. |
| 49 if (base::win::GetVersion() >= base::win::VERSION_WIN10) { | 49 if (base::win::GetVersion() >= base::win::VERSION_WIN10) { |
| 50 PrefService* local_state = g_browser_process->local_state(); | 50 PrefService* local_state = g_browser_process->local_state(); |
| 51 bool has_seen_win10_promo = | 51 bool has_seen_win10_promo = |
| 52 local_state && local_state->GetBoolean(prefs::kHasSeenWin10PromoPage); | 52 local_state && local_state->GetBoolean(prefs::kHasSeenWin10PromoPage); |
| 53 // 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 // the Win 10 promo page should not be displayed. |
| 56 bool disabled_by_enterprise_policy = |
| 57 local_state && |
| 58 local_state->IsManagedPreference( |
| 59 prefs::kDefaultBrowserSettingEnabled) && |
| 60 !local_state->GetBoolean(prefs::kDefaultBrowserSettingEnabled); |
| 61 bool set_default_browser_allowed = |
| 62 !disabled_by_enterprise_policy && |
| 63 shell_integration::CanSetAsDefaultBrowser(); |
| 53 bool is_default_browser = | 64 bool is_default_browser = |
| 54 g_browser_process->CachedDefaultWebClientState() == | 65 g_browser_process->CachedDefaultWebClientState() == |
| 55 shell_integration::IS_DEFAULT; | 66 shell_integration::IS_DEFAULT; |
| 56 return CheckWin10OnboardingTabPolicy(is_first_run, has_seen_welcome_page, | 67 return CheckWin10OnboardingTabPolicy( |
| 57 has_seen_win10_promo, is_signed_in, | 68 is_first_run, has_seen_welcome_page, has_seen_win10_promo, is_signed_in, |
| 58 is_default_browser); | 69 set_default_browser_allowed, is_default_browser); |
| 59 } | 70 } |
| 60 #endif // defined(OS_WIN) | 71 #endif // defined(OS_WIN) |
| 61 | 72 |
| 62 return CheckStandardOnboardingTabPolicy(is_first_run, has_seen_welcome_page, | 73 return CheckStandardOnboardingTabPolicy(is_first_run, has_seen_welcome_page, |
| 63 is_signed_in); | 74 is_signed_in); |
| 64 #endif // defined(OS_CHROMEOS) | 75 #endif // defined(OS_CHROMEOS) |
| 65 } | 76 } |
| 66 | 77 |
| 67 StartupTabs StartupTabProviderImpl::GetDistributionFirstRunTabs( | 78 StartupTabs StartupTabProviderImpl::GetDistributionFirstRunTabs( |
| 68 StartupBrowserCreator* browser_creator) const { | 79 StartupBrowserCreator* browser_creator) const { |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 128 return tabs; | 139 return tabs; |
| 129 } | 140 } |
| 130 | 141 |
| 131 #if defined(OS_WIN) | 142 #if defined(OS_WIN) |
| 132 // static | 143 // static |
| 133 StartupTabs StartupTabProviderImpl::CheckWin10OnboardingTabPolicy( | 144 StartupTabs StartupTabProviderImpl::CheckWin10OnboardingTabPolicy( |
| 134 bool is_first_run, | 145 bool is_first_run, |
| 135 bool has_seen_welcome_page, | 146 bool has_seen_welcome_page, |
| 136 bool has_seen_win10_promo, | 147 bool has_seen_win10_promo, |
| 137 bool is_signed_in, | 148 bool is_signed_in, |
| 149 bool set_default_browser_allowed, |
| 138 bool is_default_browser) { | 150 bool is_default_browser) { |
| 139 StartupTabs tabs; | 151 StartupTabs tabs; |
| 140 if (!has_seen_win10_promo && !is_default_browser) | 152 if (set_default_browser_allowed && !has_seen_win10_promo && |
| 153 !is_default_browser) { |
| 141 tabs.emplace_back(GetWin10WelcomePageUrl(!is_first_run), false); | 154 tabs.emplace_back(GetWin10WelcomePageUrl(!is_first_run), false); |
| 142 else if (!has_seen_welcome_page && !is_signed_in) | 155 } else if (!has_seen_welcome_page && !is_signed_in) { |
| 143 tabs.emplace_back(GetWelcomePageUrl(!is_first_run), false); | 156 tabs.emplace_back(GetWelcomePageUrl(!is_first_run), false); |
| 157 } |
| 144 return tabs; | 158 return tabs; |
| 145 } | 159 } |
| 146 #endif | 160 #endif |
| 147 | 161 |
| 148 // static | 162 // static |
| 149 StartupTabs StartupTabProviderImpl::CheckMasterPrefsTabPolicy( | 163 StartupTabs StartupTabProviderImpl::CheckMasterPrefsTabPolicy( |
| 150 bool is_first_run, | 164 bool is_first_run, |
| 151 const std::vector<GURL>& first_run_tabs) { | 165 const std::vector<GURL>& first_run_tabs) { |
| 152 // Constants: Magic words used by Master Preferences files in place of a URL | 166 // Constants: Magic words used by Master Preferences files in place of a URL |
| 153 // host to indicate that internal pages should appear on first run. | 167 // host to indicate that internal pages should appear on first run. |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 224 ? net::AppendQueryParameter(url, "text", "faster") | 238 ? net::AppendQueryParameter(url, "text", "faster") |
| 225 : url; | 239 : url; |
| 226 } | 240 } |
| 227 #endif | 241 #endif |
| 228 | 242 |
| 229 // static | 243 // static |
| 230 GURL StartupTabProviderImpl::GetTriggeredResetSettingsUrl() { | 244 GURL StartupTabProviderImpl::GetTriggeredResetSettingsUrl() { |
| 231 return GURL( | 245 return GURL( |
| 232 chrome::GetSettingsUrl(chrome::kTriggeredResetProfileSettingsSubPage)); | 246 chrome::GetSettingsUrl(chrome::kTriggeredResetProfileSettingsSubPage)); |
| 233 } | 247 } |
| OLD | NEW |