This commit is contained in:
mustafapc19 2020-07-29 22:18:22 +05:30
commit 332c9cc12f
161 changed files with 1737 additions and 379 deletions

View file

@ -20,6 +20,7 @@ use rayon_croissant::ParallelIteratorExt;
use servo_arc::Arc;
use std::borrow::Cow;
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::ComputedValues;
use style::selector_parser::PseudoElement;
@ -293,60 +294,96 @@ where
}
fn handle_text(&mut self, info: &NodeAndStyleInfo<Node>, input: Cow<'dom, str>) {
let (leading_whitespace, mut input) = self.handle_leading_whitespace(&input);
if leading_whitespace || !input.is_empty() {
// This text node should be pushed either to the next ongoing
// inline level box with the parent style of that inline level box
// 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();
// Skip any leading whitespace as dictated by the node's style.
let white_space = info.style.get_inherited_text().white_space;
let (preserved_leading_whitespace, mut input) =
self.handle_leading_whitespace(&input, white_space);
let mut new_text_run_contents;
let output;
if !preserved_leading_whitespace && input.is_empty() {
return;
}
{
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 {
InlineLevelBox::TextRun(last) => Some(&mut last.text),
_ => None,
});
// This text node should be pushed either to the next ongoing
// inline level box with the parent style of that inline level box
// 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();
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();
}
let mut new_text_run_contents;
let output;
if leading_whitespace {
output.push(' ')
}
loop {
if let Some(i) = input.bytes().position(|b| b.is_ascii_whitespace()) {
{
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 {
InlineLevelBox::TextRun(last) => Some(&mut last.text),
_ => 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);
output.push_str(non_whitespace);
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..];
} else {
break;
}
} else {
// No whitespace found, so no transformation is required.
output.push_str(input);
break;
}
}
},
}
}
if let Some(text) = new_text_run_contents {
inlines.push(ArcRefCell::new(InlineLevelBox::TextRun(TextRun {
tag: Tag::from_node_and_style_info(info),
parent_style: Arc::clone(&info.style),
text,
})))
}
if let Some(text) = new_text_run_contents {
inlines.push(ArcRefCell::new(InlineLevelBox::TextRun(TextRun {
tag: Tag::from_node_and_style_info(info),
parent_style: Arc::clone(&info.style),
text,
})))
}
}
}
@ -359,10 +396,14 @@ where
///
/// * Whether this text run has preserved (non-collapsible) leading whitespace
/// * 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
// 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);
}

View file

