From 402ae42f29942b4e23c35b2834b940ff41a61b95 Mon Sep 17 00:00:00 2001 From: Jon Coppeard Date: Sat, 1 May 2021 12:10:14 +0000 Subject: [PATCH] Bug 1708739 - Move WeakMap APIs to new public header r=yulia Differential Revision: https://phabricator.services.mozilla.com/D113994 --- js/moz.build | 1 + js/public/WeakMap.h | 34 ++++++++++++++++++++++++++++++++++ js/src/jsapi.h | 19 +------------------ js/src/moz.build | 1 + 4 files changed, 37 insertions(+), 18 deletions(-) create mode 100644 js/public/WeakMap.h diff --git a/js/moz.build b/js/moz.build index 77fd41a797ae..456920eec1f2 100644 --- a/js/moz.build +++ b/js/moz.build @@ -13,6 +13,7 @@ for header in ( "SweepingAPI.h", "TraceKind.h", "TracingAPI.h", + "WeakMap.h", "WeakMapPtr.h", "GCHashTable.h", "GCPolicyAPI.h", diff --git a/js/public/WeakMap.h b/js/public/WeakMap.h new file mode 100644 index 000000000000..16b81b7e3e55 --- /dev/null +++ b/js/public/WeakMap.h @@ -0,0 +1,34 @@ +/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * vim: set ts=8 sts=2 et sw=2 tw=80: + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +/* + * Weak Maps. + */ + +#ifndef js_WeakMap_h +#define js_WeakMap_h + +#include "jspubtd.h" + +namespace JS { + +extern JS_PUBLIC_API JSObject* NewWeakMapObject(JSContext* cx); + +extern JS_PUBLIC_API bool IsWeakMapObject(JSObject* obj); + +extern JS_PUBLIC_API bool GetWeakMapEntry(JSContext* cx, + JS::HandleObject mapObj, + JS::HandleObject key, + JS::MutableHandleValue val); + +extern JS_PUBLIC_API bool SetWeakMapEntry(JSContext* cx, + JS::HandleObject mapObj, + JS::HandleObject key, + JS::HandleValue val); + +} // namespace JS + +#endif // js_WeakMap_h diff --git a/js/src/jsapi.h b/js/src/jsapi.h index d9630a0e9ad6..35285e603ca5 100644 --- a/js/src/jsapi.h +++ b/js/src/jsapi.h @@ -53,6 +53,7 @@ #include "js/Value.h" #include "js/ValueArray.h" #include "js/Vector.h" +#include "js/WeakMap.h" /************************************************************************/ @@ -2054,24 +2055,6 @@ extern JS_PUBLIC_API bool CreateError( /************************************************************************/ -/* - * Weak Maps. - */ - -extern JS_PUBLIC_API JSObject* NewWeakMapObject(JSContext* cx); - -extern JS_PUBLIC_API bool IsWeakMapObject(JSObject* obj); - -extern JS_PUBLIC_API bool GetWeakMapEntry(JSContext* cx, - JS::HandleObject mapObj, - JS::HandleObject key, - JS::MutableHandleValue val); - -extern JS_PUBLIC_API bool SetWeakMapEntry(JSContext* cx, - JS::HandleObject mapObj, - JS::HandleObject key, - JS::HandleValue val); - /* * Map */ diff --git a/js/src/moz.build b/js/src/moz.build index 17b05f95e3df..e86856b07afc 100755 --- a/js/src/moz.build +++ b/js/src/moz.build @@ -215,6 +215,7 @@ EXPORTS.js += [ "../public/Warnings.h", "../public/WasmFeatures.h", "../public/WasmModule.h", + "../public/WeakMap.h", "../public/WeakMapPtr.h", "../public/Wrapper.h", ]