blob: 6ff45e7050c90feda36f99a422a243c01ff51156 [file] [log] [blame]
// https://github.com/wicg/trusted-types
typedef (DOMString or TrustedHTML) HTMLString;
typedef (DOMString or TrustedScript) ScriptString;
typedef (DOMString or TrustedScriptURL) ScriptURLString;
typedef (USVString or TrustedURL) URLString;
[Exposed=(Window, Worker)]
interface TrustedHTML {
stringifier;
};
[Exposed=(Window, Worker)]
interface TrustedScript {
stringifier;
};
[Exposed=(Window, Worker)]
interface TrustedScriptURL {
stringifier;
};
[Exposed=(Window, Worker)]
interface TrustedURL {
stringifier;
};
[Exposed=(Window, Worker)]
interface TrustedTypePolicyFactory {
[Unforgeable] TrustedTypePolicy createPolicy(DOMString policyName, TrustedTypePolicyOptions policyOptions);
// All the policy object names that have been created
[Unforgeable] sequence<DOMString> getPolicyNames();
};
[Exposed=(Window, Worker)]
interface TrustedTypePolicy {
[Unforgeable] readonly attribute DOMString name;
[Unforgeable] TrustedHTML createHTML(DOMString input);
[Unforgeable] TrustedScript createScript(DOMString input);
[Unforgeable] TrustedScriptURL createScriptURL(DOMString input);
[Unforgeable] TrustedURL createURL(DOMString input);
};
dictionary TrustedTypePolicyOptions {
CreateHTMLCallback createHTML;
CreateScriptCallback createScript;
CreateURLCallback createScriptURL;
CreateURLCallback createURL;
};
callback CreateHTMLCallback = DOMString (DOMString input);
callback CreateScriptCallback = DOMString (DOMString input);
callback CreateURLCallback = USVString (DOMString input);