1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-24 15:19:26 -05:00
Commit graph

518 commits

Author SHA1 Message Date
Aaron O'Mullan
0aa6fefce7
perf(ext/web): optimize EventTarget (#12166)
and all its subclasses including `AbortSignal` ...

Instead of storing associated data in a global `WeakMap` we store them as private attributes (via a Symbol) on the object instances
2021-09-21 17:51:44 +02:00
Aaron O'Mullan
f827b93df4
perf(web): optimize AbortController (#12165)
- Use regular class constructor and symbol "private" attributes
- Lazy init Set of follower signals
2021-09-21 17:38:57 +02:00
Squirrel
4b79e5a459
chore: Remove unused deps from Cargo.toml files (#12106) 2021-09-17 14:39:32 +02:00
David Sherret
16c27fce1f
chore: bump crate versions for 0.14 (#12072) 2021-09-14 15:38:35 -04:00
Feng Yu
464dcc1388
fix: FileReader onevent attributes don't conform to spec (#11908) 2021-09-12 09:35:05 -04:00
Nayeem Rahman
d947629292
fix(ext/web): Preserve stack traces for DOMExceptions (#11959) 2021-09-08 23:14:26 +02:00
Andreu Botella
1563088f06
fix: a Request whose URL is a revoked blob URL should still fetch (#11947)
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-08 11:29:21 +02:00
David Sherret
987716798f
feat(fmt): add basic JS doc formatting (#11902) 2021-09-02 18:28:12 -04:00
Luca Casonato
1bf7b90ca8
chore: update dependencies (#11856)
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2021-09-02 23:38:44 +02:00
Luca Casonato
5d814a4c24
feat: ArrayBuffer in structured clone transfer (#11840) 2021-08-25 13:48:53 +02:00
Luca Casonato
50f69a6996
fix: FileReader.readAsText compat (#11814)
Fixes a WPT test.
2021-08-24 13:13:22 +02:00
David Sherret
6db8cbb650
chore: release crates for 1.13.2 (#11820) 2021-08-23 15:48:08 -04:00
David Sherret
a66a7bebbe
chore: release crates for 1.13.1 (#11729) 2021-08-16 16:49:14 -04:00
Aaron O'Mullan
2ca454b402
refactor(ops): return BadResource errors in ResourceTable calls (#11710)
* refactor(ops): return BadResource errors in ResourceTable calls

Instead of relying on callers to map Options to Results via `.ok_or_else(bad_resource_id)` at over 176 different call sites ...
2021-08-15 13:29:19 +02:00
Aaron O'Mullan
1d1507384b
cleanup(ext/web/BlobStore): avoid redundant Arc<Box<T>> alloc (#11693) 2021-08-14 10:27:27 +02:00
Divy Srivastava
8481377500
fix(ext/web): use Array primordials in MessagePort (#11680) 2021-08-13 10:13:46 +02:00
Luca Casonato
eae9d5b647
fix: Blob#slice arguments should be optional (#11665) 2021-08-12 19:16:23 +02:00
Ryan Dahl
a0285e2eb8
Rename extensions/ directory to ext/ (#11643) 2021-08-11 12:27:05 +02:00