Cache force-installed apps/extensions in device-local accounts
commit535380a3d4c99727bd0cd197ad9d9525c2f3c983
authorbartfab@chromium.org <bartfab@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Mon, 21 Oct 2013 20:10:21 +0000 (21 20:10 +0000)
committerbartfab@chromium.org <bartfab@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Mon, 21 Oct 2013 20:10:21 +0000 (21 20:10 +0000)
tree3362bb78a3afde95fc28d59230b7eef2cd9b4ee5
parentc124bdbd7e9d0420046984828cc121a209d44da5
Cache force-installed apps/extensions in device-local accounts

This CL adds the DeviceLocalAccountExternalPolicyLoader, a replacement for
the ExternalPolicyLoader that caches force-installed apps/extensions,
allowing them to be installed offline. The caches for individual accounts
are managed by the DeviceLocalAccountPolicyService which makes sure to
remove obsolete cache directories.

BUG=287802
TEST=Full coverage with new browser and unit tests

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@229896 0039d316-1c4b-4281-b951-d872f2087c98
19 files changed:
chrome/browser/chromeos/extensions/device_local_account_external_policy_loader.cc [new file with mode: 0644]
chrome/browser/chromeos/extensions/device_local_account_external_policy_loader.h [new file with mode: 0644]
chrome/browser/chromeos/extensions/device_local_account_external_policy_loader_unittest.cc [new file with mode: 0644]
chrome/browser/chromeos/extensions/external_pref_cache_loader.h
chrome/browser/chromeos/policy/device_local_account.h
chrome/browser/chromeos/policy/device_local_account_browsertest.cc
chrome/browser/chromeos/policy/device_local_account_policy_provider.cc
chrome/browser/chromeos/policy/device_local_account_policy_service.cc
chrome/browser/chromeos/policy/device_local_account_policy_service.h
chrome/browser/chromeos/policy/device_local_account_policy_service_unittest.cc
chrome/browser/chromeos/settings/device_settings_test_helper.cc
chrome/browser/extensions/external_provider_impl.cc
chrome/browser/extensions/external_provider_impl.h
chrome/browser/policy/browser_policy_connector.cc
chrome/browser/policy/configuration_policy_handler_list.cc
chrome/chrome_browser_chromeos.gypi
chrome/chrome_tests_unit.gypi
chromeos/chromeos_paths.cc
chromeos/chromeos_paths.h