- From: <bugzilla@jessica.w3.org>
- Date: Thu, 23 Feb 2012 05:22:23 +0000
- To: public-css-bugzilla@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=15964
Dirk Schulze <dschulze@adobe.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |LATER
--- Comment #2 from Dirk Schulze <dschulze@adobe.com> 2012-02-23 05:22:22 UTC ---
(In reply to comment #1)
> These are all handled by WebIDL. E.g., the declaration "CSSMatrix
> multiply(in CSSMatrix secondMatrix);" means that if anything other than a
> CSSMatrix is passed to multiply(), an exception will be thrown. This is the
> algorithm implementations must use for executing operations:
>
> http://dev.w3.org/2006/webapi/WebIDL/#es-operations
>
> It includes the step "Let values be the result of passing entry and arg0..n−1
> to the argument resolution algorithm." That says:
>
> """
> Initialize values0..m−1 to be a list of IDL values, where valuesi is the result
> of converting argi to an IDL value of type ti. These conversions must be done
> in order from arg0 to argm−1.
> """
> http://dev.w3.org/2006/webapi/WebIDL/#dfn-argument-resolution-algorithm
>
> CSSMatrix is an interface type, and to convert to an interface type UAs must
> follow this algorithm:
>
> http://dev.w3.org/2006/webapi/WebIDL/#es-interface
>
> . . . which will throw a TypeError.
>
> So more specifically:
>
> (In reply to comment #0)
> > For instance what happens with multiply if null gets passed?
>
> Throws a TypeError, per above.
>
> > What happens if one of the attributes get set with NaN?
>
> Then it gets set as NaN. WebIDL allows any values for float/double that IEEE
> 754 does, same as ECMAScript. This is probably not desired, but it's a WebIDL
> bug, not a CSS bug. I filed bug 16075 against WebIDL.
>
> > What happens on translate, scale, rotate on passing NaN? What will be the
> > resulting Matrix?
> > What happens if multiply gets a CSSMatrix but some of its attributes are NaN?
>
> In theory, you should follow IEEE 754 rules for multiplication here. This will
> probably result in a bunch more matrix entries getting set to NaN or infinite
> values. This isn't wanted, obviously, which is why WebIDL should specify
> throwing a TypeError here.
I agree. We should come to this topic later again. At the moment we delay it to
CSS4 Transforms.
--
Configure bugmail: https://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
Received on Thursday, 23 February 2012 05:22:25 UTC