summaryrefslogtreecommitdiff
path: root/tools/wpt
AgeCommit message (Collapse)Author
2021-10-12feat(ext/crypto): support importing/exporting raw AES keys (#12392)Divy Srivastava
2021-10-12feat: update to V8 9.5 (#12399)Luca Casonato
2021-10-12feat(ext/crypto): implement deriveKey (#12117)Divy Srivastava
2021-10-11fix(runtime): Declare `Window.self` and `DedicatedWorkerGlobalScope.name` ↵Andreu Botella
with `util.writable()` (#12378) `Window`'s `self` property and `DedicatedWorkerGlobalScope`'s `name` property are defined as Web IDL read-only attributes with the `[Replaceable]` extended attribute, meaning that their setter will redefine the property as a data property with the set value, rather than changing some internal state. Deno currently defines them as read-only data properties instead. Given that Web IDL requires all attributes to be accessor properties rather than data properties, but Deno exposes almost all of those properties as either read-only or writable data properties, it makes sense to expose `[Replaceable]` properties as writable as well – as is already the case with `WindowOrWorkerGlobalScope`'s `performance` property.
2021-10-08chore(wpt): Enable WPT worker tests (#12222)Andreu Botella
Classic workers were implemented in denoland#11338, which also enabled the WPT tests in the `workers` directory. However, the rest of WPT worker tests were not enabled because a number of them were hanging due to web-platform-tests/wpt#29777. Now that that WPT issue is fixed, the bulk of worker tests can be enabled. There are still a few tests that hang, and so haven't been enabled. In particular: - The following tests seem to hang because a promise fails to resolve. We can detect such cases in non-worker tests because the process will exit without calling the WPT completion callback, but in worker tests the worker message ops will keep the event loop running. This will be fixed when we add timeouts to WPT tests (denoland#9460). - `/fetch/api/basic/error-after-response.any.worker.html` - `/html/webappapis/microtask-queuing/queue-microtask-exceptions.any.worker.html` - `/webmessaging/message-channels/worker-post-after-close.any.worker.html` - `/webmessaging/message-channels/worker.any.worker.html` - `/websockets/Create-on-worker-shutdown.any.worker.html` - The following tests apparently hang because a promise rejection is never handled, which will kill the process in the main thread but not in workers (denoland#12221). - `/streams/readable-streams/async-iterator.any.worker.html` - `/workers/interfaces/WorkerUtils/importScripts/report-error-setTimeout-cross-origin.sub.any.worker.html` - `/workers/interfaces/WorkerUtils/importScripts/report-error-setTimeout-redirect-to-cross-origin.sub.any.worker.html` - `/workers/interfaces/WorkerUtils/importScripts/report-error-setTimeout-same-origin.sub.any.worker.html`
2021-10-08refactor: deduplicate `defineEventHandler` util (#12367)Andreu Botella
2021-10-07fix(runtime): Getting `navigator.hardwareConcurrency` on workers shouldn't ↵Andreu Botella
throw (#12354)
2021-10-03feat(web): Implement `DOMException`'s `stack` property. (#12294)Andreu Botella
As per WebIDL (https://heycam.github.io/webidl/#es-DOMException-specialness), if `Error` objects have a `stack` property, so should `DOMException` instances.
2021-10-01feat(ext/crypto): implement wrapKey (#12125)Divy Srivastava
2021-09-29fix(ext/fetch): avoid panic when header is invalid (#12244)Ahab
2021-09-29feat: support serializing `WebAssembly.Module` objects (#12140)Andreu Botella
2021-09-25chore: update wpt (#12206)Andreu Botella
2021-09-25fix(ext/webidl): correctly apply [SymbolToStringTag] to interfaces (#11851)李瑞丰
Co-authored-by: Luca Casonato <hello@lcas.dev> Co-authored-by: Yoshiya Hinosawa <stibium121@gmail.com>
2021-09-14feat(ext/crypto): import RSA pkcs#8 keys (#11891)Divy Srivastava
2021-09-13feat(ext/crypto): generate ECDH keys (#11870)Luca Casonato
Add support for ECDH algorithm in SubtleCrypto#generateKey.
2021-09-12fix: FileReader onevent attributes don't conform to spec (#11908)Feng Yu
2021-09-11feat(ext/crypto): implement HKDF operations (#11865)Divy Srivastava
Co-authored-by: Luca Casonato <lucacasonato@yahoo.com>
2021-09-08fix: a `Request` whose URL is a revoked blob URL should still fetch (#11947)Andreu Botella
In the spec, a URL record has an associated "blob URL entry", which for `blob:` URLs is populated during parsing to contain a reference to the `Blob` object that backs that object URL. It is this blob URL entry that the `fetch` API uses to resolve an object URL. Therefore, since the `Request` constructor parses URL inputs, it will have an associated blob URL entry which will be used when fetching, even if the object URL has been revoked since the construction of the `Request` object. (The `Request` constructor takes the URL as a string and parses it, so the object URL must be live at the time it is called.) This PR adds a new `blobFromObjectUrl` JS function (backed by a new `op_blob_from_object_url` op) that, if the URL is a valid object URL, returns a new `Blob` object whose parts are references to the same Rust `BlobPart`s used by the original `Blob` object. It uses this function to add a new `blobUrlEntry` field to inner requests, which will be `null` or such a `Blob`, and then uses `Blob.prototype.stream()` as the response's body. As a result of this, the `blob:` URL resolution from `op_fetch` is now useless, and has been removed.
2021-09-08feat: add URLPattern API (#11941)Luca Casonato
This adds support for the URLPattern API. The API is added in --unstable only, as it has not yet shipped in any browser. It is targeted for shipping in Chrome 95. Spec: https://wicg.github.io/urlpattern/ Co-authored-by: crowlKats < crowlkats@toaxl.com >
2021-09-07chore: update wpt (#11950)Luca Casonato
2021-09-06BREAKING(unstable): Remove Deno.Signals enum, Deno.signals.* (#11909)Ryan Dahl
2021-08-31feat(ext/crypto): AES key generation (#11869)Luca Casonato
Support AES-CTR, AES-CBC, AES-GCM, and AES-KW in SubtleCrypto#generateKey.
2021-08-27feat(ext/crypto): support JWK import for HMAC (#11716)Divy Srivastava
2021-08-26feat(ext/crypto): implement importKey and deriveBits for PBKDF2 (#11642)Divy Srivastava
2021-08-25feat: ArrayBuffer in structured clone transfer (#11840)Luca Casonato
2021-08-24feat(ext/crypto): implement encrypt, decrypt & generateKey for RSA-OAEP (#11654)Divy Srivastava
2021-08-24fix: FileReader.readAsText compat (#11814)Luca Casonato
Fixes a WPT test.
2021-08-18fix(runtime): event loop panics in classic workers (#11756)Luca Casonato
Classic worker scripts are now executed in the context of a Tokio runtime. This does mean we can not spawn more tokio runtimes in "op_worker_sync_fetch". We instead spawn a new thread there, that can create a new Tokio runtime that we can use to block the worker thread.
2021-08-16fix(ext/crypto): enable non-extractable keys (#11705)Divy Srivastava
2021-08-16feat(runtime): support classic workers for internal testing (#11338)Andreu Botella
This commit implements classic workers, but only when the `--enable-testing-features-do-not-use` flag is provided. This change is not user facing. Classic workers are used extensively in WPT tests. The classic workers do not support loading from disk, and do not support TypeScript. Co-authored-by: Luca Casonato <hello@lcas.dev>
2021-08-14chore: roll wpt (#11692)Luca Casonato
This PR rolls WPT to https://github.com/web-platform-tests/wpt/commit/7eb7372a613fb3a4a7d4160d8292ac2b95b29864
2021-08-13fix(ext/crypto): importKey() SecurityError on non-extractable keys (#11662)Divy Srivastava
Co-authored-by: Luca Casonato <hello@lcas.dev>
2021-08-12fix: Blob#slice arguments should be optional (#11665)Luca Casonato
2021-08-12chore(tools): use local std in wpt utils (#11644)Divy Srivastava
2021-08-10feat: add experimental WebSocketStream API (#10365)Leo K
This commit adds the experimental WebSocketStream API when using the --unstable flag. The explainer for the API can be found here: https://github.com/ricea/websocketstream-explainer
2021-08-09chore: update wpt (#11621)Luca Casonato
2021-08-04feat(extensions/crypto): implement verify() for HMAC (#11387)Divy Srivastava
2021-08-03feat(extensions/crypto): implement importKey and exportKey for raw HMAC keys ↵Divy Srivastava
(#11367) This commit introduces "SubtleCrypto.importKey()" and "SubtleCrypto.exportKey()" APIs.
2021-08-02Revert "fix(extensions/fetch): Add Origin header to outgoing requests for ↵Bartek Iwańczuk
fetch (#11557)" (#11565) This reverts commit f87aa44d94240327fb4ab1dc756d70f71247edb4.
2021-08-02fix(extensions/fetch): Add Origin header to outgoing requests for fetch (#11557)Feng Yu
2021-07-19fix: Big{U|}Int64Array in crypto.getRandomValues (#11447)Luca Casonato
Relevant spec change: https://github.com/w3c/webcrypto/pull/266
2021-07-19chore: update wpt (#11446)Luca Casonato
2021-07-14fix(extensions/web): aborting a FileReader should not affect later reads ↵Andreu Botella
(#11381) Currently, calling the `abort()` method on a `FileReader` object aborts any current read operation, but it also prevents any read operation started at some later point from starting. The File API instead specifies that calling `abort()` should reset the `FileReader`'s state and result, as well as removing any queued tasks from the current operation that haven't yet run.
2021-07-12chore(wpt): Mark a WPT test as failed if it exits before completion (#11371)Andreu Botella
Currently, a WPT test is considered failed if its status code is anything other than 0, regardless of whether the test suite completed running or not, and any subtests that haven't finished running are not considered to be failures. But a test can exit with a zero status code before it has completed running, if the event loop has run out of tasks because of a bug in one of the ops, leading to false positives. This change fixes that.
2021-07-12feat(extensions/crypto): implement verify() for RSA (#11312)Divy Srivastava
2021-07-10fix(extensiosn/web): AddEventListenerOptions.signal shouldn't be nullable ↵Divy Srivastava
(#11348)
2021-07-09chore(extensions/crypto): enable WPT stringification test (#11336)Divy Srivastava
2021-07-07tests: escape lone surrogates in wptreport (#11310)Andreu Botella
2021-07-06feat(crypto): implement generateKey() and sign() (#9614)Divy Srivastava
Co-authored-by: Luca Casonato <hello@lcas.dev> Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2021-07-05refactor: asynchronous blob backing store (#10969)Jimmy Wärting
Co-authored-by: Luca Casonato <hello@lcas.dev>