[ledger] Don't read the object when inserting with PutReference.

The reference has already been computed when client code calls
CreateReferenceFromBuffer. And When calling PutReference, we check
that this is a valid reference when calling PageManager::ResolveReference.
So there is no need to read the object from storage.

Test: PageImplTest.PutUnknownReference
Change-Id: I747083ab4d9d509bffc68e31a0228618d63bc62c
diff --git a/bin/ledger/app/page_delegate.cc b/bin/ledger/app/page_delegate.cc
index e238599..3e87eb8 100644
--- a/bin/ledger/app/page_delegate.cc
+++ b/bin/ledger/app/page_delegate.cc
@@ -148,6 +148,8 @@
                                 Reference reference, Priority priority,
                                 Page::PutReferenceCallback callback) {
   FXL_DCHECK(key->size() <= kMaxKeySize);
+  // |ResolveReference| also makes sure that the reference was created for this
+  // page.
   storage::ObjectIdentifier object_identifier;
   Status status =
       manager_->ResolveReference(std::move(reference), &object_identifier);
@@ -156,36 +158,15 @@
     return;
   }
 
-  auto promise = fxl::MakeRefCounted<callback::Promise<
-      storage::Status, std::unique_ptr<const storage::Object>>>(
-      storage::Status::ILLEGAL_STATE);
-
-  storage_->GetObject(object_identifier, storage::PageStorage::Location::LOCAL,
-                      promise->NewCallback());
-
   operation_serializer_.Serialize<Status>(
       std::move(callback),
-      [this, promise = std::move(promise), key = std::move(key),
+      [this, key = std::move(key),
        object_identifier = std::move(object_identifier),
        priority](Page::PutReferenceCallback callback) mutable {
-        promise->Finalize(callback::MakeScoped(
-            weak_factory_.GetWeakPtr(),
-            [this, key = std::move(key),
-             object_identifier = std::move(object_identifier), priority,
-             callback = std::move(callback)](
-                storage::Status status,
-                std::unique_ptr<const storage::Object> object) mutable {
-              if (status != storage::Status::OK) {
-                callback(PageUtils::ConvertStatus(status,
-                                                  Status::REFERENCE_NOT_FOUND));
-                return;
-              }
-              PutInCommit(std::move(key), std::move(object_identifier),
-                          priority == Priority::EAGER
-                              ? storage::KeyPriority::EAGER
-                              : storage::KeyPriority::LAZY,
-                          std::move(callback));
-            }));
+        PutInCommit(std::move(key), std::move(object_identifier),
+                    priority == Priority::EAGER ? storage::KeyPriority::EAGER
+                                                : storage::KeyPriority::LAZY,
+                    std::move(callback));
       });
 }