Re: [IndexedDB] Do we need a timeout for VERSION_CHANGE?

2010-12-16 Thread Jeremy Orlow
In another thread (in the last couple days) we actually decided to remove
timeouts from normal transactions since they can be implemented as a
setTimeout+abort.

But I agree that we need a way to abort setVersion transactions before
getting the callback (so that we implement timeouts for them as well).
 Unfortunately, I don't immediately have any good ideas on how to do that
though.

J

On Wed, Dec 15, 2010 at 10:46 PM, Pablo Castro
pablo.cas...@microsoft.comwrote:

 Regular transactions take a timeout parameter when started, which ensures
 that we eventually make progress one way or the other if there's an
 un-cooperating script that won't let go of an object store or something like
 that.

 I'm not sure if we discussed this before, it seems that we need to add a
 similar thing for setVersion(), and it's basically a way of starting a
 transaction.

 I was thinking we could have an optional timeout argument in setVersion
 with a UA-specific default. In the async case we would fire the onerror
 event and in the sync case just throw, both with TIMEOUT_ERR.

 Thanks
 -pablo





Re: Rename XBL2 to something without X, B, or L?

2010-12-16 Thread Robin Berjon
On Dec 14, 2010, at 22:24 , Dimitri Glazkov wrote:
 Looking at the use cases and the problems the current XBL2 spec is
 trying address, I think it might be a good idea to rename it into
 something that is less legacy-bound?

I strongly object. We have a long and proud tradition of perfectly horrible and 
meaningless names such as XMLHttpRequest. I don't see why we'd ever have to 
change.

Shadow HTML Anonymous DOm for the Web!

-- 
Robin Berjon - http://berjon.com/






Re: Rename XBL2 to something without X, B, or L?

2010-12-16 Thread Anne van Kesteren

On Thu, 16 Dec 2010 14:51:39 +0100, Robin Berjon ro...@berjon.com wrote:

On Dec 14, 2010, at 22:24 , Dimitri Glazkov wrote:

Looking at the use cases and the problems the current XBL2 spec is
trying address, I think it might be a good idea to rename it into
something that is less legacy-bound?


I strongly object. We have a long and proud tradition of perfectly  
horrible and meaningless names such as XMLHttpRequest. I don't see why  
we'd ever have to change.


Shadow HTML Anonymous DOm for the Web!


Cause I know you are being serious I will be serious as well and point out  
that XMLHttpRequest's name is legacy bound as that is what implementations  
call it and applications are using. XBL2 has none of that.



--
Anne van Kesteren
http://annevankesteren.nl/



答复: Call for Editors for Server-sent Events, Web Storage, and Web Workers

2010-12-16 Thread 潘松柏
Hi Doug and All,

I am Pan Songbai,  from Chinaunicom which is one of the largest telecom
company in China,  now I am studying key-Vale database and interested in
W3C spec, so I want to become an editor,Thanks.

Best regards,
Cooper


 
 
/*  潘松柏 
 *  中国联通集团研究院 
 *  Tel: 010-6879-9587; 186-0110-3003
 *  Mail: pan...@chinaunicom.cn
 */


-邮件原件-
发件人: member-webapps-requ...@w3.org [mailto:member-webapps-requ...@w3.org]
代表 Doug Schepers
发送时间: 2010年12月14日 5:16
收件人: public-webapps@w3.org
主题: Call for Editors for Server-sent Events, Web Storage, and Web Workers

Hi, Folks-

This is an active call for editors for the Server-sent Events [1], Web
Storage [2], and Web Workers [3] specifications.  If you are interested in
becoming an editor, with all the rights and responsibilities that go along
with that, please respond on this thread or email us directly at
team-weba...@w3.org.

Previously, Art Barstow asked for an analysis of the current status of these
specs, with regards to LC comments, implementations, test suites, and so
forth; these are typically performed and coordinated by the editor of a
spec, and it's appropriate that someone doing this work would get editor
credit for their effort.

These specs have not made progress along the Recommendation track in some
time, and we want to move them forward to a stable state.  We appreciate and
acknowledge the work the current editor, Ian Hickson, has put into these
specs, but he seems to have indicated that he does not wish to be the one to
drive them forward (which is understandable, given his other commitments,
such as the HTML5 spec).  Ideally, we would prefer that Ian stay on as
active co-editor, but if the logistics don't work out, we may ask the new
co-editor to take on the sole responsibility for finalizing the spec,
including processing comments from the WebApps WG, and from the community at
large.


In the earlier thread, there was a discussion on the logistics and differing
philosophies on spec development; without dwelling on that topic too much,
it's worth stating that stability of a spec is a goal not only for licensing
commitments, but also as a matter of coordination with multiple
implementers, and for development of the entire infrastructure around a
technology, including tests, tutorials, script libraries, and cutting-edge
usage, some of which happens within W3C, and some of which happens in the
wild.  We have an obligation to our community to make clear and consistent
statements on the stability of our documents, because it costs real time,
effort, and money to invest in these technologies.

Secure and efficient specifications are obviously the most important goal,
but pushing out deadlines and changing the spec without clear progress
toward a stable state is frustrating and troublesome for our community.

There is a difference in strategies between Ian's stated approach and W3C's;
both are valid, but W3C has chosen to publish stable snapshots of
specifications in the form of Recommendations, and to release updates to
those technologies as subsequent editions, or to build upon them with new
versions or levels.

This is the expectation in the WebApps WG, so we are calling for active
co-editors who will dedicate themselves to the task of driving these specs
to a stable state in a reasonable and predictable timeframe.


[1] Server-sent Events
http://www.w3.org/TR/2009/WD-eventsource-20091222/

[2] Web Storage
http://www.w3.org/TR/2009/WD-webstorage-20091222/

[3] Web Workers
http://www.w3.org/TR/2009/WD-workers-20091222/

Regards-
Doug Schepers, W3C Team Contact
Art Barstow (Nokia), Co-Chair
Charles McCathieNevile (Opera), Co-Chair,






Re: Fwd: XBL2: First Thoughts and Use Cases

2010-12-16 Thread Boris Zbarsky

On 12/15/10 11:29 AM, Dimitri Glazkov wrote:

That seems like an implementation detail. Metadata can be shared and
cloned as needed, just like styles in CSS.


Sort of.  It would need to be cloned as soon as the shadow tree is 
mutated, right?  That seems like very fragile behavior from a web author 
point of view, where it's easy to deoptimize without realizing it.


-Boris



Re: XBL2: First Thoughts and Use Cases

2010-12-16 Thread Boris Zbarsky

On 12/15/10 10:53 PM, Maciej Stachowiak wrote:

Are they really contradictory?


Good question.  ;)

If they aren't, great.


Personally, I think it would be a huge win if XBL2-based components could be 
more scalable than ones written in pure JavaScript using vanilla DOM calls. 
That way, XBL2 could enable new kinds of applications and reduce memory use of 
existing applications, rather than just providing convenience and bridging, as 
Tab seems to envision.


Right; I think we're on the same page there.

-Boris



Re: Fwd: XBL2: First Thoughts and Use Cases

2010-12-16 Thread Tab Atkins Jr.
On Thu, Dec 16, 2010 at 10:40 AM, Boris Zbarsky bzbar...@mit.edu wrote:
 On 12/15/10 11:29 AM, Dimitri Glazkov wrote:

 That seems like an implementation detail. Metadata can be shared and
 cloned as needed, just like styles in CSS.

 Sort of.  It would need to be cloned as soon as the shadow tree is mutated,
 right?  That seems like very fragile behavior from a web author point of
 view, where it's easy to deoptimize without realizing it.

At least we can produce simple advice on how to definitely avoid
deoptimizing - stick with the declarative syntax and don't mutate the
shadow.

With luck, enough use-cases will be solveable with the declarative
syntax that this will be an acceptable restriction.

~TJ



Re: Fwd: XBL2: First Thoughts and Use Cases

2010-12-16 Thread Olli Pettay

On 12/16/2010 11:52 AM, Tab Atkins Jr. wrote:

