Skip to content

Use IndexedDB as cache storage on Chromium platform #328

@gorhill

Description

@gorhill

Currently, IndexedDB is used only on Firefox platform to implement cache storage. Chromium uses extension API storage (chrome.storage.local) as a cache storage, i.e. cache items are sharing the same physical storage as user setting ones.

A benefit of using IndexedDB is that the items stored in it are LZ4-compressable (which is enabled by default for that storage). LZ4 compression is not trivially possible with extension API storage, as this requires the storage to support the saving of Blob resources. (An approach would be to create a special encoding/decoding step, but that is just not practical.)

There is no technical obstacle to also use IndexedDB on Chromium. The main obstacle of doing so is that there is no code to automatically transfer cached items from one storage to the other, which would cause stale cache items to linger in the old storage should there be a switch to a new one for cache purpose.

Provide code to move cache items stored in chrome.storage.local to IndexedDB when uBO launches and detect that IndexedDB is being used as cache storage.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Chromiumspecific to Chromium/Chromefixedissue has been addressed

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions