commit | 77bf9a9587308cf5dc9ee5699c8a157384a6a38b | [log] [tgz] |
---|---|---|
author | Chase Phillips <cmp@chromium.org> | Thu Feb 21 02:07:09 2019 |
committer | Commit Bot <commit-bot@chromium.org> | Thu Feb 21 02:07:09 2019 |
tree | 5367720f8577f351b19462008f990fcf6523e8e5 | |
parent | 295ef3b215794b8d4d624ee7b754e537a4e68333 [diff] |
IndexedDB: Bind browser-side IDB mojo interfaces on IDB task runner Previously, browser-side IndexedDB mojo interfaces were bound on the IO thread, while most of the IndexedDB work was performed on the IDB task runner. This design required lots of sequence/thread hops to switch between the mojo invocation, our IDB code, and back to the mojo invocation for callbacks. This change binds the browser-side IDB mojo interfaces on the IDB task runner, instead. A later change will remove the helper code that abstracted the task runner switching. As part of this change, commit 6fd05b6 is reverted. That commit changed our ownership from scoped_refptr<ChromeBlobStorageContext> to WeakPtr<storage::BlobStorageContext>. This caused issues, however, since we couldn't guarantee that IndexedDBDispatcherHost would be initialized properly on the IO thread before the calls in the IDB task runner would trigger and need access to the weak pointer. Bug: 717812 Change-Id: Id9eacbaf091c61462c341672f6d3667b35ce1e76 Reviewed-on: https://chromium-review.googlesource.com/c/1405718 Commit-Queue: Chase Phillips <cmp@chromium.org> Reviewed-by: Daniel Murphy <dmurph@chromium.org> Reviewed-by: Marijn Kruisselbrink <mek@chromium.org> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org> Cr-Commit-Position: refs/heads/master@{#634018}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .