We now check all of the scripts which make up a library. If any
script is modified, then we consider that library to be modified. We
also consider any library which imports a modified library to be
modified. To propagate this info efficiently, we build and discard
the imported-by graph when beginning a reload.
The embedder must provide a FileModifiedCallback in order to support
the detection of modified scripts.
In order to detect changes to package: libraries, we have modified the
embedder interface to provide the resolved url when possible, so that
we don't need to re-resolve package uris when checking for reload.
This change is incompatible and all embedders will need to be updated.
We now support a "force" flag when reloading sources. This causes all
libraries to be reloaded regardless of whether the underlying scripts
have been updated.
Closes#26919R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org/2186423002 .
Fixes https://github.com/dart-lang/sdk/issues/26879
When a dart-ext is imported from within a package: library we need to fully resolve the package: to a file: (or whatever scheme:) so that we can locate the shared object for the extension file.
This CL sends this request through the service isolate so that the package: can be resolved even when a package config is being used.
R=asiva@google.com
Review URL: https://codereview.chromium.org/2146093002 .
Process::Exit does not do the normal shutdown procedure - this CL avoids
a crash in the static destructor of the loader info lock by making it
new-allocated.
Also remove --shutdown flag since the clean shutdown procedure is on by
default since a while now.
BUG=#26846
R=asiva@google.com, zra@google.com
Review URL: https://codereview.chromium.org/2147833002 .
- [x] The first caller of the tag handler blocks, recursive callers queue work and exit.
- [x] Use a NativeMessageHandler to receive I/O results from the service isolate.
- [x] Preserve load error message format.
- [x] Move packages map into service isolate.
- [x] Wire up Todd's native URI code.
R=turnidge@google.com
Review URL: https://codereview.chromium.org/1998963003 .