cros: Add a policy for multiprofile user behavior.

- Add a user policy "ChromeOsMultiProfileUserBehavior" that binds to
  user pref "settings.multiprofile_user_behavior";
- Add a MultiProfileUserController that caches the pref value in local state
  to make decisions before user actually signs in and also observe the pref
  change to update the cache and check if the policy is broken;

BUG=288764
[email protected], [email protected], [email protected], [email protected]

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@225039 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
index 0bb1b21f..5cad350 100644
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -140,6 +140,7 @@
 #include "chrome/browser/chromeos/extensions/echo_private_api.h"
 #include "chrome/browser/chromeos/login/default_pinned_apps_field_trial.h"
 #include "chrome/browser/chromeos/login/login_utils.h"
+#include "chrome/browser/chromeos/login/multi_profile_user_controller.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"
@@ -280,6 +281,7 @@
   chromeos::language_prefs::RegisterPrefs(registry);
   chromeos::KioskAppManager::RegisterPrefs(registry);
   chromeos::LoginUtils::RegisterPrefs(registry);
+  chromeos::MultiProfileUserController::RegisterPrefs(registry);
   chromeos::Preferences::RegisterPrefs(registry);
   chromeos::proxy_config::RegisterPrefs(registry);
   chromeos::RegisterDisplayLocalStatePrefs(registry);
@@ -407,6 +409,7 @@
 #if defined(OS_CHROMEOS)
   chromeos::attestation::PlatformVerificationFlow::RegisterProfilePrefs(
       registry);
+  chromeos::MultiProfileUserController::RegisterProfilePrefs(registry);
   chromeos::Preferences::RegisterProfilePrefs(registry);
   chromeos::proxy_config::RegisterProfilePrefs(registry);
   chromeos::UserImageSyncObserver::RegisterProfilePrefs(registry);