Convert content suggestion helper function away from old API

Convert ParseJson to use base::JSONReader::ReadToValue that
return a base::Optional<base::Value> instead of the deprecated
function.

Use base::Value::ToUniquePtrValue to easily find the conversion
to std::unique_ptr<base::Value> when ntp_snippets::SuccessCallback
has been converted to take the base::Value by reference.

Bug: 646113, 925165
Change-Id: I0ffb11fb042e7ef176f864c08d0af182f4d38f58
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1594531
Reviewed-by: Eric Noyau <noyau@chromium.org>
Commit-Queue: Sylvain Defresne <sdefresne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#656752}
diff --git a/ios/chrome/browser/ntp_snippets/ios_chrome_content_suggestions_service_factory_util.cc b/ios/chrome/browser/ntp_snippets/ios_chrome_content_suggestions_service_factory_util.cc
index 8847c73..704eb69 100644
--- a/ios/chrome/browser/ntp_snippets/ios_chrome_content_suggestions_service_factory_util.cc
+++ b/ios/chrome/browser/ntp_snippets/ios_chrome_content_suggestions_service_factory_util.cc
@@ -71,10 +71,12 @@
                const ntp_snippets::SuccessCallback& success_callback,
                const ntp_snippets::ErrorCallback& error_callback) {
   base::JSONReader json_reader;
-  std::unique_ptr<base::Value> value = json_reader.ReadToValueDeprecated(json);
+  base::Optional<base::Value> value = json_reader.ReadToValue(json);
   if (value) {
     base::ThreadTaskRunnerHandle::Get()->PostTask(
-        FROM_HERE, base::BindOnce(success_callback, std::move(value)));
+        FROM_HERE,
+        base::BindOnce(success_callback,
+                       base::Value::ToUniquePtrValue(std::move(*value))));
   } else {
     base::ThreadTaskRunnerHandle::Get()->PostTask(
         FROM_HERE,