Skip to content

Commit e2ed9a7

Browse files
committed
2 parents 61c121c + 67c8ea6 commit e2ed9a7

File tree

642 files changed

+5674
-3074
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

642 files changed

+5674
-3074
lines changed

Configurations/Version.xcconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323

2424
MAJOR_VERSION = 620;
2525
MINOR_VERSION = 1;
26-
TINY_VERSION = 4;
26+
TINY_VERSION = 5;
2727
MICRO_VERSION = 0;
2828
NANO_VERSION = 0;
2929
FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
//@ requireOptions("--jitPolicyScale=0.001")
2+
3+
function opt16() {
4+
const arr = new Int16Array([-1, 1]);
5+
if (Atomics.and(arr, 0, 0) !== -1)
6+
throw new Error();
7+
8+
if (Atomics.and(arr, 1, 0) !== 1)
9+
throw new Error();
10+
}
11+
noInline(opt16);
12+
13+
function optU16() {
14+
const arr = new Uint16Array([-1, 1]);
15+
if (Atomics.and(arr, 0, 0) !== 65535)
16+
throw new Error();
17+
18+
if (Atomics.and(arr, 1, 0) !== 1)
19+
throw new Error();
20+
}
21+
noInline(optU16);
22+
23+
function opt8() {
24+
const arr = new Int8Array([-1, 1]);
25+
if (Atomics.and(arr, 0, 0) !== -1)
26+
throw new Error();
27+
28+
if (Atomics.and(arr, 1, 0) !== 1)
29+
throw new Error();
30+
}
31+
noInline(opt8);
32+
33+
function optU8() {
34+
const arr = new Uint8Array([-1, 1]);
35+
if (Atomics.and(arr, 0, 0) !== 255)
36+
throw new Error();
37+
38+
if (Atomics.and(arr, 1, 0) !== 1)
39+
throw new Error();
40+
}
41+
noInline(optU8);
42+
43+
for (let i = 0; i < 1e3; i++) {
44+
opt16();
45+
optU16();
46+
opt8();
47+
optU8();
48+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
// This shouldn't crash.
2+
3+
try {
4+
function F() {
5+
return runString();
6+
}
7+
class C extends F {
8+
"undefined" = this;
9+
}
10+
new C();
11+
} catch { }
12+
13+
var custom = $vm.createCustomTestGetterSetter();
14+
15+
try {
16+
function F2() {
17+
return $vm.custom.customAccessorGlobalObject;
18+
}
19+
class C2 extends F2 {
20+
"undefined" = this;
21+
}
22+
new C2();
23+
} catch { }
24+
25+
try {
26+
function F3() {
27+
return $vm.custom.customValueGlobalObject;
28+
}
29+
class C3 extends F3 {
30+
"undefined" = this;
31+
}
32+
new C3();
33+
} catch { }
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
2+
// simd_linking.wast:1
3+
let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x06\xab\x80\x80\x80\x00\x02\x7b\x00\xfd\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b\x7b\x01\xfd\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b\x07\x94\x80\x80\x80\x00\x02\x06\x67\x2d\x76\x31\x32\x38\x03\x00\x07\x6d\x67\x2d\x76\x31\x32\x38\x03\x01");
4+
5+
// simd_linking.wast:5
6+
register("Mv128", $1)
7+
8+
// simd_linking.wast:7
9+
let $2 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x92\x80\x80\x80\x00\x01\x05\x4d\x76\x31\x32\x38\x07\x6d\x67\x2d\x76\x31\x32\x38\x03\x7b\x01");

JSTests/wasm/stress/cc-int-to-int-memory.js

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,58 @@ let wat = `
1515
)
1616
`
1717

18+
let wat2 = `
19+
(module
20+
(type $sig_test (func (param i32) (result i32)))
21+
(import "o" "tbl" (table $t 1 funcref))
22+
(import "o" "test" (func $test (param $x i32) (result i32)))
23+
(import "o" "callee" (func $callee (param $x i32) (result i32)))
24+
25+
(memory 1)
26+
27+
(data (i32.const 0) "\\3B")
28+
29+
(func $test2 (export "test2") (param $x i32) (result i32)
30+
(i32.add (local.get $x) (i32.load (i32.const 0)))
31+
)
32+
33+
(func $test3 (export "test3") (param $x i32) (result i32)
34+
(i32.add (local.get $x) (i32.load (i32.const 0)))
35+
)
36+
37+
(func (export "test_with_call") (param $x i32) (result i32)
38+
(i32.load (i32.const 0))
39+
(call $test (i32.const 1))
40+
(i32.load (i32.const 0))
41+
(i32.add)
42+
(i32.add)
43+
)
44+
45+
(func (export "test_with_call_to_js") (param $x i32) (result i32)
46+
(i32.load (i32.const 0))
47+
(call $test (i32.const 1))
48+
(i32.load (i32.const 0))
49+
(i32.const 5)
50+
(call $callee)
51+
(i32.load (i32.const 0))
52+
(i32.add)
53+
(i32.add)
54+
(i32.add)
55+
(i32.add)
56+
)
57+
)
58+
`
59+
1860
async function test() {
1961
const instance = await instantiate(wat, {}, { simd: true })
2062
const { test } = instance.exports
63+
let tbl = new WebAssembly.Table({ initial: 1, element: "funcref" })
64+
tbl.set(0, test)
65+
function callee(x) {
66+
return x + test();
67+
}
68+
const instance2 = await instantiate(wat2, { o: { test, tbl, callee } }, { simd: true })
69+
const { test2, test3, test_with_call, test_with_call_to_js } = instance2.exports
2170

2271
for (let i = 0; i < 10000; ++i) {
2372
assert.eq(test(5), 42 + 5)
@@ -27,6 +76,10 @@ async function test() {
2776
assert.eq(test({ }, 10), 42 + 0)
2877
assert.eq(test(20.1, 10), 42 + 20)
2978
assert.eq(test(10, 20.1), 42 + 10)
79+
80+
assert.eq(test2(5), 59 + 5)
81+
assert.eq(test_with_call(1), 59 + 59 + 42 + 1)
82+
assert.eq(test_with_call_to_js(1), 59 + 59 + 59 + 42 + 1 + 5 + 42)
3083
}
3184
}
3285

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
import { instantiate } from "../wabt-wrapper.js"
2+
import * as assert from "../assert.js"
3+
4+
let wat = `
5+
(module
6+
(type $sig_test (func (param i32) (result i32)))
7+
8+
(import "o" "callee" (func $callee
9+
(param $a i32) (param $b i32) (param $c i32) (param $d i32) (param $e i32) (param $f i32) (param $g i32) (param $h i32) (param $i i32) (param $j i32) (param $k i32) (param $l i32) (param $m i32) (param $n i32) (param $o i32) (param $p i32)
10+
(result i32))
11+
)
12+
13+
(func $test (export "test") (param $x i32) (result i32)
14+
(i32.const 0)
15+
(i32.const 1)
16+
(i32.const 2)
17+
(i32.const 3)
18+
(i32.const 4)
19+
(i32.const 5)
20+
(i32.const 6)
21+
(i32.const 7)
22+
(i32.const 8)
23+
(i32.const 9)
24+
(i32.const 10)
25+
(i32.const 11)
26+
(i32.const 12)
27+
(i32.const 13)
28+
(i32.const 14)
29+
(i32.const 15)
30+
(call $callee)
31+
)
32+
)
33+
`
34+
35+
function callee(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) {
36+
assert.eq(a, 0);
37+
assert.eq(b, 1);
38+
assert.eq(c, 2);
39+
assert.eq(d, 3);
40+
assert.eq(e, 4);
41+
assert.eq(f, 5);
42+
assert.eq(g, 6);
43+
assert.eq(h, 7);
44+
assert.eq(i, 8);
45+
assert.eq(j, 9);
46+
assert.eq(k, 10);
47+
assert.eq(l, 11);
48+
assert.eq(m, 12);
49+
assert.eq(n, 13);
50+
assert.eq(o, 14);
51+
assert.eq(p, 15);
52+
return 42;
53+
}
54+
55+
async function test() {
56+
const instance = await instantiate(wat, { o: { callee } })
57+
const { test } = instance.exports
58+
59+
assert.eq(test(5), 42)
60+
}
61+
62+
await assert.asyncTest(test())

LayoutTests/TestExpectations

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1699,7 +1699,6 @@ imported/w3c/web-platform-tests/css/css-grid/masonry/tentative/gap/masonry-gap-0
16991699
webkit.org/b/266091 imported/w3c/web-platform-tests/css/css-grid/masonry/tentative/grid-placement/masonry-grid-placement-named-lines-002.html [ ImageOnlyFailure ]
17001700

17011701
webkit.org/b/266091 imported/w3c/web-platform-tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-cols-001.html [ ImageOnlyFailure ]
1702-
webkit.org/b/266091 imported/w3c/web-platform-tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-cols-002.html [ ImageOnlyFailure ]
17031702
webkit.org/b/266091 imported/w3c/web-platform-tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-cols-003.html [ ImageOnlyFailure ]
17041703
webkit.org/b/266091 imported/w3c/web-platform-tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-cols-004.html [ ImageOnlyFailure ]
17051704
webkit.org/b/266091 imported/w3c/web-platform-tests/css/css-grid/masonry/tentative/intrinsic-sizing/masonry-intrinsic-sizing-cols-005.html [ ImageOnlyFailure ]
@@ -3068,6 +3067,7 @@ imported/w3c/web-platform-tests/css/css-text/tab-size/tab-size-block-ancestor.ht
30683067
imported/w3c/web-platform-tests/css/css-text/tab-size/tab-size-integer-004.html [ ImageOnlyFailure ]
30693068
imported/w3c/web-platform-tests/css/css-text/tab-size/tab-size-spacing-002.html [ ImageOnlyFailure ]
30703069
imported/w3c/web-platform-tests/css/css-text/tab-size/tab-size-spacing-003.html [ ImageOnlyFailure ]
3070+
imported/w3c/web-platform-tests/css/css-text/text-autospace/text-autospace-001.html [ ImageOnlyFailure ]
30713071
imported/w3c/web-platform-tests/css/css-text/text-autospace/text-autospace-dynamic-001.html [ ImageOnlyFailure ]
30723072
imported/w3c/web-platform-tests/css/css-text/text-autospace/text-autospace-no-001.html [ ImageOnlyFailure ]
30733073
imported/w3c/web-platform-tests/css/css-text/text-autospace/text-autospace-ligature-001.html [ Pass Failure ]
@@ -7508,7 +7508,6 @@ imported/w3c/web-platform-tests/navigation-api/navigate-event/navigate-form-requ
75087508
imported/w3c/web-platform-tests/navigation-api/navigate-event/cross-window/ [ Skip ]
75097509

75107510
# These failures include UUIDs that change every run.
7511-
imported/w3c/web-platform-tests/navigation-api/navigation-history-entry/key-id-back-same-document.html [ Failure ]
75127511
imported/w3c/web-platform-tests/navigation-api/navigation-history-entry/key-id-location-reload.html [ Failure ]
75137512
imported/w3c/web-platform-tests/navigation-api/navigation-history-entry/key-id-location-replace-cross-origin.html [ Failure ]
75147513
imported/w3c/web-platform-tests/navigation-api/navigation-methods/navigate-replace-same-document.html [ Failure ]
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
This test ensures the acessibility tree is correct when table section elements (e.g. thead, tbody) have display:contents.
2+
3+
PASS: table.rowCount === 3 === true
4+
PASS: table.columnCount === 2 === true
5+
PASS: table.cellForColumnAndRow(0, 0).domIdentifier === 'r0c0'
6+
PASS: table.cellForColumnAndRow(1, 0).domIdentifier === 'r0c1'
7+
PASS: table.cellForColumnAndRow(0, 1).domIdentifier === 'r1c0'
8+
PASS: table.cellForColumnAndRow(1, 1).domIdentifier === 'r1c1'
9+
PASS: table.cellForColumnAndRow(0, 2).domIdentifier === 'r2c0'
10+
PASS: table.cellForColumnAndRow(1, 2).domIdentifier === 'r2c1'
11+
12+
{#table AXRole: AXTable}
13+
14+
{#r0-t0 AXRole: AXRow}
15+
16+
{#r0c0 AXRole: AXCell}
17+
18+
{AXRole: AXStaticText AXValue: Author}
19+
20+
{#r0c1 AXRole: AXCell}
21+
22+
{AXRole: AXStaticText AXValue: Title}
23+
24+
{#r1 AXRole: AXRow}
25+
26+
{#r1c0 AXRole: AXCell}
27+
28+
{AXRole: AXStaticText AXValue: Stephen Hawking}
29+
30+
{#r1c1 AXRole: AXCell}
31+
32+
{AXRole: AXStaticText AXValue: A Brief History of Time}
33+
34+
{#r2 AXRole: AXRow}
35+
36+
{#r2c0 AXRole: AXCell}
37+
38+
{AXRole: AXStaticText AXValue: Carl Sagan}
39+
40+
{#r2c1 AXRole: AXCell}
41+
42+
{AXRole: AXStaticText AXValue: Cosmos}
43+
44+
PASS successfullyParsed is true
45+
46+
TEST COMPLETE
47+
Author Title
48+
Stephen Hawking A Brief History of Time
49+
Carl Sagan Cosmos
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
2+
<html>
3+
<head>
4+
<script src="../../resources/accessibility-helper.js"></script>
5+
<script src="../../resources/js-test.js"></script>
6+
<style>
7+
thead, tbody { display: contents; }
8+
</style>
9+
</head>
10+
<body>
11+
12+
<table id="table">
13+
<thead id="thead">
14+
<tr id="r0-t0">
15+
<th id="r0c0">Author</th>
16+
<th id="r0c1">Title</th>
17+
</tr>
18+
</thead>
19+
<tbody id="tbody">
20+
<tr id="r1">
21+
<td id="r1c0">Stephen Hawking</td>
22+
<td id="r1c1">A Brief History of Time</td>
23+
</tr>
24+
<tr id="r2">
25+
<td id="r2c0">Carl Sagan</td>
26+
<td id="r2c1">Cosmos</td>
27+
</tr>
28+
</tbody>
29+
</table>
30+
31+
<script>
32+
var output = "This test ensures the acessibility tree is correct when table section elements (e.g. thead, tbody) have display:contents.\n\n";
33+
34+
if (window.accessibilityController) {
35+
var table = accessibilityController.accessibleElementById("table");
36+
const platform = accessibilityController.platformName;
37+
if (platform !== "ios") {
38+
// Don't do this on iOS because accessibilityController.accessibleElementById("table") doesn't return anything on iOS.
39+
output += expect("table.rowCount === 3", "true");
40+
output += expect("table.columnCount === 2", "true");
41+
42+
// Ensure we return the correct thing via the cellForColumnAndRow API, which ATs like VoiceOver use.
43+
output += expect("table.cellForColumnAndRow(0, 0).domIdentifier", "'r0c0'");
44+
output += expect("table.cellForColumnAndRow(1, 0).domIdentifier", "'r0c1'");
45+
46+
output += expect("table.cellForColumnAndRow(0, 1).domIdentifier", "'r1c0'");
47+
output += expect("table.cellForColumnAndRow(1, 1).domIdentifier", "'r1c1'");
48+
49+
output += expect("table.cellForColumnAndRow(0, 2).domIdentifier", "'r2c0'");
50+
output += expect("table.cellForColumnAndRow(1, 2).domIdentifier", "'r2c1'");
51+
}
52+
53+
if (platform !== "atspi")
54+
output += dumpAXSearchTraversal(accessibilityController.rootElement.childAtIndex(0));
55+
56+
debug(output);
57+
}
58+
</script>
59+
</body>
60+
</html>
61+
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
This test ensures that an element with aria-describedby when the text of the target changes.
2+
3+
PASS: button.customContent.includes('New text') === false
4+
PASS: button.customContent.includes('New text') === true
5+
PASS: button.customContent.includes('Final text') === true
6+
7+
PASS successfullyParsed is true
8+
9+
TEST COMPLETE
10+
Foo
11+
Final text

0 commit comments

Comments
 (0)