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

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

Issue 313183003: [dartium] Use ScriptWrappable when there are multiple Dart wrappers. (Closed) Base URL: svn://svn.chromium.org/blink/branches/dart/1985
Patch Set: Created 6 years, 6 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
Index: Source/bindings/dart/DartDOMWrapper.h
diff --git a/Source/bindings/dart/DartDOMWrapper.h b/Source/bindings/dart/DartDOMWrapper.h
index b2da8f71b1e3a70098d8f205eef3b96f0ed67299..4e880c4e3987c684600de398eb0a4443ca1a337f 100644
--- a/Source/bindings/dart/DartDOMWrapper.h
+++ b/Source/bindings/dart/DartDOMWrapper.h
@@ -65,9 +65,11 @@ 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.
+
+#ifdef DEBUG
vsm 2014/06/06 13:39:45 Isn't this redundant with the ASSERT?
rmacnak 2014/06/06 21:26:31 Leftover from copy-paste from asserts that needed
+ ASSERT(wrapper == Traits::MapTraits::domMap(domData)->get(domObject));
+#endif
+ return wrapper;
}
return Traits::MapTraits::domMap(domData)->get(domObject);
}
@@ -301,10 +303,13 @@ private:
Dart_WeakPersistentHandle currentWrapper = 0;
if (ScriptWrappable::wrapperCanBeStoredInObject(domObject)) {
currentWrapper = (Dart_WeakPersistentHandle)(ScriptWrappable::fromObject(domObject)->getDartWrapper(domData));
- }
- if (!currentWrapper) {
+#ifdef DEBUG
vsm 2014/06/06 13:39:46 ditto
+ ASSERT(currentWrapper == Traits::MapTraits::domMap(domData)->get(domObject));
+#endif
+ } 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

Powered by Google App Engine
This is Rietveld 408576698