I'm "happily" rebuilding some of my Chrome Extensions to MV3. But I'm stuck because I can't understand how to use IndexedDB from service workers. To be more specific, I haven't found any working example of IndexedDB access from a JS service worker script.
Referring to this page, I used to open a db like this:
var idb = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB || window.shimIndexedDB;
var dbName = "DatabaseName";
var open = idb.open(dbName, 1);
But as we all know, window is not accessible anymore from service workers in MV3.
To put it simply, background pages provide extension authors with an environment that lives independent of any other window or tab.
(https://developer.chrome.com/docs/extensions/mv3/migrating_to_service_workers/#state)
How am I supposed to do it?
Thanks for your help, time, and patience. Have a great weekend!
window.xxx
usually assume all web browsers including IE, which is unnecessary for chrome extensions that only run in modern browsers, so just access the API directly, assuming it is exposed for workers in the specification or MDN (see the compat table). – Mode