mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00:00
We now check the sink of script.src for trusted types. This is the first attribute that we check, other sinks will be implemented in follow-up changes. The algorithms currently hardcode various parts. That's because I need to refactor a couple of algorithms already present in TrustedTypePolicy. They use callbacks at the moment, which made sense for their initial use. However, for these new algorithms they don't work. Therefore, I will align them with the specification by taking in an enum. However, since that's a bigger refactoring, I left that out of this PR (which is already quite big). The other trusted types support (createScript and createHTML) will also be implemented separately. Part of #36258 --------- Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com> Signed-off-by: Tim van der Lippe <TimvdLippe@users.noreply.github.com> Co-authored-by: Josh Matthews <josh@joshmatthews.net>
40 lines
1.2 KiB
Text
40 lines
1.2 KiB
Text
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
|
|
// https://html.spec.whatwg.org/multipage/#htmlscriptelement
|
|
[Exposed=Window]
|
|
interface HTMLScriptElement : HTMLElement {
|
|
[HTMLConstructor] constructor();
|
|
|
|
[CEReactions, SetterThrows]
|
|
attribute (TrustedScriptURL or USVString) src;
|
|
[CEReactions]
|
|
attribute DOMString type;
|
|
[CEReactions]
|
|
attribute boolean noModule;
|
|
[CEReactions]
|
|
attribute DOMString charset;
|
|
[CEReactions]
|
|
attribute boolean async;
|
|
[CEReactions]
|
|
attribute boolean defer;
|
|
[CEReactions]
|
|
attribute DOMString? crossOrigin;
|
|
[CEReactions, Pure]
|
|
attribute DOMString text;
|
|
[CEReactions]
|
|
attribute DOMString integrity;
|
|
[CEReactions]
|
|
attribute DOMString referrerPolicy;
|
|
|
|
// also has obsolete members
|
|
};
|
|
|
|
// https://html.spec.whatwg.org/multipage/#HTMLScriptElement-partial
|
|
partial interface HTMLScriptElement {
|
|
[CEReactions]
|
|
attribute DOMString event;
|
|
[CEReactions]
|
|
attribute DOMString htmlFor;
|
|
};
|