mirror of
https://github.com/servo/servo.git
synced 2025-06-17 12:54:28 +00:00
feat(script): add Supports()
to htmlscriptelement
(#37313)
Add static method `Supports` to `HTMLScriptElement`. Part of #37262 Testing: relative WPT tests should become `PASS` Signed-off-by: Jason Tsai <git@pews.dev>
This commit is contained in:
parent
352e4bfcf1
commit
47f9fbd8c7
4 changed files with 10 additions and 21 deletions
|
@ -70,6 +70,7 @@ use crate::dom::performanceresourcetiming::InitiatorType;
|
|||
use crate::dom::trustedscript::TrustedScript;
|
||||
use crate::dom::trustedscripturl::TrustedScriptURL;
|
||||
use crate::dom::virtualmethods::VirtualMethods;
|
||||
use crate::dom::window::Window;
|
||||
use crate::fetch::create_a_potential_cors_request;
|
||||
use crate::network_listener::{self, NetworkListener, PreInvoke, ResourceTimingListener};
|
||||
use crate::realms::enter_realm;
|
||||
|
@ -1526,6 +1527,13 @@ impl HTMLScriptElementMethods<crate::DomTypeHolder> for HTMLScriptElement {
|
|||
.SetTextContent(Some(DOMString::from(value)), can_gc);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
/// <https://html.spec.whatwg.org/multipage/#dom-script-supports>
|
||||
fn Supports(_window: &Window, type_: DOMString) -> bool {
|
||||
// The type argument has to exactly match these values,
|
||||
// we do not perform an ASCII case-insensitive match.
|
||||
matches!(type_.str(), "classic" | "module" | "importmap")
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Copy)]
|
||||
|
|
|
@ -32,6 +32,8 @@ interface HTMLScriptElement : HTMLElement {
|
|||
[CEReactions]
|
||||
attribute DOMString referrerPolicy;
|
||||
|
||||
static boolean supports(DOMString type);
|
||||
|
||||
// also has obsolete members
|
||||
};
|
||||
|
||||
|
|
|
@ -6913,18 +6913,12 @@
|
|||
[HTMLScriptElement interface: attribute fetchPriority]
|
||||
expected: FAIL
|
||||
|
||||
[HTMLScriptElement interface: operation supports(DOMString)]
|
||||
expected: FAIL
|
||||
|
||||
[HTMLScriptElement interface: document.createElement("script") must inherit property "blocking" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[HTMLScriptElement interface: document.createElement("script") must inherit property "fetchPriority" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[HTMLScriptElement interface: calling supports(DOMString) on document.createElement("script") with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[HTMLMarqueeElement interface: existence and properties of interface object]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,15 +0,0 @@
|
|||
[script-supports.html]
|
||||
[Type of HTMLScriptElement.supports is function]
|
||||
expected: FAIL
|
||||
|
||||
[HTMLScriptElement.supports resurns true for 'classic']
|
||||
expected: FAIL
|
||||
|
||||
[HTMLScriptElement.supports resurns true for 'module']
|
||||
expected: FAIL
|
||||
|
||||
[HTMLScriptElement.supports returns false for JavaScript MIME types]
|
||||
expected: FAIL
|
||||
|
||||
[HTMLScriptElement.supports returns false for unsupported types]
|
||||
expected: FAIL
|
Loading…
Add table
Add a link
Reference in a new issue