@ -756,13 +756,21 @@ impl TextRun {
let mut glyphs = vec![];
let mut advance_width = Length::zero();
let mut last_break_opportunity = None;
let mut force_line_break = false;
// Fit as many glyphs within a single line as possible.
loop {
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
.as_ref()
.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 {
// 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() {
glyphs.truncate(len);
advance_width = width;
@ -774,10 +782,24 @@ impl TextRun {
if let Some(run) = next {
if run.glyph_store.is_whitespace() {
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());
advance_width += Length::from(run.glyph_store.total_advance());
} else {
// No more runs, so we can end the line.
break;
}
}
@ -812,7 +834,8 @@ impl TextRun {
glyphs,
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;
} else {
// New line

View file

@ -186,7 +186,6 @@ ${helpers.predefined_type(
name="white-space"
values="normal pre nowrap pre-wrap pre-line"
engines="gecko servo-2013 servo-2020",
servo_2020_pref="layout.2020.unimplemented",
extra_gecko_values="break-spaces -moz-pre-space"
gecko_enum_prefix="StyleWhiteSpace"
needs_conversion="True"

View 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

View file

@ -1,2 +0,0 @@
[hypothetical-inline-alone-on-second-line.html]
expected: FAIL

View file

@ -1,2 +0,0 @@
[color-applies-to-008.xht]
expected: FAIL

View file

@ -1,2 +0,0 @@
[color-applies-to-015.xht]
expected: FAIL

View file

@ -1,2 +0,0 @@
[c562-white-sp-000.xht]
expected: FAIL

View file

@ -1,2 +0,0 @@
[float-003.xht]
expected: FAIL

View file

@ -0,0 +1,2 @@
[float-no-content-beside-001.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[floats-placement-vertical-004.xht]
expected: FAIL

View file

@ -1,4 +1,4 @@
[hit-test-floats-003.html]
[hit-test-floats-004.html]
[Miss float below something else]
expected: FAIL

View file

@ -1,4 +0,0 @@
[hit-test-floats-005.html]
[Miss clipped float]
expected: FAIL

View file

@ -1,2 +0,0 @@
[content-171.xht]
expected: FAIL

View file

@ -0,0 +1,2 @@
[content-173.xht]
expected: FAIL

View file

@ -1,2 +0,0 @@
[content-newline-001.xht]
expected: FAIL

View file

@ -0,0 +1,2 @@
[content-white-space-002.xht]
expected: FAIL

View file

@ -11,36 +11,9 @@
[[data-expected-height\] 2]
expected: FAIL
[[data-expected-height\] 4]
expected: FAIL
[[data-expected-height\] 1]
expected: FAIL
[[data-expected-height\] 10]
expected: FAIL
[[data-expected-height\] 2]
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

View file

@ -1,2 +0,0 @@
[padding-percentage-inherit-001.xht]
expected: FAIL

View file

@ -1,2 +0,0 @@
[block-replaced-width-006.xht]
expected: FAIL

View file

@ -1,2 +0,0 @@
[inline-replaced-width-001.xht]
expected: FAIL

View file

@ -1,2 +0,0 @@
[inline-replaced-width-006.xht]
expected: FAIL

View file

@ -1,2 +0,0 @@
[inlines-016.xht]
expected: FAIL

View file

@ -1,2 +0,0 @@
[absolute-non-replaced-height-008.xht]
expected: FAIL

View file

@ -1,2 +0,0 @@
[position-static-001.xht]
expected: FAIL

View file

@ -0,0 +1,2 @@
[table-anonymous-objects-009.xht]
expected: FAIL

View file

@ -0,0 +1,2 @@
[table-anonymous-objects-010.xht]
expected: FAIL

View file

@ -1,2 +0,0 @@
[white-space-004.xht]
expected: FAIL

View file

@ -1,2 +0,0 @@
[white-space-applies-to-003.xht]
expected: FAIL

View file

@ -1,2 +0,0 @@
[white-space-processing-013.xht]
expected: FAIL

View file

@ -1,2 +0,0 @@
[white-space-processing-016.xht]
expected: FAIL

View file

@ -1,2 +0,0 @@
[white-space-processing-017.xht]
expected: FAIL

View file

@ -1,2 +0,0 @@
[white-space-processing-018.xht]
expected: FAIL

View file

@ -1,2 +0,0 @@
[white-space-processing-046.xht]
expected: FAIL

View file

@ -1,2 +0,0 @@
[white-space-processing-047.xht]
expected: FAIL

View file

@ -1,2 +0,0 @@
[white-space-processing-052.xht]
expected: FAIL

View file

@ -1,2 +0,0 @@
[anonymous-boxes-001b.xht]
expected: FAIL

View file

@ -0,0 +1,2 @@
[background-attachment-353.html]
expected: FAIL

View file

@ -1,2 +0,0 @@
[background-size-027.html]
expected: FAIL

View file

@ -1,2 +0,0 @@
[background-size-028.html]
expected: FAIL

View file

@ -1,2 +0,0 @@
[background-size-030.html]
expected: FAIL

View file

@ -1,2 +0,0 @@
[background-size-031.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[anonymous-flex-item-004.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[anonymous-flex-item-005.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[anonymous-flex-item-006.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[grid-flex-item-005.html]
expected: FAIL

View file

@ -1,2 +0,0 @@
[text-decoration-subelements-001.html]
expected: FAIL

View file

@ -2,6 +2,3 @@
[Hit test intersecting scaled box]
expected: FAIL
[Hit test within unscaled box]
expected: FAIL

View file

@ -1,4 +0,0 @@
[CaretPosition-001.html]
[Element at (400, 100)]
expected: FAIL

View file

@ -0,0 +1,4 @@
[client-props-root.html]
[client* properties on the root element]
expected: FAIL

View file

@ -0,0 +1,2 @@
[matchMedia-display-none-iframe.html]
expected: ERROR

View file

@ -23,15 +23,9 @@
[page-break-before: always]
expected: FAIL
[white-space: inherit]
expected: FAIL
[page-break-after: inherit]
expected: FAIL
[white-space: nowrap]
expected: FAIL
[page-break-before: left]
expected: FAIL
@ -215,9 +209,6 @@
[display: table-cell]
expected: FAIL
[white-space: pre]
expected: FAIL
[text-indent: 5%]
expected: FAIL
@ -257,9 +248,6 @@
[clear: both]
expected: FAIL
[white-space: pre-wrap]
expected: FAIL
[outline-width: 0px]
expected: FAIL
@ -326,9 +314,6 @@
[vertical-align: 1px]
expected: FAIL
[white-space: pre-line]
expected: FAIL
[display: table-column]
expected: FAIL
@ -386,9 +371,6 @@
[float: none]
expected: FAIL
[white-space: normal]
expected: FAIL
[list-style-type: lower-roman]
expected: FAIL

View file

@ -1,2 +0,0 @@
[HTMLMediaElement.html]
expected: TIMEOUT

View file

@ -312,24 +312,24 @@
[Response: combined response Content-Type: text/html;" \\" text/plain ";charset=GBK]
expected: NOTRUN
[<iframe>: separate response Content-Type: text/html;x=" text/plain]
expected: FAIL
[<iframe>: combined response Content-Type: */* text/html]
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 */*]
expected: FAIL
[<iframe>: separate response Content-Type: text/plain */*]
expected: FAIL
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
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

View file

@ -56,6 +56,3 @@
[separate text/javascript x/x]
expected: FAIL
[separate text/javascript error]
expected: FAIL

View file

@ -11,3 +11,6 @@
[X-Content-Type-Options%3A%20nosniff%2C%2C%40%23%24%23%25%25%26%5E%26%5E*()()11!]
expected: FAIL
[X-Content-Type-Options%3A%20%2Cnosniff]
expected: FAIL

View file

@ -1,4 +0,0 @@
[traverse_the_history_1.html]
[Multiple history traversals from the same task]
expected: FAIL

View file

@ -1,4 +0,0 @@
[traverse_the_history_2.html]
[Multiple history traversals, last would be aborted]
expected: FAIL

View file

@ -1,4 +0,0 @@
[traverse_the_history_3.html]
[Multiple history traversals, last would be aborted]
expected: FAIL

View file

@ -0,0 +1,2 @@
[cross-origin-objects-on-new-window.html]
expected: TIMEOUT

View file

@ -1,4 +1,5 @@
[embedded-opener-remove-frame.html]
expected: CRASH
[opener of discarded nested browsing context]
expected: FAIL

View file

@ -1,5 +1,4 @@
[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]
expected: TIMEOUT
expected: FAIL

View file

@ -1,4 +1,5 @@
[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]
expected: FAIL

View file

@ -1,5 +1,4 @@
[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]
expected: TIMEOUT
expected: FAIL

View file

@ -1,5 +1,5 @@
[iframe_sandbox_popups_nonescaping-1.html]
expected: CRASH
expected: TIMEOUT
[Check that popups from a sandboxed iframe do not escape the sandbox]
expected: NOTRUN

View file

@ -1,4 +1,5 @@
[iframe_sandbox_popups_nonescaping-3.html]
expected: TIMEOUT
[Check that popups from a sandboxed iframe do not escape the sandbox]
expected: FAIL
expected: NOTRUN

View file

@ -0,0 +1,4 @@
[077.html]
[ adding several types of scripts through the DOM and removing some of them confuses scheduler ]
expected: FAIL

View file

@ -1,4 +0,0 @@
[module-static-import-delayed.html]
[document.write in an imported module]
expected: FAIL

View file

@ -1,5 +1,5 @@
[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)]
expected: TIMEOUT

View file

@ -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]
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

View file

@ -1,4 +1,4 @@
[namespace-object-class-string.any.html]
[toStringTag.any.html]
[Object.prototype.toString applied after deleting @@toStringTag]
expected: FAIL
@ -9,7 +9,7 @@
expected: FAIL
[namespace-object-class-string.any.worker.html]
[toStringTag.any.worker.html]
[Object.prototype.toString applied after deleting @@toStringTag]
expected: FAIL

View file

@ -0,0 +1,2 @@
[Worker-constructor.html]
expected: ERROR

View 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

View file

@ -10591,6 +10591,34 @@
]
},
"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": [
"3cec3df0adb41f5a7345458dee3090175f85f285",
[
@ -118242,6 +118270,19 @@
{}
]
],
"background-attachment-353.html": [
"c5ac06c0f57f25a390c29d05622b1fbb09b667eb",
[
null,
[
[
"/css/reference/ref-filled-green-100px-square.xht",
"=="
]
],
{}
]
],
"background-attachment-local": {
"attachment-local-clipping-color-1.html": [
"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": [
"90319f1ad83d26d414d8ddcd4a9ab59042a4bd62",
[
@ -162116,6 +162170,71 @@
]
},
"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": [
"2061385d6c564c32ff2e36fc096df5b633d7ec2a",
[
@ -163386,7 +163505,7 @@
]
],
"selection-intercharacter-011.html": [
"70ab69fb492070103f2d5caa6a8f60035f0392e8",
"a8f02b10e0fc59264e79e0e94264451eb75366eb",
[
null,
[
@ -163399,7 +163518,7 @@
]
],
"selection-intercharacter-012.html": [
"a04fc33e2fe918f8555583d9da2c48197037dc82",
"8dc665b77c9529f18d65b06042f7ec14d3e57084",
[
null,
[
@ -247827,7 +247946,7 @@
},
"support": {
".azure-pipelines.yml": [
"215f3d8ffd8e2e3ef2d2abdde4e2a6e7b5058fe2",
"cbd7b33b5d421e8dda64adfd8e25383e82173a5b",
[]
],
".codecov.yml": [
@ -270919,7 +271038,7 @@
[]
],
"cookie_helper.py": [
"cf48f26eed1661b8e0f85a4ea8029b2f0b8d2e2d",
"b88b25c701639dfdf92596c6523bf310fe8dcca1",
[]
],
"empty_sw.js": [
@ -291915,6 +292034,10 @@
"70437d7bda2b56a921b523d4a81ca4df7be4321d",
[]
],
"100x100-gr-rr.png": [
"dfd0593e3c4ef9b6c75622e6d7dffca3ff114b36",
[]
],
"100x100-green-with-red-corners.png": [
"a193937c0d017b4b497a68874468fa92123f223e",
[]
@ -306155,6 +306278,22 @@
[]
],
"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": [
"7790a3fad8a36f1709fea6a4155ed5af0f3c49d7",
[]
@ -306176,11 +306315,11 @@
[]
],
"selection-intercharacter-011-ref.html": [
"b0c60408f760b562b98fcb4ff2682fb1e3638452",
"b3fa3531b3ed9c1bbb83f7ed5349d3ba792cebcf",
[]
],
"selection-intercharacter-012-ref.html": [
"38650c90b4096ddac99543aeca2405ac4f288969",
"3ead305bfb8eaf08424b789f40efa73c26d8dfe3",
[]
],
"selection-textarea-011-ref.html": [
@ -306200,6 +306339,14 @@
"100x100-red.png": [
"57bf3ddc5213d06e0975de38f330ffb7c441b268",
[]
],
"select-custom.cur": [
"0a1f5dd51458223ce9213487ebcea627cdf75a4d",
[]
],
"select-custom.png": [
"344aacee6afe29536d1263a3a24cb47a7f7b8786",
[]
]
},
"textpath-selection-011-ref.html": [
@ -325866,7 +326013,7 @@
[]
],
"long-wav.py": [
"8af2aca8a959b39c7cbd91704e9228a119f2b2d8",
"be7df7b83d8723ffd8c977d3f4b5c42a23d7918a",
[]
],
"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": {
"AD.woff": [
"3df8ea8efdabd11bc45fdcc6d4f3fec771be6650",
@ -329919,7 +330082,7 @@
[]
],
"dispatcher.py": [
"2f1cf1bd4cf4f4d229de09bfb6da369f6b18adc2",
"2617361b0b369bd9efd3aedd42a88f8f46906fe3",
[]
],
"executor.html": [
@ -335890,7 +336053,7 @@
[]
],
"download_stash.py": [
"95256a2457aeb40dea30f5d43e713bca09f45c1f",
"a95fe37dd88e7db829edf3d260d3bdc3b7a7460e",
[]
],
"iframe-that-checks-contentDocument.html": [
@ -339660,7 +339823,7 @@
[]
],
"geolocation-API.idl": [
"e8dd1526fd071eb0ffe32f21d624d41c0ccfd1cd",
"8bce6413816583e40feb941c4903d7be9346c8a2",
[]
],
"geolocation-sensor.idl": [
@ -340293,7 +340456,7 @@
]
},
"lint.ignore": [
"40b7cb2c2180de0227a5803f4fd6b69ee8dc2c78",
"e52c2ae457638a90404fe8e4e200962314b6d441",
[]
],
"loading": {
@ -350123,7 +350286,7 @@
[]
],
"pr_preview.py": [
"ba5997f68a615f49322ac009a15aebf0a5a071f3",
"2396e9b8aee8a166c3b9321c7e9ec2e8f9b549c0",
[]
],
"run_tc.py": [
@ -350204,7 +350367,7 @@
[]
],
"test_pr_preview.py": [
"2d9966fc8cf4187913adce8609ee750ade1b9797",
"13aef50866312998855e8c46579e8a4d8443dc24",
[]
]
},
@ -356545,7 +356708,7 @@
[]
],
"browser.py": [
"6db3415a480c7e62dca111652c388aa83471d1da",
"6abe151948438beaf4cd252b44d63d751587b1ec",
[]
],
"commands.json": [
@ -356598,7 +356761,7 @@
[]
],
"test_install.py": [
"7d55d419c1401aca559b92b0aedfdfb83c6c1bc5",
"d1abbed142eb5af606e606057786092dd1f01a7d",
[]
],
"test_markdown.py": [
@ -376292,7 +376455,7 @@
]
],
"setSinkId.https.html": [
"b1f703a9350bf557f0d38911a09c09a9d02eaa3a",
"80e2832e970c0696e132e14d7fd1d8ae2d456d03",
[
null,
{}
@ -395154,6 +395317,13 @@
{}
]
],
"grid-place-content-001.html": [
"49bb63928be72401c588eb1816f5a1ce1d0aade3",
[
null,
{}
]
],
"grid-row-axis-alignment-positioned-items-001.html": [
"b76e808da5f7156ee2206d8aecb36990df502037",
[
@ -411687,6 +411857,13 @@
{}
]
],
"client-props-root.html": [
"875522ec7c18a5a5ffc84eb71a9aa50382e10733",
[
null,
{}
]
],
"cssom-getBoundingClientRect-001.html": [
"7d96540adfe95205a770c232473e0c1268e609e2",
[
@ -436131,6 +436308,15 @@
]
}
},
"focus": {
"focus-restoration-in-different-site-iframes.html": [
"3de05455651aef8e37e99aa33877c4e5905103ac",
[
null,
{}
]
]
},
"forced-colors-mode": {
"forced-colors-mode-03.html": [
"ebe42e4e7502a327849fe2c65924480e00de4399",
@ -439111,6 +439297,13 @@
{}
]
],
"window-open-invalid-url.html": [
"cabc143b9db769c254631702260ffa5f16a619b7",
[
null,
{}
]
],
"window-open-noopener.html": [
"c3c706605492c5c81bc296054eb98c280492527f",
[
@ -457306,7 +457499,7 @@
]
],
"property.https.html": [
"67aebb5838bb5de62e8628836655f2a480b48b2d",
"625fc94117768b792a27c148f609ccccef61507b",
[
null,
{
@ -476695,6 +476888,13 @@
{}
]
],
"move-transformed.html": [
"c9cdb9954b7002940559d8417e62afe69916428f",
[
null,
{}
]
],
"multi-clip-visual-rect.html": [
"36475d4c826c11807e9c0a7fbf4457c33c92c2c0",
[
@ -476813,6 +477013,13 @@
{}
]
],
"transform-change.html": [
"fd9657a71455629f856e53b8fa20aec1a3008e73",
[
null,
{}
]
],
"transform.html": [
"7ac1c8cafde664f6a39c9d0a88e0a5d76753d85f",
[
@ -479370,7 +479577,7 @@
]
],
"MediaDevices-getUserMedia.https.html": [
"693f3bd11cfaa6be7ca21bae110467c265be5a07",
"f410b262cf5b419d8e056a805a46c518ea45c493",
[
null,
{}
@ -479526,7 +479733,7 @@
]
],
"idlharness.https.window.js": [
"b10e8dbb046d656e4b06c3572fb4ee069c9e0897",
"ee5fb483c120ca273e61cefb7bc7d8be906c3355",
[
"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": [
"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": [
"72931cca77cf2af6e06616af32b4608fb02d38c0",
[

View file

@ -1,4 +1,4 @@
[hit-test-floats-003.html]
[hit-test-floats-004.html]
[Miss float below something else]
expected: FAIL

View file

@ -1,4 +0,0 @@
[hit-test-floats-005.html]
[Miss clipped float]
expected: FAIL

View file

@ -8,6 +8,9 @@
[[data-expected-height\] 3]
expected: FAIL
[[data-expected-height\] 4]
[[data-expected-height\] 1]
expected: FAIL
[[data-expected-height\] 2]
expected: FAIL

View file

@ -0,0 +1,2 @@
[background-attachment-353.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[grid-flex-item-005.html]
expected: FAIL

View file

@ -2,6 +2,3 @@
[Hit test intersecting scaled box]
expected: FAIL
[Hit test within unscaled box]
expected: FAIL

View file

@ -1,4 +0,0 @@
[CaretPosition-001.html]
[Element at (400, 100)]
expected: FAIL

View file

@ -0,0 +1,4 @@
[client-props-root.html]
[client* properties on the root element]
expected: FAIL

View file

@ -0,0 +1,2 @@
[matchMedia-display-none-iframe.html]
expected: ERROR

View file

@ -1,2 +0,0 @@
[HTMLMediaElement.html]
expected: TIMEOUT

View file

@ -312,24 +312,24 @@
[fetch(): separate response Content-Type: text/plain ]
expected: NOTRUN
[<iframe>: separate response Content-Type: text/html;x=" text/plain]
expected: FAIL
[<iframe>: combined response Content-Type: */* text/html]
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 */*]
expected: FAIL
[<iframe>: separate response Content-Type: text/plain */*]
expected: FAIL
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
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

View file

@ -56,6 +56,3 @@
[separate text/javascript x/x]
expected: FAIL
[separate text/javascript error]
expected: FAIL

View file

@ -11,3 +11,6 @@
[X-Content-Type-Options%3A%20nosniff%2C%2C%40%23%24%23%25%25%26%5E%26%5E*()()11!]
expected: FAIL
[X-Content-Type-Options%3A%20%2Cnosniff]
expected: FAIL

View file

@ -1,4 +0,0 @@
[traverse_the_history_1.html]
[Multiple history traversals from the same task]
expected: FAIL

View file

@ -1,4 +0,0 @@
[traverse_the_history_2.html]
[Multiple history traversals, last would be aborted]
expected: FAIL

View file

@ -1,4 +0,0 @@
[traverse_the_history_3.html]
[Multiple history traversals, last would be aborted]
expected: FAIL

View file

@ -0,0 +1,2 @@
[cross-origin-objects-on-new-window.html]
expected: TIMEOUT

View file

@ -1,4 +1,5 @@
[embedded-opener-remove-frame.html]
expected: CRASH
[opener and "removed" embedded documents]
expected: FAIL

View file

@ -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

View file

@ -1,4 +1,5 @@
[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]
expected: FAIL

View file

@ -1,6 +1,5 @@
[iframe_sandbox_popups_escaping-3.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

View file

@ -1,6 +1,6 @@
[iframe_sandbox_popups_nonescaping-1.html]
type: testharness
expected: CRASH
expected: TIMEOUT
[Check that popups from a sandboxed iframe do not escape the sandbox]
expected: NOTRUN

View file

@ -1,5 +1,6 @@
[iframe_sandbox_popups_nonescaping-3.html]
type: testharness
expected: TIMEOUT
[Check that popups from a sandboxed iframe do not escape the sandbox]
expected: FAIL
expected: NOTRUN

View file

@ -0,0 +1,4 @@
[077.html]
[ adding several types of scripts through the DOM and removing some of them confuses scheduler ]
expected: FAIL

View file

@ -1,4 +0,0 @@
[module-static-import-delayed.html]
[document.write in an imported module]
expected: FAIL

View file

@ -1,5 +1,5 @@
[ignore-opens-during-unload.window.html]
expected: CRASH
expected: TIMEOUT
[ignore-opens-during-unload]
expected: FAIL

Some files were not shown because too many files have changed in this diff Show more