and 1.1 versions could be done, but not without a little
effort.
--
Cameron McCormack ≝ http://mcc.id.au/
Arthur Barstow:
This is a Call for Consensus (CfC) to publish a new WD of the DOM 3
Events spec:
http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html
+1
--
Cameron McCormack ≝ http://mcc.id.au/
string to valid UTF-16 string.
Done, thanks.
--
Cameron McCormack ≝ http://mcc.id.au/
Cameron McCormack:
Great! I notice you haven’t used nullable types for any of the
DOMString arguments, attributes or return types. Was that a conscious
choice?
Ian Hickson:
It was intentional in that I'm intentionally sticking my head in the sand
about the whole DOMString/null
probably needs to be bumped up to 2009 for both
drafts. Also, XHR2 references the XHR document as “The XMLHttpRequest
Object”, but it seems to have been renamed to just “XMLHttpRequest”.
I think it looks slightly strange to have code in the h1, though.
--
Cameron McCormack ≝ http://mcc.id.au/
get organised the same way as we want from
implementations. I've assumed that [Supplemental] will exist, and used it
as follows:
Work on [Supplemental] forthcoming.
--
Cameron McCormack ≝ http://mcc.id.au/
Cameron McCormack:
I’ll think about it. :-) HTMLAppletElement can always have
readonly attribute DOMString _object;
to avoid conflicting with the reserved word.
Ian Hickson:
It's many years too late for that.
The underscore is just an escaping mechanism. The identifier is still
with an underscore, you use two.
--
Cameron McCormack ≝ http://mcc.id.au/
it. :-) HTMLAppletElement can always have
readonly attribute DOMString _object;
to avoid conflicting with the reserved word.
--
Cameron McCormack ≝ http://mcc.id.au/
Cameron McCormack:
With that in mind, here is a mostly concrete proposal:
* All W3C specs will place interfaces and exceptions at the top level
scope (i.e., not in a module).
Ian Hickson:
Based on this, I haven't added the text you suggested earlier in the same
e-mail about
.
--
Cameron McCormack ≝ http://mcc.id.au/
script
creates and dispatches an event? Even if events created by the
implementation are always non-bubbling and non-cancellable.
--
Cameron McCormack ≝ http://mcc.id.au/
Cameron McCormack:
Do you need to specify that some of the optional attributes are
enumerable while others aren’t? Or should all of the optional
attributes be enumerable?
Anselm R Garbe:
We only need to specify that all (optional) attributes are enumerable,
so basically that means we
Cameron McCormack:
* Entries in a dictionary interface that don’t correspond to the
attributes declared on them are also exposed as properties on the
host object in ES, and are enumerable (unlike corresponding named
properties for regular interfaces).
Ian Hickson:
Could you
and to specify the enumeration of
them, not really with any particular language bindings in mind.
Do you need to specify that some of the optional attributes are
enumerable while others aren’t? Or should all of the optional
attributes be enumerable?
--
Cameron McCormack ≝ http://mcc.id.au/
.
--
Cameron McCormack ≝ http://mcc.id.au/
if converted to use ‘implements’. So
it’s not my plan to remove multiple inheritance at the moment, no.
Thanks,
Cameron
--
Cameron McCormack ≝ http://mcc.id.au/
http://dev.w3.org/2006/webapi/WebIDL/#java-sequence
http://dev.w3.org/2006/webapi/WebIDL/#java-array
Comments welcome.
--
Cameron McCormack ≝ http://mcc.id.au/
of a “read only” array:
http://dev.w3.org/2006/webapi/WebIDL/#dfn-read-only-array
In the added note I suggest to use read only arrays instead of sequences
for attribute types.
Thanks,
Cameron
--
Cameron McCormack ≝ http://mcc.id.au/
Cameron McCormack:
I don’t know how important it is to keep the HTML interfaces in the
org.w3c.dom.html package, but it definitely seems important to keep
DOM Core and Events interfaces in org.w3c.dom and org.w3c.dom.events.
Ian Hickson:
Why? How does it affect black-box compliance of Web
Cameron McCormack:
I can easily rename the type back to DOMString . I’d like to know if
you all think there is any problem in keeping the name as DOMString
but removing the null from its set of values, and requiring the use
of the nullable type ‘DOMString?’ to specify a string type that
does
Cameron McCormack:
I can easily rename the type back to DOMString.
I’ve renamed it back, but still left null out of its set of values.
--
Cameron McCormack ≝ http://mcc.id.au/
as to how we’re going to use modules.
--
Cameron McCormack ≝ http://mcc.id.au/
Hi Anselm.
Cameron McCormack:
I think you should define this instead using named properties. It
doesn’t seem to be useful to define an interface that has attributes
with particular names and types if they might not exist at all (or might
exist but be different types).
Anselm R Garbe:
I
Cameron McCormack:
Following are my half baked proposals.
I’ve now baked all of these proposals into the spec, except for the one
about allowing multiple module levels with a module declaration (i.e.,
‘module a::b::c’).
* Made ‘in’ optional
http://dev.w3.org/2006/webapi/WebIDL/#idl
that
will be done. It also won’t include everything from DOM 3 Core.
I think it might be useful for someone to just publish versions of
existing DOM specs’ IDL as Web IDL. I’m willing to help with that.
--
Cameron McCormack ≝ http://mcc.id.au/
. Should be fixed
now.
http://dev.w3.org/2006/webapi/WebIDL/#dfn-obtain-unicode
Thanks,
Cameron
--
Cameron McCormack ≝ http://mcc.id.au/
,
Cameron
--
Cameron McCormack ≝ http://mcc.id.au/
.
--
Cameron McCormack ≝ http://mcc.id.au/
= (:: ScopedNameAfterColon) | (identifier
ScopedNameParts)
Cameron McCormack:
Was the confusion because the ‘:: ScopedNameAfterColon’ and
‘identifier ScopedNameParts’ weren’t written on the same line?
Ah I see the confusion is more about how strongly the ‘|’ operator
binds compared to adjacent
[Forwarded with permission.]
- Forwarded message from Dimitry Golubovsky golubov...@gmail.com -
From: Dimitry Golubovsky golubov...@gmail.com
Date: Mon, 29 Jun 2009 07:27:28 -0400
To: Cameron McCormack c...@mcc.id.au
Subject: An import statement for Web IDL
Cameron,
On Mon, Jun 29
Cameron McCormack:
I propose that we have an import statement that takes a (possibly
relative) URL. …
Ian Hickson:
I'd rather we just implicitly said that all IDL files were imported.
What exactly would “all IDL files” include?
The problem with import statements is that (a) they require
are.
--
Cameron McCormack ≝ http://mcc.id.au/
Robin Berjon:
I wonder what the value is of having it on Rec track in the first place?
Could it simply be a Note?
I’d be reluctant to make it a note, given the normative requirements it
makes of implementations of a given IDL fragment.
--
Cameron McCormack ≝ http://mcc.id.au/
. It’s these details that I think are in most need of
verification somehow.
--
Cameron McCormack ≝ http://mcc.id.au/
...@hixie.dreamhostps.com
* Deal with use of [Supplemental] in HTML 5
http://www.w3.org/mid/pine.lnx.4.62.0906190537200.16...@hixie.dreamhostps.com
* Define Date (or make it possible to be defined)
* Define sequences/ByteArray
--
Cameron McCormack ≝ http://mcc.id.au/
{
…
};
That way the IDL processor knows exactly what dependent IDL files it
needs to process, and there’s no need to assume that the user of the IDL
files has to place the DOM Core and Views IDL files with specific names
in the same directory as the events.idl file.
Thoughts?
--
Cameron
-operating-system/
Are there any others people are aware of?
Thanks,
Cameron
--
Cameron McCormack ≝ http://mcc.id.au/
with the appropriate people that that is easily testable in
gecko.
That’d be great. I’d much rather make an informed decision here than
just guess.
--
Cameron McCormack ≝ http://mcc.id.au/
/#es-modules
I haven’t done anything with [Prefix] for the moment.
--
Cameron McCormack ≝ http://mcc.id.au/
Cameron McCormack:
From some very brief testing, it seems that Firefox and Opera tend
to throw an exception when calling a method with too few arguments,
while IE, Safari and Chrome will assume that the missing arguments
were the undefined value.
Simon Pieters:
Hmm. What did you use
an undefined value, then
we can introduce an ECMAScript-specific extended attribute that permits
this. But in general I agree that it would be better if we could remain
strict.
--
Cameron McCormack ≝ http://mcc.id.au/
to pass too many
arguments to web APIs.
--
Cameron McCormack ≝ http://mcc.id.au/
(in HTMLImageElement image, in float dx, in float dy);
void drawImage(in HTMLImageElement image, in float dx, in float dy,
in float dw, in float dh);
--
Cameron McCormack ≝ http://mcc.id.au/
to be one of the above two options.
Thanks,
Cameron
--
Cameron McCormack ≝ http://mcc.id.au/
that the most-derived interface that
inherits from such an interface is automatically promoted to being the
[[Class]]?)
That’s right.
--
Cameron McCormack ≝ http://mcc.id.au/
/webapi/WebIDL/#dfn-determine-the-value-of-a-named-property
and others, in
http://dev.w3.org/2006/webapi/WebIDL/#indexed-property-xattrs and
http://dev.w3.org/2006/webapi/WebIDL/#named-property-xattrs
Thanks,
Cameron
--
Cameron McCormack ≝ http://mcc.id.au/
Boris Zbarsky:
If the return value of lookupNamespaceURI is |undefined|, should that
stringify to or undefined? Same question for |null|.
Note that I'm not sure there's an obvious way to annotate this in web
idl yet.
Cameron McCormack:
Yeah, there’s no way to specify
. :-)
That was done a while ago.
Thanks,
Cameron
--
Cameron McCormack ≝ http://mcc.id.au/
changed the spec to flatten the multple inheritance into a
single inheritance prototype chain, so I guess that invalidates your
comment. I’d appreciate review of what’s currently specified, though.
Thanks,
Cameron
--
Cameron McCormack ≝ http://mcc.id.au/
yet to add a section in the Java binding on
how “host objects” should deal with “user implemented objects”.
--
Cameron McCormack ≝ http://mcc.id.au/
Cameron McCormack:
Done:
The value of the internal [[Class]] property of a host object is
determined as follows:
* If the host object implements a single interface, then the value
of the internal [[Class]] property MUST be the identifier of
that interface.
Ian
Cameron McCormack:
I added [AllowAny] to support this:
http://dev.w3.org/2006/webapi/WebIDL/#AllowAny
Anne van Kesteren:
So a.f(1.23); throws in the example because the method is overloaded?
I.e. it would not throw if the method did not accept an A object as
argument?
Yes
that do ToObject() or ToUint32() or whatever will still be
performed as appropriate.
--
Cameron McCormack ≝ http://mcc.id.au/
ripe for change?
--
Cameron McCormack ≝ http://mcc.id.au/
Cameron McCormack:
Other possible syntax changes
-
And another one: get rid of the requirement to use forward declarations
if you want mutually referencing interfaces.
--
Cameron McCormack ≝ http://mcc.id.au/
when
bad surrogates are used:
http://dev.w3.org/2006/webapi/WebIDL/#dfn-obtain-unicode
Nothing in Web IDL references this algorithm. Other specs can do so if
it is useful.
--
Cameron McCormack ≝ http://mcc.id.au/
added [AllowAny] to support this:
http://dev.w3.org/2006/webapi/WebIDL/#AllowAny
--
Cameron McCormack ≝ http://mcc.id.au/
if you think it’s insufficient.
Thanks,
Cameron
--
Cameron McCormack ≝ http://mcc.id.au/
of the triples in the effective overload set,
any removals of entries from the set are skipped when looking at that
argument position.
--
Cameron McCormack ≝ http://mcc.id.au/
Cameron McCormack:
(Also I see that you’re using the “string” and “wstring”, and Lwide
string values. Are you of the opinion that Web IDL should introduce
those instead of DOMString?)
Shiki Okasaka:
In my opinion, it would be nice if we can use the keyword 'string' as
the same meaning
754 double precision floating point, here, which is just what JS
Number is (except for the NaNs).
--
Cameron McCormack ≝ http://mcc.id.au/
.
--
Cameron McCormack ≝ http://mcc.id.au/
= and baseProfile= in SVG Tiny 1.2 are used
only as a hint from the content author as to what minimum version of the
language is required for the content to work properly. No difference
in processing is required for differently specified version= and
baseProfile= attributes.
--
Cameron McCormack
.
With the above, there’d be no way of “turning off” mapping of a module
to a namespace object if an ancestor module had [ESNamespace] on it.
I’m not sure about the usefulness of the [Prefix] bit, but I’m just
copying the same behaviour that exists in the Java binding.
--
Cameron McCormack ≝ http
Hi Garrett.
Cameron McCormack:
We could certainly add similar language for the Java language binding
section too, though I think there’s less scope for those conversions to
throw exceptions (maybe ones like OutOfMemoryException).
Garrett Smith:
I'm not sure, but I think you might have
that. I’ve added a note to do that when I get
some time to allocate to editing Web IDL again.
Thanks,
Cameron
--
Cameron McCormack ≝ http://mcc.id.au/
, and will probably change a bit more.)
--
Cameron McCormack ≝ http://mcc.id.au/
Cameron McCormack:
You can require a certain [[Class]] value at the moment with Web IDL, if
you use the [PrototypeRoot] extended attribute.
And I forgot to mention that since the Object prototype object is
required to be in the prototype chain, that its toString would give the
“[class X
to. There’s nothing in selectors-api that says
“the object returned from querySelectorAll() must implement the NodeList
interface and no others” (and I don’t think it’d be a good idea to
require that).
--
Cameron McCormack ≝ http://mcc.id.au/
'
is missing after 'unsigned'
void increment();
};
Fixed, thanks.
Cameron
--
Cameron McCormack ≝ http://mcc.id.au/
Charles McCathieNevile:
If anyone objects to this approach (which saves some administrative
work and some time), please speak up...
Web IDL is still a WD. At some point before Rec, I guess selectors-api
would need to block on Web IDL progressing. What point should that be?
--
Cameron
Doug Schepers:
I would suggest that a separate file be made with the appropriate Java
interface file, with the appropriate license, and that it be linked from
an errata (and later a second edition).
Would this work for you, and for the rest of the WebApps WG?
Cameron McCormack:
Sounds
in Web IDL to be to stringify to undefined unless overridden,
and I would suggest Selectors API to use that behaviour, too.
--
Cameron McCormack ≝ http://mcc.id.au/
.
That sounds like the better solution to me. Of course, that then makes
it incumbent on me to finish those tests reasonably soon to determine
what that default behaviour should be…
--
Cameron McCormack ≝ http://mcc.id.au/
.
Thanks,
Cameron
[1] http://mcc.id.au/2009/01/string-handling/tests/006-DOMImplementation-createDocument-1.html
--
Cameron McCormack ≝ http://mcc.id.au/
Hi Kartikaya.
Kartikaya Gupta:
I just noticed that the java binding file has a link to ww.w3.org
instead of www.w3.org.
Well spotted! I committed an updated ElementTraversal-java-binding.zip
file.
Thanks,
Cameron
--
Cameron McCormack ≝ http://mcc.id.au/
Charles McCathieNevile:
this is a call for consensus to move the Selectors API [1] to Candidate
Recommendation, following the end of the last call.
+1
--
Cameron McCormack ≝ http://mcc.id.au/
declare the Document type that it uses:
http://dev.w3.org/2006/webapi/XMLHttpRequest/#xmlhttprequest
(Plus the interface is not explicitly in the dom module.)
Any thoughts about how to deal with this?
Thanks,
Cameron
--
Cameron McCormack ≝ http://mcc.id.au/
Arthur Barstow:
WebApps WG Members - this is a Call for Consensus (CfC) to publish the
Element Traversal errata as proposed by Cameron:
http://lists.w3.org/Archives/Public/public-webapps/2009JanMar/0168.html
+1 from me.
--
Cameron McCormack ≝ http://mcc.id.au/
/copyright-software to include the
clause?)
Thanks,
Cameron
--
Cameron McCormack ≝ http://mcc.id.au/
Cameron McCormack:
The question then is whether we want to include it. I don’t see how it
would be beneficial for anyone to redistribute one of the interface
files if it has been changed incompatibly, so I guess I don’t see the
need for it.
Some further off-list discussion regarding general
incompatibly, so I guess I don’t see the
need for it.
--
Cameron McCormack ≝ http://mcc.id.au/
.
--
Cameron McCormack ≝ http://mcc.id.au/
.,
which should cover most cases that people would want to do in their own
extended attributes.)
--
Cameron McCormack ≝ http://mcc.id.au/
Cameron McCormack:
OK. The hard coded prefix approach I suggested above would still have a
mechanism for overriding that. For example:
module dom { interface Node { … }; };
module svg { interface SVGElement : Element { … }; };
[Prefix=org]
module acme { interace
“::”).
I haven’t made the grammar changes yet. I’ll leave that until I get to
reworking it to have more robust parsing of extended attributes.
Thanks,
Cameron
--
Cameron McCormack ≝ http://mcc.id.au/
Cameron McCormack:
* In section 6, I don’t think it’s necessary to explicitly mention
undefined, since it’s already handled by the annotation in the
IDL. If you do want to include this in the prose, I think it
needs to be qualified to say that this applies to an ECMAScript
(though nothing need be
done with the constants):
http://dev.w3.org/2006/webapi/WebIDL/#native-objects
Thanks,
Cameron
--
Cameron McCormack ≝ http://mcc.id.au/
Maciej Stachowiak:
I think [NativeObject] should be renamed to [Callback]. It is meant to
be used for callback objects that have a single designated callback
method, right?
Cameron McCormack:
Not only a single callback method, perhaps multiple. But yes, it’s
pretty much for callbacks
) but expects it to move into Web IDL.)
The rewritten Operations section of the ECMAScript binding now ignores
additional arguments:
http://dev.w3.org/2006/webapi/WebIDL/#es-operations
Passing fewer arguments than required results in a TypeError.
--
Cameron McCormack ≝ http://mcc.id.au/
the arguments out.
--
Cameron McCormack ≝ http://mcc.id.au/
NodeSelector {
// …
};
};
--
Cameron McCormack ≝ http://mcc.id.au/
Cameron McCormack:
So, we probably need to keep requiring the spec using [NamedIndex] to
specify in prose what the keys are. That should be sufficient to
nominate operations to be the property creator/modifier/deleter
handlers.
…
Then the operations could still handle that common case
a node.
Then the operations could still handle that common case of being the
setter/getter methods.
How does that sound?
--
Cameron McCormack ≝ http://mcc.id.au/
objects,
it’s the identifier of the exception.
I’ve left [[Class]] on interface objects and interface prototype objects
undefined (which was discussed later on in the thread that starts with
Anne’s mail above).
--
Cameron McCormack ≝ http://mcc.id.au/
interface XY.
Cameron McCormack:
I didn’t add that one.
And now I did, as [ImplementedOn].
Ian Hickson:
[re lack of mandated behaviour for prototype chains]
I understand what you're saying, but I'd still rather have any black box
behaviour be unambiguous. (Non-black-box behaviour
Cameron McCormack:
* In section 6, I don’t think it’s necessary to explicitly mention
undefined, since it’s already handled by the annotation in the IDL.
If you do want to include this in the prose, I think it needs to be
qualified to say that this applies to an ECMAScript language
6.1.
Thanks,
Cameorn
--
Cameron McCormack ≝ http://mcc.id.au/
w, in long x, in long y, in long z);
};
I’m on vacation from tomorrow for two weeks, but I’ll carve out some
time for working on Web IDL when I return.
Thanks,
Cameron
--
Cameron McCormack ≝ http://mcc.id.au/
101 - 200 of 214 matches
Mail list logo