Add policy that forces SAML users to log in online periodically

This CL adds a user policy which limits the time for which a user
authenticated via SAML can log in offline. When the limit is reached, the
user is required to go through the online flow on next login.

BUG=332081
TEST=Full unit test and browser test coverage

Review URL: https://codereview.chromium.org/143463009

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247984 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
index 84aa551..b443a35 100644
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -144,6 +144,7 @@
 #include "chrome/browser/chromeos/login/login_utils.h"
 #include "chrome/browser/chromeos/login/multi_profile_first_run_notification.h"
 #include "chrome/browser/chromeos/login/multi_profile_user_controller.h"
+#include "chrome/browser/chromeos/login/saml/saml_offline_signin_limiter.h"
 #include "chrome/browser/chromeos/login/startup_utils.h"
 #include "chrome/browser/chromeos/login/user_image_manager.h"
 #include "chrome/browser/chromeos/login/user_image_sync_observer.h"
@@ -432,6 +433,7 @@
   chromeos::MultiProfileUserController::RegisterProfilePrefs(registry);
   chromeos::Preferences::RegisterProfilePrefs(registry);
   chromeos::proxy_config::RegisterProfilePrefs(registry);
+  chromeos::SAMLOfflineSigninLimiter::RegisterProfilePrefs(registry);
   chromeos::UserImageSyncObserver::RegisterProfilePrefs(registry);
   extensions::EnterprisePlatformKeysPrivateChallengeUserKeyFunction::
       RegisterProfilePrefs(registry);