On 24/06/14 20:50, Arthur Barstow wrote:
On 6/23/14 4:04 PM, Glenn Adams wrote:
What is the plan, i.e., schedule timeline, for moving WebIDL to REC?
We have now a two year old CR that appears to be stuck and a 2nd
Edition that I'm not sure has made it to FPWD.
Hi Glenn, All,
I don't have any
On 25/06/14 09:02, Arthur Barstow wrote:
OK, thanks for the update Cameron. Would you please remind us how the v1
bugs are designated at such?
With [v1] in the status whiteboard field of the bug. (There's still a
bunch of list email I need to go through and file bugs for so the list
will
Travis Leithead wrote:
There’s 50 some-odd bugs under the bugzilla component for WebIDL. Many
of them look like simple editorial fixes that could be applied to the CR
draft, but others are feature requests, or issues related to new
features added to the Second Edition.
Are you currently
On 9/12/12 1:51 PM, Boris Zbarsky wrote:
The relevant part of the spec is:
The result of converting an IDL callback function type value to an
ECMAScript value is a reference to the same object that the IDL
callback function type value represents.
which presupposes that there's an
On 8/12/12 1:56 PM, Boris Zbarsky wrote:
We have a way to represent user functions that platform objects can
call: callbacks.
But I don't think there's really a good way to represent functions that
are not hanging off any particular object that user code can call. Or
can callbacks be used for
Rick Waldron:
Explicit undefined will trigger default values. (see:
https://mail.mozilla.org/pipermail/es-discuss/2012-July/024207.html)
Great, thanks for the pointer.
Boris Zbarsky:
Should WebIDL change here? Should FileAPI change?
Technically, it is not possible to implement File API without also
implementing the URL specification, since if there is a partial
interface URL then there must also be a interface URL in the set of
IDL fragments that you
Travis Leithead:
I guess you'd check for URL.href then? Or try { new URL(/test); } catch (ex) {
console.log(not supported); }
I agree with Travis, you should be checking the particular features you
want to use, rather than checking the existence of the prototype as a
proxy for that test.
Arun Ranganathan:
I've pinged heycam to see if this is a proper use of the sequence type. I'm
not sure it allows for such a variation in parameters.
I agree with Boris, it makes sense to use sequence here. Whenever you
just want to take a list of values in an operation argument, and you
Chaals McCathieNevile:
Frankly, I am deeply sceptical that the CSS group has managed to solve
the social problem sufficiently well to make the technical solution
noticeably different from hasFeature.
I think the biggest difference between hasFeature and supportsCSS is
that the implementation
Kyle Huey:
PS. We're also going to run into this in the future with any other
prefixed DOM APIs we add to the global, probably even if we don't tell
people to do it wrong in our tutorials. This behavior is a pretty
massive footgun.
The problem seems to be because Web IDL moved properties from
Boris Zbarsky:
Just for Window? What about interfaces Window inherits from?
Them too.
An why not for operations? Seems like exactly the same issue arises with:
var requestAnimationFrame = window.requestAnimationFrame || ;
I was thinking that properties for operations have always
Hi Jungkee,
Jungkee Song:
While reading about dictionary from your Web IDL (Second Edition) draft,
I found a part that needs clarification:
-8-
3.3 Dictionaries
If the Type is an identifier or an identifier followed by ?, then the
identifier must identify an interface, *dictionary*,
Arthur Barstow:
2. The patch [3] to remove the TreatNonCallableAsNull qualifier for some
attributes. If anyone considers this change as substantive, please speak
up. Cameron - what's your opinion on this?
[TreatNonCallableAsNull] attribute Function? should be equivalent to
attribute
Cameron McCormack:
Would it make sense to require objects that are returned from a
constructor be associated with the same global that the constructor
itself is?
Boris Zbarsky:
That seems like the simplest approach to me, yes. It's what Gecko does in
practice anyway at the moment, afaict
Arthur Barstow:
All - If you have any comments or concerns about this proposal, please
send them to public-webapps@w3.org mailto:public-webapps@w3.org by
April 2 at the latest.
April 18?
+1 to the warnings, I think they're worded well and useful.
Boris Zbarsky:
And just to be clear, the discussion about security and document.domain
is somewhat orthogonal to the original issue. WebIDL requires that all
objects be associated with a particular global and that any spec
defining anything that creates an object needs to define how this
Boris Zbarsky:
For what it's worth, I would be reasonably happy if we had a
non-DOMString IDL type to indicate raw byte sequence strings,
with WebIDL defining byte-inflation as the conversion from such
things to JS strings...
Anne van Kesteren:
That's an interesting idea. We could also use
Anne van Kesteren: Okay, annotated NodeList with [ArrayClass]. What
about HTMLCollection?
Should I add it there too? Could you take a look at NodeList and
HTMLCollection for accuracy?
It is probably not feasible to add to HTMLCollection, because it has a
named property getter which is not
Cameron McCormack: It is probably not feasible to add to
HTMLCollection, because it has a
named property getter which is not [OverrideBuiltins]. That means that
all the new properties on the prototype like concat, push, etc.
would begin to shadow any named elements on the collection
Anne van Kesteren:
Wasn't there a compatibility constrain with doing that?
I don't remember -- the only difference it would make is that
Object.getPrototypeOf(NodeList.prototype) == Array.prototype.
Ojan Vafai:
We should make static NodeList inherit from Array though so that you can
do regular array operations on it.
Web IDL has the means to make (all) NodeList objects inherit from Array
by annotating them with [ArrayClass], if we want to do that.
Pablo Moyano:
In section Editorial Note under Abstract, it says
This is revision $Id: Overview.html,v 1.119 2012-02-20 18:29:29 arangana
Exp $.
i think the $id is a programming error of this webpage
No, it's just an automatically inserted CVS $Id$ tag listing the
revision of the file.
João Eiras:
DOMExceptions have both a code and a message. Perhaps the
constructor should be extended to include both.
Anne van Kesteren:
code is legacy, but name would be good to expose.
The constructor has the same signature as the standard ECMAScript Error
constructors, so we are being
Marcos Caceres:
So… given that one can fake create a DOMException, and unless there
is a valid reason not to allow this that I don't know of…. It would
be nice if DOMException just defined a public constructor. This would
allow clean prototyping of various APIs in ECMAScript (and give us
poor
Joshua Bell:
By my reading of the IDB and WebIDL specs, the optionalParameters
parameter is a WebIDL dictionary
(http://www.w3.org/TR/IndexedDB/#options-object-concept). The ECMAScript
binding algorithm for WebIDL dictionaries
(http://www.w3.org/TR/WebIDL/#es-dictionary) is such that the members
On 11/12/11 11:55 PM, Marcos Caceres wrote:
I'm also unsure as to the purpose of sequence in practice. Perhaps some
examples of expected usage would help a bit?
Sequences are for pass by value lists of values. As with the array
type, they allow you to pass in a JS array to an operation:
On 12/12/11 2:21 AM, Boris Zbarsky wrote:
Last I checked, defining an interface that takes an in parameter that
can be a nodelist or JS Array of nodes needs to use sequence, no? Or am
I confusing it with array again?
The confusing thing is probably that for the case where you want to take
in
On 3/11/11 12:41 PM, Dimitri Glazkov wrote:
First of all, thank you all for coming and participating. It was
exhausting, and we just ran out of time. Stupid time!
Would you be able to post the code from the blog post comment example?
On 31/10/11 10:50 AM, Mike Hanson wrote:
Work in progress:
http://mimesniff.spec.whatwg.org/
There's a section on Images in there which looks like it won't do
sniffing for automatic gunzipping. Although perhaps if the SVG document
were used as the top level document it would be, if it falls
On 31/10/11 1:56 PM, Alex Russell wrote:
Live NodeList instances don't need to be considered here. They're the
result of an API which generates them, and that API can be described
in terms of Proxies. No need to complicate NodeList or imply that we
need a different type.
Making NodeList
On 31/10/11 2:18 PM, Charles Pritchard wrote:
I don't understand what real array means, other than the prototype
equivalence.
There's also the [[DefineOwnProperty]] behaviour which is different from
normal objects. That kind of behaviour doesn't *need* to be handled by
making NodeLists real
On 30/10/11 10:54 AM, Charles Pritchard wrote:
One reason I've needed inflate is for svgz support. Browser vendors have
consistently left bugs and/or ignored the spec for handling svgz files.
SVG is really intended to be deflated.
All major browsers have support for gzipped SVG documents
On 30/10/11 4:25 PM, Bjoern Hoehrmann wrote:
Then he probably means file system files and not HTTP files, and support
there has indeed been spotty in the past.
Ah, yes. Regarding data: URIs, someone should really just amend the RFC
to allow specifying a content encoding.
On 20/10/11 3:50 AM, Alex Russell wrote:
I strongly agree that it should be an Array *type*, but I think just
returning a plain Array is the wrong resolution to our NodeList
problem. WebIDL should specify that DOM List types *are* Array types.
It's insane that we even have a NodeList type which
On 25/10/11 8:54 PM, Adam Barth wrote:
Another solution to that more than one tag per interface problem is
to introduce subclasses of those interfaces for each tag.
Instead of introducing more interfaces (which don't have additional
functionality), and instead of introducing Element.create, I
Travis Leithead:
Is there a comment tracking doc for this LC (e.g., lc2)?
Art Barstow:
I don't see one in CVS. (I think Cameron returns soon though.)
I have begun tracking these comments now:
http://dev.w3.org/2006/webapi/WebIDL/lc2.txt
On 30/08/11 4:19 PM, Jonas Sicking wrote:
Indeed! I think it's already been decided that all non-mutating
functions should be added to NodeLists and other list-like DOM
objects. I believe Cameron is still working on the specifics of that.
Shortly before the LC#2 was published, I added an
On 24/10/11 11:51 AM, Jonas Sicking wrote:
I think we have three types of array-like objects:
1. Objects like the one returned from getElementsByTagName where
modifications to the array just doesn't make sense.
2. Objects like the one returned from HTMLInputElements.files where
modifications to
On 24/10/11 12:14 PM, Jonas Sicking wrote:
Based on my testing, many methods wouldn't throw for zero-size
array-like objects. Similarly, methods like .push(), .unshift() and
.slice() wouldn't throw if no entries were actually requested to be
added or removed. And .reverse() wouldn't throw for
Replying late here, but:
On 29/09/11 12:03 AM, Jonas Sicking wrote:
From my understanding of the WebIDL spec, the idea is that
specifications like IndexedDB should throw exceptions which use the
DOMExceptions interface. The various errors would use different string
values for .name which would
On 20/10/11 10:39 AM, Igor Oliveira wrote:
Currently CSSMatrix and SVGMatrix has an immutable API. None of the
method calls change the Matrix, instead, it creates a new Matrix with
the changed value. It can be a problem specially when CSSMatrix is
used together with WebGL. [1]
SVGMatrix is not
On 17/10/11 7:19 PM, Jonas Sicking wrote:
I sort of like the short-cut since it seems like a very common case
for web developers to want to create a transaction which only uses a
single objectStore.
But I agree it's not a huge win for developers as far as typing goes
(two characters).
I
Web IDL forbids exception fields named message (and name). This
property will exist automatically as an own property on the exception
object if a message is specified when throwing the exception. So you
just need to say, for example
Throw an IDBDatabaseException of type VersionError with
On 30/08/11 4:40 AM, Aryeh Gregor wrote:
Oh, right. I misunderstood you. Yes, obviously we wouldn't expose
things like .push or .pop on NodeList, since they wouldn't make sense.
But we should expose things like .forEach, etc. Any reason not to?
I should point out that on platform array
Paddy Byers:
WAC does refer to interfaces defined in one module from another
module; however, we have not been using scoped names for these
references - we use the unqualified interface name. More or less
every WAC module does this.
Cameron McCormack:
If WAC is already considering these names
On 13/08/11 10:49 AM, Paddy Byers wrote:
WAC does refer to interfaces defined in one module from another module;
however, we have not been using scoped names for these references - we
use the unqualified interface name. More or less every WAC module does this.
If WAC is already considering
On 2/08/11 3:36 PM, João Eiras wrote:
However, Nodes need a ownerDocument, and that needs to be supplied, even
if optionally. Doing document.createElement implies the document,
Element.create does not.
I figure the ownerDocument would be window.document (where the window
object is the global
then. It would be good to get more input on
the bug.
--
Cameron McCormack ≝ http://mcc.id.au/
them to ES ones.
--
Cameron McCormack ≝ http://mcc.id.au/
defines it so that passing null means a TypeError will be thrown.
If you want to do some additional processing beyond throwing an
exception (e.g. setting readyState), then you would need to allow null
by using “Blob?” as the type and then say what happens when null is
passed in.
--
Cameron McCormack
interface Document {
ShadowRoot createShadow();
};
// Documents also have TreeScope functioanlity
Document implements TreeScope;
--
Cameron McCormack ≝ http://mcc.id.au/
, so that we can find
out sooner whether there are any problems that require spec changes.
--
Cameron McCormack ≝ http://mcc.id.au/
“DOMString keyPath;” and state in prose what it
means if the dictionary member was not specified).
--
Cameron McCormack ≝ http://mcc.id.au/
whether f(1, 2) throws or is considered a call to
the first f with an extra, ignored argument. The former seems more
consistent to me.
--
Cameron McCormack ≝ http://mcc.id.au/
].)
--
Cameron McCormack ≝ http://mcc.id.au/
Mark Pilgrim:
What about setVersion() with no arguments? I ask because WebKit
currently treats it like setVersion(undefined) and I'm in the
process of fixing it in about 19 places.
That’s the right behaviour.
--
Cameron McCormack ≝ http://mcc.id.au/
that version cannot be nullable” do you mean keep the type
as “DOMString”? If so, then that seems like the right thing to do.
Only make it “DOMString?” if you want to distinguish between null being
passed and being passed.
--
Cameron McCormack ≝ http://mcc.id.au/
their own, like
dictionary ObjectStoreCreationOptions {
sequenceDOMString mandatory;
DOMString keyPath;
// ...
};
--
Cameron McCormack ≝ http://mcc.id.au/
would change
the type to “DOMString?”, which would mean there’d be a tick in the
Nullable column.
--
Cameron McCormack ≝ http://mcc.id.au/
and it
doesn’t seem like a natural JS usage pattern for objects-as-property-
bags.
Throwing if there are unknown properties is also inconsistent with
Object.defineProperty. Do you think this should happen for all users of
dictionaries (if other specs used them)?
--
Cameron McCormack ≝ http://mcc.id.au/
at the moment, but will be soon).
--
Cameron McCormack ≝ http://mcc.id.au/
) {
if (e.code == IDBDatabaseException.NON_TRANSIENT_ERR) {
// fall back to something else that does use newOption
}
}
--
Cameron McCormack ≝ http://mcc.id.au/
we handled null
in selectors-api, for which we used to stringify as null.
I've been informed that Cameron has plans to update WebIDL to make
this the default too, but hasn't yet done so.
FYI, I made that change yesterday.
--
Cameron McCormack ≝ http://mcc.id.au/
, though.
You could easily define it such that you do only look up own properties,
but as Jonas says some people may think of that as less “JavaScripty”
than the other options.
--
Cameron McCormack ≝ http://mcc.id.au/
.
Using strings as enumeration values is quite common in JS, but I don’t
think I’ve seen this idiom of using interface objects before.
--
Cameron McCormack ≝ http://mcc.id.au/
{
...
};
--
Cameron McCormack ≝ http://mcc.id.au/
-nullable object type
result in a TypeError being thrown.
--
Cameron McCormack ≝ http://mcc.id.au/
/WebIDL/#dfn-overload-resolution-algorithm
step 3.2.2 only considers object, interface types, nullable types and
array types when “null” is passed as an argument.
--
Cameron McCormack ≝ http://mcc.id.au/
implementations don’t diverge based on
when during the course of running the method these elements from the
sequence are looked up. I could mean a lot of useless checks, though.
--
Cameron McCormack ≝ http://mcc.id.au/
to type T); seems like that would involve throwing from
the whole algorithm.
Yep.
--
Cameron McCormack ≝ http://mcc.id.au/
Cameron McCormack:
then the only difference is that with Element[] you can distinguish
between null and an array of length 1, while with sequenceElement you
can’t.
Length 0, not 1.
--
Cameron McCormack ≝ http://mcc.id.au/
,
which will allow you to specify the augment-an-existing-prototype
behaviour that [Supplemental] would have given you.
[NoInterfaceObject] just means there is no window.NodeSelector.
Yep. That’ll be the default for these mixin interfaces, too.
--
Cameron McCormack ≝ http://mcc.id.au/
, and there isn’t another
way to do that in Web IDL currently, so unless there are concrete
problems with sequenceT or anyone has ideas on how to do it better,
I’ll just leave it alone for now.
--
Cameron McCormack ≝ http://mcc.id.au/
it in that way, yes. (Plus as a return
type.) Filed http://www.w3.org/Bugs/Public/show_bug.cgi?id=12287 for
that.
--
Cameron McCormack ≝ http://mcc.id.au/
for not having more concrete comments yet.
--
Cameron McCormack ≝ http://mcc.id.au/
Cameron McCormack:
svg …
star cx=100 cy=100 points=5/
/svg
Tab Atkins Jr.:
svg
x-star cx=100 cy=100 points=5/
/svg
Or that. :) I have the feeling that we don’t have agreed upon rules on
how authors are allowed to extend the platform. Whatever we deem is the
“proper” way
to
recall there being discussions about this, but I could be making that
up.
For specifying which DOMException code will be raised? There’s
http://www.w3.org/Bugs/Public/show_bug.cgi?id=10623 but I haven’t done
anything with that yet.
--
Cameron McCormack ≝ http://mcc.id.au/
is thrown?
--
Cameron McCormack ≝ http://mcc.id.au/
unclear if static functions appear on URL objects as well.
The new static keyword will cause the function property to exist on the
interface object and not on the prototype. Thus you can’t access the
function directly by getting a property on an instance of the interface.
--
Cameron McCormack
on what the collection is a collection of, it might be easy to
know when to do this, or it might not.
--
Cameron McCormack ≝ http://mcc.id.au/
the instance of T
or the Store with t added?
Those kinds of methods *could* be handy for higher order functions, I
suppose. Although in this specific case, it seems like you’d be more
likely to have an array of T objects rather than an array of Stores.
--
Cameron McCormack ≝ http://mcc.id.au/
-Qualifiers
--
Cameron McCormack ≝ http://mcc.id.au/
at the right time” bit that
could be tricky, though.
--
Cameron McCormack ≝ http://mcc.id.au/
question, I guess.
Note that undefined isn’t a native value of any IDL type, so specfiying
that that undefined is returned would be quite ECMAScript-specific.
Returning null in these cases is quite normal (assuming null isn’t a
value that could normally be returned, as above).
--
Cameron McCormack
Cameron McCormack:
I don’t know that sequence is appropriate for this. They are meant
to be for pass-by-value lists.
Anne van Kesteren:
I'm not sure I follow this. Could you elaborate a bit?
As currently defined, sequence types are used solely to represent lists
of values, and not objects
a string
alert(a + ''); // alerts 123
--
Cameron McCormack ≝ http://mcc.id.au/
” because you don’t know what the type of the
derived interface elements will be?
--
Cameron McCormack ≝ http://mcc.id.au/
don’t think the place to define
such an extended attribute is in Web IDL itself.
--
Cameron McCormack ≝ http://mcc.id.au/
collection.item(999) and collection['999'], IMO.
--
Cameron McCormack ≝ http://mcc.id.au/
? Is it something HTML5 would use?
Thanks,
Cameron
--
Cameron McCormack ≝ http://mcc.id.au/
in isolation, could lead to the platform as a whole feeling less
cohesive.
I haven’t had time to think about this in detail at all yet, though.
--
Cameron McCormack ≝ http://mcc.id.au/
and the ones that are currently identified in
the document
* publish a LCWD
Thanks,
Cameron
--
Cameron McCormack ≝ http://mcc.id.au/
of it within the [[Get]] and [[Put]]), is so that ‘in’ and
Object.hasOwnProperty() return true appropriately. There’s no spec hook
in ES3 (or ES5 I think) to change how ‘in’ works on host objects. All
that can be done is to make those properties actually exist.
--
Cameron McCormack ≝ http
to build on, then yeah
it seems like most things can be done (from Maciej’s quick analysis).
The array like objects do seem like a useful pattern for authors to use,
though.
--
Cameron McCormack ≝ http://mcc.id.au/
originally, it didn’t seem at all to me that host
objects were a disapproved of mechanism to get functionality that can’t
be implemented with native objects. So having a [[Delete]] on a host
object be different from the Object [[Delete]] or the Array one seemed
fine to me.
--
Cameron McCormack ≝ http
pretty much just so that
‘in’ and hasOwnProperty return true for array index properties, which is
needed for HTMLCollection and the like.
(Cross-posting to these three lists makes me feel funny, although I
recognise that these issues involve all three groups.)
--
Cameron McCormack ≝ http
, though it is
defined. If [OverrideBuiltins] is on the interface, then toString is
taken as a a named property; otherwise, it’s the property from the
Storage prototype object. This is handled by the host object [[Get]]
method:
http://dev.w3.org/2006/webapi/WebIDL/#get
--
Cameron McCormack ≝ http
Hi everyone.
Sam Ruby:
At the upcoming TPAC, there is an opportunity for F2F coordination
between these two groups, and the time slot between 10 O'Clock and
Noon on Friday has been suggested for this.
I'm travelling at the moment, so apologies for the delay in replying.
Unfortunately I
Cameron McCormack:
I’m open to suggestions on how to proceed. Splitting the spec
into parallel 1.0 and 1.1 versions could be done, but not without a
little effort.
Robin Berjon:
Based on what you've said I'd figure that the best might be to move
it to LC soon, as planned, and if it gets
1 - 100 of 216 matches
Mail list logo