| Index: chrome/browser/ui/startup/startup_tab_provider.cc
|
| diff --git a/chrome/browser/ui/startup/startup_tab_provider.cc b/chrome/browser/ui/startup/startup_tab_provider.cc
|
| index c3aaac70b7bbe9977bbde058d627d38934769f65..a069c994bfb4fbd1b9dce6d812af43fe3ae5096c 100644
|
| --- a/chrome/browser/ui/startup/startup_tab_provider.cc
|
| +++ b/chrome/browser/ui/startup/startup_tab_provider.cc
|
| @@ -50,12 +50,23 @@ StartupTabs StartupTabProviderImpl::GetOnboardingTabs(Profile* profile) const {
|
| PrefService* local_state = g_browser_process->local_state();
|
| bool has_seen_win10_promo =
|
| local_state && local_state->GetBoolean(prefs::kHasSeenWin10PromoPage);
|
| + // The set default browser operation can be disabled by the browser
|
| + // distribution (e.g. SxS Canary), or by enterprise policy. In these cases,
|
| + // the Win 10 promo page should not be displayed.
|
| + bool disabled_by_enterprise_policy =
|
| + local_state &&
|
| + local_state->IsManagedPreference(
|
| + prefs::kDefaultBrowserSettingEnabled) &&
|
| + !local_state->GetBoolean(prefs::kDefaultBrowserSettingEnabled);
|
| + bool set_default_browser_allowed =
|
| + !disabled_by_enterprise_policy &&
|
| + shell_integration::CanSetAsDefaultBrowser();
|
| bool is_default_browser =
|
| g_browser_process->CachedDefaultWebClientState() ==
|
| shell_integration::IS_DEFAULT;
|
| - return CheckWin10OnboardingTabPolicy(is_first_run, has_seen_welcome_page,
|
| - has_seen_win10_promo, is_signed_in,
|
| - is_default_browser);
|
| + return CheckWin10OnboardingTabPolicy(
|
| + is_first_run, has_seen_welcome_page, has_seen_win10_promo, is_signed_in,
|
| + set_default_browser_allowed, is_default_browser);
|
| }
|
| #endif // defined(OS_WIN)
|
|
|
| @@ -135,12 +146,15 @@ StartupTabs StartupTabProviderImpl::CheckWin10OnboardingTabPolicy(
|
| bool has_seen_welcome_page,
|
| bool has_seen_win10_promo,
|
| bool is_signed_in,
|
| + bool set_default_browser_allowed,
|
| bool is_default_browser) {
|
| StartupTabs tabs;
|
| - if (!has_seen_win10_promo && !is_default_browser)
|
| + if (set_default_browser_allowed && !has_seen_win10_promo &&
|
| + !is_default_browser) {
|
| tabs.emplace_back(GetWin10WelcomePageUrl(!is_first_run), false);
|
| - else if (!has_seen_welcome_page && !is_signed_in)
|
| + } else if (!has_seen_welcome_page && !is_signed_in) {
|
| tabs.emplace_back(GetWelcomePageUrl(!is_first_run), false);
|
| + }
|
| return tabs;
|
| }
|
| #endif
|
|
|