We currently represent the result of blob transfer as a boolean + an error enum. We should but the success value in the enum instead of needing the boolean.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2 commit cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2 Author: dmurph <dmurph@chromium.org> Date: Thu Nov 17 21:25:07 2016 [BlobAsync] Moving async handling into BlobStorageContext & quota out. This change moves async building logic, including waiting on referenced blobs, out of the BlobAsyncBuilderHost into the BlobStorageContext. It also moves the quota handling out of BlobStorageContext and into BlobMemoryController. This change does not enable paging to files (or backing blobs by files right away) yet. It's just doing the required system and state refactoring. BUG= 375297 , 612261 , 600528 R=michaeln@chromium.org,kinuko@chromium.org,pwnall@chromium.org,mek@chromium.org Review-Url: https://codereview.chromium.org/2448353002 Cr-Commit-Position: refs/heads/master@{#432960} [modify] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/chrome/browser/chrome_security_exploit_browsertest.cc [delete] https://crrev.com/028c9afaa41a29d47e7e40202082b89a667c445f/content/browser/blob_storage/blob_async_builder_host_unittest.cc [modify] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/content/browser/blob_storage/blob_dispatcher_host.cc [modify] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/content/browser/blob_storage/blob_dispatcher_host.h [modify] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/content/browser/blob_storage/blob_dispatcher_host_unittest.cc [add] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/content/browser/blob_storage/blob_flattener_unittest.cc [modify] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/content/browser/blob_storage/blob_memory_controller_unittest.cc [modify] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/content/browser/blob_storage/blob_reader_unittest.cc [add] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/content/browser/blob_storage/blob_slice_unittest.cc [modify] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/content/browser/blob_storage/blob_storage_context_unittest.cc [modify] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/content/browser/blob_storage/blob_storage_registry_unittest.cc [add] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/content/browser/blob_storage/blob_transport_host_unittest.cc [rename] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/content/browser/blob_storage/blob_transport_request_builder_unittest.cc [modify] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/content/browser/service_worker/service_worker_url_request_job.cc [modify] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/content/browser/service_worker/service_worker_url_request_job.h [modify] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/content/child/blob_storage/blob_consolidation.cc [modify] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/content/child/blob_storage/blob_message_filter.cc [modify] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/content/child/blob_storage/blob_message_filter.h [modify] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/content/child/blob_storage/blob_transport_controller.cc [modify] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/content/child/blob_storage/blob_transport_controller.h [modify] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/content/child/blob_storage/blob_transport_controller_unittest.cc [modify] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/content/child/blob_storage/webblobregistry_impl.cc [modify] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/content/child/blob_storage/webblobregistry_impl.h [modify] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/content/common/fileapi/webblob_messages.h [modify] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/content/test/BUILD.gn [modify] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/net/log/net_log_event_type_list.h [modify] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/storage/browser/BUILD.gn [delete] https://crrev.com/028c9afaa41a29d47e7e40202082b89a667c445f/storage/browser/blob/blob_async_builder_host.cc [delete] https://crrev.com/028c9afaa41a29d47e7e40202082b89a667c445f/storage/browser/blob/blob_async_builder_host.h [modify] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/storage/browser/blob/blob_data_builder.cc [modify] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/storage/browser/blob/blob_data_builder.h [modify] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/storage/browser/blob/blob_data_handle.cc [modify] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/storage/browser/blob/blob_data_handle.h [modify] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/storage/browser/blob/blob_data_item.h [add] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/storage/browser/blob/blob_entry.cc [add] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/storage/browser/blob/blob_entry.h [modify] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/storage/browser/blob/blob_memory_controller.cc [modify] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/storage/browser/blob/blob_memory_controller.h [modify] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/storage/browser/blob/blob_reader.cc [modify] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/storage/browser/blob/blob_reader.h [modify] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/storage/browser/blob/blob_storage_context.cc [modify] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/storage/browser/blob/blob_storage_context.h [modify] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/storage/browser/blob/blob_storage_registry.cc [modify] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/storage/browser/blob/blob_storage_registry.h [add] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/storage/browser/blob/blob_transport_host.cc [add] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/storage/browser/blob/blob_transport_host.h [rename] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/storage/browser/blob/blob_transport_request_builder.cc [rename] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/storage/browser/blob/blob_transport_request_builder.h [delete] https://crrev.com/028c9afaa41a29d47e7e40202082b89a667c445f/storage/browser/blob/blob_transport_result.h [delete] https://crrev.com/028c9afaa41a29d47e7e40202082b89a667c445f/storage/browser/blob/internal_blob_data.cc [delete] https://crrev.com/028c9afaa41a29d47e7e40202082b89a667c445f/storage/browser/blob/internal_blob_data.h [modify] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/storage/browser/blob/shareable_blob_data_item.cc [modify] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/storage/browser/blob/shareable_blob_data_item.h [modify] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/storage/browser/blob/view_blob_internals_job.cc [modify] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/storage/browser/blob/view_blob_internals_job.h [modify] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/storage/common/blob_storage/blob_storage_constants.cc [modify] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/storage/common/blob_storage/blob_storage_constants.h [modify] https://crrev.com/cf848a6957fb402bdffeb5a2ce51e9f0cbbb98f2/storage/common/data_element.h
Comment 1 by dmu...@chromium.org
, Sep 26 2016