Web-Facing Change PSA: IndexedDB: SQLite backend (in-memory contexts)

11 views
Skip to first unread message

Chromestatus

unread,
5:35 PM (6 hours ago) 5:35 PM
to blin...@chromium.org, blink-api-ow...@chromium.org, Abhishek.S...@microsoft.com, evan...@microsoft.com
Contact emails
evan...@microsoft.com, Abhishek.S...@microsoft.com

Specification
https://www.w3.org/TR/IndexedDB

Summary
Chromium's IndexedDB implementation is rewritten on top of SQLite, to replace the previous implementation that uses a hybrid of LevelDB and flat files. There is no change to the Web API. This is expected to improve reliability and, to a lesser extent, performance. For now this is applied only to in-memory contexts such as Incognito mode in Chromium and Google Chrome. This limits the impact of any new bugs, as well as puts off the need to worry about migration of existing data persisted to disk.

Blink component
Blink>Storage>IndexedDB

Web Feature ID
indexeddb

Search tags
sqlite, idb, indexeddb, leveldb

Risks


Interoperability and Compatibility
Interop: this work entails a web-visible behavioral change concerning an edge case in IDB transaction scheduling. This change brings Chromium in line with Firefox and Safari. (Both new and old behavior are standards-compliant.) See demo. Compatibility: This PSA exists primarily to warn of the risk of unintended breakage. The later step where persisted databases are stored with SQLite, and existing data is migrated to SQLite, will have higher associated risks and will have its own PSA.

Gecko: No signal

WebKit: No signal

Web developers: No signals

Other signals:

Security
All data on disk is still segregated by storage bucket (origin). Both new and old implementation are newly fuzz-tested.

WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?

No information provided


Debuggability
existing IndexedDB DevTools support is unimpacted

Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?
Yes

Is this feature fully tested by web-platform-tests?
Yes
https://wpt.fyi/results/IndexedDB



Tracking bug
https://issues.chromium.org/issues/436880911

Estimated milestones
Shipping on desktop144
DevTrial on desktop144
Shipping on Android144


Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5126896685809664

This intent message was generated by Chrome Platform Status.
Reply all
Reply to author
Forward
0 new messages