Re: [whatwg] Structured clone algorithm on LocalStorage

2009-09-29 Thread Jonas Sicking
On Tue, Sep 29, 2009 at 12:19 AM, Darin Fisher  wrote:
> On Thu, Sep 24, 2009 at 11:57 PM, Jonas Sicking  wrote:
>>
>> On Thu, Sep 24, 2009 at 9:04 PM, Darin Fisher  wrote:
>> > On Thu, Sep 24, 2009 at 4:43 PM, Jonas Sicking  wrote:
>> >>
>> >> On Thu, Sep 24, 2009 at 10:52 AM, Darin Fisher 
>> >> wrote:
>> >> > On Thu, Sep 24, 2009 at 10:40 AM, Jonas Sicking 
>> >> > wrote:
>> >> >>
>> >> >> On Thu, Sep 24, 2009 at 1:17 AM, Darin Fisher 
>> >> >> wrote:
>> >> >> > On Thu, Sep 24, 2009 at 12:20 AM, Jonas Sicking 
>> >> >> > wrote:
>> >> >> >>
>> >> >> >> On Wed, Sep 23, 2009 at 10:19 PM, Darin Fisher
>> >> >> >> 
>> >> >> >> wrote:
>
> ... snip ...
>
>>
>> >> >> >> > multi-core is the future.  what's the opposite of fine-grained
>> >> >> >> > locking?
>> >> >> >> >  it's not good ;-)
>> >> >> >> > the implicit locking mechanism as spec'd is super lame.
>> >> >> >> >  implicitly
>> >> >> >> > unlocking under
>> >> >> >> > mysterious-to-the-developer circumstances!  how can that be a
>> >> >> >> > good
>> >> >> >> > thing?
>> >> >> >> > storage.setItem("y",
>> >> >> >> > function_involving_implicit_unlocking(storage.getItem("x")));
>> >> >> >>
>> >> >> >> I totally agree on all points. The current API has big
>> >> >> >> imperfections.
>> >> >> >> However I haven't seen any workable counter proposals so far, and
>> >> >> >> I
>> >> >> >> honestly don't believe there are any as long as our goals are:
>> >> >> >>
>> >> >> >> * Don't break existing users of the current implementations.
>> >> >> >> * Don't expose race conditions to the web.
>> >> >> >> * Don't rely on authors getting explicit locking mechanisms
>> >> >> >> right.
>> >> >> >>
>> >> >> >
>> >> >> > The current API exposes race conditions to the web.  The implicit
>> >> >> > dropping of the storage lock is that.  In Chrome, we'll have to
>> >> >> > drop
>> >> >> > an existing lock whenever a new lock is acquired.  That can happen
>> >> >> > due to a variety of really odd cases (usually related to nested
>> >> >> > loops
>> >> >> > or nested JS execution), which will be difficult for developers to
>> >> >> > predict, especially if they are relying on third-party JS
>> >> >> > libraries.
>> >> >> > This issue seems to be discounted for reasons I do not understand.
>> >> >>
>> >> >> I don't believe we've heard about this before, so that would be the
>> >> >> reason it hasn't been taken into account.
>> >> >>
>> >> >> So you're saying that chrome would be unable implement the current
>> >> >> storage mutex as specified in spec? I.e. one that is only released
>> >> >> at
>> >> >> the explicit points that the spec defines? That seems like a huge
>> >> >> problem.
>> >> >
>> >> > No, no... my point is that to the application developer, those
>> >> > "explicit"
>> >> > points will appear quite implicit and mysterious.  This is why I
>> >> > called
>> >> > out third-party JS libraries.  One day, a function that you are using
>> >> > might transition to scripting a plugin, which might cause a nested
>> >> > loop, which could then force the lock to be released.  As a
>> >> > programmer,
>> >> > the unlocking is not explicit or predictable.
>> >>
>> >> Ah, indeed, this is a problem. However the unfortunate fact remains
>> >> that so far no other workable solution has been proposed.
>> >
>> > OK, so we agree that the current solution doesn't meet the goals you
>> > stated above :-(
>>
>> Well, it addresses them as long as users are aware of the risk, and
>> properly document weather their various library functions will release
>> the lock or not. However I agree that it's unlikely that they will do
>> so correctly.
>
> I thought the point of not having lock APIs was that users shouldn't have
> to understand locks ;-)  The issue I've raised here is super subtle.  We
> have not succeeded in avoiding subtlety!

I think we're mostly in agreement. What I'm not sure about is what you
are proposing we do with localStorage? Remove it from the spec? Change
the API? Something else?

>> >> > Moreover, there are other examples which have been discussed on the
>> >> > list.  There are some DOM operations that can result in a frame
>> >> > receiving
>> >> > a DOM event synchronously.  That can result in a nesting of storage
>> >> > locks,
>> >> > which can force us to have to implicitly unlock the outermost lock to
>> >> > avoid
>> >> > deadlocks.  Again, the programmer will have very poor visibility into
>> >> > when
>> >> > these things can happen.
>> >>
>> >> So far I don't think it has been shown that these events need to be
>> >> synchronous. They all appear to be asynchronous in gecko, and in the
>> >> case of different-origin frames, I'm not even sure there's a way for
>> >> pages to detect if the event was fired asynchronously or not.
>> >
>> > IE and WebKit dispatch some of them synchronously.  It's hard to say
>> > which
>> > is correct or if it causes any web compat isues.  I'm also not sure that
>> > we
>> > have covered all of the cases.
>>
>> It still seems to 

Re: [whatwg] Text areas with pattern attributes?

2009-09-29 Thread Ian Hickson
On Mon, 31 Aug 2009, Jonas Sicking wrote:
> On Mon, Aug 31, 2009 at 12:04 AM, Ian Hickson wrote:
> > On Sun, 30 Aug 2009, Jonas Sicking wrote:
> >>
> >> Ok, addresses might not be the best example. I would imagine that 
> >> most use cases for pattern for a single line, carries over if you 
> >> want to have that single line wrap and be displayed as multiple 
> >> lines. So if you can provide the list of use cases that was used to 
> >> add pattern on single-line input and I'd be very surprised if not 
> >> most of them carries over to multi-line.
> >
> > The main use cases that were considered as far as I recall were credit 
> > card numbers and other bank numbers (we originally considered type=cc 
> > but that turned out to be more locale-specific than expected), social 
> > security numbers and other formatted serial numbers, and username 
> > fields that exclude certain characters.
> 
> So add 'multiple' on all of those and you'll have a good reason you'd 
> want them all to be able to wrap over multiple lines. I.e. ability to 
> enter multiple bank numbers, multiple social security numbers or 
> multiple usernames.

I could see an argument for . That's 
probably best left for a future version though.

But I don't think that's the same as multiline input.


> >> The difference between  and  is mostly a 
> >> rendering one. One scrolls the text when it can't fit, the other 
> >> wraps. Do you really think that creates enough of a difference that 
> >> the feature set should be different?
> >
> > The feature sets are different in many other ways. This is hardly an 
> > exception. For example,  has no list="" support, cols="" 
> > works differently than size="", the default value is set differently, 
> >  doesn't support autocomplete, etc.
> 
> All of these seem like a bad idea to keep separate for multiline inputs 
> vs. single line inputs. Except for the default value which for historic 
> reasons make sense to use separate mechanisms, and cols/size which are 
> both mostly rendering differences.

It's not clear how list="" would work with , and I'm not aware 
of any UA that does  autocomplete.

I don't necessarily think all this is how I would design this if we were 
starting from scratch, but we're not, and I don't think we should be 
making them consistent at this point without good use cases.

-- 
Ian Hickson   U+1047E)\._.,--,'``.fL
http://ln.hixie.ch/   U+263A/,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'


Re: [whatwg] [html5] r4029 - [e] (0) Example of use without .

2009-09-29 Thread Gordon P. Hemsley
Ah. I was afraid you might say that.

On Tue, Sep 29, 2009 at 6:54 PM, Ian Hickson  wrote:

> On Tue, 29 Sep 2009, Gordon P. Hemsley wrote:
> >
> > s/Html/html/
>
> Actually that was intentional in that example. I like to show a variety of
> syntaxes so that people can see that they can do whichever one they
> prefer.
>
> --
> Ian Hickson   U+1047E)\._.,--,'``.fL
> http://ln.hixie.ch/   U+263A/,   _.. \   _\  ;`._ ,.
> Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'
>



-- 
Gordon P. Hemsley
m...@gphemsley.org
http://gphemsley.org/ • http://gphemsley.org/blog/
http://sasha.sourceforge.net/ • http://www.yoursasha.com/


Re: [whatwg] [html5] r4029 - [e] (0) Example of use without .

2009-09-29 Thread Ian Hickson
On Tue, 29 Sep 2009, Gordon P. Hemsley wrote:
>
> s/Html/html/

Actually that was intentional in that example. I like to show a variety of 
syntaxes so that people can see that they can do whichever one they 
prefer.

-- 
Ian Hickson   U+1047E)\._.,--,'``.fL
http://ln.hixie.ch/   U+263A/,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'


Re: [whatwg] The new content model for breaks rendering in MSIE5-7

2009-09-29 Thread Keryx Web

2009-09-29 21:53, Dean Edwards skrev:

Can't we just invent some new elements? We've already created 20 new
ones. Two more won't hurt. :)


This has been discussed on the HTML5 WG list to death.

- figure IS new
- details IS new

BUT

over a few peoples dead bodies it seem, that we should add one or two 
new elements to make them work that would be:


- intuitive and easy to teach
- semantically clear

and that would have:

- zero technical problems
- no added costs for browser makers to implement, since it would be done 
in conjunction with figure and details as such anyway


Instead we have a "solution" that:

- currently requires weird and fragile hacks
- redefines the semantics of existing elements

Just because adding elements is "evil".

I actually do not know what argument that could sway peoples minds on 
this issue. It is beyond reason to me. I mean, it is not as if the dt/dd 
had been carefully discussed and researched BEFORE it entered the 
spec... Something I thought was a criterion for inclusion.



--
Keryx Web (Lars Gunther)
http://keryx.se/
http://twitter.com/itpastorn/
http://itpastorn.blogspot.com/


Re: [whatwg] The new content model for breaks rendering in MSIE5-7

2009-09-29 Thread Dean Edwards

On 29/09/2009 20:41, Tab Atkins Jr. wrote:

On Tue, Sep 29, 2009 at 2:08 PM, Dean Edwards  wrote:

You have two choices to get around the  rendering bug:

1. The potentially dangerous document.write()

2. Inserting weird conditional comments into your code:


 


I don't like either solution.


The third solution, of course, is just to avoid  until IE7
shrinks sufficiently to be ignored.  That won't take too much longer,
and then you can start using it with impunity (aided by a js shim to
give it functionality in the browsers that accept it but don't
implement it yet).


It's going to take a while for IE7 to go away. In the meantime it 
becomes an education issue -- "You can start using HTML5 except 
 which will look OK in some browsers but completely break others."



This whole thing is really much less of an issue than the
problems were, where you'd have to wait for *every* current browser to
phase out, as opposed to just two that are already declining nicely.


The  issue was much easier to fix with JavaScript. But that was 
a horrible solution as well.


Can't we just invent some new elements? We've already created 20 new 
ones. Two more won't hurt. :)


-dean


Re: [whatwg] The new content model for breaks rendering in MSIE5-7

2009-09-29 Thread Tab Atkins Jr.
On Tue, Sep 29, 2009 at 2:08 PM, Dean Edwards  wrote:
> You have two choices to get around the  rendering bug:
>
> 1. The potentially dangerous document.write()
>
> 2. Inserting weird conditional comments into your code:
>
>    
>     
>    
>
> I don't like either solution.

The third solution, of course, is just to avoid  until IE7
shrinks sufficiently to be ignored.  That won't take too much longer,
and then you can start using it with impunity (aided by a js shim to
give it functionality in the browsers that accept it but don't
implement it yet).

This whole thing is really much less of an issue than the 
problems were, where you'd have to wait for *every* current browser to
phase out, as opposed to just two that are already declining nicely.

After all, we're already happy enough using s or s or
whatever to implement that functionality.  It would be nice to
immediately start using the new stuff, but the timeline for when it's
viable isn't so long as to be unworkable.  In the meantime, we just
keep doing what we're already doing.

~TJ


Re: [whatwg] The new content model for breaks rendering in MSIE5-7

2009-09-29 Thread Dean Edwards

On 29/09/2009 19:30, Keryx Web wrote:

2009-09-29 19:10, Dean Edwards skrev:


There is a nasty side effect though. As you mentioned the
document.write() should be the last thing in the . If there are
any scripts following the document.write() then they are *not executed*.
I consider this a serious drawback. With server software generating
script elements all over the place there are bound to be problems with
this technique. It would be nice to find a better solution.



I consider this a deal breaker. Fragile and unintuitive hacks, that
really no one knows or can explain why they work, is NOT the kind of
things we should rely on when pushing for HTML5.



I'm starting to think that too. MSIE5-7 accounts for about a third of 
web users. This admittedly clever hack is just too hackish.


You have two choices to get around the  rendering bug:

1. The potentially dangerous document.write()

2. Inserting weird conditional comments into your code:


 


I don't like either solution.

-dean


Re: [whatwg] The new content model for breaks rendering in MSIE5-7

2009-09-29 Thread Keryx Web

2009-09-29 19:10, Dean Edwards skrev:


There is a nasty side effect though. As you mentioned the
document.write() should be the last thing in the . If there are
any scripts following the document.write() then they are *not executed*.
I consider this a serious drawback. With server software generating
script elements all over the place there are bound to be problems with
this technique. It would be nice to find a better solution.



I consider this a deal breaker. Fragile and unintuitive hacks, that 
really no one knows or can explain why they work, is NOT the kind of 
things we should rely on when pushing for HTML5.




--
Keryx Web (Lars Gunther)
http://keryx.se/
http://twitter.com/itpastorn/
http://itpastorn.blogspot.com/


Re: [whatwg] The new content model for breaks rendering in MSIE5-7

2009-09-29 Thread Dean Edwards

On 29/09/2009 17:55, Dean Edwards wrote:

On 29/09/2009 16:12, Tab Atkins Jr. wrote:

On Tue, Sep 29, 2009 at 8:47 AM, Dean Edwards
wrote:


This will also affect the element.

Test case:

http://dean.edwards.name/test/details.html


Luckily this has already been discovered and hacked around:

http://lists.w3.org/Archives/Public/public-html/2009Sep/0802.html

This hack can also be applied via document.write(), so it can be
integrated into existing scripts that fix legacy IE renderings via the
document.createElement() hack. (The only restriction is that it
immediately switches IE parsing into body mode, so it must be the very
last thing in.)



I can't get it to work using document.write(). Do you have a live example?



It's always the last thing you try. :)

http://dean.edwards.name/test/details2.html

There is a nasty side effect though. As you mentioned the 
document.write() should be the last thing in the . If there are 
any scripts following the document.write() then they are *not executed*. 
I consider this a serious drawback. With server software generating 
script elements all over the place there are bound to be problems with 
this technique. It would be nice to find a better solution.


-dean


Re: [whatwg] Workers and addEventListener

2009-09-29 Thread Drew Wilson
The intent of the spec is fairly clear that addEventListener("message")
should not start the message queue dispatch - only setting the onmessage
attribute does that:
The first time a MessagePort <#messageport> object's
onmessage<#handler-messageport-onmessage> IDL
attribute is set, the port's port message queue <#port-message-queue> must
be enabled, as if the start() <#dom-messageport-start> method had been
called.

In fact, the only reason for the existence of the MessagePort.start() method
is to enable applications to start message queue dispatch when using
addEventListener().

I don't have a strong opinion as to whether we should change the spec,
though. I suspect not, given Anne's email. We should instead change the
example in the workers spec to call start().

-atw

