Change the signature of JSONReader::Read() and related
methods to be more friendly to use with scoped_ptr. Change
all the callsites.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7486 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/base/values.h b/base/values.h
index 2f28f11e..ebd2117 100644
--- a/base/values.h
+++ b/base/values.h
@@ -358,13 +358,10 @@
   virtual bool Serialize(const Value& root) = 0;
 
   // This method deserializes the subclass-specific format into a Value object.
-  // The method should return true if and only if the root parameter is set
-  // to a complete Value representation of the serialized form.  If the
-  // return value is true, the caller takes ownership of the objects pointed
-  // to by root.  If the return value is false, root should be unchanged and if
-  // error_message is non-null, it should be filled with a message describing
-  // the error.
-  virtual bool Deserialize(Value** root, std::string* error_message) = 0;
+  // If the return value is non-NULL, the caller takes ownership of returned
+  // Value. If the return value is NULL, and if error_message is non-NULL,
+  // error_message should be filled with a message describing the error.
+  virtual Value* Deserialize(std::string* error_message) = 0;
 };
 
 #endif  // BASE_VALUES_H_