mirror of
https://github.com/servo/servo.git
synced 2025-08-07 06:25:32 +01:00
Stub out Trusted Types interfaces (#36355)
Some methods are implemented fully, while others are implemented partly. With these implementations, there are no observed crashes when running the trusted-types web-platform-tests. Most notably, the tests/wpt/tests/trusted-types/idlharness.window.js is now fully passing. Part of #36258 Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
This commit is contained in:
parent
3f24b44e15
commit
b87bf0b806
145 changed files with 3377 additions and 559 deletions
13
components/script_bindings/webidls/TrustedHTML.webidl
Normal file
13
components/script_bindings/webidls/TrustedHTML.webidl
Normal file
|
@ -0,0 +1,13 @@
|
|||
/* 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/. */
|
||||
/*
|
||||
* The origin of this IDL file is
|
||||
* https://www.w3.org/TR/trusted-types/#trusted-html
|
||||
*/
|
||||
|
||||
[Exposed=(Window,Worker), Pref="dom_trusted_types_enabled"]
|
||||
interface TrustedHTML {
|
||||
stringifier;
|
||||
DOMString toJSON();
|
||||
};
|
13
components/script_bindings/webidls/TrustedScript.webidl
Normal file
13
components/script_bindings/webidls/TrustedScript.webidl
Normal file
|
@ -0,0 +1,13 @@
|
|||
/* 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/. */
|
||||
/*
|
||||
* The origin of this IDL file is
|
||||
* https://www.w3.org/TR/trusted-types/#trusted-script
|
||||
*/
|
||||
|
||||
[Exposed=(Window,Worker), Pref="dom_trusted_types_enabled"]
|
||||
interface TrustedScript {
|
||||
stringifier;
|
||||
DOMString toJSON();
|
||||
};
|
13
components/script_bindings/webidls/TrustedScriptURL.webidl
Normal file
13
components/script_bindings/webidls/TrustedScriptURL.webidl
Normal file
|
@ -0,0 +1,13 @@
|
|||
/* 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/. */
|
||||
/*
|
||||
* The origin of this IDL file is
|
||||
* https://www.w3.org/TR/trusted-types/#trused-script-url
|
||||
*/
|
||||
|
||||
[Exposed=(Window,Worker), Pref="dom_trusted_types_enabled"]
|
||||
interface TrustedScriptURL {
|
||||
stringifier;
|
||||
DOMString toJSON();
|
||||
};
|
15
components/script_bindings/webidls/TrustedTypePolicy.webidl
Normal file
15
components/script_bindings/webidls/TrustedTypePolicy.webidl
Normal file
|
@ -0,0 +1,15 @@
|
|||
/* 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/. */
|
||||
/*
|
||||
* The origin of this IDL file is
|
||||
* https://www.w3.org/TR/trusted-types/#trusted-type-policy
|
||||
*/
|
||||
|
||||
[Exposed=(Window,Worker), Pref="dom_trusted_types_enabled"]
|
||||
interface TrustedTypePolicy {
|
||||
readonly attribute DOMString name;
|
||||
TrustedHTML createHTML(DOMString input, any... arguments);
|
||||
TrustedScript createScript(DOMString input, any... arguments);
|
||||
TrustedScriptURL createScriptURL(DOMString input, any... arguments);
|
||||
};
|
|
@ -0,0 +1,38 @@
|
|||
/* 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/. */
|
||||
/*
|
||||
* The origin of this IDL file is
|
||||
* https://www.w3.org/TR/trusted-types/#trusted-type-policy-factory
|
||||
*/
|
||||
|
||||
[Exposed=(Window,Worker), Pref="dom_trusted_types_enabled"]
|
||||
interface TrustedTypePolicyFactory {
|
||||
[Throws]
|
||||
TrustedTypePolicy createPolicy(
|
||||
DOMString policyName, optional TrustedTypePolicyOptions policyOptions = {});
|
||||
boolean isHTML(any value);
|
||||
boolean isScript(any value);
|
||||
boolean isScriptURL(any value);
|
||||
readonly attribute TrustedHTML emptyHTML;
|
||||
readonly attribute TrustedScript emptyScript;
|
||||
DOMString? getAttributeType(
|
||||
DOMString tagName,
|
||||
DOMString attribute,
|
||||
optional DOMString? elementNs = "",
|
||||
optional DOMString? attrNs = "");
|
||||
DOMString? getPropertyType(
|
||||
DOMString tagName,
|
||||
DOMString property,
|
||||
optional DOMString? elementNs = "");
|
||||
readonly attribute TrustedTypePolicy? defaultPolicy;
|
||||
};
|
||||
|
||||
dictionary TrustedTypePolicyOptions {
|
||||
CreateHTMLCallback createHTML;
|
||||
CreateScriptCallback createScript;
|
||||
CreateScriptURLCallback createScriptURL;
|
||||
};
|
||||
callback CreateHTMLCallback = DOMString? (DOMString input, any... arguments);
|
||||
callback CreateScriptCallback = DOMString? (DOMString input, any... arguments);
|
||||
callback CreateScriptURLCallback = USVString? (DOMString input, any... arguments);
|
|
@ -45,5 +45,10 @@ partial interface mixin WindowOrWorkerGlobalScope {
|
|||
readonly attribute boolean isSecureContext;
|
||||
};
|
||||
|
||||
// https://www.w3.org/TR/trusted-types/#extensions-to-the-windoworworkerglobalscope-interface
|
||||
partial interface mixin WindowOrWorkerGlobalScope {
|
||||
readonly attribute TrustedTypePolicyFactory trustedTypes;
|
||||
};
|
||||
|
||||
Window includes WindowOrWorkerGlobalScope;
|
||||
WorkerGlobalScope includes WindowOrWorkerGlobalScope;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue