New issue
Advanced search Search tips

Issue 712693 link

Starred by 6 users

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocked on: View detail
issue 598073
issue 611935

Blocking:
issue 719891
issue 708217
issue 710190


Participants' hotlists:
dmurph-shortlist-features

Show other hotlists

Other hotlists containing this issue:
Hotlist-2
Hotlist-3
Hotlist-1


Sign in to add a comment

Move XHR Blobs file storage to blob_storage in storage partition

Project Member Reported by dmu...@chromium.org, Apr 18 2017

Issue description

Also use quota to accept/break blobs. Moving from temp folder.

Benefits:
* We control quota - can break things if our disk is full appropriately
* We actively clear blobs from past runs

Cons:
* User dir - not temp dir (can be different partition)
* We keep blobs around from past run on quick shutdown - chrome needs to run again to clear them
 

Comment 1 by dmu...@chromium.org, Apr 18 2017

Description: Show this description

Comment 2 by mwills@google.com, Apr 18 2017

If the available download space is subject to the temporary storage quota this would be quite a change on chromebooks, which normally have ~2GB of space in /tmp, but only ~500MB available under the temporary storage quota.

Comment 3 by dmu...@chromium.org, Apr 18 2017

hm.... right now it is subject to temporary storage disk space. All blob XHRs just write a file to /tmp.

Right now we have a whole quota system in BlobStorage, which uses a directory in the user partition, similar to indexeddb.

How is the temporary storage quota enforced? I can enforce something here for blobs as well (we have a handy memory manager that controls all of this)

Comment 4 by dmu...@chromium.org, Apr 19 2017

Cc: mwills@google.com
+cc mwills@google - unless you know someone else that might have more info here?

Comment 5 by dmu...@chromium.org, Apr 19 2017

based no our conversation and the chart here:
https://chromium.googlesource.com/chromium/src/+/master/storage/browser/blob/README.md#Example-Limits

this should work for Mitchell's use case still. Actually probably give more space.

We should have a follow up bug around not needing to completely copy the blob data if it's already in a file for indexeddb.

Comment 6 by dmu...@chromium.org, Apr 24 2017

This also might hit the permission issue here:
https://bugs.chromium.org/p/chromium/issues/detail?id=692001

And possibly more finesse is needed here.

Comment 7 by jam@chromium.org, May 16 2017

Cc: jam@chromium.org

Comment 8 by dmu...@chromium.org, May 25 2017

Blocking: 708217
Blockedon: 611935 598073
waiting until net and blob content modularization is done.
Status: Started (was: Assigned)
Project Member

Comment 11 by bugdroid1@chromium.org, Aug 11 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b849e3b0030b42a98c38bdf25dcf84ac28b80198

commit b849e3b0030b42a98c38bdf25dcf84ac28b80198
Author: Daniel Murphy <dmurph@chromium.org>
Date: Fri Aug 11 20:09:13 2017

Optimise RedirectToFileResourceHandler to not block on file creation.

This is required for creating a RedirectToBlobResourceHandler, which
optimally wants the response headers before trying to create a file.