On Tue, Sep 29, 2009 at 2:13 AM, Anne van Kesteren  wrote:

> On Tue, 29 Sep 2009 09:13:17 +0200, Zoltan Herczeg <
> zherc...@inf.u-szeged.hu> wrote:
>
>> Anyway, my qestion is:
>>  - should addEventListener enable message transmitting?
>>  - Should it do it in all cases, or only when "message" is passed as the
>> first argument
>>
>
> I don't think it should. Web Workers should not modify the semantics of
> addEventListener.
>
>
> --
> Anne van Kesteren
> http://annevankesteren.nl/
>


Re: [whatwg] The new content model for breaks rendering in MSIE5-7

2009-09-29 Thread Tab Atkins Jr.
On Tue, Sep 29, 2009 at 11:55 AM, Dean Edwards  wrote:
> I can't get it to work using document.write(). Do you have a live example?

Yup.  http://www.xanthir.com/etc/html5-details-fix.html

(This works in IE8 when the page mode is set to IE7 or Quirks.  It's
possible that this doesn't actually work in a real IE7 or IE6, but I
have no way to test it.)

> And kudos to the guy that discovered this hack. I have no idea how it works
> but it seems to do the trick. Do you have any background to this hack apart
> from what was on the W3C list?

Unfortunately, no.  We do know that actually wrapping a  in an
 fixes things, but I have no clue how or why putting an
unclosed  in the  (which doesn't end up appearing in the
actual DOM) works.

~TJ


Re: [whatwg] The new content model for breaks rendering in MSIE5-7

2009-09-29 Thread Dean Edwards

On 29/09/2009 16:12, Tab Atkins Jr. wrote:

On Tue, Sep 29, 2009 at 8:47 AM, Dean Edwards  wrote:


This will also affect the  element.

Test case:

http://dean.edwards.name/test/details.html


Luckily this has already been discovered and hacked around:

http://lists.w3.org/Archives/Public/public-html/2009Sep/0802.html

This hack can also be applied via document.write(), so it can be
integrated into existing scripts that fix legacy IE renderings via the
document.createElement() hack.  (The only restriction is that it
immediately switches IE parsing into body mode, so it must be the very
last thing in.)



I can't get it to work using document.write(). Do you have a live example?

And kudos to the guy that discovered this hack. I have no idea how it 
works but it seems to do the trick. Do you have any background to this 
hack apart from what was on the W3C list?


-dean


Re: [whatwg] The new content model for breaks rendering in MSIE5-7

2009-09-29 Thread Tab Atkins Jr.
On Tue, Sep 29, 2009 at 8:47 AM, Dean Edwards  wrote:
>
> This will also affect the  element.
>
> Test case:
>
> http://dean.edwards.name/test/details.html

Luckily this has already been discovered and hacked around:

http://lists.w3.org/Archives/Public/public-html/2009Sep/0802.html

This hack can also be applied via document.write(), so it can be
integrated into existing scripts that fix legacy IE renderings via the
document.createElement() hack.  (The only restriction is that it
immediately switches IE parsing into body mode, so it must be the very
last thing in .)

~TJ


[whatwg] Closing tags for empty content model

2009-09-29 Thread Jim Jewett
> Just to reiterate, Opera<10 treats all unknown elements as container
> (flow) elements.

Most desktop Opera installations (only in the US?) were put there by
an end user, and offer to update themselves.  Is Opera < 10 likely to
still be common by the time the spec actually exits last call?

-jJ


Re: [whatwg] Cache Manifest: why have NETWORK?

2009-09-29 Thread Anne van Kesteren
On Thu, 24 Sep 2009 10:43:57 +0200, Anne van Kesteren   
wrote:
On Wed, 23 Sep 2009 20:09:03 +0200, Michael Nordman  
 wrote:

For cases where you don't want to, or can't,  'fallback' on a cached
resource.
ex 1.

http://server/get/realtime/results/from/the/outside/worldCreating a  
fallback

resource with a mock error or empty response is busy work.

ex 2.

http://server/change/some/state/on/server/side?id=x&newValue=y
Ditto


