Skip to content

script: Finish JSContextify, remove CanGc and CanGc reflect methods - #46333

Merged
TimvdLippe merged 2 commits into
servo:mainfrom
Narfinger:super-jscontextify-world
Jul 7, 2026
Merged

TimvdLippe merged 2 commits into
servo:mainfrom
Narfinger:super-jscontextify-world

Conversation

@Narfinger

@Narfinger Narfinger commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

This is the final part of the work to move to JSContext instead of CanGc. With this we deprecate all remaining usages of CanGc and remove CanGc and the reflect method using CanGc from the codebase.

Notice that ShadowRoot::register_element_id had previously a CanGc argument which seems unnecessary and was removed.

Part of #40600

Testing: Compilation is the test.

@Narfinger

Copy link
Copy Markdown
Contributor Author

This needs to wait for #46330 and #46312 to land plus a proper rebase.

@Narfinger
Narfinger force-pushed the super-jscontextify-world branch from 86deee1 to d7bda01 Compare July 7, 2026 07:26

@TimvdLippe TimvdLippe left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Super exciting to see this one close in!

Comment thread components/script_bindings/reflector.rs
@Narfinger
Narfinger force-pushed the super-jscontextify-world branch from d7bda01 to 690d618 Compare July 7, 2026 07:45
Comment thread components/script_bindings/reflector.rs Outdated
Narfinger added 2 commits July 7, 2026 11:53
Signed-off-by: Narfinger <[email protected]>
Signed-off-by: Narfinger <[email protected]>
@Narfinger
Narfinger force-pushed the super-jscontextify-world branch from 690d618 to f01822e Compare July 7, 2026 10:03
@Narfinger

Copy link
Copy Markdown
Contributor Author

Please note the change in the description to highlight the ShadowRoot::register_element_id.

@Narfinger
Narfinger marked this pull request as ready for review July 7, 2026 10:04
@Narfinger
Narfinger requested a review from gterzian as a code owner July 7, 2026 10:04
@servo-highfive servo-highfive added the S-awaiting-review There is new code that needs to be reviewed. label Jul 7, 2026

@TimvdLippe TimvdLippe left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work! Super exciting to see this land

@servo-highfive servo-highfive removed the S-awaiting-review There is new code that needs to be reviewed. label Jul 7, 2026
@TimvdLippe
TimvdLippe enabled auto-merge July 7, 2026 10:12
@TimvdLippe
TimvdLippe added this pull request to the merge queue Jul 7, 2026
@servo-highfive servo-highfive added the S-awaiting-merge The PR is in the process of compiling and running tests on the automated CI. label Jul 7, 2026
Merged via the queue into servo:main with commit 456a820 Jul 7, 2026
35 checks passed
@servo-highfive servo-highfive removed the S-awaiting-merge The PR is in the process of compiling and running tests on the automated CI. label Jul 7, 2026
@Narfinger
Narfinger deleted the super-jscontextify-world branch July 7, 2026 11:49
@servo-highfive

Copy link
Copy Markdown

Someone thinks this change could be added to the monthly blog post! To help with this, we need someone to answer the following questions: 😄

  1. Who is most impacted by this change: users, Servo developers, embedders, or some other group?
  2. What observable difference does this change make?
  3. What preferences (if any) need to be enabled to observe this difference?
  4. What (if any) specific URLs are affected?

If this change is part of a broader feature/project please make sure the PR description contains a Fixes: #12345 or Part of: #12345 issue reference.

Please add @servo-highfive monthly update answer when answering these questions so the bot notices your answer (or just quote this comment).

Thanks for helping us prepare the monthly blog post! ❤️

@TimvdLippe

Copy link
Copy Markdown
Contributor

@servo-highfive monthly update answer

  1. Users and Servo developers
  2. Servo is now a lot safer, where it now correctly handles garbage collection happening during operations. Before it could crash Servo, which is now no longer possible
  3. None
  4. All

Feel free to make this a tad bigger section in the blog post, but this is the gist of it

Narfinger added a commit to Narfinger/servo that referenced this pull request Jul 7, 2026
…ervo#46333) (linux-wpt-debugmozjs)

{"fail_fast": false, "matrix": [{"name": "Linux (Debug Mozjs, WPT)", "workflow": "linux", "wpt": true, "profile": "checked-release", "unit_tests": false, "devtools_tests": false, "build_libservo": false, "bencher": false, "coverage": false, "capi": false, "build_args": "--debug-mozjs", "wpt_args": "", "number_of_wpt_chunks": 20}]}
mu-mostafa98 pushed a commit to mu-mostafa98/servo that referenced this pull request Jul 16, 2026
…ervo#46552)

Remove duplicate `LargestContentfulPaint` in `Bindings.conf`

First Addition in servo#46318
Second Addition in servo#46333

Testing: Existing WPT

Signed-off-by: Shubham Gupta <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants