Pārlūkot izejas kodu

add marshalling for getters

Michael Holman 7 gadi atpakaļ
vecāks
revīzija
3cf6f94113

+ 1 - 1
lib/Runtime/Library/JavascriptMap.cpp

@@ -223,7 +223,7 @@ Var JavascriptMap::EntryGet(RecyclableObject* function, CallInfo callInfo, ...)
 
     if (map->Get(key, &value))
     {
-        return value;
+        return CrossSite::MarshalVar(scriptContext, value);
     }
 
     return scriptContext->GetLibrary()->GetUndefined();

+ 1 - 1
lib/Runtime/Library/JavascriptWeakMap.cpp

@@ -238,7 +238,7 @@ namespace Js
         }
 #endif
 
-        return loaded ? value : scriptContext->GetLibrary()->GetUndefined();
+        return loaded ? CrossSite::MarshalVar(scriptContext, value) : scriptContext->GetLibrary()->GetUndefined();
     }
 
     Var JavascriptWeakMap::EntryHas(RecyclableObject* function, CallInfo callInfo, ...)

+ 1 - 1
lib/Runtime/Library/WebAssemblyTable.cpp

@@ -172,7 +172,7 @@ WebAssemblyTable::EntryGet(RecyclableObject* function, CallInfo callInfo, ...)
         return scriptContext->GetLibrary()->GetNull();
     }
 
-    return table->m_values[index];
+    return CrossSite::MarshalVar(scriptContext, table->m_values[index]);
 }
 
 Var