You could fallback to a non-existing fallback or some such. But if it is  
really needed NETWORK should get priority over FALLBACK in my opinion  
(or at least the subset of NETWORK that is not a wildcard) so in cases  
like this


   FALLBACK:
   / /fallback

   NETWORK
   /realtime-api
   /update

... you do not get /fallback all the time.


If this change is not made (though I hope it will, since it makes sense)  
the specification should make it more clear in the writing section (and  
maybe in parsing too) of the manifest that having both a wildcard and some  
network URLs does not make sense as the wildcard will always win anyway  
(per the changes to the networking model section).



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


[whatwg] The new content model for breaks rendering in MSIE5-7

2009-09-29 Thread Dean Edwards


This will also affect the  element.

Test case:

http://dean.edwards.name/test/details.html

-dean


Re: [whatwg] [html5] r4029 - [e] (0) Example of use without .

2009-09-29 Thread Gordon P. Hemsley
s/Html/html/

On Tue, Sep 29, 2009 at 4:30 AM, Simon Pieters  wrote:

> On Tue, 29 Sep 2009 07:57:21 +0200,  wrote:
>
>  Author: ianh
>> Date: 2009-09-28 22:57:20 -0700 (Mon, 28 Sep 2009)
>> New Revision: 4029
>>
>> Modified:
>>   index
>>   source
>> Log:
>> [e] (0) Example of  use without .
>>
>> Modified: index
>> ===
>> --- index   2009-09-29 02:41:23 UTC (rev 4028)
>> +++ index   2009-09-29 05:57:20 UTC (rev 4029)
>> @@ -13031,7 +13031,60 @@
>>  
>> +  
>> +   Here is a graduation programme with two sections, one for the
>> +   list of people graduating, and one for the description of the
>> +   ceremony.
>> +
>> +   
>>
>
> s/DOCTPE/DOCTYPE/
>
> --
> Simon Pieters
> Opera Software
>



-- 
Gordon P. Hemsley
m...@gphemsley.org
http://gphemsley.org/ • http://gphemsley.org/blog/
http://sasha.sourceforge.net/ • http://www.yoursasha.com/


Re: [whatwg] Closing tags for empty content model

2009-09-29 Thread Anne van Kesteren
On Tue, 29 Sep 2009 05:58:43 +0200, Dean Edwards   
wrote:
Just to reiterate, Opera<10 treats all unknown elements as container  
(flow) elements. That means that as soon as it encounters a   
tag, all of the following elements are *children* of the   
element. This makes all DOM queries and CSS rules completely useless.  
Allowing a closing  tag solves the problem.


The problem with allowing this is that

  

means

  

which is not intuitive at all.

Also, it might lead people to think that

  x

should work and file bugs on browsers regarding that while it really  
should not (and cannot).


This does suck a little when introducing new void elements, but keeping  
the syntax consistent is worth it in my opinion.



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


Re: [whatwg] Workers and addEventListener

2009-09-29 Thread Anne van Kesteren
On Tue, 29 Sep 2009 09:13:17 +0200, Zoltan Herczeg  
 wrote:

Anyway, my qestion is:
  - should addEventListener enable message transmitting?
  - Should it do it in all cases, or only when "message" is passed as the
first argument


I don't think it should. Web Workers should not modify the semantics of  
addEventListener.



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


Re: [whatwg] [html5] r4029 - [e] (0) Example of use without .

2009-09-29 Thread Simon Pieters

On Tue, 29 Sep 2009 07:57:21 +0200,  wrote:


Author: ianh
Date: 2009-09-28 22:57:20 -0700 (Mon, 28 Sep 2009)
New Revision: 4029

Modified:
   index
   source
Log:
[e] (0) Example of  use without .

Modified: index
===
--- index   2009-09-29 02:41:23 UTC (rev 4028)
+++ index   2009-09-29 05:57:20 UTC (rev 4029)
@@ -13031,7 +13031,60 @@
  
+  
+   Here is a graduation programme with two sections, one for the
+   list of people graduating, and one for the description of the
+   ceremony.
+
+   


