1
0
mirror of https://github.com/golang/go synced 2024-11-23 02:00:03 -07:00
go/misc/wasm
Paul Jolly abaf53fb8e misc/wasm: use single map for string, symbol and object id mapping.
Currently we use a globally unique symbol property on objects that get
passed from JavaScript to Go to store a unique ID that Go then uses when
referring back to the JavaScript object (via js.Value.ref). This
approach fails however when a JavaScript object cannot be modified, i.e.
cannot have new properties added or is frozen. The test that is added as
part of this commit currently fails with:

  Cannot add property Symbol(), object is not extensible

Instead we consolidate the string, symbol and object unique ID mapping
into a single map. Map key equality is determined via strict equality,
which is the semantic we want in this situation.

Change-Id: Ieb2b50fc36d3c30e148aa7a41557f3c59cd33766
Reviewed-on: https://go-review.googlesource.com/121799
Run-TryBot: Paul Jolly <paul@myitcv.org.uk>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Richard Musiol <neelance@gmail.com>
2018-07-03 20:45:17 +00:00
..
go_js_wasm_exec misc/wasm: add scripts for running WebAssembly binaries 2018-03-30 05:13:31 +00:00
wasm_exec.html misc/wasm: make wasm_exec.js more flexible 2018-05-18 18:16:50 +00:00
wasm_exec.js misc/wasm: use single map for string, symbol and object id mapping. 2018-07-03 20:45:17 +00:00