Re: [css-variables] How to spec the OM for vars?

On 9/3/12, Boris Zbarsky <bzbarsky@mit.edu> wrote:
> On 9/3/12 8:34 PM, Garrett Smith wrote:
>> What happens when the little 'compatibility view' icon, conveniently
>> located next to the 'reload' button, is clicked? What does IE8 do?
>
> I don't know, but how common are web pages that work in IE8 but not in
> any other browser?
>
A pointless question having nothing to do with the point you're missing?

(for amnesiacs/those new to this thread: obj.var will throw an error
in some implementations. obj.cssVar won't).

>>> It's a definition of what "delete el.style.var.foo" does (though it can
>>> also affect other things, like attempts to use Array.prototype.shift on
>>> the object in some cases).  You can see the spec at
>>> http://dev.w3.org/2006/webapi/WebIDL/#delete
>>
>> At a glance, it looks like it results in a boolean value
>
> That's because the caller in the ES spec (which I pointed you to)
> expects a boolean return value.  Note that the return value of
> [[Delete]] is not the same thing as the return value of the delete
> operator.
>
Delete operator doesn't technically 'return' anything.

But the resulting of the `delete` operator is and has been what? (for
the past 13 years).

>>> I'm not sure why you're so incredulous about "attempt to redefine the
>>> delete operator", by the way, given that Harmony proxies have a delete
>>> trap that's designed to allow proxy implementors to do precisely that.
>>>
>> Redefining the result of the `delete` operator, as it has been for the
>> last 13+ years, in CSSOM vars
>
> No, it's "redefined" in ECMAScript.  Or more precisely, ECMAScript
> provides extension points for redefining it as needed.  See ECMA-357
> sections 9.1.1.3 and 9.2.1.3 for other specifications making use of
> these extension points.
>
I'll pass.

> Also note that even in ES-262 the delete operator does different things
> on different objects.  For example, see the custom [[Delete]] that
> arguments objects have in ECMA-262 section 10.6 (sorry, no subsection
> number for the relevant part of the spec because it's all flat in 10.6;
> you'll just have to search for "[[Delete]] internal method of an
> arguments object".
>
That what, it's got a [[DontDelete]], redefined [[Configurable]].

> So I think your claim about "as it has been for the last 13+ years" is
> just wrong: the delete operator has done different things on different
> kinds of objects for a while already.
>
>> so that it can result in a string value?
>
> I have no idea what you're talking about here.
>
It's only two messages up, IIRC. Try reading the quote from the spec.
I'm not re-quoting it for you again :-(.

>> Nevermind.
>
> Willingly, as long as you stop making factually incorrect statements.  ;)
>
Now that's ironic!
-- 
Garrett
Twitter: @xkit
personx.tumblr.com

Received on Tuesday, 4 September 2012 01:07:32 UTC