- From: <bugzilla@jessica.w3.org>
- Date: Mon, 10 Dec 2012 23:47:38 +0000
- To: public-webapps-bugzilla@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=16767
--- Comment #19 from Cameron McCormack <cam@mcc.id.au> ---
(In reply to comment #18)
> But passing in a platform object that _does_ support indexed properties is
> OK. And those are still distinguishable from sequence types. In fact there
> are specs out there that use this (e.g. WebGL overloads on sequence vs typed
> array).
Hmm, it is a bit of an oddity then that we make them distinguishable so that
they can be overloaded, but we still allow a typed array object to be converted
to a sequence<> type successfully in other (non-overloading) contexts.
For example take:
void uniform1fv(WebGLUniformLocation? location, Float32Array v);
void uniform1fv(WebGLUniformLocation? location, sequence<GLfloat> v);
What is the desired behaviour here if you pass in a say Int32Array? Should it
select the sequence<> overload, and run a bit slower? Or should it throw?
My thought in allowing platform objects that support indexed properties to
things expecting a sequence is so that e.g.
interface A {
void f(sequence<Node> x);
};
a.f(aNodeList);
would just work.
Is it maybe not worth supporting this automatically, and instead requiring the
spec author to have an explicit overload to take a NodeList?
> > Because the overload resolution algorithm and the type conversion algorithms
> > aren't in sync?
>
> Yes.
I've fixed that bit:
http://dev.w3.org/cvsweb/2006/webapi/WebIDL/Overview.xml.diff?r1=1.584;r2=1.585;f=h
--
You are receiving this mail because:
You are the QA Contact for the bug.
Received on Monday, 10 December 2012 23:47:41 UTC