1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-22 07:14:47 -05:00
denoland-deno/ext/web
Bartek Iwańczuk ffd3ed9b8a
fix(ext/web): improve timers resolution for 0ms timeouts (#19212)
This commit changes the implementation of `ext/web` timers, by using
"op_void_async_deferred" for timeouts of 0ms.

0ms timeout is meant to be run at the end of the event loop tick and
currently Tokio timers that we use to back timeouts have at least 1ms
resolution. That means that 0ms timeout actually take >1ms. This
commit changes that and runs 0ms timeout at the end of the event
loop tick.

One consequence is that "unrefing" a 0ms timer will actually keep
the event loop alive (which I believe actually makes sense, the test
we had only worked because the timeout took more than 1ms).

Ref https://github.com/denoland/deno/issues/19034
2023-05-22 14:09:31 +02:00
..
benches bench: fix benchmarks with extensions (#19059) 2023-05-09 22:53:37 +02:00
00_infra.js fix(core): Use safe primordials wrappers (#18687) 2023-04-14 22:23:28 +02:00
01_dom_exception.js refactor(webidl): move prefix & context out of converters options bag (#18931) 2023-05-01 10:47:13 +00:00
01_mimesniff.js fix(core): Use safe primordials wrappers (#18687) 2023-04-14 22:23:28 +02:00
02_event.js refactor(webidl): move prefix & context out of converters options bag (#18931) 2023-05-01 10:47:13 +00:00
02_structured_clone.js fix(core): Use safe primordials wrappers (#18687) 2023-04-14 22:23:28 +02:00
02_timers.js fix(ext/web): improve timers resolution for 0ms timeouts (#19212) 2023-05-22 14:09:31 +02:00
03_abort_signal.js refactor(webidl): move prefix & context out of converters options bag (#18931) 2023-05-01 10:47:13 +00:00
04_global_interfaces.js refactor: rename InternalModuleLoader to ExtModuleLoader, use ext: scheme for snapshotted modules (#18041) 2023-03-08 12:44:54 +01:00
05_base64.js refactor(webidl): move prefix & context out of converters options bag (#18931) 2023-05-01 10:47:13 +00:00
06_streams.js fix(core): Use primordials for methods (#18839) 2023-05-01 15:30:02 +02:00
06_streams_types.d.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
08_text_encoding.js refactor(webidl): move prefix & context out of converters options bag (#18931) 2023-05-01 10:47:13 +00:00
09_file.js fix(core): let V8 drive extension ESM loads (#18997) 2023-05-09 12:37:13 +02:00
10_filereader.js refactor(webidl): move prefix & context out of converters options bag (#18931) 2023-05-01 10:47:13 +00:00
12_location.js fix(core): Use safe primordials wrappers (#18687) 2023-04-14 22:23:28 +02:00
13_message_port.js fix(core): Use primordials for methods (#18839) 2023-05-01 15:30:02 +02:00
14_compression.js refactor(webidl): move prefix & context out of converters options bag (#18931) 2023-05-01 10:47:13 +00:00
15_performance.js refactor(webidl): move prefix & context out of converters options bag (#18931) 2023-05-01 10:47:13 +00:00
blob.rs Revert "fix(cli): don't store blob and data urls in the module cache (#18261)" (#18572) 2023-04-03 21:05:39 +09:00
Cargo.toml chore: forward v1.33.4 release commit to main (#19181) 2023-05-18 20:44:10 +02:00
compression.rs feat(ops): reland fast zero copy string arguments (#17996) 2023-03-03 19:04:10 +05:30
hr_timer_lock.rs feat(ext/web): Request higher-resolution timer on Windows if user requests setTimeout w/short delay (#19149) 2023-05-17 13:59:55 -06:00
internal.d.ts refactor: rename InternalModuleLoader to ExtModuleLoader, use ext: scheme for snapshotted modules (#18041) 2023-03-08 12:44:54 +01:00
lib.deno_web.d.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
lib.rs feat(ext/web): Request higher-resolution timer on Windows if user requests setTimeout w/short delay (#19149) 2023-05-17 13:59:55 -06:00
message_port.rs chore: use rustfmt imports_granularity option (#17421) 2023-01-14 23:18:58 -05:00
README.md Rename extensions/ directory to ext/ (#11643) 2021-08-11 12:27:05 +02:00
timers.rs feat(ext/web): Request higher-resolution timer on Windows if user requests setTimeout w/short delay (#19149) 2023-05-17 13:59:55 -06:00

deno web

Op crate that implements Event, TextEncoder, TextDecoder and File API (https://w3c.github.io/FileAPI).

Testing for text encoding is done via WPT in cli/.