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

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..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
« no previous file with comments | « LayoutTests/dart/resources/multi-wrapper-frame-child.html ('k') | Source/bindings/dart/DartScriptWrappable.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698