Enable DeviceOAuth2TokenService on desktop platforms

This change adds a desktop (win/linux/mac) implementation of
DeviceOAuth2TokenStore, and enables compilation of
DeviceOAuth2TokenService (and related classes) on desktop platforms.

This should allow getting and storing a refresh token for the service
account passed to the browser through the Chrome Policy data. See
go/cbcm-machine-policy-invalidations for context about this change.

Bug: 1026261

Change-Id: I44a1f7fe30640dec0886cbe881a4f5a335c23fa2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2067624
Commit-Queue: anthonyvd <[email protected]>
Reviewed-by: Mihai Sardarescu <[email protected]>
Reviewed-by: Gabriel Charette <[email protected]>
Reviewed-by: Rebekah Potter <[email protected]>
Reviewed-by: Marc Treib <[email protected]>
Reviewed-by: Pavol Marko <[email protected]>
Reviewed-by: Julian Pastarmov <[email protected]>
Cr-Commit-Position: refs/heads/master@{#752973}
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
index 1d661bc..39e4dbc 100644
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -315,7 +315,7 @@
 #include "chrome/browser/chromeos/settings/device_settings_cache.h"
 #include "chrome/browser/chromeos/system/automatic_reboot_manager.h"
 #include "chrome/browser/chromeos/system/input_device_settings.h"
-#include "chrome/browser/device_identity/device_oauth2_token_service.h"
+#include "chrome/browser/device_identity/chromeos/device_oauth2_token_store_chromeos.h"
 #include "chrome/browser/extensions/api/enterprise_platform_keys_private/enterprise_platform_keys_private_api.h"
 #include "chrome/browser/extensions/extension_assets_manager_chromeos.h"
 #include "chrome/browser/media/protected_media_identifier_permission_context.h"
@@ -377,8 +377,10 @@
 #endif
 
 #if !defined(OS_ANDROID) && !defined(OS_CHROMEOS)
+#include "chrome/browser/device_identity//device_oauth2_token_store_desktop.h"
 #include "chrome/browser/downgrade/downgrade_prefs.h"
 #include "chrome/browser/ui/startup/default_browser_prompt.h"
+
 #endif
 
 #if defined(TOOLKIT_VIEWS)
@@ -719,7 +721,7 @@
   chromeos::DemoModeResourcesRemover::RegisterLocalStatePrefs(registry);
   chromeos::DemoSession::RegisterLocalStatePrefs(registry);
   chromeos::DemoSetupController::RegisterLocalStatePrefs(registry);
-  chromeos::DeviceOAuth2TokenService::RegisterPrefs(registry);
+  chromeos::DeviceOAuth2TokenStoreChromeOS::RegisterPrefs(registry);
   chromeos::device_settings_cache::RegisterPrefs(registry);
   chromeos::EasyUnlockService::RegisterPrefs(registry);
   chromeos::echo_offer::RegisterPrefs(registry);
@@ -806,6 +808,7 @@
 #if !defined(OS_ANDROID) && !defined(OS_CHROMEOS)
   RegisterDefaultBrowserPromptPrefs(registry);
   downgrade::RegisterPrefs(registry);
+  DeviceOAuth2TokenStoreDesktop::RegisterPrefs(registry);
 #endif
 
   // Obsolete. See MigrateObsoleteBrowserPrefs().