Index: Source/bindings/dart/DartDOMWrapper.h |
diff --git a/Source/bindings/dart/DartDOMWrapper.h b/Source/bindings/dart/DartDOMWrapper.h |
index b2da8f71b1e3a70098d8f205eef3b96f0ed67299..9c3fff830dbe1ef7a4bc21d424c771ce110563c4 100644 |
--- a/Source/bindings/dart/DartDOMWrapper.h |
+++ b/Source/bindings/dart/DartDOMWrapper.h |
@@ -65,9 +65,8 @@ public: |
ASSERT(domData); |
if (ScriptWrappable::wrapperCanBeStoredInObject(domObject)) { |
Dart_WeakPersistentHandle wrapper = (Dart_WeakPersistentHandle)(ScriptWrappable::fromObject(domObject)->getDartWrapper(domData)); |
- if (wrapper) |
- return wrapper; |
- // FIXMEDART: Assert absence from map when multi-isolate wrapper info is implemeted. |
+ ASSERT(wrapper == Traits::MapTraits::domMap(domData)->get(domObject)); |
+ return wrapper; |
} |
return Traits::MapTraits::domMap(domData)->get(domObject); |
} |
@@ -301,10 +300,11 @@ private: |
Dart_WeakPersistentHandle currentWrapper = 0; |
if (ScriptWrappable::wrapperCanBeStoredInObject(domObject)) { |
currentWrapper = (Dart_WeakPersistentHandle)(ScriptWrappable::fromObject(domObject)->getDartWrapper(domData)); |
- } |
- if (!currentWrapper) { |
+ ASSERT(currentWrapper == Traits::MapTraits::domMap(domData)->get(domObject)); |
+ } else { |
currentWrapper = Traits::MapTraits::domMap(domData)->get(domObject); |
} |
+ |
// This could be an old wrapper which has been replaced with a custom element. |
if (currentWrapper != wrapper) { |
#ifdef DEBUG |