Explicitly ShutdownOnUIThread the HostContentSettingsMap when destroying the Profile.

Also, get rid of Profile dependencies while we're at it.

BUG=88037,88557

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92128 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/base/values.h b/base/values.h
index 43894d1..a00a17c 100644
--- a/base/values.h
+++ b/base/values.h
@@ -94,6 +94,7 @@
   virtual bool GetAsString(std::string* out_value) const;
   virtual bool GetAsString(string16* out_value) const;
   virtual bool GetAsList(ListValue** out_value);
+  virtual bool GetAsList(const ListValue** out_value) const;
 
   // This creates a deep copy of the entire Value tree, and returns a pointer
   // to the copy.  The caller gets ownership of the copy, of course.
@@ -427,6 +428,7 @@
 
   // Overridden from Value:
   virtual bool GetAsList(ListValue** out_value);
+  virtual bool GetAsList(const ListValue** out_value) const;
   virtual ListValue* DeepCopy() const;
   virtual bool Equals(const Value* other) const;