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

Unified Diff: chrome/browser/ui/startup/startup_tab_provider.cc

Issue 2625793002: Fix the logic that determines when to show the Win 10 promo page. (Closed)
Patch Set: Rebase comments add braces 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 side-by-side diff with in-line comments
Download patch
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
« 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