s/DOCTPE/DOCTYPE/

--
Simon Pieters
Opera Software


Re: [whatwg] [html5] r4017 - [] (0) Hide margin on 'dd' if in or . Fixing http://www.w3.org [...]

2009-09-29 Thread Simon Pieters

On Tue, 29 Sep 2009 03:01:06 +0200,  wrote:


Author: ianh
Date: 2009-09-28 18:01:05 -0700 (Mon, 28 Sep 2009)
New Revision: 4017

Modified:
   index
   source
Log:
[] (0) Hide margin on 'dd' if in  or .
Fixing http://www.w3.org/Bugs/Public/show_bug.cgi?id=7629




Modified: source
===
--- source  2009-09-29 00:56:20 UTC (rev 4016)
+++ source  2009-09-29 01:01:05 UTC (rev 4017)
@@ -85107,6 +85107,7 @@
 h6 { margin-top: 2.33em; margin-bottom; 2.33em; }
dd { margin-left: 40px; } /* LTR-specific: use  
'margin-right' for rtl elements */

+details > dd, figure > dd { margin-left: 0; }


This should be LTR-specific, too.

--
Simon Pieters
Opera Software


Re: [whatwg] Interface object vs constructor in Web Workers

2009-09-29 Thread Simon Pieters

On Fri, 25 Sep 2009 14:47:10 +0200, Simon Pieters  wrote:

http://www.whatwg.org/specs/web-workers/current-work/#interface-objects-and-constructors  
seems to say that there must be no interface object for Worker and  
SharedWorker, but the constructors are to be available, which doesn't  
make any sense since the constructor and the interface object are in  
fact the same object, unless I'm misunderstanding things.


Also, it should probably say "Worker and SharedWorker" instead of  
"Worker() and SharedWorker(url)".


--
Simon Pieters
Opera Software


Re: [whatwg] Structured clone algorithm on LocalStorage

2009-09-29 Thread Darin Fisher
On Thu, Sep 24, 2009 at 11:57 PM, Jonas Sicking  wrote:

> On Thu, Sep 24, 2009 at 9:04 PM, Darin Fisher  wrote:
> > On Thu, Sep 24, 2009 at 4:43 PM, Jonas Sicking  wrote:
> >>
> >> On Thu, Sep 24, 2009 at 10:52 AM, Darin Fisher 
> wrote:
> >> > On Thu, Sep 24, 2009 at 10:40 AM, Jonas Sicking 
> >> > wrote:
> >> >>
> >> >> On Thu, Sep 24, 2009 at 1:17 AM, Darin Fisher 
> >> >> wrote:
> >> >> > On Thu, Sep 24, 2009 at 12:20 AM, Jonas Sicking 
> >> >> > wrote:
> >> >> >>
> >> >> >> On Wed, Sep 23, 2009 at 10:19 PM, Darin Fisher <
> da...@chromium.org>
> >> >> >> wrote:
>

... snip ...


