Chromium Code Reviews| Index: Source/bindings/dart/DartDOMWrapper.h |
| diff --git a/Source/bindings/dart/DartDOMWrapper.h b/Source/bindings/dart/DartDOMWrapper.h |
| index aea7c6e8c97f775f658f8ef5d9d3d728629e1fc9..d5da2839ba63cd905ef397cdf3a5b27b368d2d8f 100644 |
| --- a/Source/bindings/dart/DartDOMWrapper.h |
| +++ b/Source/bindings/dart/DartDOMWrapper.h |
| @@ -51,6 +51,11 @@ struct DartDOMWrapperTraits; |
| class DartDOMWrapper { |
| public: |
| + enum { |
| + DOMStringMapBindingCid = 0, |
| + NumCustomBindingCids |
| + }; |
| + |
| template <class WebKitClass> |
| static Dart_Handle newWrapper(const char* className, const char* libraryName, WebKitClass* domObject) |
| { |
| @@ -176,10 +181,25 @@ public: |
| return unwrapDartWrapper<BindingsClass>(wrapper, exception); |
| } |
| + static intptr_t nextClassIndex; |
|
siva
2013/09/10 00:18:50
Not used anymore right, could be deleted.
rmacnak
2013/09/10 20:09:51
Removed.
|
| + |
| template <class BindingsClass> |
| static bool instanceOf(Dart_Handle wrapper) |
| { |
| - return instanceOf(BindingsClass::dartImplementationClassName, BindingsClass::dartImplementationLibraryName, wrapper); |
| + Dart_Handle type = dartClass<BindingsClass>(); |
| + |
| + bool isInstanceOf = false; |
| + Dart_Handle result = Dart_ObjectIsType(wrapper, type, &isInstanceOf); |
| + ASSERT(!Dart_IsError(result)); |
| + if (Dart_IsError(result)) |
| + return false; |
|
siva
2013/09/10 00:18:50
Seems to assert and check, I think the ASSERT is n
rmacnak
2013/09/10 20:09:51
Removed.
|
| + return isInstanceOf; |
| + } |
| + |
| + template <class BindingsClass> |
| + static Dart_Handle dartClass() |
|
siva
2013/09/10 00:18:50
This can also be private right.
rmacnak
2013/09/10 20:09:51
Hidden.
|
| + { |
| + return dartClass(BindingsClass::dartImplementationClassName, BindingsClass::dartImplementationLibraryName, BindingsClass::kBindingCid); |
| } |
| template <class WebKitClass> |
| @@ -221,8 +241,8 @@ private: |
| }; |
| static Dart_Handle instantiateWrapper(const char* className, const char* libraryName); |
| - static bool instanceOf(const char* dartImplementationClassName, |
| - const char* dartImplementationLibraryName, Dart_Handle wrapper); |
| + static Dart_Handle dartClass(const char* dartImplementationClassName, |
| + const char* dartImplementationLibraryName, intptr_t classIndex); |
| static void writeNativePointer(Dart_Handle wrapper, int index, void* pointer) |
| { |