Skip to content

js/wasm: introduce scope for JS object #72786

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

romaindoumenc
Copy link

This changes allow to attach a JS object (e.g. browser component) to a
js/wasm Go program. This creates a scope to only capture relevant events,
enabling Web applications mixing Go / native components.

An example use is discussed in the GitHub issue.

Implementation-wise, this contains two changes:

  • on the JS side the go object gets a new field 'scope' that is checked
  • on the Go side, in package syscall/js, func Scope() Value returns
    go.scope when it has been provided, or else window/global.

A small test uses a dummy object to perform a simple get/set action on this
new field.

Fixes #56084

@gopherbot
Copy link
Contributor

This PR (HEAD: ef681aa) has been imported to Gerrit for code review.

Please visit Gerrit at https://go-review.googlesource.com/c/go/+/656595.

Important tips:

  • Don't comment on this PR. All discussion takes place in Gerrit.
  • You need a Gmail or other Google account to log in to Gerrit.
  • To change your code in response to feedback:
    • Push a new commit to the branch used by your GitHub PR.
    • A new "patch set" will then appear in Gerrit.
    • Respond to each comment by marking as Done in Gerrit if implemented as suggested. You can alternatively write a reply.
    • Critical: you must click the blue Reply button near the top to publish your Gerrit responses.
    • Multiple commits in the PR will be squashed by GerritBot.
  • The title and description of the GitHub PR are used to construct the final commit message.
    • Edit these as needed via the GitHub web interface (not via Gerrit or git).
    • You should word wrap the PR description at ~76 characters unless you need longer lines (e.g., for tables or URLs).
  • See the Sending a change via GitHub and Reviews sections of the Contribution Guide as well as the FAQ for details.

@gopherbot
Copy link
Contributor

Message from Jorropo:

Patch Set 1: Commit-Queue+1


Please don’t reply on this GitHub thread. Visit golang.org/cl/656595.
After addressing review feedback, remember to publish your drafts!

@gopherbot
Copy link
Contributor

Message from Go LUCI:

Patch Set 1:

Dry run: CV is trying the patch.

Bot data: {"action":"start","triggered_at":"2025-03-11T09:52:22Z","revision":"89efd54aa921fd8240ebee2e2e21469bb32bcab8"}


Please don’t reply on this GitHub thread. Visit golang.org/cl/656595.
After addressing review feedback, remember to publish your drafts!

@gopherbot
Copy link
Contributor

Message from Jorropo:

Patch Set 1: -Commit-Queue


Please don’t reply on this GitHub thread. Visit golang.org/cl/656595.
After addressing review feedback, remember to publish your drafts!

@gopherbot
Copy link
Contributor

Message from Go LUCI:

Patch Set 1:

This CL has passed the run


Please don’t reply on this GitHub thread. Visit golang.org/cl/656595.
After addressing review feedback, remember to publish your drafts!

@gopherbot
Copy link
Contributor

Message from Go LUCI:

Patch Set 1: LUCI-TryBot-Result+1


Please don’t reply on this GitHub thread. Visit golang.org/cl/656595.
After addressing review feedback, remember to publish your drafts!

@gopherbot
Copy link
Contributor

Message from Zxilly Chou:

Patch Set 1:

(1 comment)


Please don’t reply on this GitHub thread. Visit golang.org/cl/656595.
After addressing review feedback, remember to publish your drafts!

@gopherbot
Copy link
Contributor

Message from Romain Doumenc:

Patch Set 1:

(2 comments)


Please don’t reply on this GitHub thread. Visit golang.org/cl/656595.
After addressing review feedback, remember to publish your drafts!

@gopherbot
Copy link
Contributor

Message from Romain Doumenc:

Patch Set 1:

(2 comments)


Please don’t reply on this GitHub thread. Visit golang.org/cl/656595.
After addressing review feedback, remember to publish your drafts!

@gopherbot
Copy link
Contributor

Message from Ingo Oeser:

Patch Set 1:

(2 comments)


Please don’t reply on this GitHub thread. Visit golang.org/cl/656595.
After addressing review feedback, remember to publish your drafts!

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

syscall/js: add Scope function
2 participants