-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Isolates should provide access to WorkerContext #1963
Comments
Isolates are part of the Dart language and the fact that they are implemented on top of WebWorkers when compiling to JavaScript is an implementation detail. The worker context makes no sense on the standalone VM. Triaging this to the dom library area so we can consider if and how to expose more of the web worker API. |
This comment was originally written by jeffbailey@google.com Fair enough. Perhaps should I change this to the specific problem then: Dart does not provide access to the synchronous filesystem APIs. In a standard DOM environment, these are only available from a WebWorker. This problem affects both dart:dom and dart:html. For dart:dom, one solution is to ask for a WorkerContext, which could look like a heavy isolate implemented in a WebWorker. For dart:html, I suspect something slightly more subtle is required. I think this is high priority as this functionality used to be possible with the declaration of a heavy isolate and using var to just set the WorkerContext over the Window, so this is a regression with the new Isolate functionality. I think this should perhaps be split into 3 bugs. Your call, tell me how you'd like it. |
Added Isolates label. |
Added Library-Isolates label. |
Removed Isolates label. |
Added Library-Isolate label. |
Removed Library-Isolates label. |
This comment was originally written by @pjako Any update on this? does dart still not have a worker story? Worker are powerful and they will get more powerful in the future, for example having the canvas/webgl in an worker with shared resources and so on. |
Removed the owner. |
Removed Area-HTML label. |
Removed Library-Isolate label. |
Removed this from the Later milestone. |
Removed Oldschool-Milestone-Later label. |
I believe this has been done. WorkerContext is renamed to WorkerGlobalScope and is available in current dart:html. Added AssumedStale label. |
This comment was originally written by @pjako It sure is named WorkerGlobalContext now but you can't access it. |
…ath, pool, source_maps, test, tools, webdev Revisions updated by `dart tools/rev_sdk_deps.dart`. args (https://github.com/dart-lang/args/compare/b08471e..9305d5a): 9305d5a 2023-02-15 Naoto Kaneko Update README.md (#236) characters (https://github.com/dart-lang/characters/compare/29f3a3e..3281cc7): 3281cc7 2023-02-16 Devon Carew blast_repo fixes (#75) dartdoc (https://github.com/dart-lang/dartdoc/compare/3931595..dba6f94): dba6f946 2023-02-16 Janice Collins Preserve type aliases for records in output (#3340) 96e61903 2023-02-16 Sam Rawlins Remove unused additionalOptions parameter, other little refactorings (#3339) f64290e1 2023-02-13 Devon Carew remove an unused css attribute (#3335) c055526a 2023-02-13 Devon Carew fix an issue where we created a temporary directory when performing a dry run (#3334) 1f6c8db5 2023-02-13 dependabot[bot] Bump github/codeql-action from 2.2.1 to 2.2.4 (#3337) f1fa0efc 2023-02-13 dependabot[bot] Bump actions/cache from 3.2.4 to 3.2.5 (#3338) ffi (https://github.com/dart-lang/ffi/compare/69d7596..32f5eef): 32f5eef 2023-02-20 Daco Harkes Bump SDK constraint to 4.0.0 (#185) http (https://github.com/dart-lang/http/compare/f4b365e..c13a3f8): c13a3f8 2023-02-17 Alex Li ✨ Add Cronet embedded tool (#853) markdown (https://github.com/dart-lang/markdown/compare/f51c24c..4befe66): 4befe66 2023-02-16 Zhiguang Chen Do not generate heading IDs for headings with no content in `HeaderWithIdSyntax` (#522) cae08af 2023-02-15 Kevin Moore Prepare to release v7.0.1 (#520) bdbaf76 2023-02-15 Zhiguang Chen Remove lookarounds from autolink extension patterns (#519) eb09fac 2023-02-14 Kevin Moore Move to pkg:dart_flutter_team_lints (#518) 51a6389 2023-02-15 Zhiguang Chen Add line endings to HTML blocks (#512) a4cd7a0 2023-02-14 Kevin Moore Label tests that only run on the VM: allows running tests with browser (#516) 6788042 2023-02-14 Kevin Moore CI: add publish and response workflows (#517) mockito (https://github.com/dart-lang/mockito/compare/d2a8df1..ed5bd84): ed5bd84 2023-01-09 Ross Wang Relax mixin criteria 781752c 2023-02-13 Sam Rawlins Change `void` to `dynamic` when overriding method arguments 71e41b9 2023-02-10 Sam Rawlins Add `ignore_for_file: use_of_void_result` d5a25f8 2023-02-08 Sam Rawlins Fix violations of `unnecessary_parenthesis` lint path (https://github.com/dart-lang/path/compare/a95f1e9..24b58a2): 24b58a2 2023-02-20 Kevin Moore Move to team lints, require Dart 2.19 (#138) 8ec8ca0 2023-02-18 Kevin Moore blast_repo fixes (#137) pool (https://github.com/dart-lang/pool/compare/51f1131..694cfd8): 694cfd8 2023-02-20 Kevin Moore move to package:dart_flutter_team_lints, require Dart 2.19 (#65) 40bf2af 2023-02-20 Kevin Moore blast_repo fixes (#64) source_maps (https://github.com/dart-lang/source_maps/compare/cf44db3..a112e98): a112e98 2023-02-16 Devon Carew configure publishing automation (#74) test (https://github.com/dart-lang/test/compare/b5e70db..e56c643): e56c6439 2023-02-17 Jacob MacDonald Add exe compiler, supports running tests compiled to native executables (#1941) f80dfa00 2023-02-16 Nate Bosch Add note about why we are replacing matcher (#1940) 732ae1de 2023-02-15 Nate Bosch Add `because` usage in examples (#1939) f6df9756 2023-02-15 Jacob MacDonald Fix typo in readme (#1937) aca53419 2023-02-14 Nate Bosch Add a caret constraint for matcher (#1927) f7f3a019 2023-02-14 Jacob MacDonald use test_api/backend.dart instead of test_core/backend.dart (#1936) de40c1c0 2023-02-14 Jacob MacDonald Add support for `--compiler` flag (#1903) 1f42db8c 2023-02-13 Devon Carew updates to package:checks docs (#1933) tools (https://github.com/dart-lang/tools/compare/48a544b..a53933c): a53933c 2023-02-17 Elias Yishak [package:dash_analytics] Tests for conforming to GA4 Measurement Protocol limitations (#9) c54430b 2023-02-17 Devon Carew add some clarification to the top-level readme (#8) webdev (https://github.com/dart-lang/webdev/compare/0bae2be..ae7eb80): ae7eb80 2023-02-17 Anna Gringauze Add tests for object inspection (#1973) 7d80a2c 2023-02-17 Elliott Brooks (she/her) Ignore offset / count if an instance has no `length` (#1972) cd66172 2023-02-17 Elliott Brooks (she/her) [MV3 Debug Extension] User can reload app and continue to debug (#1968) 8b7f9d3 2023-02-16 Anna Gringauze Re-enable weak webdev tests (#1960) 83d8e47 2023-02-16 Elliott Brooks (she/her) [MV3 Debug Extension] Variables in panel.dart should be private (#1969) 4e85e74 2023-02-16 Elliott Brooks (she/her) [MV3 Debug Extension] The new debug extension can be run on Manifest V3 or Manifest V2 (#1966) 3982f5f 2023-02-15 Elliott Brooks (she/her) [MV3 Debug Extension] Clean up tests in preparation for supporting compiling to MV2 (#1964) 3ad544e 2023-02-15 Elliott Brooks (she/her) [MV3 Debug Extension] Remove isMV3Extension field from DevtoolsRequest (#1963) c77043e 2023-02-14 Elliott Brooks (she/her) [MV3 Debug Extension] Fix isDevMode getter (#1962) a761125 2023-02-14 Elliott Brooks (she/her) [MV3 Debug Extension] Print `console` messages on test failure (#1961) 41e92be 2023-02-14 Anna Gringauze Create test_common package (#1945) 443f820 2023-02-14 Anna Gringauze Re-enable skipped reload test (#1958) a7bc3fc 2023-02-14 Anna Gringauze Make dart-uri-file-uri test use sound null safety (#1959) 464a8eb 2023-02-14 Elliott Brooks (she/her) [MV3 Debug Extension] Compile extension with Dart instead of shell script (#1954) 7cf8fe2 2023-02-13 Anna Gringauze Fix asset handler tests (#1956) c371ad7 2023-02-13 Anna Gringauze Fix chrome_proxy_service tests broken after switch to null safety by default (#1957) d6ec127 2023-02-13 Anna Gringauze Move test-only code from the SdkLayout (#1955) 35fa34b 2023-02-13 Elliott Brooks (she/her) [MV3 Debug Extension] Update Chrome APIs to be backwards compatible with MV2 (#1951) Change-Id: I4250594d0fa775d07cb3a0f8594e634552de452b Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/284240 Reviewed-by: Konstantin Shcheglov <scheglov@google.com> Auto-Submit: Devon Carew <devoncarew@google.com> Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
…stack_trace, stream_channel, test, tools, watcher, webdev, yaml, yaml_edit Revisions updated by `dart tools/rev_sdk_deps.dart`. async (https://github.com/dart-lang/async/compare/8deaa40..f454380): f454380 2023-03-02 Natalie Weizenbaum Add `StreamExtensions.listenAndBuffer()` (#235) dartdoc (https://github.com/dart-lang/dartdoc/compare/77d5994..98fa859): 98fa859c 2023-03-05 dependabot[bot] Bump cli_util from 0.3.5 to 0.4.0 (#3360) html (https://github.com/dart-lang/html/compare/0b8025c..08643e9): 08643e9 2023-03-02 Devon Carew prep for publishing 0.15.2 (#205) http (https://github.com/dart-lang/http/compare/1500a71..805a147): 805a147 2023-03-02 Kevin Moore Fix some spelling (#884) 5a2f036 2023-03-02 Kevin Moore Move to pkg:dart_flutter_team_lints, require Dart 2.19 (#883) 35b2cef 2023-03-02 Bahaa Fathi Yousef Corrected the spelling of "Implements" in "/http/lib/src/io_client.dart" (#871) bb86cf3 2023-02-27 Brian Quinlan Provide access to NSURLSession.sessionDescription (#881) http_multi_server (https://github.com/dart-lang/http_multi_server/compare/2cd5355..7bd190c): 7bd190c 2023-03-06 Kevin Moore Require Dart 2.19, enable and fix new team lints (#51) source_map_stack_trace (https://github.com/dart-lang/source_map_stack_trace/compare/a60ef54..45ea368): 45ea368 2023-03-07 Kevin Moore Require Dart 2.19, use pkg:dart_flutter_team_lints (#35) stream_channel (https://github.com/dart-lang/stream_channel/compare/0850515..a20ccd4): a20ccd4 2023-02-28 Kevin Moore move to pkg:dart_flutter_team_lints lints, fix code, bump min SDK (#87) test (https://github.com/dart-lang/test/compare/1307cc5..92da93a): 92da93a8 2023-03-06 Devon Carew dogfood the new setup-dart action (#1964) e49818ec 2023-03-01 dependabot[bot] Bump github/codeql-action from 2.2.1 to 2.2.5 (#1963) tools (https://github.com/dart-lang/tools/compare/28b7be8..a1c3506): a1c3506 2023-03-07 Devon Carew dogfood the new setup-dart action (#25) fb46723 2023-03-07 Elias Yishak Update pubspec.yaml (#24) 5a72344 2023-03-06 Elias Yishak Add `DashEvent` for toggling telemetry collection + send event whenever toggled (#23) watcher (https://github.com/dart-lang/watcher/compare/0ca6638..5968409): 5968409 2023-03-07 Kevin Moore blast_repo fixes (#139) e8f771a 2023-03-07 Kevin Moore Require Dart 2.19, use new team lints (#138) webdev (https://github.com/dart-lang/webdev/compare/deb801b..c007560): c007560 2023-03-06 Elliott Brooks (she/her) [MV3 Debug Extension] Show warning when clicking on debug extension for non Dart app (#2015) 1a010dc 2023-03-06 Devon Carew dogfood the new setup-dart action (#2017) 07743a3 2023-03-06 Anna Gringauze Fix exception mapping from JS to dart (#2004) eb63b31 2023-03-03 Elliott Brooks (she/her) Create a Dart Debug Extension issue template (#2014) 85f35d4 2023-03-01 Devon Carew update publishing automation integration (#2002) e748045 2023-02-28 Anna Gringauze Prepare to release webdev 3.0.1 (#2000) 5355050 2023-02-27 Elliott Brooks (she/her) [MV3 Debug Extension] Ignore page reloads for detecting navigation away from app (#1994) 4e08276 2023-02-27 Anna Gringauze Prepare to release dwds 18.0.0 (#1993) fc54d68 2023-02-27 Anna Gringauze Fix expression evaluation failures on empty scopes (#1998) 496a2b4 2023-02-27 Anna Gringauze Temporarily disable publish verification (#1996) yaml (https://github.com/dart-lang/yaml/compare/a6d8781..1ad2f49): 1ad2f49 2023-03-01 Kevin Moore Require Dart 2.19, migrate to dart_flutter_team_lints, make associated fixes (#138) 4d369fd 2023-03-01 Kevin Moore benchmark: fix output.json (#137) yaml_edit (https://github.com/dart-lang/yaml_edit/compare/998eea2..0668eb5): 0668eb5 2023-03-02 Jonas Finnemann Jensen Wrap recursively, prepare release (#28) a4ff857 2023-03-01 Mohamed Ishad Update CHANGELOG.md (#37) 2fdfbdb 2023-02-28 Mohamed Ishad Fix for issue #23 (#34) 494ad7c 2023-02-25 MikiPaul fixed typo (#36) Change-Id: I101c94575c20fca55c7440e84668413207073a32 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/287162 Reviewed-by: Konstantin Shcheglov <scheglov@google.com> Commit-Queue: Devon Carew <devoncarew@google.com>
This issue was originally filed by jeffbailey@google.com
What steps will reproduce the problem?
Since Isolates are the only way to get to a WebWorker from within Dart, they need to provide the ability to get the WorkerContext. This way functions such as webkitRequestFileSystemSync can be retrieved (the Sync implementation is only available from within a WebWorker
What is the expected output? What do you see instead?
What version of the product are you using? On what operating system?
Current trunk on Goobuntu.
Please provide any additional information below.
The text was updated successfully, but these errors were encountered: