Add DCHECKs to StatefulExternalExtensionProvider

Also try to make the handling of pref_ more robust by making it private and always initializing it in the constructor of subclasses.

BUG=65925
TEST=ExtensionManagementTest.{ExternalUrlUpdate,ExternalPolicyRefresh}

Review URL: http://codereview.chromium.org/5784004

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69532 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc
index 16b66c4..afb7e04 100644
--- a/chrome/browser/extensions/extension_service.cc
+++ b/chrome/browser/extensions/extension_service.cc
@@ -302,9 +302,8 @@
   // variable so that UpdateExternalPolicyExtensionProvider can access it and
   // update its extension list later.
   external_policy_extension_provider_.reset(
-      new ExternalPolicyExtensionProvider());
-  external_policy_extension_provider_->SetPreferences(
-      prefs->GetList(prefs::kExtensionInstallForceList));
+      new ExternalPolicyExtensionProvider(
+          prefs->GetList(prefs::kExtensionInstallForceList)));
   external_extension_providers_.push_back(external_policy_extension_provider_);
 }