Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(310)

Unified Diff: Source/bindings/dart/DartDOMWrapper.h

Issue 24677002: Revert "Revert "Dartium changes for custom element lifecycle events."" (Closed) Base URL: svn://svn.chromium.org/multivm/trunk/webkit
Patch Set: Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/bindings/dart/DartDOMData.cpp ('k') | Source/bindings/dart/DartDOMWrapper.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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>
« no previous file with comments | « Source/bindings/dart/DartDOMData.cpp ('k') | Source/bindings/dart/DartDOMWrapper.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698