Documentation: Add comments to describe and recommend BlobReader/FileReader

Bug: 896479
Change-Id: Idc364a4fc9340ad19d121973492a60b9e9e3f905
Reviewed-on: https://chromium-review.googlesource.com/c/1369046
Reviewed-by: Victor Costan <pwnall@chromium.org>
Commit-Queue: Darwin Huang <huangdarwin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#617965}
diff --git a/storage/browser/blob/README.md b/storage/browser/blob/README.md
index 5897407..f74dd19 100644
--- a/storage/browser/blob/README.md
+++ b/storage/browser/blob/README.md
@@ -162,6 +162,16 @@
 The `BlobReader` class is for reading blobs, and is accessible off of the
 `BlobDataHandle` at any time.
 
+Updated Recommendations:
+- In `blink::` you'll probably have a `blink::BlobDataHandle`, so use
+`FileReaderLoader`/`FileReaderLoaderClient` as an abstraction around the mojom
+Blob interface.
+- Outside of `blink` (in both browser and renderer): you'll probably have a
+`blink::mojom::BlobPtr`, so just call `ReadAll`/`ReadRange` on that directly.
+- In legacy cases, only in the browser process, only on the IO thread, where
+you only have a `storage::BlobDataHandle` use
+`CreateReader/storage::BlobReader`.
+
 # Blob Creation & Transportation (Renderer)
 
 **This process is outlined with diagrams and illustrations [here](
diff --git a/storage/browser/blob/blob_reader.h b/storage/browser/blob/blob_reader.h
index fe003ab..4614fd6d 100644
--- a/storage/browser/blob/blob_reader.h
+++ b/storage/browser/blob/blob_reader.h
@@ -46,6 +46,9 @@
 //  * If a status of Status::NET_ERROR is returned, that means there was an
 //    error and the net_error() variable contains the error code.
 // Use a BlobDataHandle to create an instance.
+//
+// For more information on how to read Blobs in your specific situation, see:
+// https://chromium.googlesource.com/chromium/src/+/HEAD/storage/browser/blob/README.md#accessing-reading
 class STORAGE_EXPORT BlobReader {
  public:
   class STORAGE_EXPORT FileStreamReaderProvider {
diff --git a/third_party/blink/renderer/core/fileapi/file_reader_loader_client.h b/third_party/blink/renderer/core/fileapi/file_reader_loader_client.h
index 747a254..6b5da43 100644
--- a/third_party/blink/renderer/core/fileapi/file_reader_loader_client.h
+++ b/third_party/blink/renderer/core/fileapi/file_reader_loader_client.h
@@ -38,6 +38,8 @@
 
 enum class FileErrorCode;
 
+// For more information on how to read Blobs in your specific situation, see:
+// https://chromium.googlesource.com/chromium/src/+/HEAD/storage/browser/blob/README.md#accessing-reading
 class CORE_EXPORT FileReaderLoaderClient {
  public:
   virtual ~FileReaderLoaderClient() = default;