R: csharrison, mek, darin
Bug:  712693 
Change-Id: I451f2254eddaed01ecc3c13899520ce8fea4e0a6
Reviewed-on: https://chromium-review.googlesource.com/598640
Reviewed-by: Matt Menke <mmenke@chromium.org>
Reviewed-by: Charlie Harrison <csharrison@chromium.org>
Commit-Queue: Daniel Murphy <dmurph@chromium.org>
Cr-Commit-Position: refs/heads/master@{#493839}
[modify] https://crrev.com/b849e3b0030b42a98c38bdf25dcf84ac28b80198/content/browser/loader/redirect_to_file_resource_handler.cc
[modify] https://crrev.com/b849e3b0030b42a98c38bdf25dcf84ac28b80198/content/browser/loader/redirect_to_file_resource_handler.h
[modify] https://crrev.com/b849e3b0030b42a98c38bdf25dcf84ac28b80198/content/browser/loader/redirect_to_file_resource_handler_unittest.cc

Comment 12 by mek@chromium.org, Feb 13 2018

Blocking: 719891
Project Member

Comment 13 by bugdroid1@chromium.org, Feb 26 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/bfa8838b96797309bb38692b11ff0ebb445ec873

commit bfa8838b96797309bb38692b11ff0ebb445ec873
Author: Marijn Kruisselbrink <mek@chromium.org>
Date: Mon Feb 26 19:29:10 2018

[Blobs] Add API to create a Blob from streaming data.

This API can be used to replace download_to_file functionality in
the network stack (currently only used by XHR) by letting blink
instead pass the data pipe that is the result of fetching some data
to the blob system.

Bug:  754493 ,  712693 ,  791702 
Change-Id: I75c5289a6e7e7823e32838d9ada76d74028d8e40
Reviewed-on: https://chromium-review.googlesource.com/916731
Commit-Queue: Marijn Kruisselbrink <mek@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Daniel Murphy <dmurph@chromium.org>
Cr-Commit-Position: refs/heads/master@{#539233}
[modify] https://crrev.com/bfa8838b96797309bb38692b11ff0ebb445ec873/storage/browser/BUILD.gn
[add] https://crrev.com/bfa8838b96797309bb38692b11ff0ebb445ec873/storage/browser/blob/blob_builder_from_stream.cc
[add] https://crrev.com/bfa8838b96797309bb38692b11ff0ebb445ec873/storage/browser/blob/blob_builder_from_stream.h
[add] https://crrev.com/bfa8838b96797309bb38692b11ff0ebb445ec873/storage/browser/blob/blob_builder_from_stream_unittest.cc
[modify] https://crrev.com/bfa8838b96797309bb38692b11ff0ebb445ec873/storage/browser/blob/blob_data_item.cc
[modify] https://crrev.com/bfa8838b96797309bb38692b11ff0ebb445ec873/storage/browser/blob/blob_data_item.h
[modify] https://crrev.com/bfa8838b96797309bb38692b11ff0ebb445ec873/storage/browser/blob/blob_memory_controller.cc
[modify] https://crrev.com/bfa8838b96797309bb38692b11ff0ebb445ec873/storage/browser/blob/blob_memory_controller.h
[modify] https://crrev.com/bfa8838b96797309bb38692b11ff0ebb445ec873/storage/browser/blob/blob_registry_impl.cc
[modify] https://crrev.com/bfa8838b96797309bb38692b11ff0ebb445ec873/storage/browser/blob/blob_registry_impl.h
[modify] https://crrev.com/bfa8838b96797309bb38692b11ff0ebb445ec873/storage/browser/blob/blob_registry_impl_unittest.cc
[modify] https://crrev.com/bfa8838b96797309bb38692b11ff0ebb445ec873/storage/browser/blob/blob_storage_context.cc
[modify] https://crrev.com/bfa8838b96797309bb38692b11ff0ebb445ec873/storage/browser/blob/blob_storage_context.h
[modify] https://crrev.com/bfa8838b96797309bb38692b11ff0ebb445ec873/storage/browser/blob/scoped_file.cc
[modify] https://crrev.com/bfa8838b96797309bb38692b11ff0ebb445ec873/storage/browser/blob/scoped_file.h
[modify] https://crrev.com/bfa8838b96797309bb38692b11ff0ebb445ec873/storage/browser/blob/shareable_file_reference.h
[modify] https://crrev.com/bfa8838b96797309bb38692b11ff0ebb445ec873/third_party/WebKit/Source/core/fileapi/PublicURLManager.cpp
[modify] https://crrev.com/bfa8838b96797309bb38692b11ff0ebb445ec873/third_party/WebKit/Source/core/xmlhttprequest/XMLHttpRequest.h
[modify] https://crrev.com/bfa8838b96797309bb38692b11ff0ebb445ec873/third_party/WebKit/Source/platform/blob/BlobData.h
[modify] https://crrev.com/bfa8838b96797309bb38692b11ff0ebb445ec873/third_party/WebKit/Source/platform/blob/testing/FakeBlobRegistry.cpp
[modify] https://crrev.com/bfa8838b96797309bb38692b11ff0ebb445ec873/third_party/WebKit/Source/platform/blob/testing/FakeBlobRegistry.h
[modify] https://crrev.com/bfa8838b96797309bb38692b11ff0ebb445ec873/third_party/WebKit/common/BUILD.gn
[modify] https://crrev.com/bfa8838b96797309bb38692b11ff0ebb445ec873/third_party/WebKit/public/mojom/blob/blob_registry.mojom
[add] https://crrev.com/bfa8838b96797309bb38692b11ff0ebb445ec873/third_party/WebKit/public/mojom/blob/data_element.mojom

Comment 14 by mek@chromium.org, Mar 9 2018

Blocking: 412752

Comment 15 by mek@chromium.org, Mar 9 2018

Cc: dmu...@chromium.org
Owner: mek@chromium.org

Comment 16 by mek@chromium.org, Mar 9 2018

Blocking: -412752

Comment 17 by mek@chromium.org, Mar 27 2018

Blocking: 710190
Project Member

Comment 18 by bugdroid1@chromium.org, Mar 30 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/090b1a4fea8bd71d2bd5e3503d3397985ad58022

commit 090b1a4fea8bd71d2bd5e3503d3397985ad58022
Author: Marijn Kruisselbrink <mek@chromium.org>
Date: Fri Mar 30 19:54:12 2018

[XHR] Replace usage of download_to_file with new download_to_blob feature.

download_to_file isn't really implementable with the network service (since
there is no central browser-side place where all fetches pass through), and
because we'd like blobs downloaded by XHR to be managed by the blob system
anyway, this replaces download_to_file with a new download_to_blob feature.

With this, blink::ResourceLoader redirects the datapipe it receives from a
URLLoader to the blob system, and passes the resulting blob back to XHR.

Design doc: https://docs.google.com/document/d/1V_rFqFeYc_XpzEc_hGF9Wlat5mH62lREJ1I1dCJ4lX0/edit#heading=h.2ndyupa99wqr

Bug:  754493 ,  712693 ,  791702 

Change-Id: I258150937c424b72824dadbc2832764ed54c1ca5
Reviewed-on: https://chromium-review.googlesource.com/955957
Reviewed-by: Lei Zhang <thestig@chromium.org>
Reviewed-by: Yutaka Hirano <yhirano@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Marijn Kruisselbrink <mek@chromium.org>
Cr-Commit-Position: refs/heads/master@{#547248}
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/chrome/renderer/extensions/extension_localization_peer.cc
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/chrome/renderer/extensions/extension_localization_peer.h
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/chrome/renderer/extensions/extension_localization_peer_unittest.cc
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/chrome/renderer/security_filter_peer.cc
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/chrome/renderer/security_filter_peer.h
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/content/public/renderer/request_peer.h
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/content/renderer/loader/resource_dispatcher.cc
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/content/renderer/loader/resource_dispatcher.h
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/content/renderer/loader/resource_dispatcher_unittest.cc
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/content/renderer/loader/sync_load_context.cc
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/content/renderer/loader/sync_load_context.h
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/content/renderer/loader/sync_load_response.h
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/content/renderer/loader/test_request_peer.cc
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/content/renderer/loader/test_request_peer.h
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/content/renderer/loader/url_loader_client_impl.cc
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/content/renderer/loader/url_loader_client_impl.h
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/content/renderer/loader/url_loader_client_impl_unittest.cc
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/content/renderer/loader/url_response_body_consumer_unittest.cc
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/content/renderer/loader/web_url_loader_impl.cc
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/content/renderer/loader/web_url_loader_impl.h
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/content/renderer/loader/web_url_loader_impl_unittest.cc
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/third_party/WebKit/Source/core/inspector/InspectorNetworkAgent.cpp
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/third_party/WebKit/Source/core/inspector/InspectorNetworkAgent.h
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/third_party/WebKit/Source/core/inspector/NetworkResourcesData.cpp
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/third_party/WebKit/Source/core/inspector/NetworkResourcesData.h
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/third_party/WebKit/Source/core/loader/DocumentThreadableLoader.cpp
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/third_party/WebKit/Source/core/loader/DocumentThreadableLoader.h
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/third_party/WebKit/Source/core/loader/FrameFetchContext.cpp
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/third_party/WebKit/Source/core/loader/FrameFetchContext.h
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/third_party/WebKit/Source/core/loader/ThreadableLoaderClient.h
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/third_party/WebKit/Source/core/loader/WorkerThreadableLoader.cpp
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/third_party/WebKit/Source/core/loader/WorkerThreadableLoader.h
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/third_party/WebKit/Source/core/probe/CoreProbes.json5
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/third_party/WebKit/Source/core/probe/CoreProbes.pidl
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/third_party/WebKit/Source/core/xmlhttprequest/XMLHttpRequest.cpp
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/third_party/WebKit/Source/core/xmlhttprequest/XMLHttpRequest.h
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/third_party/WebKit/Source/platform/exported/WebURLRequest.cpp
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/third_party/WebKit/Source/platform/loader/fetch/FetchContext.cpp
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/third_party/WebKit/Source/platform/loader/fetch/FetchContext.h
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/third_party/WebKit/Source/platform/loader/fetch/RawResource.cpp
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/third_party/WebKit/Source/platform/loader/fetch/RawResource.h
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/third_party/WebKit/Source/platform/loader/fetch/Resource.h
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/third_party/WebKit/Source/platform/loader/fetch/ResourceLoader.cpp
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/third_party/WebKit/Source/platform/loader/fetch/ResourceLoader.h
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/third_party/WebKit/Source/platform/loader/fetch/ResourceRequest.cpp
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/third_party/WebKit/Source/platform/loader/fetch/ResourceRequest.h
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/third_party/WebKit/Source/platform/testing/weburl_loader_mock.cc
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/third_party/WebKit/Source/platform/testing/weburl_loader_mock.h
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/third_party/WebKit/public/platform/WebURLLoader.h
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/third_party/WebKit/public/platform/WebURLLoaderClient.h
[modify] https://crrev.com/090b1a4fea8bd71d2bd5e3503d3397985ad58022/third_party/WebKit/public/platform/WebURLRequest.h

Project Member

Comment 19 by bugdroid1@chromium.org, Mar 31 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b9b19683beb770660fce4d382093b4757457929e

commit b9b19683beb770660fce4d382093b4757457929e
Author: Marijn Kruisselbrink <mek@chromium.org>
Date: Sat Mar 31 00:11:33 2018

[Blobs] Record the result of creating a blob from a stream.

Bug:  712693 
Change-Id: I65a7fd3086fe2e2c2e0177462eb97b7b864c1c11
Reviewed-on: https://chromium-review.googlesource.com/988739
Reviewed-by: Daniel Murphy <dmurph@chromium.org>
Reviewed-by: Ilya Sherman <isherman@chromium.org>
Commit-Queue: Marijn Kruisselbrink <mek@chromium.org>
Cr-Commit-Position: refs/heads/master@{#547330}
[modify] https://crrev.com/b9b19683beb770660fce4d382093b4757457929e/storage/browser/blob/blob_builder_from_stream.cc
[modify] https://crrev.com/b9b19683beb770660fce4d382093b4757457929e/storage/browser/blob/blob_builder_from_stream.h
[modify] https://crrev.com/b9b19683beb770660fce4d382093b4757457929e/tools/metrics/histograms/enums.xml
[modify] https://crrev.com/b9b19683beb770660fce4d382093b4757457929e/tools/metrics/histograms/histograms.xml

Project Member

Comment 20 by bugdroid1@chromium.org, Apr 2 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b31800d9f07d054a3b68ae7b917899baea017bc6

commit b31800d9f07d054a3b68ae7b917899baea017bc6
Author: Marijn Kruisselbrink <mek@chromium.org>
Date: Mon Apr 02 18:19:21 2018

[Blobs] Add support for progress events to BlobBuilderFromStream.

And use that in the XHR code.

Bug:  754493 ,  712693 ,  791702 
Change-Id: Ic0904558d43131cc2240805eaa794359f6a3f1d7
Reviewed-on: https://chromium-review.googlesource.com/957600
Commit-Queue: Marijn Kruisselbrink <mek@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Yutaka Hirano <yhirano@chromium.org>
Reviewed-by: Daniel Murphy <dmurph@chromium.org>
Cr-Commit-Position: refs/heads/master@{#547471}
[modify] https://crrev.com/b31800d9f07d054a3b68ae7b917899baea017bc6/content/renderer/loader/sync_load_context.cc
[modify] https://crrev.com/b31800d9f07d054a3b68ae7b917899baea017bc6/storage/browser/BUILD.gn
[modify] https://crrev.com/b31800d9f07d054a3b68ae7b917899baea017bc6/storage/browser/blob/blob_builder_from_stream.cc
[modify] https://crrev.com/b31800d9f07d054a3b68ae7b917899baea017bc6/storage/browser/blob/blob_builder_from_stream.h
[modify] https://crrev.com/b31800d9f07d054a3b68ae7b917899baea017bc6/storage/browser/blob/blob_builder_from_stream_unittest.cc
[modify] https://crrev.com/b31800d9f07d054a3b68ae7b917899baea017bc6/storage/browser/blob/blob_registry_impl.cc
[modify] https://crrev.com/b31800d9f07d054a3b68ae7b917899baea017bc6/storage/browser/blob/blob_registry_impl.h
[modify] https://crrev.com/b31800d9f07d054a3b68ae7b917899baea017bc6/storage/browser/blob/blob_registry_impl_unittest.cc
[add] https://crrev.com/b31800d9f07d054a3b68ae7b917899baea017bc6/storage/browser/test/fake_progress_client.cc
[add] https://crrev.com/b31800d9f07d054a3b68ae7b917899baea017bc6/storage/browser/test/fake_progress_client.h
[modify] https://crrev.com/b31800d9f07d054a3b68ae7b917899baea017bc6/third_party/WebKit/Source/platform/blob/testing/FakeBlobRegistry.cpp
[modify] https://crrev.com/b31800d9f07d054a3b68ae7b917899baea017bc6/third_party/WebKit/Source/platform/blob/testing/FakeBlobRegistry.h
[modify] https://crrev.com/b31800d9f07d054a3b68ae7b917899baea017bc6/third_party/WebKit/Source/platform/loader/fetch/ResourceLoader.cpp
[modify] https://crrev.com/b31800d9f07d054a3b68ae7b917899baea017bc6/third_party/WebKit/Source/platform/loader/fetch/ResourceLoader.h
[modify] https://crrev.com/b31800d9f07d054a3b68ae7b917899baea017bc6/third_party/WebKit/public/mojom/blob/blob_registry.mojom

Comment 21 by mek@chromium.org, Apr 2 2018

Status: Fixed (was: Started)
Project Member

Comment 22 by bugdroid1@chromium.org, Apr 4 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1fd3a5f3e0ba1bac378d72aae31545918cb8adf8

commit 1fd3a5f3e0ba1bac378d72aae31545918cb8adf8
Author: Marijn Kruisselbrink <mek@chromium.org>
Date: Wed Apr 04 21:16:26 2018

[Blobs] Fix BuildFromStreamResult histogram recording.

Only record in OnError if callback_ is still set. Otherwise every
success case will also result in recording "Aborted", via the destructor
of the class calling OnError.

Bug:  712693 
Change-Id: I0d73119017b6d88fca4378687d5187ed96919b49
Reviewed-on: https://chromium-review.googlesource.com/994232
Commit-Queue: Daniel Murphy <dmurph@chromium.org>
Reviewed-by: Daniel Murphy <dmurph@chromium.org>
Cr-Commit-Position: refs/heads/master@{#548201}
[modify] https://crrev.com/1fd3a5f3e0ba1bac378d72aae31545918cb8adf8/storage/browser/blob/blob_builder_from_stream.cc

Sign in to add a comment