aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjaymodi98 <jaymodi98@gmail.com>2019-10-28 17:21:45 -0400
committerJosh Matthews <josh@joshmatthews.net>2019-11-12 13:57:54 -0500
commitbf69b6fea7c7eed2ba3b96e5c77573f25b7929ed (patch)
treefb0632e7edc62d80dcd133ef9adeb1b093c923ce
parent944c1e9f976a4daf5ba640d889f0b00a06d15a17 (diff)
downloadservo-bf69b6fea7c7eed2ba3b96e5c77573f25b7929ed.tar.gz
servo-bf69b6fea7c7eed2ba3b96e5c77573f25b7929ed.zip
Implement srcdoc support for iframes.
-rw-r--r--components/script/dom/htmliframeelement.rs49
-rw-r--r--components/script/dom/webidls/HTMLIFrameElement.webidl4
-rw-r--r--components/script/script_thread.rs24
-rw-r--r--components/script_traits/lib.rs4
-rw-r--r--tests/wpt/metadata/FileAPI/url/url-with-fetch.any.js.ini3
-rw-r--r--tests/wpt/metadata/WebIDL/current-realm.html.ini9
-rw-r--r--tests/wpt/metadata/css/CSS2/floats/floats-in-table-caption-001.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/hyphens/hyphens-out-of-flow-001.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/line-break/line-break-normal-018.xht.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/line-break/line-break-strict-018.xht.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/text-transform/text-transform-full-size-kana-001.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/text-transform/text-transform-full-size-kana-002.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/text-transform/text-transform-full-size-kana-003.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/text-transform/text-transform-full-size-kana-004.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/white-space/trailing-ideographic-space-004.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-transforms/animation/perspective-interpolation.html.ini1
-rw-r--r--tests/wpt/metadata/css/css-transitions/no-transition-from-ua-to-blocking-stylesheet.html.ini2
-rw-r--r--tests/wpt/metadata/css/cssom-view/matchMedia-display-none-iframe.html.ini2
-rw-r--r--tests/wpt/metadata/custom-elements/reactions/HTMLMediaElement.html.ini2
-rw-r--r--tests/wpt/metadata/dom/nodes/Document-contentType/contentType/contenttype_html.html.ini2
-rw-r--r--tests/wpt/metadata/dom/nodes/Document-contentType/contentType/contenttype_txt.html.ini2
-rw-r--r--tests/wpt/metadata/dom/nodes/Document-contentType/contentType/contenttype_xml.html.ini2
-rw-r--r--tests/wpt/metadata/encoding/streams/realms.window.js.ini5
-rw-r--r--tests/wpt/metadata/fetch/security/dangling-markup-mitigation-data-url.tentative.sub.html.ini34
-rw-r--r--tests/wpt/metadata/fetch/security/dangling-markup-mitigation.tentative.html.ini9
-rw-r--r--tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini4
-rw-r--r--tests/wpt/metadata/html/browsers/history/the-location-interface/location-protocol-setter-non-broken.html.ini3
-rw-r--r--tests/wpt/metadata/html/browsers/history/the-location-interface/location_hash.html.ini3
-rw-r--r--tests/wpt/metadata/html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_setter_srcdoc.html.ini12
-rw-r--r--tests/wpt/metadata/html/browsers/sandboxing/sandbox-parse-noscript.html.ini2
-rw-r--r--tests/wpt/metadata/html/browsers/windows/embedded-opener-remove-frame.html.ini1
-rw-r--r--tests/wpt/metadata/html/dom/idlharness.https.html.ini3
-rw-r--r--tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/focusable-area-in-top-document.html.ini4
-rw-r--r--tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/skip-not-fully-active.html.ini3
-rw-r--r--tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_anchor_download_allow_downloads_without_user_activation.sub.tentative.html.ini3
-rw-r--r--tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_anchor_download_block_downloads_without_user_activation.sub.tentative.html.ini4
-rw-r--r--tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigation_download_allow_downloads_without_user_activation.sub.tentative.html.ini3
-rw-r--r--tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigation_download_block_downloads_without_user_activation.sub.tentative.html.ini4
-rw-r--r--tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini3
-rw-r--r--tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/srcdoc_process_attributes.html.ini14
-rw-r--r--tests/wpt/metadata/html/semantics/embedded-content/the-img-element/sizes/sizes-dynamic-001.html.ini2
-rw-r--r--tests/wpt/metadata/html/semantics/forms/form-submission-0/form-double-submit-2.html.ini2
-rw-r--r--tests/wpt/metadata/html/semantics/forms/form-submission-0/form-double-submit-3.html.ini2
-rw-r--r--tests/wpt/metadata/html/semantics/links/links-created-by-a-and-area-elements/htmlanchorelement_noopener.html.ini6
-rw-r--r--tests/wpt/metadata/html/semantics/scripting-1/the-script-element/execution-timing/099.html.ini5
-rw-r--r--tests/wpt/metadata/html/the-xhtml-syntax/parsing-xhtml-documents/data-xhtml-with-dtd.html.ini2
-rw-r--r--tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/closing-the-input-stream/document-close-with-pending-script.html.ini5
-rw-r--r--tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/location-set-and-document-open.html.ini3
-rw-r--r--tests/wpt/metadata/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.html.ini4
-rw-r--r--tests/wpt/metadata/html/webappapis/update-rendering/child-document-raf-order.html.ini3
-rw-r--r--tests/wpt/metadata/referrer-policy/generic/inheritance/iframe-inheritance-srcdoc-child.html.ini3
-rw-r--r--tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini1
-rw-r--r--tests/wpt/metadata/webmessaging/with-ports/018.html.ini5
-rw-r--r--tests/wpt/metadata/websockets/remove-own-iframe-during-onerror.window.js.ini5
-rw-r--r--tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini1
-rw-r--r--tests/wpt/metadata/workers/semantics/run-a-worker/003.html.ini1
56 files changed, 116 insertions, 172 deletions
diff --git a/components/script/dom/htmliframeelement.rs b/components/script/dom/htmliframeelement.rs
index e58e65ea5bb..df94aeb361c 100644
--- a/components/script/dom/htmliframeelement.rs
+++ b/components/script/dom/htmliframeelement.rs
@@ -229,7 +229,30 @@ impl HTMLIFrameElement {
/// <https://html.spec.whatwg.org/multipage/#process-the-iframe-attributes>
fn process_the_iframe_attributes(&self, mode: ProcessingMode) {
- // TODO: srcdoc
+ if self
+ .upcast::<Element>()
+ .has_attribute(&local_name!("srcdoc"))
+ {
+ let url = ServoUrl::parse("about:srcdoc").unwrap();
+ let document = document_from_node(self);
+ let window = window_from_node(self);
+ let pipeline_id = Some(window.upcast::<GlobalScope>().pipeline_id());
+ let mut load_data = LoadData::new(
+ LoadOrigin::Script(document.origin().immutable().clone()),
+ url,
+ pipeline_id,
+ Some(Referrer::ReferrerUrl(document.url())),
+ document.get_referrer_policy(),
+ );
+ let element = self.upcast::<Element>();
+ load_data.srcdoc = String::from(element.get_string_attribute(&local_name!("srcdoc")));
+ self.navigate_or_reload_child_browsing_context(
+ load_data,
+ NavigationType::InitialAboutBlank,
+ HistoryEntryReplacement::Disabled,
+ );
+ return;
+ }
let window = window_from_node(self);
@@ -480,6 +503,12 @@ impl HTMLIFrameElementMethods for HTMLIFrameElement {
// https://html.spec.whatwg.org/multipage/#dom-iframe-src
make_url_setter!(SetSrc, "src");
+ // https://html.spec.whatwg.org/multipage/#dom-iframe-srcdoc
+ make_getter!(Srcdoc, "srcdoc");
+
+ // https://html.spec.whatwg.org/multipage/#dom-iframe-srcdoc
+ make_setter!(SetSrcdoc, "srcdoc");
+
// https://html.spec.whatwg.org/multipage/#dom-iframe-sandbox
fn Sandbox(&self) -> DomRoot<DOMTokenList> {
self.sandbox
@@ -580,13 +609,29 @@ impl VirtualMethods for HTMLIFrameElement {
modes
}));
},
+ &local_name!("srcdoc") => {
+ // https://html.spec.whatwg.org/multipage/#the-iframe-element:the-iframe-element-9
+ // "Whenever an iframe element with a non-null nested browsing context has its
+ // srcdoc attribute set, changed, or removed, the user agent must process the
+ // iframe attributes."
+ // but we can't check that directly, since the child browsing context
+ // may be in a different script thread. Instead, we check to see if the parent
+ // is in a document tree and has a browsing context, which is what causes
+ // the child browsing context to be created.
+
+ // trigger the processing of iframe attributes whenever "srcdoc" attribute is set, changed or removed
+ if self.upcast::<Node>().is_connected_with_browsing_context() {
+ debug!("iframe srcdoc modified while in browsing context.");
+ self.process_the_iframe_attributes(ProcessingMode::NotFirstTime);
+ }
+ },
&local_name!("src") => {
// https://html.spec.whatwg.org/multipage/#the-iframe-element
// "Similarly, whenever an iframe element with a non-null nested browsing context
// but with no srcdoc attribute specified has its src attribute set, changed, or removed,
// the user agent must process the iframe attributes,"
// but we can't check that directly, since the child browsing context
- // may be in a different script thread. Instread, we check to see if the parent
+ // may be in a different script thread. Instead, we check to see if the parent
// is in a document tree and has a browsing context, which is what causes
// the child browsing context to be created.
if self.upcast::<Node>().is_connected_with_browsing_context() {
diff --git a/components/script/dom/webidls/HTMLIFrameElement.webidl b/components/script/dom/webidls/HTMLIFrameElement.webidl
index acc4f0f201d..b9dd97bdea6 100644
--- a/components/script/dom/webidls/HTMLIFrameElement.webidl
+++ b/components/script/dom/webidls/HTMLIFrameElement.webidl
@@ -9,8 +9,8 @@ interface HTMLIFrameElement : HTMLElement {
[CEReactions]
attribute USVString src;
- // [CEReactions]
- // attribute DOMString srcdoc;
+ [CEReactions]
+ attribute DOMString srcdoc;
[CEReactions]
attribute DOMString name;
diff --git a/components/script/script_thread.rs b/components/script/script_thread.rs
index 191df335ec5..20ac88b7bc1 100644
--- a/components/script/script_thread.rs
+++ b/components/script/script_thread.rs
@@ -2430,6 +2430,8 @@ impl ScriptThread {
);
if load_data.url.as_str() == "about:blank" {
self.start_page_load_about_blank(new_load, load_data.js_eval_result);
+ } else if load_data.url.as_str() == "about:srcdoc" {
+ self.page_load_about_srcdoc(new_load, load_data.srcdoc);
} else {
self.pre_page_load(new_load, load_data);
}
@@ -3177,7 +3179,8 @@ impl ScriptThread {
self.timer_event_chan.clone(),
);
- let origin = if final_url.as_str() == "about:blank" {
+ let origin = if final_url.as_str() == "about:blank" || final_url.as_str() == "about:srcdoc"
+ {
incomplete.origin.clone()
} else {
MutableOrigin::new(final_url.origin())
@@ -3838,6 +3841,25 @@ impl ScriptThread {
context.process_response_eof(Ok(ResourceFetchTiming::new(ResourceTimingType::None)));
}
+ /// Synchronously parse a srcdoc document from a giving HTML string.
+ fn page_load_about_srcdoc(&self, incomplete: InProgressLoad, src_doc: String) {
+ let id = incomplete.pipeline_id;
+
+ self.incomplete_loads.borrow_mut().push(incomplete);
+
+ let url = ServoUrl::parse("about:srcdoc").unwrap();
+ let mut context = ParserContext::new(id, url.clone());
+
+ let mut meta = Metadata::default(url);
+ meta.set_content_type(Some(&mime::TEXT_HTML));
+
+ let chunk = src_doc.into_bytes();
+
+ context.process_response(Ok(FetchMetadata::Unfiltered(meta)));
+ context.process_response_chunk(chunk);
+ context.process_response_eof(Ok(ResourceFetchTiming::new(ResourceTimingType::None)));
+ }
+
fn handle_css_error_reporting(
&self,
pipeline_id: PipelineId,
diff --git a/components/script_traits/lib.rs b/components/script_traits/lib.rs
index 468cfb19fb3..1b1a0e80e65 100644
--- a/components/script_traits/lib.rs
+++ b/components/script_traits/lib.rs
@@ -163,6 +163,9 @@ pub struct LoadData {
pub referrer: Option<Referrer>,
/// The referrer policy.
pub referrer_policy: Option<ReferrerPolicy>,
+
+ /// The source to use instead of a network response for a srcdoc document.
+ pub srcdoc: String,
}
/// The result of evaluating a javascript scheme url.
@@ -194,6 +197,7 @@ impl LoadData {
js_eval_result: None,
referrer: referrer,
referrer_policy: referrer_policy,
+ srcdoc: "".to_string(),
}
}
}
diff --git a/tests/wpt/metadata/FileAPI/url/url-with-fetch.any.js.ini b/tests/wpt/metadata/FileAPI/url/url-with-fetch.any.js.ini
index 947e223fb28..6a3af4e2ece 100644
--- a/tests/wpt/metadata/FileAPI/url/url-with-fetch.any.js.ini
+++ b/tests/wpt/metadata/FileAPI/url/url-with-fetch.any.js.ini
@@ -14,6 +14,9 @@
[Revoke blob URL after creating Request, will fetch]
expected: FAIL
+ [Revoke blob URL after calling fetch, fetch should succeed]
+ expected: FAIL
+
[url-with-fetch.any.html]
[Untitled]
diff --git a/tests/wpt/metadata/WebIDL/current-realm.html.ini b/tests/wpt/metadata/WebIDL/current-realm.html.ini
index 9695e33b235..1e80edc3528 100644
--- a/tests/wpt/metadata/WebIDL/current-realm.html.ini
+++ b/tests/wpt/metadata/WebIDL/current-realm.html.ini
@@ -1,14 +1,5 @@
[current-realm.html]
type: testharness
- [NamedNodeMap item]
- expected: FAIL
-
- [NamedNodeMap getNamedItem]
- expected: FAIL
-
- [NamedNodeMap getNamedItemNS]
- expected: FAIL
-
[createImageData]
expected: FAIL
diff --git a/tests/wpt/metadata/css/CSS2/floats/floats-in-table-caption-001.html.ini b/tests/wpt/metadata/css/CSS2/floats/floats-in-table-caption-001.html.ini
deleted file mode 100644
index 86715ffc9c2..00000000000
--- a/tests/wpt/metadata/css/CSS2/floats/floats-in-table-caption-001.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[floats-in-table-caption-001.html]
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/hyphens/hyphens-out-of-flow-001.html.ini b/tests/wpt/metadata/css/css-text/hyphens/hyphens-out-of-flow-001.html.ini
deleted file mode 100644
index be32a87e09c..00000000000
--- a/tests/wpt/metadata/css/css-text/hyphens/hyphens-out-of-flow-001.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[hyphens-out-of-flow-001.html]
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/line-break/line-break-normal-018.xht.ini b/tests/wpt/metadata/css/css-text/line-break/line-break-normal-018.xht.ini
deleted file mode 100644
index 693999d7f9d..00000000000
--- a/tests/wpt/metadata/css/css-text/line-break/line-break-normal-018.xht.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[line-break-normal-018.xht]
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/line-break/line-break-strict-018.xht.ini b/tests/wpt/metadata/css/css-text/line-break/line-break-strict-018.xht.ini
deleted file mode 100644
index bd79bd226f9..00000000000
--- a/tests/wpt/metadata/css/css-text/line-break/line-break-strict-018.xht.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[line-break-strict-018.xht]
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/text-transform/text-transform-full-size-kana-001.html.ini b/tests/wpt/metadata/css/css-text/text-transform/text-transform-full-size-kana-001.html.ini
deleted file mode 100644
index ded993140eb..00000000000
--- a/tests/wpt/metadata/css/css-text/text-transform/text-transform-full-size-kana-001.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[text-transform-full-size-kana-001.html]
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/text-transform/text-transform-full-size-kana-002.html.ini b/tests/wpt/metadata/css/css-text/text-transform/text-transform-full-size-kana-002.html.ini
deleted file mode 100644
index 047905d059b..00000000000
--- a/tests/wpt/metadata/css/css-text/text-transform/text-transform-full-size-kana-002.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[text-transform-full-size-kana-002.html]
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/text-transform/text-transform-full-size-kana-003.html.ini b/tests/wpt/metadata/css/css-text/text-transform/text-transform-full-size-kana-003.html.ini
deleted file mode 100644
index 7e9e3e15a50..00000000000
--- a/tests/wpt/metadata/css/css-text/text-transform/text-transform-full-size-kana-003.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[text-transform-full-size-kana-003.html]
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/text-transform/text-transform-full-size-kana-004.html.ini b/tests/wpt/metadata/css/css-text/text-transform/text-transform-full-size-kana-004.html.ini
deleted file mode 100644
index f90c86d0e3d..00000000000
--- a/tests/wpt/metadata/css/css-text/text-transform/text-transform-full-size-kana-004.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[text-transform-full-size-kana-004.html]
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/white-space/trailing-ideographic-space-004.html.ini b/tests/wpt/metadata/css/css-text/white-space/trailing-ideographic-space-004.html.ini
deleted file mode 100644
index 240d1283c3a..00000000000
--- a/tests/wpt/metadata/css/css-text/white-space/trailing-ideographic-space-004.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[trailing-ideographic-space-004.html]
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-transforms/animation/perspective-interpolation.html.ini b/tests/wpt/metadata/css/css-transforms/animation/perspective-interpolation.html.ini
index 03f2f3fe9d1..c511d92d674 100644
--- a/tests/wpt/metadata/css/css-transforms/animation/perspective-interpolation.html.ini
+++ b/tests/wpt/metadata/css/css-transforms/animation/perspective-interpolation.html.ini
@@ -1,5 +1,4 @@
[perspective-interpolation.html]
- expected: CRASH
[ perspective interpolation]
expected: FAIL
diff --git a/tests/wpt/metadata/css/css-transitions/no-transition-from-ua-to-blocking-stylesheet.html.ini b/tests/wpt/metadata/css/css-transitions/no-transition-from-ua-to-blocking-stylesheet.html.ini
index 70a00a101f6..e35a452a186 100644
--- a/tests/wpt/metadata/css/css-transitions/no-transition-from-ua-to-blocking-stylesheet.html.ini
+++ b/tests/wpt/metadata/css/css-transitions/no-transition-from-ua-to-blocking-stylesheet.html.ini
@@ -1,2 +1,2 @@
[no-transition-from-ua-to-blocking-stylesheet.html]
- expected: FAIL
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/css/cssom-view/matchMedia-display-none-iframe.html.ini b/tests/wpt/metadata/css/cssom-view/matchMedia-display-none-iframe.html.ini
deleted file mode 100644
index e6e1f29e274..00000000000
--- a/tests/wpt/metadata/css/cssom-view/matchMedia-display-none-iframe.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[matchMedia-display-none-iframe.html]
- expected: ERROR
diff --git a/tests/wpt/metadata/custom-elements/reactions/HTMLMediaElement.html.ini b/tests/wpt/metadata/custom-elements/reactions/HTMLMediaElement.html.ini
deleted file mode 100644
index 4456e76a8d1..00000000000
--- a/tests/wpt/metadata/custom-elements/reactions/HTMLMediaElement.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[HTMLMediaElement.html]
- expected: CRASH
diff --git a/tests/wpt/metadata/dom/nodes/Document-contentType/contentType/contenttype_html.html.ini b/tests/wpt/metadata/dom/nodes/Document-contentType/contentType/contenttype_html.html.ini
deleted file mode 100644
index d3f46c22377..00000000000
--- a/tests/wpt/metadata/dom/nodes/Document-contentType/contentType/contenttype_html.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[contenttype_html.html]
- expected: CRASH
diff --git a/tests/wpt/metadata/dom/nodes/Document-contentType/contentType/contenttype_txt.html.ini b/tests/wpt/metadata/dom/nodes/Document-contentType/contentType/contenttype_txt.html.ini
deleted file mode 100644
index c3916f8555d..00000000000
--- a/tests/wpt/metadata/dom/nodes/Document-contentType/contentType/contenttype_txt.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[contenttype_txt.html]
- expected: CRASH
diff --git a/tests/wpt/metadata/dom/nodes/Document-contentType/contentType/contenttype_xml.html.ini b/tests/wpt/metadata/dom/nodes/Document-contentType/contentType/contenttype_xml.html.ini
deleted file mode 100644
index cde6fe16ee2..00000000000
--- a/tests/wpt/metadata/dom/nodes/Document-contentType/contentType/contenttype_xml.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[contenttype_xml.html]
- expected: CRASH
diff --git a/tests/wpt/metadata/encoding/streams/realms.window.js.ini b/tests/wpt/metadata/encoding/streams/realms.window.js.ini
index 059cf2b7b77..dcde1437c6d 100644
--- a/tests/wpt/metadata/encoding/streams/realms.window.js.ini
+++ b/tests/wpt/metadata/encoding/streams/realms.window.js.ini
@@ -1,2 +1,5 @@
[realms.window.html]
- expected: TIMEOUT
+ expected: ERROR
+ [realms]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/fetch/security/dangling-markup-mitigation-data-url.tentative.sub.html.ini b/tests/wpt/metadata/fetch/security/dangling-markup-mitigation-data-url.tentative.sub.html.ini
index 7ae085cb12d..50b0e990179 100644
--- a/tests/wpt/metadata/fetch/security/dangling-markup-mitigation-data-url.tentative.sub.html.ini
+++ b/tests/wpt/metadata/fetch/security/dangling-markup-mitigation-data-url.tentative.sub.html.ini
@@ -1,48 +1,26 @@
[dangling-markup-mitigation-data-url.tentative.sub.html]
type: testharness
- expected: TIMEOUT
- [<img id="dangling" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=">]
- expected: FAIL
-
- [<img id="dangling" src="data:image/png;base64,&#10;iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=">]
- expected: FAIL
-
- [<img id="dangling" src="data:image/png;base64,i&#10;VBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=">]
- expected: FAIL
-
[<img id="dangling" src="data:image/svg+xml;utf8,\\n <svg width='1' height='1' xmlns='http://www.w3.org/2000/svg'>\\n <rect width='100%' height='100%' fill='rebeccapurple'/>\\n <rect x='10%' y='10%' width='80%' height='80%' fill='lightgreen'/>\\n </svg>">]
expected: FAIL
- [<iframe id="dangling"\\n src="data:text/html,\\n <img\\n onload='window.parent.postMessage(&quot;loaded&quot;, &quot;*&quot;);'\\n onerror='window.parent.postMessage(&quot;error&quot;, &quot;*&quot;);'\\n src='http://web-platform.test:8000/images/gr&#10;een-256x256.png'>\\n ">\\n </iframe>]
- expected: TIMEOUT
-
- [<iframe id="dangling"\\n src="data:text/html,\\n <img\\n onload='window.parent.postMessage(&quot;loaded&quot;, &quot;*&quot;);'\\n onerror='window.parent.postMessage(&quot;error&quot;, &quot;*&quot;);'\\n src='http://web-platform.test:8000/images/green-256x256.png?&lt;'>\\n ">\\n </iframe>]
- expected: TIMEOUT
-
- [<iframe id="dangling"\\n src="data:text/html,\\n <img\\n onload='window.parent.postMessage(&quot;loaded&quot;, &quot;*&quot;);'\\n onerror='window.parent.postMessage(&quot;error&quot;, &quot;*&quot;);'\\n src='http://web-platform.test:8000/images/gr&#10;een-256x256.png?&amp;amp;lt;'>\\n ">\\n </iframe>]
- expected: TIMEOUT
-
[<iframe id="dangling"\\n src="data:text/html,\\n <img\\n onload='window.parent.postMessage(&quot;loaded&quot;, &quot;*&quot;);'\\n onerror='window.parent.postMessage(&quot;error&quot;, &quot;*&quot;);'\\n src='http://web-platform.test:8000/images/green-256x256.png?&amp;amp;#10;&lt;'>\\n ">\\n </iframe>]
expected: TIMEOUT
[<iframe id="dangling"\\n src="data:text/html,\\n <img\\n onload='window.parent.postMessage(&quot;loaded&quot;, &quot;*&quot;);'\\n onerror='window.parent.postMessage(&quot;error&quot;, &quot;*&quot;);'\\n src='http://web-platform.test:8000/images/gr&#10;een-256x256.png?&lt;'>\\n ">\\n </iframe>]
- expected: TIMEOUT
+ expected: FAIL
[<iframe id="dangling"\\n src=" data:text/html,\\n <img\\n onload='window.parent.postMessage(&quot;loaded&quot;, &quot;*&quot;);'\\n onerror='window.parent.postMessage(&quot;error&quot;, &quot;*&quot;);'\\n src='http://web-platform.test:8000/images/gr&#10;een-256x256.png?&lt;'>\\n ">\\n </iframe>]
- expected: TIMEOUT
+ expected: FAIL
[<iframe id="dangling"\\n src="\\ndata:text/html,\\n <img\\n onload='window.parent.postMessage(&quot;loaded&quot;, &quot;*&quot;);'\\n onerror='window.parent.postMessage(&quot;error&quot;, &quot;*&quot;);'\\n src='http://web-platform.test:8000/images/gr&#10;een-256x256.png?&lt;'>\\n ">\\n </iframe>]
- expected: TIMEOUT
+ expected: FAIL
[<iframe id="dangling"\\n src="&#10;data:text/html,\\n <img\\n onload='window.parent.postMessage(&quot;loaded&quot;, &quot;*&quot;);'\\n onerror='window.parent.postMessage(&quot;error&quot;, &quot;*&quot;);'\\n src='http://web-platform.test:8000/images/gr&#10;een-256x256.png?&lt;'>\\n ">\\n </iframe>]
- expected: TIMEOUT
+ expected: FAIL
[<iframe id="dangling"\\n src="\\tdata:text/html,\\n <img\\n onload='window.parent.postMessage(&quot;loaded&quot;, &quot;*&quot;);'\\n onerror='window.parent.postMessage(&quot;error&quot;, &quot;*&quot;);'\\n src='http://web-platform.test:8000/images/gr&#10;een-256x256.png?&lt;'>\\n ">\\n </iframe>]
- expected: TIMEOUT
+ expected: FAIL
[<iframe id="dangling"\\n src="\\rdata:text/html,\\n <img\\n onload='window.parent.postMessage(&quot;loaded&quot;, &quot;*&quot;);'\\n onerror='window.parent.postMessage(&quot;error&quot;, &quot;*&quot;);'\\n src='http://web-platform.test:8000/images/gr&#10;een-256x256.png?&lt;'>\\n ">\\n </iframe>]
- expected: TIMEOUT
-
- [<iframe id="dangling"\\n src="data:text/html,\\n <img\\n onload='window.parent.postMessage(&quot;loaded&quot;, &quot;*&quot;);'\\n onerror='window.parent.postMessage(&quot;error&quot;, &quot;*&quot;);'\\n src='http://web-platform.test:8000/images/green-256x256.png?&amp;amp;%2310;&lt;'>\\n ">\\n </iframe>]
- expected: TIMEOUT
+ expected: FAIL
diff --git a/tests/wpt/metadata/fetch/security/dangling-markup-mitigation.tentative.html.ini b/tests/wpt/metadata/fetch/security/dangling-markup-mitigation.tentative.html.ini
index 934f4f72d0c..ea5bbc8a33b 100644
--- a/tests/wpt/metadata/fetch/security/dangling-markup-mitigation.tentative.html.ini
+++ b/tests/wpt/metadata/fetch/security/dangling-markup-mitigation.tentative.html.ini
@@ -54,12 +54,3 @@
[<img id="dangling" src="data:image/svg+xml;utf8,\\n <svg width='1' height='1' xmlns='http://www.w3.org/2000/svg'>\\n <rect width='100%' height='100%' fill='rebeccapurple'/>\\n <rect x='10%' y='10%' width='80%' height='80%' fill='lightgreen'/>\\n </svg>">]
expected: FAIL
- [<img id="dangling" src="/images/green-1x1.png?img=&#10;&lt;b">]
- expected: FAIL
-
- [<img id="dangling" src="/images/green-1x1.png?img=&lt;&#10;b">]
- expected: FAIL
-
- [\\n <img id="dangling" src="/images/green-1x1.png?img=\\n &lt;\\n &#10;b\\n ">\\n ]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini
deleted file mode 100644
index 75d75b4cda2..00000000000
--- a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[traverse_the_history_2.html]
- [Multiple history traversals, last would be aborted]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/browsers/history/the-location-interface/location-protocol-setter-non-broken.html.ini b/tests/wpt/metadata/html/browsers/history/the-location-interface/location-protocol-setter-non-broken.html.ini
index b23214f6f39..01ea63ef71a 100644
--- a/tests/wpt/metadata/html/browsers/history/the-location-interface/location-protocol-setter-non-broken.html.ini
+++ b/tests/wpt/metadata/html/browsers/history/the-location-interface/location-protocol-setter-non-broken.html.ini
@@ -18,3 +18,6 @@
[Set HTTP URL frame location.protocol to x]
expected: FAIL
+ [Set data URL frame location.protocol to data]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/html/browsers/history/the-location-interface/location_hash.html.ini b/tests/wpt/metadata/html/browsers/history/the-location-interface/location_hash.html.ini
index 3fddf7d569b..d4ee703a53d 100644
--- a/tests/wpt/metadata/html/browsers/history/the-location-interface/location_hash.html.ini
+++ b/tests/wpt/metadata/html/browsers/history/the-location-interface/location_hash.html.ini
@@ -1,8 +1,5 @@
[location_hash.html]
type: testharness
- [Setting location.hash on srcdoc iframe]
- expected: FAIL
-
[Setting hash which is partially encoded should only encode incompatible characters]
expected: FAIL
diff --git a/tests/wpt/metadata/html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_setter_srcdoc.html.ini b/tests/wpt/metadata/html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_setter_srcdoc.html.ini
deleted file mode 100644
index a15ea053963..00000000000
--- a/tests/wpt/metadata/html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_setter_srcdoc.html.ini
+++ /dev/null
@@ -1,12 +0,0 @@
-[document_domain_setter_srcdoc.html]
- type: testharness
- expected: TIMEOUT
- [srcdoc can access with no 'document.domain' modification.]
- expected: TIMEOUT
-
- [srcdoc can access with valid 'document.domain'.]
- expected: NOTRUN
-
- [srcdoc can access when parent modifies 'document.domain'.]
- expected: NOTRUN
-
diff --git a/tests/wpt/metadata/html/browsers/sandboxing/sandbox-parse-noscript.html.ini b/tests/wpt/metadata/html/browsers/sandboxing/sandbox-parse-noscript.html.ini
new file mode 100644
index 00000000000..4fc0a6b0fff
--- /dev/null
+++ b/tests/wpt/metadata/html/browsers/sandboxing/sandbox-parse-noscript.html.ini
@@ -0,0 +1,2 @@
+[sandbox-parse-noscript.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/html/browsers/windows/embedded-opener-remove-frame.html.ini b/tests/wpt/metadata/html/browsers/windows/embedded-opener-remove-frame.html.ini
index c757b400205..5cc0834016c 100644
--- a/tests/wpt/metadata/html/browsers/windows/embedded-opener-remove-frame.html.ini
+++ b/tests/wpt/metadata/html/browsers/windows/embedded-opener-remove-frame.html.ini
@@ -1,5 +1,4 @@
[embedded-opener-remove-frame.html]
- expected: CRASH
[opener and "removed" embedded documents]
expected: FAIL
diff --git a/tests/wpt/metadata/html/dom/idlharness.https.html.ini b/tests/wpt/metadata/html/dom/idlharness.https.html.ini
index 5fe3f60866f..dc99e0c09f1 100644
--- a/tests/wpt/metadata/html/dom/idlharness.https.html.ini
+++ b/tests/wpt/metadata/html/dom/idlharness.https.html.ini
@@ -4230,9 +4230,6 @@
[HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("button") with too few arguments must throw TypeError]
expected: FAIL
- [HTMLIFrameElement interface: attribute srcdoc]
- expected: FAIL
-
[HTMLInputElement interface: createInput("week") must inherit property "checkValidity()" with the proper type]
expected: FAIL
diff --git a/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/focusable-area-in-top-document.html.ini b/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/focusable-area-in-top-document.html.ini
deleted file mode 100644
index e378aa9546e..00000000000
--- a/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/focusable-area-in-top-document.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[focusable-area-in-top-document.html]
- [If topDocument's focused area is not topDocument, autofocus is not processed.]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/skip-not-fully-active.html.ini b/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/skip-not-fully-active.html.ini
new file mode 100644
index 00000000000..5b0f5a5de3f
--- /dev/null
+++ b/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/skip-not-fully-active.html.ini
@@ -0,0 +1,3 @@
+[skip-not-fully-active.html]
+ [Autofocus element in not-fully-active document should be skipped while flusing.]
+ expected: FAIL
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_anchor_download_allow_downloads_without_user_activation.sub.tentative.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_anchor_download_allow_downloads_without_user_activation.sub.tentative.html.ini
index 27b3fb39072..7d9c4f6072b 100644
--- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_anchor_download_allow_downloads_without_user_activation.sub.tentative.html.ini
+++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_anchor_download_allow_downloads_without_user_activation.sub.tentative.html.ini
@@ -1,4 +1,5 @@
[iframe_sandbox_anchor_download_allow_downloads_without_user_activation.sub.tentative.html]
+ expected: TIMEOUT
[<a download> triggered download in sandbox is allowed by allow-downloads-without-user-activation.]
- expected: FAIL
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_anchor_download_block_downloads_without_user_activation.sub.tentative.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_anchor_download_block_downloads_without_user_activation.sub.tentative.html.ini
deleted file mode 100644
index f4a5ffbe562..00000000000
--- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_anchor_download_block_downloads_without_user_activation.sub.tentative.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[iframe_sandbox_anchor_download_block_downloads_without_user_activation.sub.tentative.html]
- [<a download> triggered download in sandbox is blocked.]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigation_download_allow_downloads_without_user_activation.sub.tentative.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigation_download_allow_downloads_without_user_activation.sub.tentative.html.ini
index fc577323fa6..609b809273a 100644
--- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigation_download_allow_downloads_without_user_activation.sub.tentative.html.ini
+++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigation_download_allow_downloads_without_user_activation.sub.tentative.html.ini
@@ -1,4 +1,5 @@
[iframe_sandbox_navigation_download_allow_downloads_without_user_activation.sub.tentative.html]
+ expected: TIMEOUT
[Navigation resulted download in sandbox is allowed by allow-downloads-without-user-activation.]
- expected: FAIL
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigation_download_block_downloads_without_user_activation.sub.tentative.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigation_download_block_downloads_without_user_activation.sub.tentative.html.ini
deleted file mode 100644
index cd4b1b1dd2b..00000000000
--- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigation_download_block_downloads_without_user_activation.sub.tentative.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[iframe_sandbox_navigation_download_block_downloads_without_user_activation.sub.tentative.html]
- [Navigation resulted download in sandbox is blocked.]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini
index fc37df7e3fa..f42f518d257 100644
--- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini
+++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini
@@ -1,6 +1,5 @@
[iframe_sandbox_popups_escaping-1.html]
type: testharness
- expected: TIMEOUT
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
- expected: TIMEOUT
+ expected: FAIL
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/srcdoc_process_attributes.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/srcdoc_process_attributes.html.ini
deleted file mode 100644
index 574e63e8e33..00000000000
--- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/srcdoc_process_attributes.html.ini
+++ /dev/null
@@ -1,14 +0,0 @@
-[srcdoc_process_attributes.html]
- expected: TIMEOUT
- [Removing `srcdoc` attribute triggers attributes processing]
- expected: FAIL
-
- [Changing `srcdoc` (via property) triggers attributes processing]
- expected: FAIL
-
- [Adding `srcdoc` attribute triggers attributes processing]
- expected: TIMEOUT
-
- [Setting `srcdoc` (via property) triggers attributes processing]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/sizes/sizes-dynamic-001.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/sizes/sizes-dynamic-001.html.ini
deleted file mode 100644
index 3163bfd8c61..00000000000
--- a/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/sizes/sizes-dynamic-001.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[sizes-dynamic-001.html]
- expected: TIMEOUT
diff --git a/tests/wpt/metadata/html/semantics/forms/form-submission-0/form-double-submit-2.html.ini b/tests/wpt/metadata/html/semantics/forms/form-submission-0/form-double-submit-2.html.ini
index f6eecd82b49..61799e4c935 100644
--- a/tests/wpt/metadata/html/semantics/forms/form-submission-0/form-double-submit-2.html.ini
+++ b/tests/wpt/metadata/html/semantics/forms/form-submission-0/form-double-submit-2.html.ini
@@ -1,5 +1,5 @@
[form-double-submit-2.html]
expected: ERROR
[preventDefault should allow onclick submit() to succeed]
- expected: TIMEOUT
+ expected: FAIL
diff --git a/tests/wpt/metadata/html/semantics/forms/form-submission-0/form-double-submit-3.html.ini b/tests/wpt/metadata/html/semantics/forms/form-submission-0/form-double-submit-3.html.ini
index 941d0dee0c8..df89cd21511 100644
--- a/tests/wpt/metadata/html/semantics/forms/form-submission-0/form-double-submit-3.html.ini
+++ b/tests/wpt/metadata/html/semantics/forms/form-submission-0/form-double-submit-3.html.ini
@@ -1,5 +1,5 @@
[form-double-submit-3.html]
expected: ERROR
[<button> should have the same double-submit protection as <input type=submit>]
- expected: TIMEOUT
+ expected: FAIL
diff --git a/tests/wpt/metadata/html/semantics/links/links-created-by-a-and-area-elements/htmlanchorelement_noopener.html.ini b/tests/wpt/metadata/html/semantics/links/links-created-by-a-and-area-elements/htmlanchorelement_noopener.html.ini
index 65424f7891a..1015227194b 100644
--- a/tests/wpt/metadata/html/semantics/links/links-created-by-a-and-area-elements/htmlanchorelement_noopener.html.ini
+++ b/tests/wpt/metadata/html/semantics/links/links-created-by-a-and-area-elements/htmlanchorelement_noopener.html.ini
@@ -5,14 +5,14 @@
expected: NOTRUN
[Check that rel=noopener with target=_parent does a normal load]
- expected: FAIL
+ expected: NOTRUN
[Check that rel=noopener with target=_top does a normal load]
- expected: FAIL
+ expected: NOTRUN
[Check that targeting of rel=noopener with a given name reuses an existing window with that name]
expected: NOTRUN
[Check that rel=noopener with target=_self does a normal load]
- expected: FAIL
+ expected: NOTRUN
diff --git a/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/execution-timing/099.html.ini b/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/execution-timing/099.html.ini
deleted file mode 100644
index 6015d05e4b6..00000000000
--- a/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/execution-timing/099.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[099.html]
- type: testharness
- [ scheduler: defer adding iframe containing script]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/the-xhtml-syntax/parsing-xhtml-documents/data-xhtml-with-dtd.html.ini b/tests/wpt/metadata/html/the-xhtml-syntax/parsing-xhtml-documents/data-xhtml-with-dtd.html.ini
deleted file mode 100644
index ae97e1be171..00000000000
--- a/tests/wpt/metadata/html/the-xhtml-syntax/parsing-xhtml-documents/data-xhtml-with-dtd.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[data-xhtml-with-dtd.html]
- expected: FAIL
diff --git a/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/closing-the-input-stream/document-close-with-pending-script.html.ini b/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/closing-the-input-stream/document-close-with-pending-script.html.ini
deleted file mode 100644
index fc8ee9aacf8..00000000000
--- a/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/closing-the-input-stream/document-close-with-pending-script.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[document-close-with-pending-script.html]
- expected: TIMEOUT
- [document.close called while a script is pending]
- expected: TIMEOUT
-
diff --git a/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/location-set-and-document-open.html.ini b/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/location-set-and-document-open.html.ini
index 7ab69a8c1f1..d6e3d53613d 100644
--- a/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/location-set-and-document-open.html.ini
+++ b/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/location-set-and-document-open.html.ini
@@ -1,5 +1,4 @@
[location-set-and-document-open.html]
- expected: TIMEOUT
[Location sets should cancel current navigation and prevent later document.open() from doing anything]
- expected: TIMEOUT
+ expected: FAIL
diff --git a/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.html.ini b/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.html.ini
index 496bad988c6..034d9baebfa 100644
--- a/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.html.ini
+++ b/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.html.ini
@@ -1,4 +1,5 @@
[promise-rejection-events.html]
+ expected: TIMEOUT
[delayed handling: delaying handling rejected promise created from createImageBitmap will cause both events to fire]
expected: FAIL
@@ -8,3 +9,6 @@
[no unhandledrejection/rejectionhandled: rejection handler attached synchronously to a promise created from createImageBitmap]
expected: FAIL
+ [rejectionhandled is dispatched from a queued task, and not immediately]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/html/webappapis/update-rendering/child-document-raf-order.html.ini b/tests/wpt/metadata/html/webappapis/update-rendering/child-document-raf-order.html.ini
index 98878aaebb3..d2269e3918b 100644
--- a/tests/wpt/metadata/html/webappapis/update-rendering/child-document-raf-order.html.ini
+++ b/tests/wpt/metadata/html/webappapis/update-rendering/child-document-raf-order.html.ini
@@ -1,5 +1,4 @@
[child-document-raf-order.html]
- expected: TIMEOUT
[Ordering of steps in "Update the Rendering" - child document requestAnimationFrame order]
- expected: TIMEOUT
+ expected: FAIL
diff --git a/tests/wpt/metadata/referrer-policy/generic/inheritance/iframe-inheritance-srcdoc-child.html.ini b/tests/wpt/metadata/referrer-policy/generic/inheritance/iframe-inheritance-srcdoc-child.html.ini
index 13009ac5d38..c0f20881f7c 100644
--- a/tests/wpt/metadata/referrer-policy/generic/inheritance/iframe-inheritance-srcdoc-child.html.ini
+++ b/tests/wpt/metadata/referrer-policy/generic/inheritance/iframe-inheritance-srcdoc-child.html.ini
@@ -1,5 +1,4 @@
[iframe-inheritance-srcdoc-child.html]
- expected: TIMEOUT
[iframes srcdoc child correctly inherit the ancestor's referrer policy]
- expected: NOTRUN
+ expected: FAIL
diff --git a/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini b/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini
index 66bd350083b..a56bad443a2 100644
--- a/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini
+++ b/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini
@@ -1,4 +1,5 @@
[realtimeanalyser-fft-scaling.html]
+ expected: TIMEOUT
[X 2048-point FFT peak position is not equal to 64. Got 0.]
expected: FAIL
diff --git a/tests/wpt/metadata/webmessaging/with-ports/018.html.ini b/tests/wpt/metadata/webmessaging/with-ports/018.html.ini
deleted file mode 100644
index 663a1f8fa30..00000000000
--- a/tests/wpt/metadata/webmessaging/with-ports/018.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[018.html]
- expected: TIMEOUT
- [origin of the script that invoked the method, javascript:]
- expected: TIMEOUT
-
diff --git a/tests/wpt/metadata/websockets/remove-own-iframe-during-onerror.window.js.ini b/tests/wpt/metadata/websockets/remove-own-iframe-during-onerror.window.js.ini
deleted file mode 100644
index 083fdf0470b..00000000000
--- a/tests/wpt/metadata/websockets/remove-own-iframe-during-onerror.window.js.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[remove-own-iframe-during-onerror.window.html]
- expected: TIMEOUT
- [removing an iframe from within an onerror handler should work]
- expected: TIMEOUT
-
diff --git a/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini b/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini
index f584fce5df1..268949ced5c 100644
--- a/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini
+++ b/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini
@@ -1,5 +1,4 @@
[005.html]
- expected: ERROR
[dedicated worker in shared worker in dedicated worker]
expected: FAIL
diff --git a/tests/wpt/metadata/workers/semantics/run-a-worker/003.html.ini b/tests/wpt/metadata/workers/semantics/run-a-worker/003.html.ini
index 49f489d2a1c..d6e39444229 100644
--- a/tests/wpt/metadata/workers/semantics/run-a-worker/003.html.ini
+++ b/tests/wpt/metadata/workers/semantics/run-a-worker/003.html.ini
@@ -1,6 +1,5 @@
[003.html]
type: testharness
- expected: ERROR
[shared]
expected: FAIL