Chromium Code Reviews| Index: Source/bindings/dart/DartDOMWrapper.h |
| =================================================================== |
| --- Source/bindings/dart/DartDOMWrapper.h (revision 1430) |
| +++ Source/bindings/dart/DartDOMWrapper.h (working copy) |
| @@ -142,8 +142,7 @@ |
| if (Dart_IsNull(wrapper)) |
| return 0; |
| - // FIXME: support cross-domain wrappers. |
| - if (!instanceOf<BindingsClass>(domData, wrapper)) { |
| + if (!subtypeOf<BindingsClass>(domData, wrapper)) { |
| String message = String("Invalid class: expected instance of ") + BindingsClass::dartImplementationClassName; |
| exception = DartUtilities::stringToDartString(message); |
| return 0; |
| @@ -163,13 +162,14 @@ |
| } |
| template <class BindingsClass> |
| - static bool instanceOf(DartDOMData* domData, Dart_Handle wrapper) |
| + static bool subtypeOf(DartDOMData* domData, Dart_Handle wrapper) |
| { |
| Dart_PersistentHandle type = dartClass<BindingsClass>(domData); |
| - bool isInstanceOf = false; |
| - Dart_Handle result = Dart_ObjectIsType(wrapper, type, &isInstanceOf); |
|
vsm
2013/10/14 15:44:09
Siva: Just curious, what's the semantic difference
siva
2013/10/14 15:55:06
Dart_InstanceIsSubtypeOf just does a straight sub
|
| - return isInstanceOf; |
| + bool isSubtypeOf = false; |
| + Dart_Handle result = Dart_InstanceIsSubtypeOf(wrapper, type, &isSubtypeOf); |
| + ASSERT(!Dart_IsError(result)); |
| + return isSubtypeOf; |
| } |
| template <class WebKitClass> |