mirror of
https://github.com/servo/servo.git
synced 2025-08-04 21:20:23 +01:00
Merge branch 'master' of https://github.com/servo/servo
This commit is contained in:
commit
332c9cc12f
161 changed files with 1737 additions and 379 deletions
|
@ -20,6 +20,7 @@ use rayon_croissant::ParallelIteratorExt;
|
||||||
use servo_arc::Arc;
|
use servo_arc::Arc;
|
||||||
use std::borrow::Cow;
|
use std::borrow::Cow;
|
||||||
use std::convert::{TryFrom, TryInto};
|
use std::convert::{TryFrom, TryInto};
|
||||||
|
use style::computed_values::white_space::T as WhiteSpace;
|
||||||
use style::properties::longhands::list_style_position::computed_value::T as ListStylePosition;
|
use style::properties::longhands::list_style_position::computed_value::T as ListStylePosition;
|
||||||
use style::properties::ComputedValues;
|
use style::properties::ComputedValues;
|
||||||
use style::selector_parser::PseudoElement;
|
use style::selector_parser::PseudoElement;
|
||||||
|
@ -293,60 +294,96 @@ where
|
||||||
}
|
}
|
||||||
|
|
||||||
fn handle_text(&mut self, info: &NodeAndStyleInfo<Node>, input: Cow<'dom, str>) {
|
fn handle_text(&mut self, info: &NodeAndStyleInfo<Node>, input: Cow<'dom, str>) {
|
||||||
let (leading_whitespace, mut input) = self.handle_leading_whitespace(&input);
|
// Skip any leading whitespace as dictated by the node's style.
|
||||||
if leading_whitespace || !input.is_empty() {
|
let white_space = info.style.get_inherited_text().white_space;
|
||||||
// This text node should be pushed either to the next ongoing
|
let (preserved_leading_whitespace, mut input) =
|
||||||
// inline level box with the parent style of that inline level box
|
self.handle_leading_whitespace(&input, white_space);
|
||||||
// that will be ended, or directly to the ongoing inline formatting
|
|
||||||
// context with the parent style of that builder.
|
|
||||||
let inlines = self.current_inline_level_boxes();
|
|
||||||
|
|
||||||
let mut new_text_run_contents;
|
if !preserved_leading_whitespace && input.is_empty() {
|
||||||
let output;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
{
|
// This text node should be pushed either to the next ongoing
|
||||||
let mut last_box = inlines.last_mut().map(|last| last.borrow_mut());
|
// inline level box with the parent style of that inline level box
|
||||||
let last_text = last_box.as_mut().and_then(|last| match &mut **last {
|
// that will be ended, or directly to the ongoing inline formatting
|
||||||
InlineLevelBox::TextRun(last) => Some(&mut last.text),
|
// context with the parent style of that builder.
|
||||||
_ => None,
|
let inlines = self.current_inline_level_boxes();
|
||||||
});
|
|
||||||
|
|
||||||
if let Some(text) = last_text {
|
let mut new_text_run_contents;
|
||||||
// Append to the existing text run
|
let output;
|
||||||
new_text_run_contents = None;
|
|
||||||
output = text;
|
|
||||||
} else {
|
|
||||||
new_text_run_contents = Some(String::new());
|
|
||||||
output = new_text_run_contents.as_mut().unwrap();
|
|
||||||
}
|
|
||||||
|
|
||||||
if leading_whitespace {
|
{
|
||||||
output.push(' ')
|
let mut last_box = inlines.last_mut().map(|last| last.borrow_mut());
|
||||||
}
|
let last_text = last_box.as_mut().and_then(|last| match &mut **last {
|
||||||
loop {
|
InlineLevelBox::TextRun(last) => Some(&mut last.text),
|
||||||
if let Some(i) = input.bytes().position(|b| b.is_ascii_whitespace()) {
|
_ => None,
|
||||||
|
});
|
||||||
|
|
||||||
|
if let Some(text) = last_text {
|
||||||
|
// Append to the existing text run
|
||||||
|
new_text_run_contents = None;
|
||||||
|
output = text;
|
||||||
|
} else {
|
||||||
|
new_text_run_contents = Some(String::new());
|
||||||
|
output = new_text_run_contents.as_mut().unwrap();
|
||||||
|
}
|
||||||
|
|
||||||
|
if preserved_leading_whitespace {
|
||||||
|
output.push(' ')
|
||||||
|
}
|
||||||
|
|
||||||
|
match (
|
||||||
|
white_space.preserve_spaces(),
|
||||||
|
white_space.preserve_newlines(),
|
||||||
|
) {
|
||||||
|
// All whitespace is significant, so we don't need to transform
|
||||||
|
// the input at all.
|
||||||
|
(true, true) => {
|
||||||
|
output.push_str(input);
|
||||||
|
},
|
||||||
|
|
||||||
|
// There are no cases in CSS where where need to preserve spaces
|
||||||
|
// but not newlines.
|
||||||
|
(true, false) => unreachable!(),
|
||||||
|
|
||||||
|
// Spaces are not significant, but newlines might be. We need
|
||||||
|
// to collapse non-significant whitespace as appropriate.
|
||||||
|
(false, preserve_newlines) => loop {
|
||||||
|
// If there are any spaces that need preserving, split the string
|
||||||
|
// that precedes them, collapse them into a single whitespace,
|
||||||
|
// then process the remainder of the string independently.
|
||||||
|
if let Some(i) = input
|
||||||
|
.bytes()
|
||||||
|
.position(|b| b.is_ascii_whitespace() && (!preserve_newlines || b != b'\n'))
|
||||||
|
{
|
||||||
let (non_whitespace, rest) = input.split_at(i);
|
let (non_whitespace, rest) = input.split_at(i);
|
||||||
output.push_str(non_whitespace);
|
output.push_str(non_whitespace);
|
||||||
output.push(' ');
|
output.push(' ');
|
||||||
if let Some(i) = rest.bytes().position(|b| !b.is_ascii_whitespace()) {
|
|
||||||
|
// Find the first byte that is either significant whitespace or
|
||||||
|
// non-whitespace to continue processing it.
|
||||||
|
if let Some(i) = rest.bytes().position(|b| {
|
||||||
|
!b.is_ascii_whitespace() || (preserve_newlines && b == b'\n')
|
||||||
|
}) {
|
||||||
input = &rest[i..];
|
input = &rest[i..];
|
||||||
} else {
|
} else {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
// No whitespace found, so no transformation is required.
|
||||||
output.push_str(input);
|
output.push_str(input);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if let Some(text) = new_text_run_contents {
|
if let Some(text) = new_text_run_contents {
|
||||||
inlines.push(ArcRefCell::new(InlineLevelBox::TextRun(TextRun {
|
inlines.push(ArcRefCell::new(InlineLevelBox::TextRun(TextRun {
|
||||||
tag: Tag::from_node_and_style_info(info),
|
tag: Tag::from_node_and_style_info(info),
|
||||||
parent_style: Arc::clone(&info.style),
|
parent_style: Arc::clone(&info.style),
|
||||||
text,
|
text,
|
||||||
})))
|
})))
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -359,10 +396,14 @@ where
|
||||||
///
|
///
|
||||||
/// * Whether this text run has preserved (non-collapsible) leading whitespace
|
/// * Whether this text run has preserved (non-collapsible) leading whitespace
|
||||||
/// * The contents starting at the first non-whitespace character (or the empty string)
|
/// * The contents starting at the first non-whitespace character (or the empty string)
|
||||||
fn handle_leading_whitespace<'text>(&mut self, text: &'text str) -> (bool, &'text str) {
|
fn handle_leading_whitespace<'text>(
|
||||||
|
&mut self,
|
||||||
|
text: &'text str,
|
||||||
|
white_space: WhiteSpace,
|
||||||
|
) -> (bool, &'text str) {
|
||||||
// FIXME: this is only an approximation of
|
// FIXME: this is only an approximation of
|
||||||
// https://drafts.csswg.org/css2/text.html#white-space-model
|
// https://drafts.csswg.org/css2/text.html#white-space-model
|
||||||
if !text.starts_with(|c: char| c.is_ascii_whitespace()) {
|
if !text.starts_with(|c: char| c.is_ascii_whitespace()) || white_space.preserve_spaces() {
|
||||||
return (false, text);
|
return (false, text);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -756,13 +756,21 @@ impl TextRun {
|
||||||
let mut glyphs = vec![];
|
let mut glyphs = vec![];
|
||||||
let mut advance_width = Length::zero();
|
let mut advance_width = Length::zero();
|
||||||
let mut last_break_opportunity = None;
|
let mut last_break_opportunity = None;
|
||||||
|
let mut force_line_break = false;
|
||||||
|
// Fit as many glyphs within a single line as possible.
|
||||||
loop {
|
loop {
|
||||||
let next = runs.next();
|
let next = runs.next();
|
||||||
|
// If there are no more text runs we still need to check if the last
|
||||||
|
// run was a forced line break
|
||||||
if next
|
if next
|
||||||
.as_ref()
|
.as_ref()
|
||||||
.map_or(true, |run| run.glyph_store.is_whitespace())
|
.map_or(true, |run| run.glyph_store.is_whitespace())
|
||||||
{
|
{
|
||||||
|
// If this run exceeds the bounds of the containing block, then
|
||||||
|
// we need to attempt to break the line.
|
||||||
if advance_width > ifc.containing_block.inline_size - ifc.inline_position {
|
if advance_width > ifc.containing_block.inline_size - ifc.inline_position {
|
||||||
|
// Reset the text run iterator to the last whitespace if possible,
|
||||||
|
// to attempt to re-layout the most recent glyphs on a new line.
|
||||||
if let Some((len, width, iter)) = last_break_opportunity.take() {
|
if let Some((len, width, iter)) = last_break_opportunity.take() {
|
||||||
glyphs.truncate(len);
|
glyphs.truncate(len);
|
||||||
advance_width = width;
|
advance_width = width;
|
||||||
|
@ -774,10 +782,24 @@ impl TextRun {
|
||||||
if let Some(run) = next {
|
if let Some(run) = next {
|
||||||
if run.glyph_store.is_whitespace() {
|
if run.glyph_store.is_whitespace() {
|
||||||
last_break_opportunity = Some((glyphs.len(), advance_width, runs.clone()));
|
last_break_opportunity = Some((glyphs.len(), advance_width, runs.clone()));
|
||||||
|
// If this whitespace ends with a newline, we need to check if
|
||||||
|
// it's meaningful within the current style. If so, we force
|
||||||
|
// a line break immediately.
|
||||||
|
let last_byte = self.text.as_bytes().get(run.range.end().to_usize() - 1);
|
||||||
|
if last_byte == Some(&b'\n') &&
|
||||||
|
self.parent_style
|
||||||
|
.get_inherited_text()
|
||||||
|
.white_space
|
||||||
|
.preserve_newlines()
|
||||||
|
{
|
||||||
|
force_line_break = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
glyphs.push(run.glyph_store.clone());
|
glyphs.push(run.glyph_store.clone());
|
||||||
advance_width += Length::from(run.glyph_store.total_advance());
|
advance_width += Length::from(run.glyph_store.total_advance());
|
||||||
} else {
|
} else {
|
||||||
|
// No more runs, so we can end the line.
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -812,7 +834,8 @@ impl TextRun {
|
||||||
glyphs,
|
glyphs,
|
||||||
text_decoration_line: ifc.current_nesting_level.text_decoration_line,
|
text_decoration_line: ifc.current_nesting_level.text_decoration_line,
|
||||||
}));
|
}));
|
||||||
if runs.as_slice().is_empty() {
|
// If this line is being broken because of a trailing newline, we can't ignore it.
|
||||||
|
if runs.as_slice().is_empty() && !force_line_break {
|
||||||
break;
|
break;
|
||||||
} else {
|
} else {
|
||||||
// New line
|
// New line
|
||||||
|
|
|
@ -186,7 +186,6 @@ ${helpers.predefined_type(
|
||||||
name="white-space"
|
name="white-space"
|
||||||
values="normal pre nowrap pre-wrap pre-line"
|
values="normal pre nowrap pre-wrap pre-line"
|
||||||
engines="gecko servo-2013 servo-2020",
|
engines="gecko servo-2013 servo-2020",
|
||||||
servo_2020_pref="layout.2020.unimplemented",
|
|
||||||
extra_gecko_values="break-spaces -moz-pre-space"
|
extra_gecko_values="break-spaces -moz-pre-space"
|
||||||
gecko_enum_prefix="StyleWhiteSpace"
|
gecko_enum_prefix="StyleWhiteSpace"
|
||||||
needs_conversion="True"
|
needs_conversion="True"
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
[url-charset.window.html]
|
||||||
|
expected: TIMEOUT
|
||||||
|
[Blob charset should override any auto-detected charset.]
|
||||||
|
expected: TIMEOUT
|
||||||
|
|
||||||
|
[Blob charset should override <meta charset>.]
|
||||||
|
expected: TIMEOUT
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
[hypothetical-inline-alone-on-second-line.html]
|
|
||||||
expected: FAIL
|
|
|
@ -1,2 +0,0 @@
|
||||||
[color-applies-to-008.xht]
|
|
||||||
expected: FAIL
|
|
|
@ -1,2 +0,0 @@
|
||||||
[color-applies-to-015.xht]
|
|
||||||
expected: FAIL
|
|
|
@ -1,2 +0,0 @@
|
||||||
[c562-white-sp-000.xht]
|
|
||||||
expected: FAIL
|
|
|
@ -1,2 +0,0 @@
|
||||||
[float-003.xht]
|
|
||||||
expected: FAIL
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
[float-no-content-beside-001.html]
|
||||||
|
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
||||||
|
[floats-placement-vertical-004.xht]
|
||||||
|
expected: FAIL
|
|
@ -1,4 +1,4 @@
|
||||||
[hit-test-floats-003.html]
|
[hit-test-floats-004.html]
|
||||||
[Miss float below something else]
|
[Miss float below something else]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[hit-test-floats-005.html]
|
|
||||||
[Miss clipped float]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
[content-171.xht]
|
|
||||||
expected: FAIL
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
[content-173.xht]
|
||||||
|
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
||||||
[content-newline-001.xht]
|
|
||||||
expected: FAIL
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
[content-white-space-002.xht]
|
||||||
|
expected: FAIL
|
|
@ -11,36 +11,9 @@
|
||||||
[[data-expected-height\] 2]
|
[[data-expected-height\] 2]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[[data-expected-height\] 4]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[[data-expected-height\] 1]
|
[[data-expected-height\] 1]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[[data-expected-height\] 10]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[[data-expected-height\] 2]
|
[[data-expected-height\] 2]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[[data-expected-height\] 5]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[[data-expected-height\] 6]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[[data-expected-height\] 9]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[[data-expected-height\] 8]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[[data-expected-height\] 13]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[[data-expected-height\] 12]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[[data-expected-height\] 11]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
[padding-percentage-inherit-001.xht]
|
|
||||||
expected: FAIL
|
|
|
@ -1,2 +0,0 @@
|
||||||
[block-replaced-width-006.xht]
|
|
||||||
expected: FAIL
|
|
|
@ -1,2 +0,0 @@
|
||||||
[inline-replaced-width-001.xht]
|
|
||||||
expected: FAIL
|
|
|
@ -1,2 +0,0 @@
|
||||||
[inline-replaced-width-006.xht]
|
|
||||||
expected: FAIL
|
|
|
@ -1,2 +0,0 @@
|
||||||
[inlines-016.xht]
|
|
||||||
expected: FAIL
|
|
|
@ -1,2 +0,0 @@
|
||||||
[absolute-non-replaced-height-008.xht]
|
|
||||||
expected: FAIL
|
|
|
@ -1,2 +0,0 @@
|
||||||
[position-static-001.xht]
|
|
||||||
expected: FAIL
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
[table-anonymous-objects-009.xht]
|
||||||
|
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
||||||
|
[table-anonymous-objects-010.xht]
|
||||||
|
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
||||||
[white-space-004.xht]
|
|
||||||
expected: FAIL
|
|
|
@ -1,2 +0,0 @@
|
||||||
[white-space-applies-to-003.xht]
|
|
||||||
expected: FAIL
|
|
|
@ -1,2 +0,0 @@
|
||||||
[white-space-processing-013.xht]
|
|
||||||
expected: FAIL
|
|
|
@ -1,2 +0,0 @@
|
||||||
[white-space-processing-016.xht]
|
|
||||||
expected: FAIL
|
|
|
@ -1,2 +0,0 @@
|
||||||
[white-space-processing-017.xht]
|
|
||||||
expected: FAIL
|
|
|
@ -1,2 +0,0 @@
|
||||||
[white-space-processing-018.xht]
|
|
||||||
expected: FAIL
|
|
|
@ -1,2 +0,0 @@
|
||||||
[white-space-processing-046.xht]
|
|
||||||
expected: FAIL
|
|
|
@ -1,2 +0,0 @@
|
||||||
[white-space-processing-047.xht]
|
|
||||||
expected: FAIL
|
|
|
@ -1,2 +0,0 @@
|
||||||
[white-space-processing-052.xht]
|
|
||||||
expected: FAIL
|
|
|
@ -1,2 +0,0 @@
|
||||||
[anonymous-boxes-001b.xht]
|
|
||||||
expected: FAIL
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
[background-attachment-353.html]
|
||||||
|
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
||||||
[background-size-027.html]
|
|
||||||
expected: FAIL
|
|
|
@ -1,2 +0,0 @@
|
||||||
[background-size-028.html]
|
|
||||||
expected: FAIL
|
|
|
@ -1,2 +0,0 @@
|
||||||
[background-size-030.html]
|
|
||||||
expected: FAIL
|
|
|
@ -1,2 +0,0 @@
|
||||||
[background-size-031.html]
|
|
||||||
expected: FAIL
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
[anonymous-flex-item-004.html]
|
||||||
|
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
||||||
|
[anonymous-flex-item-005.html]
|
||||||
|
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
||||||
|
[anonymous-flex-item-006.html]
|
||||||
|
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
||||||
|
[grid-flex-item-005.html]
|
||||||
|
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
||||||
[text-decoration-subelements-001.html]
|
|
||||||
expected: FAIL
|
|
|
@ -2,6 +2,3 @@
|
||||||
[Hit test intersecting scaled box]
|
[Hit test intersecting scaled box]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Hit test within unscaled box]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[CaretPosition-001.html]
|
|
||||||
[Element at (400, 100)]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
[client-props-root.html]
|
||||||
|
[client* properties on the root element]
|
||||||
|
expected: FAIL
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
[matchMedia-display-none-iframe.html]
|
||||||
|
expected: ERROR
|
|
@ -23,15 +23,9 @@
|
||||||
[page-break-before: always]
|
[page-break-before: always]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[white-space: inherit]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[page-break-after: inherit]
|
[page-break-after: inherit]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[white-space: nowrap]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[page-break-before: left]
|
[page-break-before: left]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -215,9 +209,6 @@
|
||||||
[display: table-cell]
|
[display: table-cell]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[white-space: pre]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[text-indent: 5%]
|
[text-indent: 5%]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -257,9 +248,6 @@
|
||||||
[clear: both]
|
[clear: both]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[white-space: pre-wrap]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[outline-width: 0px]
|
[outline-width: 0px]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -326,9 +314,6 @@
|
||||||
[vertical-align: 1px]
|
[vertical-align: 1px]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[white-space: pre-line]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[display: table-column]
|
[display: table-column]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -386,9 +371,6 @@
|
||||||
[float: none]
|
[float: none]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[white-space: normal]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[list-style-type: lower-roman]
|
[list-style-type: lower-roman]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
[HTMLMediaElement.html]
|
|
||||||
expected: TIMEOUT
|
|
|
@ -312,24 +312,24 @@
|
||||||
[Response: combined response Content-Type: text/html;" \\" text/plain ";charset=GBK]
|
[Response: combined response Content-Type: text/html;" \\" text/plain ";charset=GBK]
|
||||||
expected: NOTRUN
|
expected: NOTRUN
|
||||||
|
|
||||||
[<iframe>: separate response Content-Type: text/html;x=" text/plain]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[<iframe>: combined response Content-Type: */* text/html]
|
[<iframe>: combined response Content-Type: */* text/html]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[<iframe>: separate response Content-Type: text/html;" text/plain]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[<iframe>: separate response Content-Type: text/html */*;charset=gbk]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[<iframe>: separate response Content-Type: text/html */*]
|
[<iframe>: separate response Content-Type: text/html */*]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[<iframe>: separate response Content-Type: text/plain */*]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
|
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[<iframe>: combined response Content-Type: text/html */*]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[<iframe>: combined response Content-Type: text/html;" \\" text/plain]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[<iframe>: separate response Content-Type: text/html;" \\" text/plain]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -56,6 +56,3 @@
|
||||||
[separate text/javascript x/x]
|
[separate text/javascript x/x]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[separate text/javascript error]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
|
|
|
@ -11,3 +11,6 @@
|
||||||
[X-Content-Type-Options%3A%20nosniff%2C%2C%40%23%24%23%25%25%26%5E%26%5E*()()11!]
|
[X-Content-Type-Options%3A%20nosniff%2C%2C%40%23%24%23%25%25%26%5E%26%5E*()()11!]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[X-Content-Type-Options%3A%20%2Cnosniff]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[traverse_the_history_1.html]
|
|
||||||
[Multiple history traversals from the same task]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[traverse_the_history_2.html]
|
|
||||||
[Multiple history traversals, last would be aborted]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[traverse_the_history_3.html]
|
|
||||||
[Multiple history traversals, last would be aborted]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
[cross-origin-objects-on-new-window.html]
|
||||||
|
expected: TIMEOUT
|
|
@ -1,4 +1,5 @@
|
||||||
[embedded-opener-remove-frame.html]
|
[embedded-opener-remove-frame.html]
|
||||||
|
expected: CRASH
|
||||||
[opener of discarded nested browsing context]
|
[opener of discarded nested browsing context]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
[iframe_sandbox_popups_escaping-1.html]
|
[iframe_sandbox_popups_escaping-1.html]
|
||||||
expected: TIMEOUT
|
|
||||||
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
||||||
expected: TIMEOUT
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
[iframe_sandbox_popups_escaping-2.html]
|
[iframe_sandbox_popups_escaping-2.html]
|
||||||
|
expected: CRASH
|
||||||
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
[iframe_sandbox_popups_escaping-3.html]
|
[iframe_sandbox_popups_escaping-3.html]
|
||||||
expected: TIMEOUT
|
|
||||||
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
||||||
expected: TIMEOUT
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
[iframe_sandbox_popups_nonescaping-1.html]
|
[iframe_sandbox_popups_nonescaping-1.html]
|
||||||
expected: CRASH
|
expected: TIMEOUT
|
||||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||||
expected: NOTRUN
|
expected: NOTRUN
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
[iframe_sandbox_popups_nonescaping-3.html]
|
[iframe_sandbox_popups_nonescaping-3.html]
|
||||||
|
expected: TIMEOUT
|
||||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||||
expected: FAIL
|
expected: NOTRUN
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
[077.html]
|
||||||
|
[ adding several types of scripts through the DOM and removing some of them confuses scheduler ]
|
||||||
|
expected: FAIL
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[module-static-import-delayed.html]
|
|
||||||
[document.write in an imported module]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
[ignore-opens-during-unload.window.html]
|
[ignore-opens-during-unload.window.html]
|
||||||
expected: CRASH
|
expected: TIMEOUT
|
||||||
[document.open should bail out when ignore-opens-during-unload is greater than 0 during visibilitychange event (open(parent) while unloading parent and child)]
|
[document.open should bail out when ignore-opens-during-unload is greater than 0 during visibilitychange event (open(parent) while unloading parent and child)]
|
||||||
expected: TIMEOUT
|
expected: TIMEOUT
|
||||||
|
|
||||||
|
|
|
@ -3,3 +3,6 @@
|
||||||
[The incumbent settings object while executing the compiled callback via Web IDL's invoke must be that of the node document]
|
[The incumbent settings object while executing the compiled callback via Web IDL's invoke must be that of the node document]
|
||||||
expected: TIMEOUT
|
expected: TIMEOUT
|
||||||
|
|
||||||
|
[The entry settings object while executing the compiled callback via Web IDL's invoke must be that of the node document]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
[namespace-object-class-string.any.html]
|
[toStringTag.any.html]
|
||||||
[Object.prototype.toString applied after deleting @@toStringTag]
|
[Object.prototype.toString applied after deleting @@toStringTag]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
||||||
[namespace-object-class-string.any.worker.html]
|
[toStringTag.any.worker.html]
|
||||||
[Object.prototype.toString applied after deleting @@toStringTag]
|
[Object.prototype.toString applied after deleting @@toStringTag]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
[Worker-constructor.html]
|
||||||
|
expected: ERROR
|
8
tests/wpt/metadata/FileAPI/url/url-charset.window.js.ini
Normal file
8
tests/wpt/metadata/FileAPI/url/url-charset.window.js.ini
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
[url-charset.window.html]
|
||||||
|
expected: TIMEOUT
|
||||||
|
[Blob charset should override any auto-detected charset.]
|
||||||
|
expected: TIMEOUT
|
||||||
|
|
||||||
|
[Blob charset should override <meta charset>.]
|
||||||
|
expected: TIMEOUT
|
||||||
|
|
|
@ -10591,6 +10591,34 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"css-pseudo": {
|
"css-pseudo": {
|
||||||
|
"active-selection-001-manual.html": [
|
||||||
|
"55001fe379f0dafe1f4690bbe8fb4a115bb0623c",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"active-selection-002-manual.html": [
|
||||||
|
"01cec72b2d4dfeab99fc2a6f8afd3b701a698b30",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"active-selection-003-manual.html": [
|
||||||
|
"c56a301ef3a475530cce9b4b01a008577f6bd88a",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"active-selection-004-manual.html": [
|
||||||
|
"ac7ba7da327df4705c3b71bdebcbb9cc08a4c5ae",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
"grammar-error-002-manual.html": [
|
"grammar-error-002-manual.html": [
|
||||||
"3cec3df0adb41f5a7345458dee3090175f85f285",
|
"3cec3df0adb41f5a7345458dee3090175f85f285",
|
||||||
[
|
[
|
||||||
|
@ -118242,6 +118270,19 @@
|
||||||
{}
|
{}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
"background-attachment-353.html": [
|
||||||
|
"c5ac06c0f57f25a390c29d05622b1fbb09b667eb",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/css/reference/ref-filled-green-100px-square.xht",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
"background-attachment-local": {
|
"background-attachment-local": {
|
||||||
"attachment-local-clipping-color-1.html": [
|
"attachment-local-clipping-color-1.html": [
|
||||||
"8cb76ee89c941bb0b78ad90106981a888b46244f",
|
"8cb76ee89c941bb0b78ad90106981a888b46244f",
|
||||||
|
@ -139183,6 +139224,19 @@
|
||||||
{}
|
{}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
"grid-flex-item-005.html": [
|
||||||
|
"95c57d1429e5de2a138571435134152c2c33561b",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/css/reference/ref-filled-green-100px-square-only.html",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
"image-items-flake-001.html": [
|
"image-items-flake-001.html": [
|
||||||
"90319f1ad83d26d414d8ddcd4a9ab59042a4bd62",
|
"90319f1ad83d26d414d8ddcd4a9ab59042a4bd62",
|
||||||
[
|
[
|
||||||
|
@ -162116,6 +162170,71 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"css-pseudo": {
|
"css-pseudo": {
|
||||||
|
"active-selection-011.html": [
|
||||||
|
"57335dc52d9ce2460e3d6db867bd41fea778e1dd",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/css/css-pseudo/reference/active-selection-011-ref.html",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"active-selection-012.html": [
|
||||||
|
"e40b0d2a0d2a94e64e8d79be33f3c51b89182aed",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/css/css-pseudo/reference/active-selection-012-ref.html",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"active-selection-014.html": [
|
||||||
|
"1bc244c800a82050d20acf28aa978dd478fb7fa4",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/css/css-pseudo/reference/active-selection-014-ref.html",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"active-selection-016.html": [
|
||||||
|
"e5a56afe02280bc5eae0821ee8135aeab6e0401e",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/css/css-pseudo/reference/active-selection-016-ref.html",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"active-selection-018.html": [
|
||||||
|
"ee7871c9503d45a3e0a0fbcff7e368d4557e33c3",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/css/css-pseudo/reference/active-selection-011-ref.html",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
"active-selection-021.html": [
|
"active-selection-021.html": [
|
||||||
"2061385d6c564c32ff2e36fc096df5b633d7ec2a",
|
"2061385d6c564c32ff2e36fc096df5b633d7ec2a",
|
||||||
[
|
[
|
||||||
|
@ -163386,7 +163505,7 @@
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
"selection-intercharacter-011.html": [
|
"selection-intercharacter-011.html": [
|
||||||
"70ab69fb492070103f2d5caa6a8f60035f0392e8",
|
"a8f02b10e0fc59264e79e0e94264451eb75366eb",
|
||||||
[
|
[
|
||||||
null,
|
null,
|
||||||
[
|
[
|
||||||
|
@ -163399,7 +163518,7 @@
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
"selection-intercharacter-012.html": [
|
"selection-intercharacter-012.html": [
|
||||||
"a04fc33e2fe918f8555583d9da2c48197037dc82",
|
"8dc665b77c9529f18d65b06042f7ec14d3e57084",
|
||||||
[
|
[
|
||||||
null,
|
null,
|
||||||
[
|
[
|
||||||
|
@ -247827,7 +247946,7 @@
|
||||||
},
|
},
|
||||||
"support": {
|
"support": {
|
||||||
".azure-pipelines.yml": [
|
".azure-pipelines.yml": [
|
||||||
"215f3d8ffd8e2e3ef2d2abdde4e2a6e7b5058fe2",
|
"cbd7b33b5d421e8dda64adfd8e25383e82173a5b",
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
".codecov.yml": [
|
".codecov.yml": [
|
||||||
|
@ -270919,7 +271038,7 @@
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"cookie_helper.py": [
|
"cookie_helper.py": [
|
||||||
"cf48f26eed1661b8e0f85a4ea8029b2f0b8d2e2d",
|
"b88b25c701639dfdf92596c6523bf310fe8dcca1",
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"empty_sw.js": [
|
"empty_sw.js": [
|
||||||
|
@ -291915,6 +292034,10 @@
|
||||||
"70437d7bda2b56a921b523d4a81ca4df7be4321d",
|
"70437d7bda2b56a921b523d4a81ca4df7be4321d",
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
|
"100x100-gr-rr.png": [
|
||||||
|
"dfd0593e3c4ef9b6c75622e6d7dffca3ff114b36",
|
||||||
|
[]
|
||||||
|
],
|
||||||
"100x100-green-with-red-corners.png": [
|
"100x100-green-with-red-corners.png": [
|
||||||
"a193937c0d017b4b497a68874468fa92123f223e",
|
"a193937c0d017b4b497a68874468fa92123f223e",
|
||||||
[]
|
[]
|
||||||
|
@ -306155,6 +306278,22 @@
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"reference": {
|
"reference": {
|
||||||
|
"active-selection-011-ref.html": [
|
||||||
|
"5c5fb091b85bb4a8d7d7025aac4caeafd34ed65f",
|
||||||
|
[]
|
||||||
|
],
|
||||||
|
"active-selection-012-ref.html": [
|
||||||
|
"2faa69510d8bc4f867301955be306b53d2a4ed7b",
|
||||||
|
[]
|
||||||
|
],
|
||||||
|
"active-selection-014-ref.html": [
|
||||||
|
"4a9dd309a0141d6b3950e73ff17ffdd468e14955",
|
||||||
|
[]
|
||||||
|
],
|
||||||
|
"active-selection-016-ref.html": [
|
||||||
|
"cd80adb3c3be45234bb3e89f42086dd30432cdb9",
|
||||||
|
[]
|
||||||
|
],
|
||||||
"active-selection-021-ref.html": [
|
"active-selection-021-ref.html": [
|
||||||
"7790a3fad8a36f1709fea6a4155ed5af0f3c49d7",
|
"7790a3fad8a36f1709fea6a4155ed5af0f3c49d7",
|
||||||
[]
|
[]
|
||||||
|
@ -306176,11 +306315,11 @@
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"selection-intercharacter-011-ref.html": [
|
"selection-intercharacter-011-ref.html": [
|
||||||
"b0c60408f760b562b98fcb4ff2682fb1e3638452",
|
"b3fa3531b3ed9c1bbb83f7ed5349d3ba792cebcf",
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"selection-intercharacter-012-ref.html": [
|
"selection-intercharacter-012-ref.html": [
|
||||||
"38650c90b4096ddac99543aeca2405ac4f288969",
|
"3ead305bfb8eaf08424b789f40efa73c26d8dfe3",
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"selection-textarea-011-ref.html": [
|
"selection-textarea-011-ref.html": [
|
||||||
|
@ -306200,6 +306339,14 @@
|
||||||
"100x100-red.png": [
|
"100x100-red.png": [
|
||||||
"57bf3ddc5213d06e0975de38f330ffb7c441b268",
|
"57bf3ddc5213d06e0975de38f330ffb7c441b268",
|
||||||
[]
|
[]
|
||||||
|
],
|
||||||
|
"select-custom.cur": [
|
||||||
|
"0a1f5dd51458223ce9213487ebcea627cdf75a4d",
|
||||||
|
[]
|
||||||
|
],
|
||||||
|
"select-custom.png": [
|
||||||
|
"344aacee6afe29536d1263a3a24cb47a7f7b8786",
|
||||||
|
[]
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"textpath-selection-011-ref.html": [
|
"textpath-selection-011-ref.html": [
|
||||||
|
@ -325866,7 +326013,7 @@
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"long-wav.py": [
|
"long-wav.py": [
|
||||||
"8af2aca8a959b39c7cbd91704e9228a119f2b2d8",
|
"be7df7b83d8723ffd8c977d3f4b5c42a23d7918a",
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"partial-script.py": [
|
"partial-script.py": [
|
||||||
|
@ -325928,6 +326075,22 @@
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"focus": {
|
||||||
|
"support": {
|
||||||
|
"focus-restoration-in-different-site-iframes-inner.html": [
|
||||||
|
"903b0c02858520dd1d3af7f95b82033fc5509585",
|
||||||
|
[]
|
||||||
|
],
|
||||||
|
"focus-restoration-in-different-site-iframes-other.html": [
|
||||||
|
"b302b90938789e2090b99bb0c223080c68962e37",
|
||||||
|
[]
|
||||||
|
],
|
||||||
|
"focus-restoration-in-different-site-iframes-outer.sub.html": [
|
||||||
|
"91ffed1107580585831313347ebd04ed3dd75d8d",
|
||||||
|
[]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
"fonts": {
|
"fonts": {
|
||||||
"AD.woff": [
|
"AD.woff": [
|
||||||
"3df8ea8efdabd11bc45fdcc6d4f3fec771be6650",
|
"3df8ea8efdabd11bc45fdcc6d4f3fec771be6650",
|
||||||
|
@ -329919,7 +330082,7 @@
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"dispatcher.py": [
|
"dispatcher.py": [
|
||||||
"2f1cf1bd4cf4f4d229de09bfb6da369f6b18adc2",
|
"2617361b0b369bd9efd3aedd42a88f8f46906fe3",
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"executor.html": [
|
"executor.html": [
|
||||||
|
@ -335890,7 +336053,7 @@
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"download_stash.py": [
|
"download_stash.py": [
|
||||||
"95256a2457aeb40dea30f5d43e713bca09f45c1f",
|
"a95fe37dd88e7db829edf3d260d3bdc3b7a7460e",
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"iframe-that-checks-contentDocument.html": [
|
"iframe-that-checks-contentDocument.html": [
|
||||||
|
@ -339660,7 +339823,7 @@
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"geolocation-API.idl": [
|
"geolocation-API.idl": [
|
||||||
"e8dd1526fd071eb0ffe32f21d624d41c0ccfd1cd",
|
"8bce6413816583e40feb941c4903d7be9346c8a2",
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"geolocation-sensor.idl": [
|
"geolocation-sensor.idl": [
|
||||||
|
@ -340293,7 +340456,7 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"lint.ignore": [
|
"lint.ignore": [
|
||||||
"40b7cb2c2180de0227a5803f4fd6b69ee8dc2c78",
|
"e52c2ae457638a90404fe8e4e200962314b6d441",
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"loading": {
|
"loading": {
|
||||||
|
@ -350123,7 +350286,7 @@
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"pr_preview.py": [
|
"pr_preview.py": [
|
||||||
"ba5997f68a615f49322ac009a15aebf0a5a071f3",
|
"2396e9b8aee8a166c3b9321c7e9ec2e8f9b549c0",
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"run_tc.py": [
|
"run_tc.py": [
|
||||||
|
@ -350204,7 +350367,7 @@
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"test_pr_preview.py": [
|
"test_pr_preview.py": [
|
||||||
"2d9966fc8cf4187913adce8609ee750ade1b9797",
|
"13aef50866312998855e8c46579e8a4d8443dc24",
|
||||||
[]
|
[]
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -356545,7 +356708,7 @@
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"browser.py": [
|
"browser.py": [
|
||||||
"6db3415a480c7e62dca111652c388aa83471d1da",
|
"6abe151948438beaf4cd252b44d63d751587b1ec",
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"commands.json": [
|
"commands.json": [
|
||||||
|
@ -356598,7 +356761,7 @@
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"test_install.py": [
|
"test_install.py": [
|
||||||
"7d55d419c1401aca559b92b0aedfdfb83c6c1bc5",
|
"d1abbed142eb5af606e606057786092dd1f01a7d",
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"test_markdown.py": [
|
"test_markdown.py": [
|
||||||
|
@ -376292,7 +376455,7 @@
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
"setSinkId.https.html": [
|
"setSinkId.https.html": [
|
||||||
"b1f703a9350bf557f0d38911a09c09a9d02eaa3a",
|
"80e2832e970c0696e132e14d7fd1d8ae2d456d03",
|
||||||
[
|
[
|
||||||
null,
|
null,
|
||||||
{}
|
{}
|
||||||
|
@ -395154,6 +395317,13 @@
|
||||||
{}
|
{}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
"grid-place-content-001.html": [
|
||||||
|
"49bb63928be72401c588eb1816f5a1ce1d0aade3",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
"grid-row-axis-alignment-positioned-items-001.html": [
|
"grid-row-axis-alignment-positioned-items-001.html": [
|
||||||
"b76e808da5f7156ee2206d8aecb36990df502037",
|
"b76e808da5f7156ee2206d8aecb36990df502037",
|
||||||
[
|
[
|
||||||
|
@ -411687,6 +411857,13 @@
|
||||||
{}
|
{}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
"client-props-root.html": [
|
||||||
|
"875522ec7c18a5a5ffc84eb71a9aa50382e10733",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
"cssom-getBoundingClientRect-001.html": [
|
"cssom-getBoundingClientRect-001.html": [
|
||||||
"7d96540adfe95205a770c232473e0c1268e609e2",
|
"7d96540adfe95205a770c232473e0c1268e609e2",
|
||||||
[
|
[
|
||||||
|
@ -436131,6 +436308,15 @@
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"focus": {
|
||||||
|
"focus-restoration-in-different-site-iframes.html": [
|
||||||
|
"3de05455651aef8e37e99aa33877c4e5905103ac",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
"forced-colors-mode": {
|
"forced-colors-mode": {
|
||||||
"forced-colors-mode-03.html": [
|
"forced-colors-mode-03.html": [
|
||||||
"ebe42e4e7502a327849fe2c65924480e00de4399",
|
"ebe42e4e7502a327849fe2c65924480e00de4399",
|
||||||
|
@ -439111,6 +439297,13 @@
|
||||||
{}
|
{}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
"window-open-invalid-url.html": [
|
||||||
|
"cabc143b9db769c254631702260ffa5f16a619b7",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
"window-open-noopener.html": [
|
"window-open-noopener.html": [
|
||||||
"c3c706605492c5c81bc296054eb98c280492527f",
|
"c3c706605492c5c81bc296054eb98c280492527f",
|
||||||
[
|
[
|
||||||
|
@ -457306,7 +457499,7 @@
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
"property.https.html": [
|
"property.https.html": [
|
||||||
"67aebb5838bb5de62e8628836655f2a480b48b2d",
|
"625fc94117768b792a27c148f609ccccef61507b",
|
||||||
[
|
[
|
||||||
null,
|
null,
|
||||||
{
|
{
|
||||||
|
@ -476695,6 +476888,13 @@
|
||||||
{}
|
{}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
"move-transformed.html": [
|
||||||
|
"c9cdb9954b7002940559d8417e62afe69916428f",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
"multi-clip-visual-rect.html": [
|
"multi-clip-visual-rect.html": [
|
||||||
"36475d4c826c11807e9c0a7fbf4457c33c92c2c0",
|
"36475d4c826c11807e9c0a7fbf4457c33c92c2c0",
|
||||||
[
|
[
|
||||||
|
@ -476813,6 +477013,13 @@
|
||||||
{}
|
{}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
"transform-change.html": [
|
||||||
|
"fd9657a71455629f856e53b8fa20aec1a3008e73",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
"transform.html": [
|
"transform.html": [
|
||||||
"7ac1c8cafde664f6a39c9d0a88e0a5d76753d85f",
|
"7ac1c8cafde664f6a39c9d0a88e0a5d76753d85f",
|
||||||
[
|
[
|
||||||
|
@ -479370,7 +479577,7 @@
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
"MediaDevices-getUserMedia.https.html": [
|
"MediaDevices-getUserMedia.https.html": [
|
||||||
"693f3bd11cfaa6be7ca21bae110467c265be5a07",
|
"f410b262cf5b419d8e056a805a46c518ea45c493",
|
||||||
[
|
[
|
||||||
null,
|
null,
|
||||||
{}
|
{}
|
||||||
|
@ -479526,7 +479733,7 @@
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
"idlharness.https.window.js": [
|
"idlharness.https.window.js": [
|
||||||
"b10e8dbb046d656e4b06c3572fb4ee069c9e0897",
|
"ee5fb483c120ca273e61cefb7bc7d8be906c3355",
|
||||||
[
|
[
|
||||||
"mediacapture-streams/idlharness.https.window.html",
|
"mediacapture-streams/idlharness.https.window.html",
|
||||||
{
|
{
|
||||||
|
@ -516648,6 +516855,43 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
"toStringTag.any.js": [
|
||||||
|
"9c0d346bc7e1e193e16df6d211a578e5ac9509a4",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
{
|
||||||
|
"jsshell": true,
|
||||||
|
"script_metadata": [
|
||||||
|
[
|
||||||
|
"global",
|
||||||
|
"window,dedicatedworker,jsshell"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"wasm/jsapi/constructor/toStringTag.any.html",
|
||||||
|
{
|
||||||
|
"script_metadata": [
|
||||||
|
[
|
||||||
|
"global",
|
||||||
|
"window,dedicatedworker,jsshell"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"wasm/jsapi/constructor/toStringTag.any.worker.html",
|
||||||
|
{
|
||||||
|
"script_metadata": [
|
||||||
|
[
|
||||||
|
"global",
|
||||||
|
"window,dedicatedworker,jsshell"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
"validate.any.js": [
|
"validate.any.js": [
|
||||||
"8b4f4582ab2987732d404994899e9a77662e2a32",
|
"8b4f4582ab2987732d404994899e9a77662e2a32",
|
||||||
[
|
[
|
||||||
|
@ -517762,17 +518006,6 @@
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"namespace-object-class-string.any.js": [
|
|
||||||
"2f63aca2c55e5b404b72474a43a9631dd3ae57be",
|
|
||||||
[
|
|
||||||
"wasm/jsapi/namespace-object-class-string.any.html",
|
|
||||||
{}
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"wasm/jsapi/namespace-object-class-string.any.worker.html",
|
|
||||||
{}
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"proto-from-ctor-realm.html": [
|
"proto-from-ctor-realm.html": [
|
||||||
"72931cca77cf2af6e06616af32b4608fb02d38c0",
|
"72931cca77cf2af6e06616af32b4608fb02d38c0",
|
||||||
[
|
[
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
[hit-test-floats-003.html]
|
[hit-test-floats-004.html]
|
||||||
[Miss float below something else]
|
[Miss float below something else]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[hit-test-floats-005.html]
|
|
||||||
[Miss clipped float]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -8,6 +8,9 @@
|
||||||
[[data-expected-height\] 3]
|
[[data-expected-height\] 3]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[[data-expected-height\] 4]
|
[[data-expected-height\] 1]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[[data-expected-height\] 2]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
[background-attachment-353.html]
|
||||||
|
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
||||||
|
[grid-flex-item-005.html]
|
||||||
|
expected: FAIL
|
|
@ -2,6 +2,3 @@
|
||||||
[Hit test intersecting scaled box]
|
[Hit test intersecting scaled box]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Hit test within unscaled box]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[CaretPosition-001.html]
|
|
||||||
[Element at (400, 100)]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
[client-props-root.html]
|
||||||
|
[client* properties on the root element]
|
||||||
|
expected: FAIL
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
[matchMedia-display-none-iframe.html]
|
||||||
|
expected: ERROR
|
|
@ -1,2 +0,0 @@
|
||||||
[HTMLMediaElement.html]
|
|
||||||
expected: TIMEOUT
|
|
|
@ -312,24 +312,24 @@
|
||||||
[fetch(): separate response Content-Type: text/plain ]
|
[fetch(): separate response Content-Type: text/plain ]
|
||||||
expected: NOTRUN
|
expected: NOTRUN
|
||||||
|
|
||||||
[<iframe>: separate response Content-Type: text/html;x=" text/plain]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[<iframe>: combined response Content-Type: */* text/html]
|
[<iframe>: combined response Content-Type: */* text/html]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[<iframe>: separate response Content-Type: text/html;" text/plain]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[<iframe>: separate response Content-Type: text/html */*;charset=gbk]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[<iframe>: separate response Content-Type: text/html */*]
|
[<iframe>: separate response Content-Type: text/html */*]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[<iframe>: separate response Content-Type: text/plain */*]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
|
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[<iframe>: combined response Content-Type: text/html */*]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[<iframe>: combined response Content-Type: text/html;" \\" text/plain]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[<iframe>: separate response Content-Type: text/html;" \\" text/plain]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -56,6 +56,3 @@
|
||||||
[separate text/javascript x/x]
|
[separate text/javascript x/x]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[separate text/javascript error]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
|
|
|
@ -11,3 +11,6 @@
|
||||||
[X-Content-Type-Options%3A%20nosniff%2C%2C%40%23%24%23%25%25%26%5E%26%5E*()()11!]
|
[X-Content-Type-Options%3A%20nosniff%2C%2C%40%23%24%23%25%25%26%5E%26%5E*()()11!]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[X-Content-Type-Options%3A%20%2Cnosniff]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[traverse_the_history_1.html]
|
|
||||||
[Multiple history traversals from the same task]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[traverse_the_history_2.html]
|
|
||||||
[Multiple history traversals, last would be aborted]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[traverse_the_history_3.html]
|
|
||||||
[Multiple history traversals, last would be aborted]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
[cross-origin-objects-on-new-window.html]
|
||||||
|
expected: TIMEOUT
|
|
@ -1,4 +1,5 @@
|
||||||
[embedded-opener-remove-frame.html]
|
[embedded-opener-remove-frame.html]
|
||||||
|
expected: CRASH
|
||||||
[opener and "removed" embedded documents]
|
[opener and "removed" embedded documents]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
[iframe_sandbox_popups_escaping-1.html]
|
[iframe_sandbox_popups_escaping-1.html]
|
||||||
type: testharness
|
type: testharness
|
||||||
expected: TIMEOUT
|
|
||||||
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
||||||
expected: TIMEOUT
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
[iframe_sandbox_popups_escaping-2.html]
|
[iframe_sandbox_popups_escaping-2.html]
|
||||||
|
expected: CRASH
|
||||||
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
[iframe_sandbox_popups_escaping-3.html]
|
[iframe_sandbox_popups_escaping-3.html]
|
||||||
type: testharness
|
type: testharness
|
||||||
expected: TIMEOUT
|
|
||||||
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
||||||
expected: TIMEOUT
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[iframe_sandbox_popups_nonescaping-1.html]
|
[iframe_sandbox_popups_nonescaping-1.html]
|
||||||
type: testharness
|
type: testharness
|
||||||
expected: CRASH
|
expected: TIMEOUT
|
||||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||||
expected: NOTRUN
|
expected: NOTRUN
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
[iframe_sandbox_popups_nonescaping-3.html]
|
[iframe_sandbox_popups_nonescaping-3.html]
|
||||||
type: testharness
|
type: testharness
|
||||||
|
expected: TIMEOUT
|
||||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||||
expected: FAIL
|
expected: NOTRUN
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
[077.html]
|
||||||
|
[ adding several types of scripts through the DOM and removing some of them confuses scheduler ]
|
||||||
|
expected: FAIL
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[module-static-import-delayed.html]
|
|
||||||
[document.write in an imported module]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
[ignore-opens-during-unload.window.html]
|
[ignore-opens-during-unload.window.html]
|
||||||
expected: CRASH
|
expected: TIMEOUT
|
||||||
[ignore-opens-during-unload]
|
[ignore-opens-during-unload]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue