diff options
author | Akash Pateria <pateria.akash77@gmail.com> | 2024-10-01 17:34:35 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-02 00:34:35 +0000 |
commit | c76524e63bee4c00f7b3be26c021e314526f8b3a (patch) | |
tree | 4b48003203d73b41862f37fc0c25f7d13b1d8e9d /components/script/dom/bindings | |
parent | f3e61885023c9ebd0e0505ba5663f74bea546043 (diff) | |
download | servo-c76524e63bee4c00f7b3be26c021e314526f8b3a.tar.gz servo-c76524e63bee4c00f7b3be26c021e314526f8b3a.zip |
Fix panic in webstorage/symbol-props.window.js (#33108)
Issue: https://github.com/servo/servo/issues/32987
Signed-off-by: Akash Pateria <pateria.akash77@gmail.com>
Diffstat (limited to 'components/script/dom/bindings')
-rw-r--r-- | components/script/dom/bindings/codegen/CodegenRust.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/components/script/dom/bindings/codegen/CodegenRust.py b/components/script/dom/bindings/codegen/CodegenRust.py index 78e9588877e..86dafdddd29 100644 --- a/components/script/dom/bindings/codegen/CodegenRust.py +++ b/components/script/dom/bindings/codegen/CodegenRust.py @@ -5563,6 +5563,22 @@ class CGProxyNamedDeleter(CGProxyNamedOperation): def __init__(self, descriptor): CGProxySpecialOperation.__init__(self, descriptor, 'NamedDeleter') + def define(self): + # Our first argument is the id we're getting. + argName = self.arguments[0].identifier.name + return ("if !id.is_symbol() {\n" + f' let {argName} = match jsid_to_string(*cx, Handle::from_raw(id)) {{\n' + " Some(val) => val,\n" + " None => {\n" + " throw_type_error(*cx, \"Not a string-convertible JSID\");\n" + " return false;\n" + " }\n" + " };\n" + " let this = UnwrapProxy(proxy);\n" + " let this = &*this;\n" + f" {CGProxySpecialOperation.define(self)}" + "}\n") + class CGProxyUnwrap(CGAbstractMethod): def __init__(self, descriptor): |