Bug 778150 part 1. Remove the vestigial ability to specify infallibility stuff in the conf file. r=peterv

This commit is contained in:
Boris Zbarsky 2012-09-05 09:21:33 -04:00
parent 3b28d4a410
commit 2b85439c92
4 changed files with 15 additions and 8 deletions

View File

@ -296,8 +296,7 @@ DOMInterfaces = {
'TestIndexedGetterInterface' : {
'headerFile': 'TestBindingHeader.h',
'register': False,
'infallible': [ 'length' ]
'register': False
},
'TestNamedGetterInterface' : {
@ -307,8 +306,7 @@ DOMInterfaces = {
'TestIndexedAndNamedGetterInterface' : {
'headerFile': 'TestBindingHeader.h',
'register': False,
'infallible': [ 'length' ]
'register': False
},
'TestIndexedSetterInterface' : {
@ -329,7 +327,6 @@ DOMInterfaces = {
'TestIndexedAndNamedGetterAndSetterInterface' : {
'headerFile': 'TestBindingHeader.h',
'register': False,
'infallible': [ 'length', '__stringifier' ],
'binaryNames': { '__stringifier': 'Stringify' }
},
}

View File

@ -2838,12 +2838,17 @@ class CGCallGenerator(CGThing):
"""
A class to generate an actual call to a C++ object. Assumes that the C++
object is stored in a variable whose name is given by the |object| argument.
errorReport should be a CGThing for an error report or None if no
error reporting is needed.
"""
def __init__(self, errorReport, arguments, argsPre, returnType,
extendedAttributes, descriptorProvider, nativeMethodName,
static, object="self", declareResult=True):
CGThing.__init__(self)
assert errorReport is None or isinstance(errorReport, CGThing)
isFallible = errorReport is not None
resultAlreadyAddRefed = isResultAlreadyAddRefed(descriptorProvider,
@ -4825,8 +4830,9 @@ class CGDOMJSProxyHandler_obj_toString(ClassMethod):
extendedAttributes = self.descriptor.getExtendedAttributes(stringifier)
infallible = 'infallible' in extendedAttributes
if not infallible:
error = ('ThrowMethodFailedWithDetails(cx, rv, "%s", "toString")\n' +
"return NULL;") % self.descriptor.interface.identifier.name
error = CGGeneric(
('ThrowMethodFailedWithDetails(cx, rv, "%s", "toString");\n' +
"return NULL;") % self.descriptor.interface.identifier.name)
else:
error = None
call = CGCallGenerator(error, [], "", returnType, extendedAttributes, self.descriptor, nativeName, False, object="UnwrapProxy(proxy)")

View File

@ -265,7 +265,7 @@ class Descriptor(DescriptorProvider):
else:
add('all', [config], attribute)
for attribute in ['infallible', 'implicitJSContext', 'resultNotAddRefed']:
for attribute in ['implicitJSContext', 'resultNotAddRefed']:
addExtendedAttribute(attribute, desc.get(attribute, {}))
self.binaryNames = desc.get('binaryNames', {})

View File

@ -376,6 +376,7 @@ dictionary DictContainingDict {
interface TestIndexedGetterInterface {
getter long item(unsigned long index);
[Infallible]
readonly attribute unsigned long length;
};
@ -386,6 +387,7 @@ interface TestNamedGetterInterface {
interface TestIndexedAndNamedGetterInterface {
getter long (unsigned long index);
getter DOMString namedItem(DOMString name);
[Infallible]
readonly attribute unsigned long length;
};
@ -407,6 +409,8 @@ interface TestIndexedAndNamedGetterAndSetterInterface : TestIndexedSetterInterfa
getter DOMString namedItem(DOMString name);
setter creator void (unsigned long index, long item);
setter creator void (DOMString name, DOMString item);
[Infallible]
stringifier DOMString ();
[Infallible]
readonly attribute unsigned long length;
};