void WritableSharedMap::Set(JSContext* aCx, const nsACString& aName, JS::HandleValue aValue, ErrorResult& aRv) { StructuredCloneData holder; holder.Write(aCx, aValue, aRv); if (aRv.Failed()) { return; } if (!holder.InputStreams().IsEmpty()) { aRv.Throw(NS_ERROR_INVALID_ARG); return; } Entry* entry = mEntries.LookupOrAdd(aName, *this, aName); entry->TakeData(std::move(holder)); KeyChanged(aName); }