Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream'
Browse files Browse the repository at this point in the history
  • Loading branch information
dylan-conway committed Jan 8, 2025
2 parents 995e299 + a476197 commit 2399a4a
Show file tree
Hide file tree
Showing 240 changed files with 21,832 additions and 1,327 deletions.
32 changes: 32 additions & 0 deletions JSTests/wasm/ipint-tests/ipint-test-type-conversion.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,34 @@ let wat = `
(func (export "i32_trunc_f32_s") (param f32) (result i32)
(local.get 0)
(f32.const 12345678)
(f32.const 12345678)
(f32.add)
(drop)
(i32.trunc_f32_s)
)
(func (export "i32_trunc_f32_u") (param f32) (result i32)
(local.get 0)
(f32.const 12345678)
(f32.const 12345678)
(f32.add)
(drop)
(i32.trunc_f32_u)
)
(func (export "i32_trunc_f64_s") (param f64) (result i32)
(local.get 0)
(f64.const 12345678)
(f64.const 12345678)
(f64.add)
(drop)
(i32.trunc_f64_s)
)
(func (export "i32_trunc_f64_u") (param f64) (result i32)
(local.get 0)
(f64.const 12345678)
(f64.const 12345678)
(f64.add)
(drop)
(i32.trunc_f64_u)
)
Expand All @@ -36,18 +52,34 @@ let wat = `
(func (export "i64_trunc_f32_s") (param f32) (result i64)
(local.get 0)
(f32.const 12345678)
(f32.const 12345678)
(f32.add)
(drop)
(i64.trunc_f32_s)
)
(func (export "i64_trunc_f32_u") (param f32) (result i64)
(local.get 0)
(f32.const 12345678)
(f32.const 12345678)
(f32.add)
(drop)
(i64.trunc_f32_u)
)
(func (export "i64_trunc_f64_s") (param f64) (result i64)
(local.get 0)
(f64.const 12345678)
(f64.const 12345678)
(f64.add)
(drop)
(i64.trunc_f64_s)
)
(func (export "i64_trunc_f64_u") (param f64) (result i64)
(local.get 0)
(f64.const 12345678)
(f64.const 12345678)
(f64.add)
(drop)
(i64.trunc_f64_u)
)
Expand Down
1 change: 0 additions & 1 deletion LayoutTests/TestExpectations
Original file line number Diff line number Diff line change
Expand Up @@ -6924,7 +6924,6 @@ webkit.org/b/284299 imported/w3c/web-platform-tests/scroll-animations/view-timel

# webkit.org/b/263872 [scroll-animations] some WPT tests are ImageOnlyFailure
imported/w3c/web-platform-tests/scroll-animations/css/animation-fill-outside-range-test.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/scroll-animations/css/animation-range-visual-test.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/scroll-animations/css/printing/animation-timeline-none-with-progress-print.tentative.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/scroll-animations/css/printing/scroll-timeline-default-iframe-print.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/scroll-animations/css/printing/scroll-timeline-default-print.tentative.html [ ImageOnlyFailure ]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
PASS whenEnabled('Print') is 'always'
PASS whenEnabled('SelectAll') is 'always'
PASS whenEnabled('Transpose') is 'caret'
PASS whenEnabled('Copy') is 'range'
PASS whenEnabled('Copy') is 'always except editable caret'
PASS whenEnabled('Cut') is 'editable range'
PASS whenEnabled('Delete') is 'editable range'
PASS whenEnabled('DeleteBackward') is 'editable'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,9 @@
if (summaryInteger === 0x7F)
return "always";

if (summaryInteger === 0x75)
return "always except editable caret";

if (summaryInteger === 0x54)
return "range";

Expand Down Expand Up @@ -90,7 +93,7 @@

shouldBe("whenEnabled('Transpose')", "'caret'");

shouldBe("whenEnabled('Copy')", "'range'");
shouldBe("whenEnabled('Copy')", "'always except editable caret'");

shouldBe("whenEnabled('Cut')", "'editable range'");
shouldBe("whenEnabled('Delete')", "'editable range'");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ PASS whenEnabled('FindString') is 'always'
PASS whenEnabled('Print') is 'always'
PASS whenEnabled('SelectAll') is 'always'
PASS whenEnabled('Transpose') is 'caret'
PASS whenEnabled('Copy') is 'range'
PASS whenEnabled('Copy') is 'always except editable caret'
PASS whenEnabled('Cut') is 'editable range'
PASS whenEnabled('RemoveFormat') is 'editable range'
PASS whenEnabled('Delete') is 'editable'
Expand Down
5 changes: 4 additions & 1 deletion LayoutTests/editing/execCommand/enabling-and-selection.html
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,9 @@
if (summaryInteger === 0x7F)
return "always";

if (summaryInteger === 0x75)
return "always except editable caret";

if (summaryInteger === 0x54)
return "range";

Expand Down Expand Up @@ -88,7 +91,7 @@

shouldBe("whenEnabled('Transpose')", "'caret'");

shouldBe("whenEnabled('Copy')", "'range'");
shouldBe("whenEnabled('Copy')", "'always except editable caret'");

shouldBe("whenEnabled('Cut')", "'editable range'");
shouldBe("whenEnabled('RemoveFormat')", "'editable range'");
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
Test that we unconditionally allow copying from uneditable elements

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


PASS result.value is "foo"
PASS successfullyParsed is true

TEST COMPLETE
Copy foo Paste
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
<!DOCTYPE html>
<script src="../../resources/js-test.js"></script>
<script src="../../resources/ui-helper.js"></script>
<button id="copyButton">Copy foo</button>
<button id="pasteButton">Paste</button>
<input id="result">
<script>
jsTestIsAsync = true;
description("Test that we unconditionally allow copying from uneditable elements");

