On Tue, Jul 28, 2009 at 8:40 PM, Jeremy Orlow <[email protected]> wrote:
> I'm starting to think ahead to how quotas will work with LocalStorage (and > I assume database and maybe even AppCache). To begin with, I'll probably > just set a fixed quota (5mb is pretty standard), but some apps will surely > desire more space than that, so I think we'll need a more robust solution > fairly quickly. (Maybe even before it comes out from behind the > --enable-local-storage flag.) > The question is how should we handle quotas from a UI perspective. > > One approach that seems obvious to a lot of people I've talked to is asking > the user (maybe via an info bar?) whenever an origin hits its limit (before > we decide whether to return a quota exceeded error or not). The problem is > that WebKit (in the renderer) can't block on the UI thread (since it may be > blocked on WebKit). Maybe it's safe to pump plugin related events while in > the middle of a JavaScript context? If not, then I'm not sure if any > just-in-time solution like this is going to be viable. > It is possible to stop JS execution to wait on the browser process, just like what we do for alerts/showModalDialog. This involves running a nested message loop, which we try to avoid unless absolutely necessary because of reentrancy issues (but in this case, it's necessary so it's ok). > > We could implement heuristics that predict when LocalStorage is about to > run out of space, but if we don't predict it in time, we will have to send a > quota exceeded exception to the script. A lot of common use cases like you > syncing gmail for the first time would make this difficult to do well, I > think. > > Safari buries the setting in the preferences menu. That would be better > than nothing, I suppose. > > Any other ideas? > > Jeremy > > > > --~--~---------~--~----~------------~-------~--~----~ Chromium Developers mailing list: [email protected] View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~----------~----~----~----~------~----~------~--~---
