mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
a422390560
Without special handling CallbackObject subclasses will fall into the "nsISupports but not nsWrapperCache" case which goes through an XPConnect wrapping path that has no idea how to cope with a CallbackObject. We need both the CallbackObject overload and the EnableIf bit in the template because the template will bind to the subclass and thus be preferred to the CallbackObject overload which requires an implicit conversion to the base class. Before this patch nsTArray<T*> will eventually try to ToJSValue a T* which will select the boolean overload. Thanks C++! The new template overload that takes a T and attempts to dereference it will be preferred because it can bind to the type directly and does not require the implicit (and terrible!) conversion to bool. This template is written in terms of T and not T* so we can test to see if T is a pointer type (and not merely something that can be coerced to a T*, such as a T[N]). |
||
---|---|---|
.. | ||
crashtests | ||
docs | ||
mozwebidlcodegen | ||
parser | ||
test | ||
AtomList.h | ||
BindingDeclarations.h | ||
Bindings.conf | ||
BindingUtils.cpp | ||
BindingUtils.h | ||
CallbackFunction.h | ||
CallbackInterface.cpp | ||
CallbackInterface.h | ||
CallbackObject.cpp | ||
CallbackObject.h | ||
Codegen.py | ||
Configuration.py | ||
Date.cpp | ||
Date.h | ||
DOMJSClass.h | ||
DOMJSProxyHandler.cpp | ||
DOMJSProxyHandler.h | ||
DOMString.h | ||
ErrorResult.h | ||
Errors.msg | ||
Exceptions.cpp | ||
Exceptions.h | ||
GenerateCSS2PropertiesWebIDL.py | ||
JSSlots.h | ||
mach_commands.py | ||
Makefile.in | ||
moz.build | ||
MozMap.h | ||
NonRefcountedDOMObject.h | ||
Nullable.h | ||
OwningNonNull.h | ||
PrimitiveConversions.h | ||
RootedDictionary.h | ||
ToJSValue.cpp | ||
ToJSValue.h | ||
TypedArray.h | ||
UnionMember.h |