From d41052e9d32af850d77e3e2c61af9b279d94914d Mon Sep 17 00:00:00 2001 From: "Queen Vinyl Da.i'gyu-Kazotetsu" Date: Thu, 15 Jun 2023 21:24:35 -0700 Subject: [PATCH 01/11] Add WebAssembly features as a new category --- webassembly/BigInt-to-i64-integration.json | 36 ++++++++++++++++++ webassembly/bulk-memory-operations.json | 38 +++++++++++++++++++ webassembly/exception-handling.json | 38 +++++++++++++++++++ .../extended-constant-expressions.json | 38 +++++++++++++++++++ webassembly/fixed-width-SIMD.json | 38 +++++++++++++++++++ webassembly/multi-value.json | 38 +++++++++++++++++++ webassembly/mutable-globals.json | 38 +++++++++++++++++++ ...non-trapping-float-to-int-conversions.json | 38 +++++++++++++++++++ webassembly/reference-types.json | 38 +++++++++++++++++++ webassembly/sign-extension-operations.json | 38 +++++++++++++++++++ webassembly/tail-calls.json | 38 +++++++++++++++++++ webassembly/threads-and-atomics.json | 38 +++++++++++++++++++ 12 files changed, 454 insertions(+) create mode 100644 webassembly/BigInt-to-i64-integration.json create mode 100644 webassembly/bulk-memory-operations.json create mode 100644 webassembly/exception-handling.json create mode 100644 webassembly/extended-constant-expressions.json create mode 100644 webassembly/fixed-width-SIMD.json create mode 100644 webassembly/multi-value.json create mode 100644 webassembly/mutable-globals.json create mode 100644 webassembly/non-trapping-float-to-int-conversions.json create mode 100644 webassembly/reference-types.json create mode 100644 webassembly/sign-extension-operations.json create mode 100644 webassembly/tail-calls.json create mode 100644 webassembly/threads-and-atomics.json diff --git a/webassembly/BigInt-to-i64-integration.json b/webassembly/BigInt-to-i64-integration.json new file mode 100644 index 00000000000000..d16a19ad826b3e --- /dev/null +++ b/webassembly/BigInt-to-i64-integration.json @@ -0,0 +1,36 @@ +{ + "webassembly": { + "BigInt-to-i64-integration": { + "__compat": { + "support": { + "chrome": { + "version_added": "85" + }, + "chrome_android": "mirror", + "edge": "mirror", + "firefox": { + "version_added": "78" + }, + "firefox_android": "mirror", + "ie": { + "version_added": false + }, + "oculus": "mirror", + "opera": "mirror", + "opera_android": "mirror", + "safari": { + "version_added": "14.1" + }, + "safari_ios": "mirror", + "samsunginternet_android": "mirror", + "webview_android": "mirror" + }, + "status": { + "experimental": false, + "standard_track": true, + "deprecated": false + } + } + } + } +} diff --git a/webassembly/bulk-memory-operations.json b/webassembly/bulk-memory-operations.json new file mode 100644 index 00000000000000..10764fd48b5c18 --- /dev/null +++ b/webassembly/bulk-memory-operations.json @@ -0,0 +1,38 @@ +{ + "webassembly": { + "bulk-memory-operations": { + "__compat": { + "support": { + "chrome": { + "version_added": "≤80" + }, + "chrome_android": "mirror", + "edge": { + "version_added": "≤80" + }, + "firefox": { + "version_added": "78" + }, + "firefox_android": "mirror", + "ie": { + "version_added": false + }, + "oculus": "mirror", + "opera": "mirror", + "opera_android": "mirror", + "safari": { + "version_added": "15.1" + }, + "safari_ios": "mirror", + "samsunginternet_android": "mirror", + "webview_android": "mirror" + }, + "status": { + "experimental": true, + "standard_track": true, + "deprecated": false + } + } + } + } +} diff --git a/webassembly/exception-handling.json b/webassembly/exception-handling.json new file mode 100644 index 00000000000000..51df78f5440978 --- /dev/null +++ b/webassembly/exception-handling.json @@ -0,0 +1,38 @@ +{ + "webassembly": { + "exception-handling": { + "__compat": { + "support": { + "chrome": { + "version_added": "95" + }, + "chrome_android": "mirror", + "edge": { + "version_added": "95" + }, + "firefox": { + "version_added": "100" + }, + "firefox_android": "mirror", + "ie": { + "version_added": false + }, + "oculus": "mirror", + "opera": "mirror", + "opera_android": "mirror", + "safari": { + "version_added": "15.2" + }, + "safari_ios": "mirror", + "samsunginternet_android": "mirror", + "webview_android": "mirror" + }, + "status": { + "experimental": true, + "standard_track": true, + "deprecated": false + } + } + } + } +} diff --git a/webassembly/extended-constant-expressions.json b/webassembly/extended-constant-expressions.json new file mode 100644 index 00000000000000..a656b16fc2d41a --- /dev/null +++ b/webassembly/extended-constant-expressions.json @@ -0,0 +1,38 @@ +{ + "webassembly": { + "extended-constant-expressions": { + "__compat": { + "support": { + "chrome": { + "version_added": false + }, + "chrome_android": "mirror", + "edge": { + "version_added": false + }, + "firefox": { + "version_added": "112" + }, + "firefox_android": "mirror", + "ie": { + "version_added": false + }, + "oculus": "mirror", + "opera": "mirror", + "opera_android": "mirror", + "safari": { + "version_added": false + }, + "safari_ios": "mirror", + "samsunginternet_android": "mirror", + "webview_android": "mirror" + }, + "status": { + "experimental": true, + "standard_track": true, + "deprecated": false + } + } + } + } +} diff --git a/webassembly/fixed-width-SIMD.json b/webassembly/fixed-width-SIMD.json new file mode 100644 index 00000000000000..4f167cdb231913 --- /dev/null +++ b/webassembly/fixed-width-SIMD.json @@ -0,0 +1,38 @@ +{ + "webassembly": { + "fixed-width-SIMD": { + "__compat": { + "support": { + "chrome": { + "version_added": "91" + }, + "chrome_android": "mirror", + "edge": { + "version_added": "91" + }, + "firefox": { + "version_added": "89" + }, + "firefox_android": "mirror", + "ie": { + "version_added": false + }, + "oculus": "mirror", + "opera": "mirror", + "opera_android": "mirror", + "safari": { + "version_added": "16.4" + }, + "safari_ios": "mirror", + "samsunginternet_android": "mirror", + "webview_android": "mirror" + }, + "status": { + "experimental": true, + "standard_track": true, + "deprecated": false + } + } + } + } +} diff --git a/webassembly/multi-value.json b/webassembly/multi-value.json new file mode 100644 index 00000000000000..44a003268fe382 --- /dev/null +++ b/webassembly/multi-value.json @@ -0,0 +1,38 @@ +{ + "webassembly": { + "multi-value": { + "__compat": { + "support": { + "chrome": { + "version_added": "86" + }, + "chrome_android": "mirror", + "edge": { + "version_added": "86" + }, + "firefox": { + "version_added": "78" + }, + "firefox_android": "mirror", + "ie": { + "version_added": false + }, + "oculus": "mirror", + "opera": "mirror", + "opera_android": "mirror", + "safari": { + "version_added": "≤13.1" + }, + "safari_ios": "mirror", + "samsunginternet_android": "mirror", + "webview_android": "mirror" + }, + "status": { + "experimental": true, + "standard_track": true, + "deprecated": false + } + } + } + } +} diff --git a/webassembly/mutable-globals.json b/webassembly/mutable-globals.json new file mode 100644 index 00000000000000..5f92bff6420ac9 --- /dev/null +++ b/webassembly/mutable-globals.json @@ -0,0 +1,38 @@ +{ + "webassembly": { + "mutable-globals": { + "__compat": { + "support": { + "chrome": { + "version_added": "≤80" + }, + "chrome_android": "mirror", + "edge": { + "version_added": "≤80" + }, + "firefox": { + "version_added": "≤72" + }, + "firefox_android": "mirror", + "ie": { + "version_added": false + }, + "oculus": "mirror", + "opera": "mirror", + "opera_android": "mirror", + "safari": { + "version_added": "≤13.1" + }, + "safari_ios": "mirror", + "samsunginternet_android": "mirror", + "webview_android": "mirror" + }, + "status": { + "experimental": true, + "standard_track": true, + "deprecated": false + } + } + } + } +} diff --git a/webassembly/non-trapping-float-to-int-conversions.json b/webassembly/non-trapping-float-to-int-conversions.json new file mode 100644 index 00000000000000..6ef3af6016e41c --- /dev/null +++ b/webassembly/non-trapping-float-to-int-conversions.json @@ -0,0 +1,38 @@ +{ + "webassembly": { + "non-trapping-float-to-int-conversions": { + "__compat": { + "support": { + "chrome": { + "version_added": "≤80" + }, + "chrome_android": "mirror", + "edge": { + "version_added": "≤80" + }, + "firefox": { + "version_added": "≤72" + }, + "firefox_android": "mirror", + "ie": { + "version_added": false + }, + "oculus": "mirror", + "opera": "mirror", + "opera_android": "mirror", + "safari": { + "version_added": "15.1" + }, + "safari_ios": "mirror", + "samsunginternet_android": "mirror", + "webview_android": "mirror" + }, + "status": { + "experimental": true, + "standard_track": true, + "deprecated": false + } + } + } + } +} diff --git a/webassembly/reference-types.json b/webassembly/reference-types.json new file mode 100644 index 00000000000000..9aca6146df068b --- /dev/null +++ b/webassembly/reference-types.json @@ -0,0 +1,38 @@ +{ + "webassembly": { + "reference-types": { + "__compat": { + "support": { + "chrome": { + "version_added": "96" + }, + "chrome_android": "mirror", + "edge": { + "version_added": "96" + }, + "firefox": { + "version_added": "79" + }, + "firefox_android": "mirror", + "ie": { + "version_added": false + }, + "oculus": "mirror", + "opera": "mirror", + "opera_android": "mirror", + "safari": { + "version_added": "15.1" + }, + "safari_ios": "mirror", + "samsunginternet_android": "mirror", + "webview_android": "mirror" + }, + "status": { + "experimental": true, + "standard_track": true, + "deprecated": false + } + } + } + } +} diff --git a/webassembly/sign-extension-operations.json b/webassembly/sign-extension-operations.json new file mode 100644 index 00000000000000..95a8ea3688b439 --- /dev/null +++ b/webassembly/sign-extension-operations.json @@ -0,0 +1,38 @@ +{ + "webassembly": { + "sign-extension-operations": { + "__compat": { + "support": { + "chrome": { + "version_added": "≤80" + }, + "chrome_android": "mirror", + "edge": { + "version_added": "≤80" + }, + "firefox": { + "version_added": "≤72" + }, + "firefox_android": "mirror", + "ie": { + "version_added": false + }, + "oculus": "mirror", + "opera": "mirror", + "opera_android": "mirror", + "safari": { + "version_added": "14.1" + }, + "safari_ios": "mirror", + "samsunginternet_android": "mirror", + "webview_android": "mirror" + }, + "status": { + "experimental": true, + "standard_track": true, + "deprecated": false + } + } + } + } +} diff --git a/webassembly/tail-calls.json b/webassembly/tail-calls.json new file mode 100644 index 00000000000000..09b00d8983218e --- /dev/null +++ b/webassembly/tail-calls.json @@ -0,0 +1,38 @@ +{ + "webassembly": { + "tail-calls": { + "__compat": { + "support": { + "chrome": { + "version_added": "112" + }, + "chrome_android": "mirror", + "edge": { + "version_added": "112" + }, + "firefox": { + "version_added": false + }, + "firefox_android": "mirror", + "ie": { + "version_added": false + }, + "oculus": "mirror", + "opera": "mirror", + "opera_android": "mirror", + "safari": { + "version_added": false + }, + "safari_ios": "mirror", + "samsunginternet_android": "mirror", + "webview_android": "mirror" + }, + "status": { + "experimental": true, + "standard_track": true, + "deprecated": false + } + } + } + } +} diff --git a/webassembly/threads-and-atomics.json b/webassembly/threads-and-atomics.json new file mode 100644 index 00000000000000..8075d1faf13248 --- /dev/null +++ b/webassembly/threads-and-atomics.json @@ -0,0 +1,38 @@ +{ + "webassembly": { + "threads-and-atomics": { + "__compat": { + "support": { + "chrome": { + "version_added": "≤80" + }, + "chrome_android": "mirror", + "edge": { + "version_added": "≤80" + }, + "firefox": { + "version_added": "79" + }, + "firefox_android": "mirror", + "ie": { + "version_added": false + }, + "oculus": "mirror", + "opera": "mirror", + "opera_android": "mirror", + "safari": { + "version_added": "15.2" + }, + "safari_ios": "mirror", + "samsunginternet_android": "mirror", + "webview_android": "mirror" + }, + "status": { + "experimental": true, + "standard_track": true, + "deprecated": false + } + } + } + } +} From 5a4eecbc97fa10d7391bdf3ce46a5a06cb2b6cf7 Mon Sep 17 00:00:00 2001 From: "Queen Vinyl Da.i'gyu-Kazotetsu" Date: Thu, 15 Jun 2023 21:29:08 -0700 Subject: [PATCH 02/11] Load webassembly/ in all scripts --- index.ts | 1 + scripts/fix/index.ts | 1 + scripts/migrations/002-remove-webview-flags.ts | 1 + scripts/migrations/007-experimental-false.ts | 1 + scripts/migrations/010-set-oculus-to-mirror.ts | 1 + scripts/remove-redundant-flags.ts | 1 + scripts/traverse.ts | 1 + test/lint.ts | 1 + test/linter/test-obsolete.ts | 1 + utils/walk.test.ts | 1 + 10 files changed, 10 insertions(+) diff --git a/index.ts b/index.ts index 15f25afcf0588e..2bcb096150f05f 100644 --- a/index.ts +++ b/index.ts @@ -59,6 +59,7 @@ export default (await load( 'javascript', 'mathml', 'svg', + 'webassembly', 'webdriver', 'webextensions', )) as CompatData; diff --git a/scripts/fix/index.ts b/scripts/fix/index.ts index 87fe1ebe36b98e..3de2d0b410c9f5 100644 --- a/scripts/fix/index.ts +++ b/scripts/fix/index.ts @@ -71,6 +71,7 @@ if (esMain(import.meta)) { 'javascript', 'mathml', 'test', + 'webassembly', 'webdriver', 'webextensions', ); diff --git a/scripts/migrations/002-remove-webview-flags.ts b/scripts/migrations/002-remove-webview-flags.ts index 7a755d65062107..0cffe3007a2777 100644 --- a/scripts/migrations/002-remove-webview-flags.ts +++ b/scripts/migrations/002-remove-webview-flags.ts @@ -117,6 +117,7 @@ if (esMain(import.meta)) { 'javascript', 'mathml', 'test', + 'webassembly', 'webdriver', 'webextensions', ); diff --git a/scripts/migrations/007-experimental-false.ts b/scripts/migrations/007-experimental-false.ts index 4f9cf611759264..072dd7a9ce9df7 100644 --- a/scripts/migrations/007-experimental-false.ts +++ b/scripts/migrations/007-experimental-false.ts @@ -139,6 +139,7 @@ if (esMain(import.meta)) { 'javascript', 'mathml', 'test', + 'webassembly', 'webdriver', 'webextensions', ); diff --git a/scripts/migrations/010-set-oculus-to-mirror.ts b/scripts/migrations/010-set-oculus-to-mirror.ts index deb7d7bde9b298..99b64d8daa9a42 100644 --- a/scripts/migrations/010-set-oculus-to-mirror.ts +++ b/scripts/migrations/010-set-oculus-to-mirror.ts @@ -100,6 +100,7 @@ if (esMain(import.meta)) { 'javascript', 'mathml', 'test', + 'webassembly', 'webdriver', ); } diff --git a/scripts/remove-redundant-flags.ts b/scripts/remove-redundant-flags.ts index efcf6eeb6b2100..cb6eebc09aee37 100644 --- a/scripts/remove-redundant-flags.ts +++ b/scripts/remove-redundant-flags.ts @@ -206,6 +206,7 @@ if (esMain(import.meta)) { 'javascript', 'mathml', 'test', + 'webassembly', 'webdriver', 'webextensions', ], diff --git a/scripts/traverse.ts b/scripts/traverse.ts index 327430f5287885..d0058a46c9551a 100644 --- a/scripts/traverse.ts +++ b/scripts/traverse.ts @@ -124,6 +124,7 @@ const main = ( 'svg', 'javascript', 'mathml', + 'webassembly', 'webdriver', ], browsers: BrowserName[] = Object.keys(bcd.browsers) as BrowserName[], diff --git a/test/lint.ts b/test/lint.ts index db9f08dff69794..3328a13a5466e5 100644 --- a/test/lint.ts +++ b/test/lint.ts @@ -104,6 +104,7 @@ const main = async ( 'svg', 'javascript', 'mathml', + 'webassembly', 'webdriver', 'webextensions', ], diff --git a/test/linter/test-obsolete.ts b/test/linter/test-obsolete.ts index 4d2c0a803e969f..8528ba2571fa05 100644 --- a/test/linter/test-obsolete.ts +++ b/test/linter/test-obsolete.ts @@ -21,6 +21,7 @@ const categoriesToCheck = [ // 'javascript', // 'mathml', // 'svg', + // 'webassembly', // 'webdriver', // 'webextensions' ]; diff --git a/utils/walk.test.ts b/utils/walk.test.ts index f956e5f43e52a6..7c664c5a45c485 100644 --- a/utils/walk.test.ts +++ b/utils/walk.test.ts @@ -18,6 +18,7 @@ describe('lowLevelWalk()', () => { 'javascript', 'mathml', 'svg', + 'webassembly', 'webdriver', 'webextensions', ]; From 35d8e552c3a209a5e8f63d6f1fbd29adf36e2ba5 Mon Sep 17 00:00:00 2001 From: "Queen Vinyl Da.i'gyu-Kazotetsu" Date: Thu, 15 Jun 2023 22:08:16 -0700 Subject: [PATCH 03/11] Fix linter errors --- test/linter/test-versions.ts | 1 + webassembly/bulk-memory-operations.json | 2 +- webassembly/exception-handling.json | 6 ++---- webassembly/extended-constant-expressions.json | 4 +--- webassembly/fixed-width-SIMD.json | 6 ++---- webassembly/multi-value.json | 6 ++---- webassembly/mutable-globals.json | 2 +- webassembly/non-trapping-float-to-int-conversions.json | 2 +- webassembly/reference-types.json | 6 ++---- webassembly/sign-extension-operations.json | 2 +- webassembly/tail-calls.json | 4 +--- webassembly/threads-and-atomics.json | 2 +- 12 files changed, 16 insertions(+), 27 deletions(-) diff --git a/test/linter/test-versions.ts b/test/linter/test-versions.ts index bdc1db2d775752..367d0e7075579e 100644 --- a/test/linter/test-versions.ts +++ b/test/linter/test-versions.ts @@ -49,6 +49,7 @@ const realValuesRequired: { [category: string]: string[] } = { svg: [], javascript: [...realValuesTargetBrowsers, 'nodejs'], mathml: realValuesTargetBrowsers, + webassembly: realValuesTargetBrowsers, webdriver: realValuesTargetBrowsers, webextensions: [], }; diff --git a/webassembly/bulk-memory-operations.json b/webassembly/bulk-memory-operations.json index 10764fd48b5c18..70493ca0e9a376 100644 --- a/webassembly/bulk-memory-operations.json +++ b/webassembly/bulk-memory-operations.json @@ -28,7 +28,7 @@ "webview_android": "mirror" }, "status": { - "experimental": true, + "experimental": false, "standard_track": true, "deprecated": false } diff --git a/webassembly/exception-handling.json b/webassembly/exception-handling.json index 51df78f5440978..b6e3d4582b141b 100644 --- a/webassembly/exception-handling.json +++ b/webassembly/exception-handling.json @@ -7,9 +7,7 @@ "version_added": "95" }, "chrome_android": "mirror", - "edge": { - "version_added": "95" - }, + "edge": "mirror", "firefox": { "version_added": "100" }, @@ -28,7 +26,7 @@ "webview_android": "mirror" }, "status": { - "experimental": true, + "experimental": false, "standard_track": true, "deprecated": false } diff --git a/webassembly/extended-constant-expressions.json b/webassembly/extended-constant-expressions.json index a656b16fc2d41a..b64d01f4cdab55 100644 --- a/webassembly/extended-constant-expressions.json +++ b/webassembly/extended-constant-expressions.json @@ -7,9 +7,7 @@ "version_added": false }, "chrome_android": "mirror", - "edge": { - "version_added": false - }, + "edge": "mirror", "firefox": { "version_added": "112" }, diff --git a/webassembly/fixed-width-SIMD.json b/webassembly/fixed-width-SIMD.json index 4f167cdb231913..3dfefb890c3596 100644 --- a/webassembly/fixed-width-SIMD.json +++ b/webassembly/fixed-width-SIMD.json @@ -7,9 +7,7 @@ "version_added": "91" }, "chrome_android": "mirror", - "edge": { - "version_added": "91" - }, + "edge": "mirror", "firefox": { "version_added": "89" }, @@ -28,7 +26,7 @@ "webview_android": "mirror" }, "status": { - "experimental": true, + "experimental": false, "standard_track": true, "deprecated": false } diff --git a/webassembly/multi-value.json b/webassembly/multi-value.json index 44a003268fe382..cead2adb6f9d00 100644 --- a/webassembly/multi-value.json +++ b/webassembly/multi-value.json @@ -7,9 +7,7 @@ "version_added": "86" }, "chrome_android": "mirror", - "edge": { - "version_added": "86" - }, + "edge": "mirror", "firefox": { "version_added": "78" }, @@ -28,7 +26,7 @@ "webview_android": "mirror" }, "status": { - "experimental": true, + "experimental": false, "standard_track": true, "deprecated": false } diff --git a/webassembly/mutable-globals.json b/webassembly/mutable-globals.json index 5f92bff6420ac9..049bea02f1e163 100644 --- a/webassembly/mutable-globals.json +++ b/webassembly/mutable-globals.json @@ -28,7 +28,7 @@ "webview_android": "mirror" }, "status": { - "experimental": true, + "experimental": false, "standard_track": true, "deprecated": false } diff --git a/webassembly/non-trapping-float-to-int-conversions.json b/webassembly/non-trapping-float-to-int-conversions.json index 6ef3af6016e41c..5e25110cb23191 100644 --- a/webassembly/non-trapping-float-to-int-conversions.json +++ b/webassembly/non-trapping-float-to-int-conversions.json @@ -28,7 +28,7 @@ "webview_android": "mirror" }, "status": { - "experimental": true, + "experimental": false, "standard_track": true, "deprecated": false } diff --git a/webassembly/reference-types.json b/webassembly/reference-types.json index 9aca6146df068b..9c22f9e0cf0f9c 100644 --- a/webassembly/reference-types.json +++ b/webassembly/reference-types.json @@ -7,9 +7,7 @@ "version_added": "96" }, "chrome_android": "mirror", - "edge": { - "version_added": "96" - }, + "edge": "mirror", "firefox": { "version_added": "79" }, @@ -28,7 +26,7 @@ "webview_android": "mirror" }, "status": { - "experimental": true, + "experimental": false, "standard_track": true, "deprecated": false } diff --git a/webassembly/sign-extension-operations.json b/webassembly/sign-extension-operations.json index 95a8ea3688b439..82aebef7b8be85 100644 --- a/webassembly/sign-extension-operations.json +++ b/webassembly/sign-extension-operations.json @@ -28,7 +28,7 @@ "webview_android": "mirror" }, "status": { - "experimental": true, + "experimental": false, "standard_track": true, "deprecated": false } diff --git a/webassembly/tail-calls.json b/webassembly/tail-calls.json index 09b00d8983218e..6ddf5ff4fb083a 100644 --- a/webassembly/tail-calls.json +++ b/webassembly/tail-calls.json @@ -7,9 +7,7 @@ "version_added": "112" }, "chrome_android": "mirror", - "edge": { - "version_added": "112" - }, + "edge": "mirror", "firefox": { "version_added": false }, diff --git a/webassembly/threads-and-atomics.json b/webassembly/threads-and-atomics.json index 8075d1faf13248..74f1864e0da8d7 100644 --- a/webassembly/threads-and-atomics.json +++ b/webassembly/threads-and-atomics.json @@ -28,7 +28,7 @@ "webview_android": "mirror" }, "status": { - "experimental": true, + "experimental": false, "standard_track": true, "deprecated": false } From 1c22c1f889cea45f60408584b4b2f7e2144d7b55 Mon Sep 17 00:00:00 2001 From: Mendy Berger <12537668+MendyBerger@users.noreply.github.com> Date: Mon, 26 Jun 2023 00:42:53 -0400 Subject: [PATCH 04/11] Added wasm spec info (#53) --- webassembly/bulk-memory-operations.json | 1 + webassembly/exception-handling.json | 3 ++- webassembly/extended-constant-expressions.json | 1 + webassembly/fixed-width-SIMD.json | 1 + webassembly/multi-value.json | 1 + webassembly/non-trapping-float-to-int-conversions.json | 1 + webassembly/reference-types.json | 1 + webassembly/sign-extension-operations.json | 1 + webassembly/tail-calls.json | 1 + webassembly/threads-and-atomics.json | 3 ++- 10 files changed, 12 insertions(+), 2 deletions(-) diff --git a/webassembly/bulk-memory-operations.json b/webassembly/bulk-memory-operations.json index 70493ca0e9a376..2ad00586ceff12 100644 --- a/webassembly/bulk-memory-operations.json +++ b/webassembly/bulk-memory-operations.json @@ -2,6 +2,7 @@ "webassembly": { "bulk-memory-operations": { "__compat": { + "spec_url": "https://github.com/WebAssembly/spec/blob/master/proposals/bulk-memory-operations/Overview.md", "support": { "chrome": { "version_added": "≤80" diff --git a/webassembly/exception-handling.json b/webassembly/exception-handling.json index b6e3d4582b141b..64e5a9792a4166 100644 --- a/webassembly/exception-handling.json +++ b/webassembly/exception-handling.json @@ -2,6 +2,7 @@ "webassembly": { "exception-handling": { "__compat": { + "spec_url": "https://github.com/WebAssembly/exception-handling/blob/master/proposals/exception-handling/Exceptions.md", "support": { "chrome": { "version_added": "95" @@ -26,7 +27,7 @@ "webview_android": "mirror" }, "status": { - "experimental": false, + "experimental": true, "standard_track": true, "deprecated": false } diff --git a/webassembly/extended-constant-expressions.json b/webassembly/extended-constant-expressions.json index b64d01f4cdab55..eac7d79f00a98e 100644 --- a/webassembly/extended-constant-expressions.json +++ b/webassembly/extended-constant-expressions.json @@ -2,6 +2,7 @@ "webassembly": { "extended-constant-expressions": { "__compat": { + "spec_url": "https://github.com/WebAssembly/extended-const/blob/master/proposals/extended-const/Overview.md", "support": { "chrome": { "version_added": false diff --git a/webassembly/fixed-width-SIMD.json b/webassembly/fixed-width-SIMD.json index 3dfefb890c3596..904df233ab708e 100644 --- a/webassembly/fixed-width-SIMD.json +++ b/webassembly/fixed-width-SIMD.json @@ -2,6 +2,7 @@ "webassembly": { "fixed-width-SIMD": { "__compat": { + "spec_url": "https://github.com/WebAssembly/spec/tree/master/proposals/simd/SIMD.md", "support": { "chrome": { "version_added": "91" diff --git a/webassembly/multi-value.json b/webassembly/multi-value.json index cead2adb6f9d00..115bde97b97364 100644 --- a/webassembly/multi-value.json +++ b/webassembly/multi-value.json @@ -2,6 +2,7 @@ "webassembly": { "multi-value": { "__compat": { + "spec_url": "https://github.com/WebAssembly/spec/blob/master/proposals/multi-value/Overview.md", "support": { "chrome": { "version_added": "86" diff --git a/webassembly/non-trapping-float-to-int-conversions.json b/webassembly/non-trapping-float-to-int-conversions.json index 5e25110cb23191..a85491c35300bf 100644 --- a/webassembly/non-trapping-float-to-int-conversions.json +++ b/webassembly/non-trapping-float-to-int-conversions.json @@ -2,6 +2,7 @@ "webassembly": { "non-trapping-float-to-int-conversions": { "__compat": { + "spec_url": "https://github.com/WebAssembly/spec/blob/master/proposals/nontrapping-float-to-int-conversion/Overview.md", "support": { "chrome": { "version_added": "≤80" diff --git a/webassembly/reference-types.json b/webassembly/reference-types.json index 9c22f9e0cf0f9c..14bb69d3f9cd32 100644 --- a/webassembly/reference-types.json +++ b/webassembly/reference-types.json @@ -2,6 +2,7 @@ "webassembly": { "reference-types": { "__compat": { + "spec_url": "https://github.com/WebAssembly/spec/blob/master/proposals/reference-types/Overview.md", "support": { "chrome": { "version_added": "96" diff --git a/webassembly/sign-extension-operations.json b/webassembly/sign-extension-operations.json index 82aebef7b8be85..865c7d8de1ad6e 100644 --- a/webassembly/sign-extension-operations.json +++ b/webassembly/sign-extension-operations.json @@ -2,6 +2,7 @@ "webassembly": { "sign-extension-operations": { "__compat": { + "spec_url": "https://github.com/WebAssembly/spec/blob/master/proposals/sign-extension-ops/Overview.md", "support": { "chrome": { "version_added": "≤80" diff --git a/webassembly/tail-calls.json b/webassembly/tail-calls.json index 6ddf5ff4fb083a..23078799882c5c 100644 --- a/webassembly/tail-calls.json +++ b/webassembly/tail-calls.json @@ -2,6 +2,7 @@ "webassembly": { "tail-calls": { "__compat": { + "spec_url": "https://github.com/WebAssembly/tail-call/blob/master/proposals/tail-call/Overview.md", "support": { "chrome": { "version_added": "112" diff --git a/webassembly/threads-and-atomics.json b/webassembly/threads-and-atomics.json index 74f1864e0da8d7..88cf819bc104f3 100644 --- a/webassembly/threads-and-atomics.json +++ b/webassembly/threads-and-atomics.json @@ -3,6 +3,7 @@ "threads-and-atomics": { "__compat": { "support": { + "spec_url": "https://github.com/WebAssembly/threads/blob/master/proposals/threads/Overview.md", "chrome": { "version_added": "≤80" }, @@ -28,7 +29,7 @@ "webview_android": "mirror" }, "status": { - "experimental": false, + "experimental": true, "standard_track": true, "deprecated": false } From da1ad3f9081576a32d3339a692f28d84f70e7d47 Mon Sep 17 00:00:00 2001 From: "Queen Vinyl Da.i'gyu-Kazotetsu" Date: Sun, 25 Jun 2023 21:55:38 -0700 Subject: [PATCH 05/11] Fix experimental status --- webassembly/exception-handling.json | 2 +- webassembly/threads-and-atomics.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/webassembly/exception-handling.json b/webassembly/exception-handling.json index 64e5a9792a4166..71848c58a3cde2 100644 --- a/webassembly/exception-handling.json +++ b/webassembly/exception-handling.json @@ -27,7 +27,7 @@ "webview_android": "mirror" }, "status": { - "experimental": true, + "experimental": false, "standard_track": true, "deprecated": false } diff --git a/webassembly/threads-and-atomics.json b/webassembly/threads-and-atomics.json index 88cf819bc104f3..2601a131eac9cb 100644 --- a/webassembly/threads-and-atomics.json +++ b/webassembly/threads-and-atomics.json @@ -29,7 +29,7 @@ "webview_android": "mirror" }, "status": { - "experimental": true, + "experimental": false, "standard_track": true, "deprecated": false } From f0405671c3937f74b0b881b5ae6272912e256e94 Mon Sep 17 00:00:00 2001 From: "Queen Vinyl Da.i'gyu-Kazotetsu" Date: Sun, 25 Jun 2023 21:55:50 -0700 Subject: [PATCH 06/11] Fix location of spec_url --- webassembly/threads-and-atomics.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webassembly/threads-and-atomics.json b/webassembly/threads-and-atomics.json index 2601a131eac9cb..5720f582eda0ca 100644 --- a/webassembly/threads-and-atomics.json +++ b/webassembly/threads-and-atomics.json @@ -2,8 +2,8 @@ "webassembly": { "threads-and-atomics": { "__compat": { + "spec_url": "https://github.com/WebAssembly/threads/blob/master/proposals/threads/Overview.md", "support": { - "spec_url": "https://github.com/WebAssembly/threads/blob/master/proposals/threads/Overview.md", "chrome": { "version_added": "≤80" }, From 05771490e33ade2fa9bf3bc631b8472d2923c7be Mon Sep 17 00:00:00 2001 From: "Queen Vinyl Da.i'gyu-Kazotetsu" Date: Sun, 25 Jun 2023 21:55:58 -0700 Subject: [PATCH 07/11] Fix spec URL --- webassembly/fixed-width-SIMD.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webassembly/fixed-width-SIMD.json b/webassembly/fixed-width-SIMD.json index 904df233ab708e..b0bcd25bcca045 100644 --- a/webassembly/fixed-width-SIMD.json +++ b/webassembly/fixed-width-SIMD.json @@ -2,7 +2,7 @@ "webassembly": { "fixed-width-SIMD": { "__compat": { - "spec_url": "https://github.com/WebAssembly/spec/tree/master/proposals/simd/SIMD.md", + "spec_url": "https://github.com/WebAssembly/spec/blob/master/proposals/simd/SIMD.md", "support": { "chrome": { "version_added": "91" From 53e21bf51c6633728f34a5464b1d38031304f27a Mon Sep 17 00:00:00 2001 From: "Queen Vinyl Da.i'gyu-Kazotetsu" Date: Sun, 25 Jun 2023 21:56:27 -0700 Subject: [PATCH 08/11] WebAssembly features' spec URLs are not tracked in web-specs --- test/linter/test-spec-urls.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/test/linter/test-spec-urls.ts b/test/linter/test-spec-urls.ts index 5828930bd124eb..15698bd6f1e284 100644 --- a/test/linter/test-spec-urls.ts +++ b/test/linter/test-spec-urls.ts @@ -38,6 +38,13 @@ const specsExceptions = [ // Remove once https://github.com/whatwg/html/pull/8502 // is merged and the new URL is live 'https://wicg.github.io/navigation-api', + + // Proposals for WebAssembly + 'https://github.com/WebAssembly/spec/blob/master/proposals', + 'https://github.com/WebAssembly/exception-handling/blob/master/proposals', + 'https://github.com/WebAssembly/extended-const/blob/master/proposals', + 'https://github.com/WebAssembly/tail-call/blob/master/proposals', + 'https://github.com/WebAssembly/threads/blob/master/proposal', ]; const allowedSpecURLs = [ From 88dae5c0c5f059aa4797ead64d6ec8a5b32c0b71 Mon Sep 17 00:00:00 2001 From: "Queen Vinyl Da.i'gyu-Kazotetsu" Date: Sun, 25 Jun 2023 22:00:03 -0700 Subject: [PATCH 09/11] Update types and docs --- README.md | 4 ++++ scripts/generate-types.ts | 2 ++ 2 files changed, 6 insertions(+) diff --git a/README.md b/README.md index 0063d562cd0336..a3002f81731ee9 100644 --- a/README.md +++ b/README.md @@ -153,6 +153,10 @@ Data for [SVG](https://developer.mozilla.org/en-US/docs/Web/SVG) features, inclu - `attributes` - Attributes - `elements` - Elements +### [`webassembly`](webassembly) + +Data for [WebAssembly](https://developer.mozilla.org/docs/WebAssembly) features. + ### [`webdriver`](webdriver) Data for [WebDriver](https://developer.mozilla.org/en-US/docs/Web/WebDriver) features. diff --git a/scripts/generate-types.ts b/scripts/generate-types.ts index 5b34709584fc5c..19689216e4a514 100644 --- a/scripts/generate-types.ts +++ b/scripts/generate-types.ts @@ -35,6 +35,8 @@ const compatDataTypes = { mathml: 'Contains data for [MathML](https://developer.mozilla.org/docs/Web/MathML) elements, attributes, and global attributes.', svg: 'Contains data for [SVG](https://developer.mozilla.org/docs/Web/SVG) elements, attributes, and global attributes.', + webassembly: + 'Contains data for [WebAssembly](https://developer.mozilla.org/docs/WebAssembly) features.', webdriver: 'Contains data for [WebDriver](https://developer.mozilla.org/docs/Web/WebDriver) commands.', webextensions: From dc7ac1ffec23d455e4ad4b3d4cee6af38ce44cf1 Mon Sep 17 00:00:00 2001 From: "Queen Vinyl Da.i'gyu-Kazotetsu" Date: Sun, 25 Jun 2023 22:04:19 -0700 Subject: [PATCH 10/11] Update schema --- schemas/compat-data.schema.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schemas/compat-data.schema.json b/schemas/compat-data.schema.json index 79ebc2d2f93e23..e8a58e7cea32d7 100644 --- a/schemas/compat-data.schema.json +++ b/schemas/compat-data.schema.json @@ -187,7 +187,7 @@ "spec_url_value": { "type": "string", "format": "uri", - "pattern": "(^https://[^#]+#.+)|(^https://registry.khronos.org/webgl/extensions/[^/]+/)" + "pattern": "(^https://[^#]+#.+)|(^https://github.com/WebAssembly/.+)|(^https://registry.khronos.org/webgl/extensions/[^/]+/)" }, "impl_url_value": { From 6ac0163b79748e626fe37cf48387f470cbdb3b24 Mon Sep 17 00:00:00 2001 From: "Queen Vinyl Da.i'gyu-Kazotetsu" Date: Mon, 26 Jun 2023 03:58:01 -0700 Subject: [PATCH 11/11] Fix spec URLs --- test/linter/test-obsolete.ts | 2 +- test/linter/test-spec-urls.ts | 10 +++++----- webassembly/bulk-memory-operations.json | 2 +- webassembly/exception-handling.json | 2 +- webassembly/extended-constant-expressions.json | 2 +- webassembly/fixed-width-SIMD.json | 2 +- webassembly/multi-value.json | 2 +- webassembly/non-trapping-float-to-int-conversions.json | 2 +- webassembly/reference-types.json | 2 +- webassembly/sign-extension-operations.json | 2 +- webassembly/tail-calls.json | 2 +- webassembly/threads-and-atomics.json | 2 +- 12 files changed, 16 insertions(+), 16 deletions(-) diff --git a/test/linter/test-obsolete.ts b/test/linter/test-obsolete.ts index 8528ba2571fa05..cf57d4564e8e76 100644 --- a/test/linter/test-obsolete.ts +++ b/test/linter/test-obsolete.ts @@ -21,7 +21,7 @@ const categoriesToCheck = [ // 'javascript', // 'mathml', // 'svg', - // 'webassembly', + 'webassembly', // 'webdriver', // 'webextensions' ]; diff --git a/test/linter/test-spec-urls.ts b/test/linter/test-spec-urls.ts index 15698bd6f1e284..c173aaabf6fabe 100644 --- a/test/linter/test-spec-urls.ts +++ b/test/linter/test-spec-urls.ts @@ -40,11 +40,11 @@ const specsExceptions = [ 'https://wicg.github.io/navigation-api', // Proposals for WebAssembly - 'https://github.com/WebAssembly/spec/blob/master/proposals', - 'https://github.com/WebAssembly/exception-handling/blob/master/proposals', - 'https://github.com/WebAssembly/extended-const/blob/master/proposals', - 'https://github.com/WebAssembly/tail-call/blob/master/proposals', - 'https://github.com/WebAssembly/threads/blob/master/proposal', + 'https://github.com/WebAssembly/spec/blob/main/proposals', + 'https://github.com/WebAssembly/exception-handling/blob/main/proposals', + 'https://github.com/WebAssembly/extended-const/blob/main/proposals', + 'https://github.com/WebAssembly/tail-call/blob/main/proposals', + 'https://github.com/WebAssembly/threads/blob/main/proposal', ]; const allowedSpecURLs = [ diff --git a/webassembly/bulk-memory-operations.json b/webassembly/bulk-memory-operations.json index 2ad00586ceff12..ea80474b1f16a4 100644 --- a/webassembly/bulk-memory-operations.json +++ b/webassembly/bulk-memory-operations.json @@ -2,7 +2,7 @@ "webassembly": { "bulk-memory-operations": { "__compat": { - "spec_url": "https://github.com/WebAssembly/spec/blob/master/proposals/bulk-memory-operations/Overview.md", + "spec_url": "https://github.com/WebAssembly/spec/blob/main/proposals/bulk-memory-operations/Overview.md", "support": { "chrome": { "version_added": "≤80" diff --git a/webassembly/exception-handling.json b/webassembly/exception-handling.json index 71848c58a3cde2..08e008054104eb 100644 --- a/webassembly/exception-handling.json +++ b/webassembly/exception-handling.json @@ -2,7 +2,7 @@ "webassembly": { "exception-handling": { "__compat": { - "spec_url": "https://github.com/WebAssembly/exception-handling/blob/master/proposals/exception-handling/Exceptions.md", + "spec_url": "https://github.com/WebAssembly/exception-handling/blob/main/proposals/exception-handling/Exceptions.md", "support": { "chrome": { "version_added": "95" diff --git a/webassembly/extended-constant-expressions.json b/webassembly/extended-constant-expressions.json index eac7d79f00a98e..53385d5ad1e4d6 100644 --- a/webassembly/extended-constant-expressions.json +++ b/webassembly/extended-constant-expressions.json @@ -2,7 +2,7 @@ "webassembly": { "extended-constant-expressions": { "__compat": { - "spec_url": "https://github.com/WebAssembly/extended-const/blob/master/proposals/extended-const/Overview.md", + "spec_url": "https://github.com/WebAssembly/extended-const/blob/main/proposals/extended-const/Overview.md", "support": { "chrome": { "version_added": false diff --git a/webassembly/fixed-width-SIMD.json b/webassembly/fixed-width-SIMD.json index b0bcd25bcca045..8ecf63694cedc8 100644 --- a/webassembly/fixed-width-SIMD.json +++ b/webassembly/fixed-width-SIMD.json @@ -2,7 +2,7 @@ "webassembly": { "fixed-width-SIMD": { "__compat": { - "spec_url": "https://github.com/WebAssembly/spec/blob/master/proposals/simd/SIMD.md", + "spec_url": "https://github.com/WebAssembly/spec/blob/main/proposals/simd/SIMD.md", "support": { "chrome": { "version_added": "91" diff --git a/webassembly/multi-value.json b/webassembly/multi-value.json index 115bde97b97364..45b580f1d57b2a 100644 --- a/webassembly/multi-value.json +++ b/webassembly/multi-value.json @@ -2,7 +2,7 @@ "webassembly": { "multi-value": { "__compat": { - "spec_url": "https://github.com/WebAssembly/spec/blob/master/proposals/multi-value/Overview.md", + "spec_url": "https://github.com/WebAssembly/spec/blob/main/proposals/multi-value/Overview.md", "support": { "chrome": { "version_added": "86" diff --git a/webassembly/non-trapping-float-to-int-conversions.json b/webassembly/non-trapping-float-to-int-conversions.json index a85491c35300bf..1f080479e67c04 100644 --- a/webassembly/non-trapping-float-to-int-conversions.json +++ b/webassembly/non-trapping-float-to-int-conversions.json @@ -2,7 +2,7 @@ "webassembly": { "non-trapping-float-to-int-conversions": { "__compat": { - "spec_url": "https://github.com/WebAssembly/spec/blob/master/proposals/nontrapping-float-to-int-conversion/Overview.md", + "spec_url": "https://github.com/WebAssembly/spec/blob/main/proposals/nontrapping-float-to-int-conversion/Overview.md", "support": { "chrome": { "version_added": "≤80" diff --git a/webassembly/reference-types.json b/webassembly/reference-types.json index 14bb69d3f9cd32..8b0cc47803d086 100644 --- a/webassembly/reference-types.json +++ b/webassembly/reference-types.json @@ -2,7 +2,7 @@ "webassembly": { "reference-types": { "__compat": { - "spec_url": "https://github.com/WebAssembly/spec/blob/master/proposals/reference-types/Overview.md", + "spec_url": "https://github.com/WebAssembly/spec/blob/main/proposals/reference-types/Overview.md", "support": { "chrome": { "version_added": "96" diff --git a/webassembly/sign-extension-operations.json b/webassembly/sign-extension-operations.json index 865c7d8de1ad6e..2e6a96a6927045 100644 --- a/webassembly/sign-extension-operations.json +++ b/webassembly/sign-extension-operations.json @@ -2,7 +2,7 @@ "webassembly": { "sign-extension-operations": { "__compat": { - "spec_url": "https://github.com/WebAssembly/spec/blob/master/proposals/sign-extension-ops/Overview.md", + "spec_url": "https://github.com/WebAssembly/spec/blob/main/proposals/sign-extension-ops/Overview.md", "support": { "chrome": { "version_added": "≤80" diff --git a/webassembly/tail-calls.json b/webassembly/tail-calls.json index 23078799882c5c..0050062431c4fd 100644 --- a/webassembly/tail-calls.json +++ b/webassembly/tail-calls.json @@ -2,7 +2,7 @@ "webassembly": { "tail-calls": { "__compat": { - "spec_url": "https://github.com/WebAssembly/tail-call/blob/master/proposals/tail-call/Overview.md", + "spec_url": "https://github.com/WebAssembly/tail-call/blob/main/proposals/tail-call/Overview.md", "support": { "chrome": { "version_added": "112" diff --git a/webassembly/threads-and-atomics.json b/webassembly/threads-and-atomics.json index 5720f582eda0ca..61bcf34daaca79 100644 --- a/webassembly/threads-and-atomics.json +++ b/webassembly/threads-and-atomics.json @@ -2,7 +2,7 @@ "webassembly": { "threads-and-atomics": { "__compat": { - "spec_url": "https://github.com/WebAssembly/threads/blob/master/proposals/threads/Overview.md", + "spec_url": "https://github.com/WebAssembly/threads/blob/main/proposals/threads/Overview.md", "support": { "chrome": { "version_added": "≤80"