Some systems need to know the blob size right away. We should make this available right away on registration, as we know this value.
+cc falken. This would make it possible to remove the blob dissection in the service worker job we talked about.
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
, May 16 2016