Re: Progress Events normative text

On Thu, 5 Mar 2009, Charles McCathieNevile wrote:
> > > > 
> > > > I think it is wrong to make content non-conforming because it 
> > > > fires events in a fashion that isn't consistent with this draft.
> > 
> > It seems odd to me to say that content is not allowed to work around 
> > bugs in browsers, for instance.
> 
> Content is allowed to do whatever it wants.

Ok now I'm really confused. Here you say that content is allowed to do 
whatever it wants, but then you say:

> However, only some content is defined as conforming

...which as far as I can tell is a direct contradiction.

If something is non-conforming, that means that the spec is prohibiting 
it, that it is not allowed. That's what it means to make something non- 
conforming, as I understand it.


> and in this case, content that does things not predicted by the spec is 
> defined as non-conforming. This avoids attempting to ascribe motive to 
> the content.

I don't understand what this means.

I still think it is wrong for us to make content non-conforming for firing 
events that use the ProgressEvents interface in a manner different than 
what the spec describes.


> > > > # 2.3 Interface definitions
> > > >
> > > > This is the one section that really needs normative text, since it 
> > > > is the one section that is really defining new features. However, 
> > > > as far as I can tell, it really doesn't define anything 
> > > > normatively. For example, the attributes have no UA requirements. 
> > > > Is lengthComputable supposed to throw, return true, return false, 
> > > > have any side-effects? Same for the others.
> > 
> > This problem still exists.
> 
> Perhaps I am missing something here. They are attributes. They have 
> values, which are described. In what circumstances would they throw, or 
> have side effects, or return anything except their value?

If I run the following script:

   var e = document.createEvent('ProgressEvent');
   e.initProgressEvent('load', true, true, true, 1, 2);
   alert(e.loaded);

...what number is alerted? What "must" conformance criteria requires this?

As far as I can tell, nothing in the spec today requires that the 
attributes have any particular value.

Similarly if I init the event with lengthComputableArg set to false and 
totalArg set to 100, what does the "must" in the definition of "total" 
mean? Does it mean it returns zero? The conformance criteria are very 
confusingly written in this section.



I continue to think that RFC2119 terms are overused, used unnecessarily 
and redundantly in a manner that will cause future pain, and used in 
manners that do not directly map to clear testable features, which I think 
is problematic. However, I don't really know how to convince you that this 
is a real problem.

-- 
Ian Hickson               U+1047E                )\._.,--....,'``.    fL
http://ln.hixie.ch/       U+263A                /,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'

Received on Tuesday, 10 March 2009 20:35:57 UTC