| Index: Source/bindings/dart/DartDOMWrapper.h
|
| diff --git a/Source/bindings/dart/DartDOMWrapper.h b/Source/bindings/dart/DartDOMWrapper.h
|
| index 2bf7fb7ff66c7d7ec81e3610fae269c69610a4d7..fdb0bf6785ad873625431b237e6019897236969c 100644
|
| --- a/Source/bindings/dart/DartDOMWrapper.h
|
| +++ b/Source/bindings/dart/DartDOMWrapper.h
|
| @@ -46,6 +46,10 @@
|
|
|
| namespace WebCore {
|
|
|
| +template<typename HTMLElement>
|
| +class DartCustomElementWrapper;
|
| +class HTMLElement;
|
| +
|
| template<class BindingsClass>
|
| struct DartDOMWrapperTraits;
|
|
|
| @@ -68,11 +72,7 @@ public:
|
| ASSERT(domData);
|
| if (isNode) {
|
| Node* domNodeObject = reinterpret_cast<Node*>(domObject);
|
| - Dart_WeakPersistentHandle wrapper = domData->nodeMap()->get(domNodeObject);
|
| - if (wrapper && domNodeObject->isCustomElement()) {
|
| - return lookupCustomElementWrapper(domData, wrapper, domNodeObject);
|
| - }
|
| - return wrapper;
|
| + return domData->nodeMap()->get(domNodeObject);
|
| }
|
| return domData->objectMap()->get(domObject);
|
| }
|
| @@ -202,6 +202,13 @@ public:
|
| static Dart_Handle exceptionCodeToDartException(ExceptionCode);
|
| static Dart_Handle exceptionCodeToDartException(DartExceptionState&);
|
|
|
| + template <class BindingsClass>
|
| + static Dart_Handle dartClass()
|
| + {
|
| + return dartClass(BindingsClass::dartImplementationClassName,
|
| + BindingsClass::dartImplementationLibraryName, BindingsClass::dartClassId);
|
| + }
|
| +
|
| private:
|
| enum NativeFieldIndices {
|
| kNativeImplementationIndex = 0,
|
| @@ -211,13 +218,6 @@ private:
|
| static Dart_Handle dartClass(const char* dartImplementationClassName,
|
| const char* dartImplementationLibraryName, intptr_t classIndex);
|
|
|
| - template <class BindingsClass>
|
| - static Dart_Handle dartClass()
|
| - {
|
| - return dartClass(BindingsClass::dartImplementationClassName,
|
| - BindingsClass::dartImplementationLibraryName, BindingsClass::dartClassId);
|
| - }
|
| -
|
| static void writeNativePointer(Dart_Handle wrapper, int index, void* pointer)
|
| {
|
| DartApiScope scope;
|
| @@ -253,9 +253,6 @@ private:
|
| domObject->deref();
|
| }
|
|
|
| - static Dart_WeakPersistentHandle lookupCustomElementWrapper(
|
| - DartDOMData*, Dart_WeakPersistentHandle wrapper, Node* domObject);
|
| -
|
| template <class BindingsClass>
|
| static void associateWrapper(typename BindingsClass::NativeType* domObject, Dart_Handle newInstance)
|
| {
|
| @@ -283,7 +280,7 @@ private:
|
| Traits::EventTargetTraits::removeWrapper(domData, domObject);
|
| }
|
|
|
| - friend class DartCustomElement;
|
| + friend class DartCustomElementWrapper<HTMLElement>;
|
| };
|
|
|
| template<bool isNode>
|
|
|