On Thu, Dec 16, 2010 at 10:40 AM, Boris Zbarskybzbar...@mit.edu  wrote:

On 12/15/10 11:29 AM, Dimitri Glazkov wrote:


That seems like an implementation detail. Metadata can be shared and
cloned as needed, just like styles in CSS.


Sort of.  It would need to be cloned as soon as the shadow tree is mutated,
right?  That seems like very fragile behavior from a web author point of
view, where it's easy to deoptimize without realizing it.


At least we can produce simple advice on how to definitely avoid
deoptimizing - stick with the declarative syntax and don't mutate the
shadow.

With luck, enough use-cases will be solveable with the declarative
syntax that this will be an acceptable restriction.


Well, at least with XBL1 modifying the shadow tree is very common.
And I would assume that to be rather common with XBL2 too.


-Olli




~TJ







Re: Fwd: XBL2: First Thoughts and Use Cases

2010-12-16 Thread Dimitri Glazkov
On Thu, Dec 16, 2010 at 10:40 AM, Boris Zbarsky bzbar...@mit.edu wrote:
 On 12/15/10 11:29 AM, Dimitri Glazkov wrote:

 That seems like an implementation detail. Metadata can be shared and
 cloned as needed, just like styles in CSS.

 Sort of.  It would need to be cloned as soon as the shadow tree is mutated,
 right?  That seems like very fragile behavior from a web author point of
 view, where it's easy to deoptimize without realizing it.

