Re: [Bug 25766] New: Problem with constraints failure when there is no constraint.

Maybe we're talking past each other.  WebIDL does not guarantee failure, 
hence the need for the "require" element.  The question is what happens 
when the UA doesn't find a 'require' element in the dictionary that gets 
passed in.  Is your idea that UAs know what they don't support, so that 
if they find an unsupported property on 'require', they can fail the 
call,  whereas if they find a supported property on 'require' but not in 
the dictionary, they should let the call succeed?  For an edge case, 
what if the author puts an unsupported property in 'require' but doesn't 
include it in the dictionary?

On 5/19/2014 12:21 PM, Jan-Ivar Bruaroey wrote:
> All WebIDL does is remove the member, it doesn't guarantee failure. UA 
> implementations can equally ignore to fail on missing dictionaries, so 
> I see no difference there.
>
> .: Jan-Ivar :.
>
> On 5/19/14 12:03 PM, Jim Barnett wrote:
>> According to Martin's email,  WebIDL _should_  cause the UA to fail 
>> to detect unsupported dictionary elements, even though not all UAs 
>> work this way.  But if some UAs do work this way, isn't it dangerous 
>> to assume that they can detect unsupported elements? Mandatory 
>> constraints mentioning unsupported properties wouldn't fail on those 
>> UAs.
>>
>> On 5/19/2014 11:31 AM, Jan-Ivar Bruaroey wrote:
>>> On 5/18/14 12:07 PM, Jim Barnett wrote:
>>>> I agree with Martin.  If the author says that 'foo' is  required, 
>>>> then doesn't  specify it. Furthermore, the fact that the constraint 
>>>> is  missing is how we detect unsupported mandatory constraints.  If 
>>>> the UA doesn't support the 'height' attribute, and the author 
>>>> specifies it in a mandatory constraint with 'require', the 
>>>> situation will look to the UA just like the one described in the bug.
>>>
>>> Actually, turns out I was wrong. The UA doesn't actually require 
>>> absent member to fail to detect unsupported constraints, since it 
>>> knows exactly what it supports and doesn't support  already (this 
>>> became clear once I implemented it).
>>>
>>> So I think I agree with Cullen here.
>>>
>>> .: Jan-Ivar :.

-- 
Jim Barnett
Genesys

Received on Monday, 19 May 2014 16:28:16 UTC