Remove use of BodyAsStringCallbackDeprecated (ash/ambient)

Updates an existing use of the version of
SimpleURLLoader::DownloadToString that takes a
BodyAsStringCallbackDeprecated to use the version that takes a
BodyAsStringCallback. This involves updating the callback function to
accept a std::optional<std::string> instead of a
std::unique_ptr<std::string>. This CL touches a usage in ash/ambient
that wasn't indexed in code search for some reason (I've opened
b/468023269 for that).

Bug: 40258809
Change-Id: I9a9cceb2a31596f5887559d125b7d0b9ab388426
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7254135
Reviewed-by: Xiaohui Chen <xiaohuic@chromium.org>
Commit-Queue: Andrew Williams <awillia@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1558297}
diff --git a/ash/ambient/backdrop/ambient_backend_controller_impl.cc b/ash/ambient/backdrop/ambient_backend_controller_impl.cc
index fd273c4..b153863b 100644
--- a/ash/ambient/backdrop/ambient_backend_controller_impl.cc
+++ b/ash/ambient/backdrop/ambient_backend_controller_impl.cc
@@ -328,11 +328,10 @@
 
   // Starts downloading the proto. |request_body| is a serialized proto and
   // will be used as the upload body if it is a POST request.
-  void Start(
-      std::unique_ptr<network::ResourceRequest> resource_request,
-      const std::optional<std::string>& request_body,
-      const net::NetworkTrafficAnnotationTag& traffic_annotation,
-      network::SimpleURLLoader::BodyAsStringCallbackDeprecated callback) {
+  void Start(std::unique_ptr<network::ResourceRequest> resource_request,
+             const std::optional<std::string>& request_body,
+             const net::NetworkTrafficAnnotationTag& traffic_annotation,
+             network::SimpleURLLoader::BodyAsStringCallback callback) {
     // No ongoing downloading task.
     DCHECK(!simple_loader_);
 
@@ -353,9 +352,8 @@
 
  private:
   // Called when the download completes.
-  void OnUrlDownloaded(
-      network::SimpleURLLoader::BodyAsStringCallbackDeprecated callback,
-      std::unique_ptr<std::string> response_body) {
+  void OnUrlDownloaded(network::SimpleURLLoader::BodyAsStringCallback callback,
+                       std::optional<std::string> response_body) {
     loader_factory_.reset();
 
     if (simple_loader_->NetError() == net::OK && response_body) {
@@ -374,7 +372,7 @@
                << response_code << " with network error"
                << simple_loader_->NetError();
     simple_loader_.reset();
-    std::move(callback).Run(std::make_unique<std::string>());
+    std::move(callback).Run(std::string());
   }
 
   std::unique_ptr<network::SimpleURLLoader> simple_loader_;
@@ -451,7 +449,7 @@
   auto response_handler =
       [](FetchWeatherCallback callback,
          std::unique_ptr<BackdropURLLoader> backdrop_url_loader,
-         std::unique_ptr<std::string> response) {
+         std::optional<std::string> response) {
         constexpr char kJsonPrefix[] = ")]}'\n";
 
         if (response && response->length() > strlen(kJsonPrefix)) {
@@ -552,7 +550,7 @@
 void AmbientBackendControllerImpl::OnScreenUpdateInfoFetched(
     OnScreenUpdateInfoFetchedCallback callback,
     std::unique_ptr<BackdropURLLoader> backdrop_url_loader,
-    std::unique_ptr<std::string> response) {
+    std::optional<std::string> response) {
   DCHECK(backdrop_url_loader);
 
   // Parse the |ScreenUpdate| out from the response string.
@@ -594,7 +592,7 @@
 void AmbientBackendControllerImpl::OnGetSettings(
     GetSettingsCallback callback,
     std::unique_ptr<BackdropURLLoader> backdrop_url_loader,
-    std::unique_ptr<std::string> response) {
+    std::optional<std::string> response) {
   DCHECK(backdrop_url_loader);
 
   auto settings = BackdropClientConfig::ParseGetSettingsResponse(*response);
@@ -640,7 +638,7 @@
     UpdateSettingsCallback callback,
     const AmbientSettings& settings,
     std::unique_ptr<BackdropURLLoader> backdrop_url_loader,
-    std::unique_ptr<std::string> response) {
+    std::optional<std::string> response) {
   DCHECK(backdrop_url_loader);
 
   const bool success =
@@ -691,7 +689,7 @@
 void AmbientBackendControllerImpl::OnPersonalAlbumsFetched(
     OnPersonalAlbumsFetchedCallback callback,
     std::unique_ptr<BackdropURLLoader> backdrop_url_loader,
-    std::unique_ptr<std::string> response) {
+    std::optional<std::string> response) {
   DCHECK(backdrop_url_loader);
 
   // Parse the |PersonalAlbumsResponse| out from the response string.
diff --git a/ash/ambient/backdrop/ambient_backend_controller_impl.h b/ash/ambient/backdrop/ambient_backend_controller_impl.h
index 318705e..49bb640 100644
--- a/ash/ambient/backdrop/ambient_backend_controller_impl.h
+++ b/ash/ambient/backdrop/ambient_backend_controller_impl.h
@@ -68,7 +68,7 @@
   void OnScreenUpdateInfoFetched(
       OnScreenUpdateInfoFetchedCallback callback,
       std::unique_ptr<BackdropURLLoader> backdrop_url_loader,
-      std::unique_ptr<std::string> response);
+      std::optional<std::string> response);
 
   void GetSettings(GetSettingsCallback callback);
   void StartToGetSettings(GetSettingsCallback callback,
@@ -77,7 +77,7 @@
 
   void OnGetSettings(GetSettingsCallback callback,
                      std::unique_ptr<BackdropURLLoader> backdrop_url_loader,
-                     std::unique_ptr<std::string> response);
+                     std::optional<std::string> response);
 
   void StartToUpdateSettings(const AmbientSettings& settings,
                              UpdateSettingsCallback callback,
@@ -87,7 +87,7 @@
   void OnUpdateSettings(UpdateSettingsCallback callback,
                         const AmbientSettings& settings,
                         std::unique_ptr<BackdropURLLoader> backdrop_url_loader,
-                        std::unique_ptr<std::string> response);
+                        std::optional<std::string> response);
 
   void FetchPersonalAlbums(int banner_width,
                            int banner_height,
@@ -106,7 +106,7 @@
   void OnPersonalAlbumsFetched(
       OnPersonalAlbumsFetchedCallback callback,
       std::unique_ptr<BackdropURLLoader> backdrop_url_loader,
-      std::unique_ptr<std::string> response);
+      std::optional<std::string> response);
 
   void OnSettingsFetched(base::RepeatingClosure on_done,
                          const std::optional<ash::AmbientSettings>& settings);