> >> >> >> > multi-core is the future.  what's the opposite of fine-grained
> >> >> >> > locking?
> >> >> >> >  it's not good ;-)
> >> >> >> > the implicit locking mechanism as spec'd is super lame.
> >> >> >> >  implicitly
> >> >> >> > unlocking under
> >> >> >> > mysterious-to-the-developer circumstances!  how can that be a
> good
> >> >> >> > thing?
> >> >> >> > storage.setItem("y",
> >> >> >> > function_involving_implicit_unlocking(storage.getItem("x")));
> >> >> >>
> >> >> >> I totally agree on all points. The current API has big
> >> >> >> imperfections.
> >> >> >> However I haven't seen any workable counter proposals so far, and
> I
> >> >> >> honestly don't believe there are any as long as our goals are:
> >> >> >>
> >> >> >> * Don't break existing users of the current implementations.
> >> >> >> * Don't expose race conditions to the web.
> >> >> >> * Don't rely on authors getting explicit locking mechanisms right.
> >> >> >>
> >> >> >
> >> >> > The current API exposes race conditions to the web.  The implicit
> >> >> > dropping of the storage lock is that.  In Chrome, we'll have to
> drop
> >> >> > an existing lock whenever a new lock is acquired.  That can happen
> >> >> > due to a variety of really odd cases (usually related to nested
> loops
> >> >> > or nested JS execution), which will be difficult for developers to
> >> >> > predict, especially if they are relying on third-party JS
> libraries.
> >> >> > This issue seems to be discounted for reasons I do not understand.
> >> >>
> >> >> I don't believe we've heard about this before, so that would be the
> >> >> reason it hasn't been taken into account.
> >> >>
> >> >> So you're saying that chrome would be unable implement the current
> >> >> storage mutex as specified in spec? I.e. one that is only released at
> >> >> the explicit points that the spec defines? That seems like a huge
> >> >> problem.
> >> >
> >> > No, no... my point is that to the application developer, those
> >> > "explicit"
> >> > points will appear quite implicit and mysterious.  This is why I
> called
> >> > out third-party JS libraries.  One day, a function that you are using
> >> > might transition to scripting a plugin, which might cause a nested
> >> > loop, which could then force the lock to be released.  As a
> programmer,
> >> > the unlocking is not explicit or predictable.
> >>
> >> Ah, indeed, this is a problem. However the unfortunate fact remains
> >> that so far no other workable solution has been proposed.
> >
> > OK, so we agree that the current solution doesn't meet the goals you
> > stated above :-(
>
> Well, it addresses them as long as users are aware of the risk, and
> properly document weather their various library functions will release
> the lock or not. However I agree that it's unlikely that they will do
> so correctly.


I thought the point of not having lock APIs was that users shouldn't have
to understand locks ;-)  The issue I've raised here is super subtle.  We
have not succeeded in avoiding subtlety!




> >> > Moreover, there are other examples which have been discussed on the
> >> > list.  There are some DOM operations that can result in a frame
> >> > receiving
> >> > a DOM event synchronously.  That can result in a nesting of storage
> >> > locks,
> >> > which can force us to have to implicitly unlock the outermost lock to
> >> > avoid
> >> > deadlocks.  Again, the programmer will have very poor visibility into
> >> > when
> >> > these things can happen.
> >>
> >> So far I don't think it has been shown that these events need to be
> >> synchronous. They all appear to be asynchronous in gecko, and in the
> >> case of different-origin frames, I'm not even sure there's a way for
> >> pages to detect if the event was fired asynchronously or not.
> >
> > IE and WebKit dispatch some of them synchronously.  It's hard to say
> which
> > is correct or if it causes any web compat isues.  I'm also not sure that
> we
> > have covered all of the cases.
>
> It still seems to me that it's extremely unlikely that pages depend on
> cross origin events to fire synchronously. I can't even think of a way
> to test if a browser dispatches these events synchronously or not. Can
> you?



i agree that it seems uncommon.  maybe there could be some odd app that
does something after resizing an iframe that could be dependent on the
event handler setting some data field.  this kind of 

[whatwg] Workers and addEventListener

2009-09-29 Thread Zoltan Herczeg
Hi all,

I am Zoltan Herczeg from University of Szeged, Hungary. I am a member of a
team who working on WebKit browser engine.

In this bug report: https://bugs.webkit.org/show_bug.cgi?id=29801 , Alexey
suggested me that I should contact you about my qestion.

In WebKit implementation of MessagePort the addEventListener("message",
...) does not enable the transmitting of messages. All messages are
actually discarded until a dummy function is assigned to onmessage.
However, after the dummy is assigned, the callback functions passed to
addEventListener start receiving messages.

The shared workers example here http://www.w3.org/TR/workers/ in section
1.2.4 suggests that addEventListener should also enable message
transmitting. However, as Alexey pointed out, the examples are
non-normative. And in the normative text, it is not mentioned that
addEventListener should also enable message transmitting. I feel the
workaround to enable message transmitting for addEventListener is ...
'dumb' now.

Anyway, my qestion is:
  - should addEventListener enable message transmitting?
  - Should it do it in all cases, or only when "message" is passed as the
first argument

Zoltan