addEventListener("load", async () => {
copyButton.addEventListener("click", () => {
const input = document.createElement("input");
input.hidden = true;
input.value = "value";
document.body.append(input);
input.select();
document.execCommand("copy");
input.remove();
});
pasteButton.addEventListener("click", () => {
result.focus();
document.execCommand("paste", true);
});

document.addEventListener("copy", (e) => {
e.clipboardData?.clearData();
e.clipboardData?.setData("text/plain", "foo");
e.preventDefault();
}, true);

doneWithPaste = false;
result.addEventListener("paste", event => {
setTimeout(() => {
shouldBeEqualToString("result.value", "foo");
finishJSTest();
}, 0);
doneWithPaste = true;
});

if (window.testRunner) {
await UIHelper.activateElement(copyButton);
result.focus();
document.execCommand("paste");
await shouldBecomeEqual("doneWithPaste", "true");
}
});
</script>
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ Test that middle click triggers the onpaste event
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".



PASS pasteCount is 1
PASS successfullyParsed is true

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
</head>
<body>
<p id="description"></p>
<textarea id="target"></textarea>
<div id="console"></div>
<script>
description('Test that middle click triggers the onpaste event');
Expand All @@ -16,7 +17,6 @@
pasteCount++;
}

var target = document.getElementById("description");
target.onpaste = handlePaste;

if (window.testRunner)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
CONSOLE MESSAGE: RangeError: Maximum call stack size exceeded.

This test passes if it does not crash.
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
<!-- webkit-test-runner [ dumpJSConsoleLogInStdErr=true ] -->
<body onload="x21.addEventListener('DOMNodeInserted', f4); x21.text='A'; document.execCommand('undo');">
<script>
if (window.testRunner)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
PASS if no crash.

17 changes: 17 additions & 0 deletions LayoutTests/fast/flexbox/child-becomes-out-of-flow-crash.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
PASS if no crash.
<div style="display: flex;" id=flex_container>
<div id=flex_item></div>
</div>
<script>
if (window.testRunner)
testRunner.dumpAsText();

document.body.offsetHeight;
flex_item.style.position = "absolute";
document.body.offsetHeight;
flex_item.remove();
for (let i = 0; i < 100; ++i) {
document.body.offsetHeight;
flex_container.appendChild(document.createElement("div"));
}
</script>
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<!DOCTYPE html>
<style>
body {
margin: 0px;
}

.container {
width: 100px;
height: 100%;
overflow: scroll;
position: fixed;
}

.tall-content {
height: 10000px;
background-color: green;
display: inline-block;
width: 100px;
}
</style>
<div class=container>
<div class=tall-content></div>
</div>
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<!DOCTYPE html>
<style>
.flex-container {
display: flex;
position: absolute;
inset: 0;
}

.flex-item-child {
height: 100%;
overflow: auto;
}

.tall-content {
height: 10000px;
background-color: green;
display: inline-block;
width: 100px;
}
</style>
<!-- PASS if green area is scrollable -->
<div class=flex-container>
<div>
<div class=flex-item-child>
<div class=tall-content></div>
</div>
</div>
</div>
2 changes: 2 additions & 0 deletions LayoutTests/fast/mediastream/media-element-current-time.html
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@
let currentTime = video.currentTime;
assert_not_equals(currentTime, 0, "Playback has started, currentTime must not be zero");

assert_less_than(currentTime, 3, "currentTime should be small initially");

await waitForVideoFrame(video);
await waitForVideoFrame(video);
assert_greater_than(video.currentTime, currentTime, "video is playing, time should advance");
Expand Down
36 changes: 36 additions & 0 deletions LayoutTests/fast/webgpu/nocrash/fuzz-285311-expected.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
CONSOLE MESSAGE: promises created
CONSOLE MESSAGE: A VideoFrame was destroyed without having been closed explicitly
CONSOLE MESSAGE: device0 lost!
CONSOLE MESSAGE:
CONSOLE MESSAGE: device0 lost!
CONSOLE MESSAGE:
CONSOLE MESSAGE: device0 lost!
CONSOLE MESSAGE:
CONSOLE MESSAGE: device0 lost!
CONSOLE MESSAGE:
CONSOLE MESSAGE: device0 lost!
CONSOLE MESSAGE:
CONSOLE MESSAGE: device0 lost!
CONSOLE MESSAGE:
CONSOLE MESSAGE: device0 lost!
CONSOLE MESSAGE:
CONSOLE MESSAGE: device0 lost!
CONSOLE MESSAGE:
CONSOLE MESSAGE: error
CONSOLE MESSAGE: GPUPipelineError
CONSOLE MESSAGE: GPUPipelineError
CONSOLE MESSAGE: _
CONSOLE MESSAGE: GPUPipelineError - validation
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
RenderBlock {HTML} at (0,0) size 800x600 [color=#99DDBBCC] [bgcolor=#102030E0]
RenderBody {BODY} at (8,8) size 784x584
RenderImage {IMG} at (0,172) size 16x1
RenderImage {IMG} at (16,84) size 20x89
RenderImage {IMG} at (36,169) size 105x4
RenderImage {IMG} at (141,55) size 80x118
RenderImage {IMG} at (221,157) size 7x16
RenderImage {IMG} at (228,166) size 45x7
layer at (281,8) size 300x173
RenderHTMLCanvas {CANVAS} at (273,0) size 300x173
Loading

0 comments on commit 2399a4a

Please sign in to comment.