- Bump Dart and Observatory DEPS to 45576 and 45565 respectively.
- Include 'dart:io' in snapshot
- Add 'dart:io' native bindings to sky bindings.
- Initialize 'dart:io' in sky dart_controller.
- Include Observatory and service isolate resources in build.
- Bring up service isolate.
- Start handle watcher isolate from service isolate (hides handle watcher isolate from debugger and Observatory).
- Hook up debugger.
R=eseidel@chromium.org
Review URL: https://codereview.chromium.org/1107803002
This does several things:
1. Teaches sky about asynchronous script execution. Previously once all imports
were loaded and the script text was available, we executed a script and assumed
it completed synchronously. We left the parser loop to do so, but that was fine
as the next chunk from the background thread would resume the parser. In this
change scripts now load and execute separately. The "load" step may trigger
further dart import loads which may cause the execution to happen asynchronously
which required teaching both the DartController and the HTMLScriptRunner to
take callbacks to allow HTMLDocumentParser to know to continue parsing after
the Dart script has resolved its imports and executed.
This required re-working some of how the parser executes scripts and I
re-purposed isWaitingForScripts to include "is the parser blocked" where
as before it was limited only to "does the treebuilder have a script", even
though the imports system may have had pending scripts as well.
I made HTMLScriptRunner live only as long as the script it was executing
since it only contained per-script state at this point.
2. Fixed an error reporting bug whereby we would not show errors when "init"
failed to execute, only "main". This required using the dart_mirrors_api.h
which required adding an include path to the core build. :(
3. Made it possible for a single sky file to contain multiple dart <script>
tags. Each <script> is a separate library and executes as
soon as </script> is seen. main or init is called for each. This required
mangling "urls" for these script blocks since Dart unique's libraries by urls.
Before this change it may have been possible to do <import 'foo.sky'> and then
<script>import 'foo.sky'</script> and have it work!?
R=abarth@chromium.org
BUG=
Review URL: https://codereview.chromium.org/938623005
Revert "Rename dart_master.cpp to .cc, consistent with chromium style"
Revert "Move the files we're actually building into bindings2"
This reverts commit 0fc92de0468213f621cba0fbdfd96c1625052ba7.
This reverts commit 155144772817476e87bbe20ddc2071308e3f61e6.
This reverts commit fda181ae2420071af887b5914bd9a9bda8a09725.
These CLs belong in the skydart branch.
TBR=rafaelw@chromium.org
Review URL: https://codereview.chromium.org/860273005
After this CL, you can exchange services with the app loaded in the iframe by
calling takeServiceProvider() on the iframe element. That gives you the raw
handle, which you'll need to wrap in the appropriate mojom-generated interface.
R=hansmuller@google.com, sky@chromium.org
Review URL: https://codereview.chromium.org/862943004
This CL goes from this:
//mojo/services/public/interfaces/navigation
to this:
//mojo/services/navigation/public/interfaces
This CL also makes the Mojo-side changes necessary to roll this change into
Chromium.
TBR=beng
Review URL: https://codereview.chromium.org/796783002
We don't support building mojo apps in the component build, so we can
simplify these system targets a bit. We don't need to have everything
depend on a forwarding group that always evaluates to the same thing in
the mojo repo.
The new targets are:
//mojo/public/c/system which contains the system headers but no
implementation.
//mojo/public/platform/native:system which contains the system thunks
and exported thunk setter, used by anything run by the shell. This is
mostly used by the mojo_native_application template but is also used
by a few targets that need to link as shared_lib but will ultimately
be loaded by the shell.
//mojo/edk/system provides the real implementation of the system calls
and is used by the shell and a few tests.
The :for_... groups need to stick around for now to keep chromium
working, but once this rolls in to the chromium tree then these can
be fixed up as well.
R=viettrungluu@chromium.org
Review URL: https://codereview.chromium.org/754963008
This CL goes from this:
//mojo/services/public/cpp/view_manager
//mojo/services/public/interfaces/view_manager
to this:
//mojo/services/view_manager/public/cpp
//mojo/services/view_manager/public/interfaces
This CL also makes the Mojo-side changes required to roll this change into
Chromium (for both view_manager and window_manager, which was converted in an
earlier CL but for which these updates were not made):
- Updates rev_sdk.py to pull over the new directory
- Updates //mojo/services/public/mojo_services_public.gyp
TBR=beng
Review URL: https://codereview.chromium.org/790623003
This doesn't fully separate v8_inspector from
core, but it does lay the path.
The next steps to removing v8_inspector is to
remove all the # FIXME: Remove lines in the
deps section of v8_inspector/BUILD.gn.
gn check out/Debug v8_inspector
will tell us if we've successfully removed
all the dependencies.
It's unclear if we want to remove the wtf
dependency, but definitely all of the engine/core
dependencies should be removed and presumably
replaced with abstract interfaces which can be provided
to v8_inspector by its host.
Given the size of this patch (and that it's largely
mechanical) I plan to TBR it.
Most of this was done with tools/git/move_source_file.py
TBR=yurys@chromium.org
Review URL: https://codereview.chromium.org/772563003
This caused us to lose our gn check certification. :(
Turns out gn check was just ignoring all the header
paths it didn't understand and so gn check passing
for sky wasn't meaning much. I tried to straighten
out some of the mess in this CL, but its going to take
several more rounds of massaging before gn check
passes again. On the bright side (almost) all of
our headers are absolute now. Turns out my script
(attached to the bug) didn't notice ../ includes
but I'll fix that in the next patch.
R=abarth@chromium.org
BUG=435361
Review URL: https://codereview.chromium.org/746023002
Fix (most) generated includes to have gen/ in their path.
This makes it easier to tell where files exist on disk.
Unfortunately I had to leave the old include path
in engine/BUILD.gn to support all the v8 includes
which were too many to deal with in this patch.
It's a little nasty to have the raw build directory
in our include path, but it produces nicer paths.
R=abarth@chromium.org
The debugger can now correctly break on exceptions
and show the corresponding line in the inspector.
It correctly understands which scripts are internal
to sky and does not pause during them.
There is still a ton to make work here
(including stacktraces which I have not tested),
but basic functionality seems to work.
The current implementation is not smart enough to
unpause the inspector when the frontend disconnects.
BUG=434510,434513
R=abarth@chromium.org
Review URL: https://codereview.chromium.org/727593004
Eventually all of this should be moved out of Sky
and instead sit on top of Sky as just a mojo v8 debug service
but for now I'm just bringing back what we had in Blink
so I can make it work with our new inspector backend
and then we can move it out.
I also sorted gn lists and fixed two .idl files
which were in the wrong sources list in core.gni.
R=abarth@chromium.org, yurys@chromium.org
Review URL: https://codereview.chromium.org/723773002
I also fixed several errors in our BUILD.gn files
including bad script dependencies found by
missing_from_gn and gn check.
Still need to figure out how best to handle
:libraries deps being private to :core, etc.
R=abarth@chromium.org
Review URL: https://codereview.chromium.org/678703004