I agree that it's going to be difficult to get this right, but
semi-live templates (if you change it here, it will reflect on all
instances, but it you change it here, it won't) seem even more
fragile. That's why Hixie made XBL2's templates always-live, I think.

But I totally get the need of coming up with a solution that doesn't
end up being a memory hog.

:DG


 -Boris




Re: XBL2: First Thoughts and Use Cases

2010-12-16 Thread Dimitri Glazkov
On Wed, Dec 15, 2010 at 10:53 PM, Maciej Stachowiak m...@apple.com wrote:

 On Dec 15, 2010, at 11:14 AM, Boris Zbarsky wrote:



 At least in Gecko's case, we still use XBL1 in this way, and those design
 goals would apply to XBL2 from our point of view.  It sounds like you have
 entirely different design goals, right?

 Sounds like it.

 OK, so given contradictory design goals, where do we go from here?

 Are they really contradictory? It sounds like Tab doesn't care about the use 
 case where you want hundreds or thousands of instances without undue memory 
 use, since he's looking to replace technologies that already don't support 
 this. But it doesn't seem like these use cases are fundamentally incompatible.

 Personally, I think it would be a huge win if XBL2-based components could be 
 more scalable than ones written in pure JavaScript using vanilla DOM calls. 
 That way, XBL2 could enable new kinds of applications and reduce memory use 
 of existing applications, rather than just providing convenience and 
 bridging, as Tab seems to envision.

FWIW, I think Tab agrees with you here (right, Tab? :). If you want to
introduce new capabilities, might as well make them lean and mean.

:DG


 Regards,
 Maciej





Re: Fwd: XBL2: First Thoughts and Use Cases

2010-12-16 Thread Dimitri Glazkov
On Thu, Dec 16, 2010 at 12:23 PM, Olli Pettay olli.pet...@helsinki.fi wrote:
 On 12/16/2010 11:52 AM, Tab Atkins Jr. wrote:

 On Thu, Dec 16, 2010 at 10:40 AM, Boris Zbarskybzbar...@mit.edu  wrote:

 On 12/15/10 11:29 AM, Dimitri Glazkov wrote:

 That seems like an implementation detail. Metadata can be shared and
 cloned as needed, just like styles in CSS.

 Sort of.  It would need to be cloned as soon as the shadow tree is
 mutated,
 right?  That seems like very fragile behavior from a web author point of
 view, where it's easy to deoptimize without realizing it.

 At least we can produce simple advice on how to definitely avoid
 deoptimizing - stick with the declarative syntax and don't mutate the
 shadow.

 With luck, enough use-cases will be solveable with the declarative
 syntax that this will be an acceptable restriction.

 Well, at least with XBL1 modifying the shadow tree is very common.
 And I would assume that to be rather common with XBL2 too.

Yes.



 -Olli



 ~TJ







Re: Fwd: XBL2: First Thoughts and Use Cases

2010-12-16 Thread Boris Zbarsky

On 12/16/10 1:00 PM, Dimitri Glazkov wrote:

I agree that it's going to be difficult to get this right, but
semi-live templates (if you change it here, it will reflect on all
instances, but it you change it here, it won't) seem even more
fragile.


Sure.  I'm proposing that templates be completely dead.  I'm also 
proposing that, for a first cut, shadow trees be completely dead (in the 
will throw exception if you try to add or remove nodes sense), unless 
we can figure out how to efficiently implement live shadow trees.


-Boris



Re: Fwd: XBL2: First Thoughts and Use Cases

2010-12-16 Thread Tab Atkins Jr.
On Thu, Dec 16, 2010 at 1:33 PM, Boris Zbarsky bzbar...@mit.edu wrote:
 On 12/16/10 1:00 PM, Dimitri Glazkov wrote:

 I agree that it's going to be difficult to get this right, but
 semi-live templates (if you change it here, it will reflect on all
 instances, but it you change it here, it won't) seem even more
 fragile.

 Sure.  I'm proposing that templates be completely dead.  I'm also proposing
 that, for a first cut, shadow trees be completely dead (in the will throw
 exception if you try to add or remove nodes sense), unless we can figure
 out how to efficiently implement live shadow trees.

Hmm.  Olli just said that shadow mutations are common in XBL1.  I'm
somewhat loathe to make it automatically dead.

On the other hand, there are lots of use-cases where dead shadows are
perfectly fine, so having some declarative way to differentiate
between whether the shadow needs to be live or dead might work.

For example, adding resize handles to an image doesn't require a live
shadow.  The handles can be static; they'll need listeners registered
on them, but that's it.  Same with video controls, or select
substructure.

It sounds like it's fine for the shadow to mutate, so long as nodes
aren't added/created/moved.  For example, I can twiddle attributes on
a shadow node without requiring the more expensive map all the
metadata out step, right?  The idea is just that we can, as an
optimization, keep all the metadata on a central shared object, so
that any time I, say, add a normal-DOM node to a component, I can just
go check that central data object to see where to forward the node?

~TJ



RE: [IndexedDB] Do we need a timeout for VERSION_CHANGE?

2010-12-16 Thread Pablo Castro

From: jor...@google.com [mailto:jor...@google.com] On Behalf Of Jeremy Orlow
Sent: Thursday, December 16, 2010 2:35 AM

In another thread (in the last couple days) we actually decided to remove 
timeouts from normal transactions since they can be implemented as a 
setTimeout+abort.

But I agree that we need a way to abort setVersion transactions before 
getting the callback (so that we implement timeouts for them as well).  
Unfortunately, I don't immediately have any good ideas on how to do that 
though.

Sorry, forgot to qualify it, context == sync api. I assume that the sync 
versions of the API will truly block, so setTimeout won't do as code won't just 
reenter into the timeout callback while blocked on a sync IndexedDB call, are 
we all on the same page on that? If that's the case, then I don't think we can 
remove the timeout parameter from the sync versions of transaction() and 
setVersion(). Does that sound reasonable? I'll add them for now, we can adjust 
if somebody come up with a better approach.

As for setVersion in async...that's actually a problem as well now that I think 
about it because you don't have access to the (version) transaction object 
until it actually was able to start. One option besides having a timeout 
parameter in the method would be to have an abort() method in 
IDBVersionChangeRequest. 

Thanks,
-pablo




[IndexedDB] KeyRange factory methods

2010-12-16 Thread Pablo Castro
I was going to file a bug on this but wanted to make sure I'm not missing 
something first.

All the factory methods for ranges (e.g. bound, lowerBound, etc.) are in the 
IDBKeyRangeConstructors interface now, but I don't see the interface referenced 
anywhere. Who implements this interface, the Window object, IDBFactory[Sync], 
something else?

Thanks
-pablo