- From: Rick Waldron <waldron.rick@gmail.com>
- Date: Tue, 26 Mar 2013 22:04:38 -0400
- To: Jonas Sicking <jonas@sicking.cc>
- Cc: Webapps WG <public-webapps@w3.org>
- Message-ID: <CAHfnhfp4jYd1y+d08O=AEEPYMSaywBfHB3Cygv050YqQx8yTYQ@mail.gmail.com>
On Tue, Mar 26, 2013 at 9:58 PM, Jonas Sicking <jonas@sicking.cc> wrote:
> On Tue, Mar 26, 2013 at 6:28 PM, Rick Waldron <waldron.rick@gmail.com>
> wrote:
> > This is a lot to digest, but I know the developer community will greatly
> > appreciate the work that has gone into this—thank you.
>
> Yeah, I hope this is possible to consume despite its length. I'll
> create a shorter writeup with less background for the next iteration.
> > On Tue, Mar 26, 2013 at 3:02 AM, Jonas Sicking <jonas@sicking.cc> wrote:
> >>
> >> (snip)
> >>
> >>
> >> First we need a way to get at AppCache objects:
> >
> >
> > No mention of installAppCache, removeAppCache or getAppCacheList anywhere
> > else in the email—not even to say they are in progress?
>
> Sorry, i missed this. I hope they are generally pretty obvious what
> they do on a high level though?
>
Yes, they are—you were so thorough that their absence was alarming ;)
>
> >> partial interface Navigator {
> >> Future<AppCache> installAppCache(url);
> >> Future<AppCache> getAppCache(url);
> >> Future<boolean> removeAppCache(url);
> >> Future<DOMString[]> getAppCacheList();
> >> }
> >
> >
> > There is no way to create an alias binding for shortening these calls—the
> > kids love shorthanding ;)
> >
> > This isn't really a navigator capability is it? Perhaps instead of adding
> > surface to navigator, a new global called "platform", for platform
> related
> > APIs that aren't quite navigator, document or window (?) capabilities...
>
> Yeah, I wasn't sure what to do about this. I'm not really exited about
> adding a property to the global object which has a name that is as
> generic as "platform".
>
> > partial interface Window {
> > Object platform
> > }
> >
> > partial interface platform {
> > Object appCache
> > }
> >
> > interface appCache {
> > Future<AppCache> install(url);
> > Future<AppCache> get(url);
> > Future<boolean> remove(url);
> > Future<DOMString[]> list();
> > }
>
> I like this general approach other than the issue mentioned above.
>
> > If that's not desirable (which I can easily understand), then dump it on
> the
> > window. Yes, it stinks to put more "things" on the window object, but
> > developers understand recognize the pattern (it's also minifier friendly)
> >
> > partial interface Window {
> > Object appCache
> > }
> >
> > interface appCache {
> > Future<AppCache> install(url);
> > Future<AppCache> get(url);
> > Future<boolean> remove(url);
> > Future<DOMString[]> list();
> > }
>
> This might be more ok. As would sticking the appCache property on the
> navigator object be.
>
> >> partial interface Document {
> >> AppCache appCache;
> >> readonly attribute boolean appCacheUpdateAvailable;
> >> attribute EventHandler onappcacheupdateavailable;
> >> }
> >
> > As an author, I would already know that I'm working with an "appCache"
> > object, therefore the word "appCache" prefix on the boolean property is
> just
> > junk that's not "minifiable".
>
> The "updateAvailable" isn't really a property of the AppCache object
> though. An appcache is updated as soon as it has been downloaded. It's
> the view that the user is currently looking at that is out-of-date.
>
Yep, I misread that—thanks for clarifying.
>
> Possibly if we add a appCache property on window or navigator then
> putting the property there might work.
>
Even better :)
> / Jonas
>
Received on Wednesday, 27 March 2013 02:05:30 UTC