Skip to content

Trusted types Continuation #5668

New issue

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

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

Already on GitHub? Sign in to your account

Open
wants to merge 13 commits into
base: master
Choose a base branch
from

Conversation

tete17
Copy link
Contributor

@tete17 tete17 commented Jul 31, 2025

This is a continuation of the work started in #5430

This time the focus is on being able to create policies via TrustedTypePolicyFactory::create_policy & being able to created TrustedTypes with TrustedTypePolicy::create_(html|script|script_url)

This unluck a good set of wpt tests in the trusted-types section.

My plan is to focus next on integrating this with the injection sinks api.

Copy link
Contributor

@Lubrsi Lubrsi left a comment

Choose a reason for hiding this comment

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

Great work and thanks for importing tests showing that this works. This addresses several code smells to bring the implementation more in line with our code style and some issues I noticed.

tete17 added 13 commits August 4, 2025 23:29
This allows authors to check if a Trusted Type is required for the given
Elements property.

This adds 28 more passing WPT tests :)
The TrustedHTML interface represents a string that a developer can
confidently insert into an injection sink that will render it as HTML.

These objects are immutable wrappers around a string, constructed via a
TrustedTypePolicy’s createHTML method.
This is used to check the legitimacy of a TrustedHTML object.
It is mostly a skeleton with no actual implementation.
It simply consists of a wrapper around the main algorithm
This is the mechanism that should pages to determine what kind of
policies can be created on their domains mostly based around the HTTP
headers the server responds with.
This is the main mechanism by which users of the api can create
safe object with a callback for any needed sanitation of the values.
This turns out to be very similar to TrustedHTML.
This changes should allow us to now call createScript as well.
This completes the 3 main TrustedType classes.
This gives us at least 72 new tests :)
@tete17
Copy link
Contributor Author

tete17 commented Aug 4, 2025

Thank you very much @Lubrsi & @ADKaster for the wonderfull review.

I have to fixup commits like a 1000 times but i hope I haven't missed any of your comments.

There is only one point left that it wasn't 100% clear on me :)

@tete17 tete17 requested review from Lubrsi and ADKaster August 4, 2025 21:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants