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
-~----------~----~----~----~------~----~------~--~---

Reply via email to