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

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

Issue 2578843002: Implement Win 10 onboarding content logic (Closed)
Patch Set: Created 4 years 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 74ae3ee5a9c3c6732772c91c120f449b4002180f..adce785588222a869f19a1c6b19553f070f30943 100644
--- a/chrome/browser/ui/startup/startup_tab_provider.cc
+++ b/chrome/browser/ui/startup/startup_tab_provider.cc
@@ -21,24 +21,34 @@
#if defined(OS_WIN)
#include "base/win/windows_version.h"
+#include "chrome/browser/browser_process.h"
+#include "chrome/browser/shell_integration.h"
#endif
StartupTabs StartupTabProviderImpl::GetOnboardingTabs(Profile* profile) const {
+ if (!profile)
+ return StartupTabs();
+
#if defined(OS_WIN)
// Windows 10 has unique onboarding policies and content.
if (base::win::GetVersion() >= base::win::VERSION_WIN10) {
- // TODO(tmartino): * Add a function, GetWin10SystemState, which gathers
- // system state relevant to Win10 Onboarding and returns
- // a struct.
- // * Add a function, CheckWin10OnboardingTabPolicy, which
- // takes such a struct as input and returns StartupTabs.
- return StartupTabs();
+ PrefService* prefs = profile->GetPrefs();
+ bool has_seen_welcome_page =
tmartino 2016/12/15 16:41:28 Let's define and populate has_seen_welcome_page, i
Patrick Monette 2016/12/15 18:28:09 Done.
+ prefs && prefs->GetBoolean(prefs::kHasSeenWelcomePage);
+ bool has_seen_win10_promo =
+ prefs && prefs->GetBoolean(prefs::kHasSeenWin10PromoPage);
+ SigninManagerBase* signin_manager =
+ SigninManagerFactory::GetForProfile(profile);
+ bool is_signed_in = signin_manager && signin_manager->IsAuthenticated();
+ bool is_default_browser =
+ g_browser_process->CachedDefaultWebClientState() ==
+ shell_integration::IS_DEFAULT;
+ return CheckWin10OnboardingTabPolicy(
+ first_run::IsChromeFirstRun(), has_seen_welcome_page,
+ has_seen_win10_promo, is_signed_in, is_default_browser);
}
#endif
- if (!profile)
- return StartupTabs();
-
PrefService* prefs = profile->GetPrefs();
bool has_seen_welcome_page =
prefs && prefs->GetBoolean(prefs::kHasSeenWelcomePage);
@@ -101,6 +111,23 @@ StartupTabs StartupTabProviderImpl::CheckStandardOnboardingTabPolicy(
return tabs;
}
+#if defined(OS_WIN)
+// static
+StartupTabs StartupTabProviderImpl::CheckWin10OnboardingTabPolicy(
+ bool is_first_run,
+ bool has_seen_welcome_page,
+ bool has_seen_win10_promo,
+ bool is_signed_in,
+ bool is_default_browser) {
+ StartupTabs tabs;
+ if (!has_seen_win10_promo && !is_default_browser)
+ tabs.emplace_back(GetWin10WelcomePageUrl(!is_first_run), false);
+ else if (!has_seen_welcome_page && !is_signed_in)
+ tabs.emplace_back(GetWelcomePageUrl(!is_first_run), false);
+ return tabs;
+}
+#endif
+
// static
StartupTabs StartupTabProviderImpl::CheckMasterPrefsTabPolicy(
bool is_first_run,
@@ -169,6 +196,17 @@ GURL StartupTabProviderImpl::GetWelcomePageUrl(bool use_later_run_variant) {
: url;
}
+#if defined(OS_WIN)
+// static
+GURL StartupTabProviderImpl::GetWin10WelcomePageUrl(
+ bool use_later_run_variant) {
+ GURL url(chrome::kChromeUIWelcomeWin10URL);
+ return use_later_run_variant
+ ? net::AppendQueryParameter(url, "text", "faster")
+ : url;
+}
+#endif
+
// static
GURL StartupTabProviderImpl::GetTriggeredResetSettingsUrl() {
return GURL(

Powered by Google App Engine
This is Rietveld 408576698