commit | 1fb98480c61c563587cbb01de87cfad180fec942 | [log] [tgz] |
---|---|---|
author | dmurph <dmurph@chromium.org> | Wed Mar 30 21:14:26 2016 |
committer | Commit bot <commit-bot@chromium.org> | Wed Mar 30 21:15:51 2016 |
tree | 3f2ebfb676822ffcbec0498d2084a882b0d492e3 | |
parent | 44af6ef24f6a9bc2822e4f294919ae71f7288015 [diff] |
[BlobAsync] Asynchronous Blob Construction Final Patch This is the final patch that hooks up the blob storage system to the new async protocol. In this patch we: * Hook up the new classes and modules we created in the previous patches. * Remove the old way of creating blobs. * Create a few classes like blob_message_filter and blob_dispatcher_host for handing IPC messages. The result of this change makes renderer-initiated blob construction asynchronous instead of synchronous. So constructing new blobs should be faster, but the time from construction to read should be the same, as the reading still has to wait for the blob to be transferred to the browser. Because we let the renderer continue before we've sent all of the data, we use ChildProcess::AddRefProcess() system to keep the renderer alive while we transfer data. Patches: 1: https://codereview.chromium.org/1287303002 (committed!) 2: https://codereview.chromium.org/1288373002 (committed!) 3: https://codereview.chromium.org/1292523002 (committed!) 4: https://codereview.chromium.org/1098853003 (committed!) Hookup: https://codereview.chromium.org/1234813004 BUG=375297 Review URL: https://codereview.chromium.org/1234813004 Cr-Commit-Position: refs/heads/master@{#384093}