We use IndexedDB, and in modern browsers the limit should be at least a few hundred megabytes (see for example this answer for Chrome limits [1], the situation is similar in Firefox).
So far this has been enough, but the apps we have are fairly simple (e.g. no media!). We'll see. Maybe media can be handled off browser.
Believe me, it is no easy thing to do.
[1] https://github.com/hyperhyperspace/hyperhyperspace-core