[X2Go-Commits] [pale-moon] 111/294: Align IDL record to C++ conversion with the spec when Symbol-named properties are involved

git-admin at x2go.org git-admin at x2go.org
Sat Apr 27 08:57:57 CEST 2019


This is an automated email from the git hooks/post-receive script.

x2go pushed a commit to branch upstream/28.5.0
in repository pale-moon.

commit c00255c355ab32f7b19f21e9797a8fb83827d0be
Author: JustOff <Off.Just.Off at gmail.com>
Date:   Wed Mar 13 21:44:49 2019 +0200

    Align IDL record to C++ conversion with the spec when Symbol-named properties are involved
---
 dom/bindings/Codegen.py | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/dom/bindings/Codegen.py b/dom/bindings/Codegen.py
index e32d16a..74acb59 100644
--- a/dom/bindings/Codegen.py
+++ b/dom/bindings/Codegen.py
@@ -4808,10 +4808,8 @@ def getJSToNativeConversionInfo(type, descriptorProvider, failureCode=None,
 
             JS::Rooted<JSObject*> recordObj(cx, &$${val}.toObject());
             JS::AutoIdVector ids(cx);
-            // Keep skipping symbols until
-            // https://github.com/heycam/webidl/issues/294 is sorted out.
             if (!js::GetPropertyKeys(cx, recordObj,
-                                     JSITER_OWNONLY | JSITER_HIDDEN, &ids)) {
+                                     JSITER_OWNONLY | JSITER_HIDDEN | JSITER_SYMBOLS, &ids)) {
               $*{exceptionCode}
             }
             if (!recordEntries.SetCapacity(ids.length(), mozilla::fallible)) {
@@ -4831,8 +4829,6 @@ def getJSToNativeConversionInfo(type, descriptorProvider, failureCode=None,
             for (size_t i = 0; i < ids.length(); ++i) {
               curId = ids[i];
 
-              MOZ_ASSERT(!JSID_IS_SYMBOL(curId), "No symbols, we said!");
-
               JS::Rooted<JS::PropertyDescriptor> desc(cx);
               if (!JS_GetOwnPropertyDescriptorById(cx, recordObj, curId,
                                                    &desc)) {
@@ -4846,6 +4842,8 @@ def getJSToNativeConversionInfo(type, descriptorProvider, failureCode=None,
 
               idVal = js::IdToValue(curId);
               ${keyType} propName;
+              // This will just throw if idVal is a Symbol, like the spec says
+              // to do.
               if (!${keyConversionFunction}(cx, idVal, propName)) {
                 $*{exceptionCode}
               }

--
Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/pale-moon.git


More information about the x2go-commits mailing list