| Index: chrome/browser/extensions/external_policy_extension_provider.cc
|
| diff --git a/chrome/browser/extensions/external_policy_extension_provider.cc b/chrome/browser/extensions/external_policy_extension_provider.cc
|
| index 5b0e489032763df9273c56e3e0efe7f86c123acd..5e873793c9e9dcf87f09d4977c69a7682520ed16 100644
|
| --- a/chrome/browser/extensions/external_policy_extension_provider.cc
|
| +++ b/chrome/browser/extensions/external_policy_extension_provider.cc
|
| @@ -7,6 +7,7 @@
|
| #include "base/logging.h"
|
| #include "base/values.h"
|
| #include "chrome/common/pref_names.h"
|
| +#include "chrome/browser/browser_thread.h"
|
| #include "chrome/browser/extensions/stateful_external_extension_provider.h"
|
| #include "chrome/browser/prefs/pref_service.h"
|
|
|
| @@ -30,16 +31,27 @@ bool CheckExtension(std::string id, std::string update_url) {
|
|
|
| }
|
|
|
| -ExternalPolicyExtensionProvider::ExternalPolicyExtensionProvider()
|
| - : StatefulExternalExtensionProvider(Extension::INVALID,
|
| - Extension::EXTERNAL_POLICY_DOWNLOAD) {
|
| +ExternalPolicyExtensionProvider::ExternalPolicyExtensionProvider(
|
| + const ListValue* forcelist)
|
| + : StatefulExternalExtensionProvider(
|
| + Extension::INVALID,
|
| + Extension::EXTERNAL_POLICY_DOWNLOAD) {
|
| + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| + ProcessPreferences(forcelist);
|
| }
|
|
|
| ExternalPolicyExtensionProvider::~ExternalPolicyExtensionProvider() {
|
| + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| }
|
|
|
| void ExternalPolicyExtensionProvider::SetPreferences(
|
| const ListValue* forcelist) {
|
| + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE));
|
| + ProcessPreferences(forcelist);
|
| +}
|
| +
|
| +void ExternalPolicyExtensionProvider::ProcessPreferences(
|
| + const ListValue* forcelist) {
|
| DictionaryValue* result = new DictionaryValue();
|
| if (forcelist != NULL) {
|
| std::string extension_desc;
|
| @@ -60,5 +72,5 @@ void ExternalPolicyExtensionProvider::SetPreferences(
|
| }
|
| }
|
| }
|
| - prefs_.reset(result);
|
| + set_prefs(result);
|
| }
|
|
|