Re: Notes from Monday's meeting with TC39 folks

On Oct 8, 2009, at 7:50 AM, Anne van Kesteren wrote:

> On Thu, 08 Oct 2009 16:34:40 +0200, Brendan Eich  
> <brendan@mozilla.org> wrote:
>> On Oct 8, 2009, at 1:00 AM, Maciej Stachowiak wrote:
>>> Web IDL just specifies the notion of callable interfaces, not
>>> callable collections per se.
>>
>> We don't want a honey trap in WebIDL, or particular bears putting
>> their noses in it in HTML5.
>
> Nonetheless I think Maciej is right. WebIDL could discourage use of  
> course. Though I guess you are saying we might not need them at all,  
> ever. Does that work for document.all?

It turns out document.all is callable. Whether this is necessary for  
IE compatibility on the Web, I'm not sure.

But let's say document.all needs to be callable, if emulated when used  
without object detection. Our recommendation from the meeting was that  
"caller" go in an optional-but-normative part of the WebIDL spec, not  
in the required-and-normative parts.

We aim to get rid of what is not needed, and put bad old forms that we  
can't get rid of in penalty boxes. This is in large part social  
engineering, since in any large and layered system if you don't do  
this, you wind up with bad patterns proliferating like weeds.


>> Great, I hope Anne agrees. Sicking is carrying the torch on this  
>> issue
>> to HTML5, IIRC but here we are in public-script-coord -- it would be
>> excellent if we could resolve this promptly.
>
> I asked how exactly IE envisions to remove support for them on this  
> list. I.e. if it is behind a version switch. I've yet to hear back,  
> but I think that if either IE or WebKit removes support for them we  
> can do so too.

Allen of Microsoft heard your question; it's probably best directed to  
Travis Leithead. I'm not sure anyone at Microsoft can promise to  
remove things at this point, but it may be possible with a version  
switch.


> However that somewhat depends on whether IE keeps support behind a  
> version switch because then sites might do the X-UA-Compatible trick  
> and will still work in IE while not in Opera. That'd be annoying.  
> (I'm not up in the details on which sites rely on this exactly  
> unfortunately.)

X-UA-Compatible considered harmful.

Ok, back to striking a balance between providing better forms that  
supplant bad older ones, rather than simply codifying (if not building  
on) bad patterns.

An idea at the meeting from Mark Miller, you won't be surprised by it,  
is to make undetected document.all emulation not occur in ES5 strict  
mode ("use strict"). If you opt into ES5 strict mode in your JS, you  
can't use document.all.

I like this idea because I don't think new code should use  
document.all, and old code that does use it is unlikely to be  
retrofitted with "use strict". There is a risk in coupling to strict  
mode in this way, turning off legacy misfeatures based on a JavaScript  
pragma. But it beats adding another opt-in mechanism. And it cleans up  
JS-level semantics: no magic context-sensitive host-object  
document.all reification, or ES-spec-violating ToBoolean(document.all)  
-> false.

Reactions?

/be

Received on Thursday, 8 October 2009 17:08:51 UTC