Sky debugger is a native mojo app that puts up an http server and talks
to other mojo apps in response to http requests, allowing to
interactively start/stop tracing, profile, etc.
This is generally useful also when one does not run mojo_shell through
skydb, hence this patch pulls the debugger into services/debugger.
We can then add plumbing for running with the debugger in devtools.
Bug: domokit/devtools/#4.
R=abarth@chromium.org
Review URL: https://codereview.chromium.org/1151573010
We'll eventually turn this into a full fn2 component, but for now it's just an
example.
To make this work, I created a schedule.dart as a start to implementing
scheduler.md. For now, I've kept the API similar to the web platform so that
the old world can continue use it backed by sky.window.requestAnimationFrame.
R=eseidel@chromium.org
BUG=
Review URL: https://codereview.chromium.org/1145973009
Experimenting with using the observatory profiler, I noticed two pieces of
low-hanging performance fruit. This change removes about 4% of the total
profile for layouting out and painting the flex demo.
R=eseidel@chromium.org
Review URL: https://codereview.chromium.org/1155043004
This dramatically simplifies the layout model.
I haven't gone through and simplified the existing functions, we should probably go through and figure out if they can be cleaned up a bit.
R=abarth@chromium.org
Review URL: https://codereview.chromium.org/1161983004
This moves the definition of the mojom URLRequest and URLResponse
objects into the SDK at //mojo/public/interfaces/network/. These are
used directly by the shell and have a special place in the system. This
patch does the minimal amount of import/include updating to get tests
passing but doesn't fully update everything - in particular it
doesn't update all the C++ code that #includes url_loader.mojom.h for
the URLRequest or URLResponse definitions to #include the more specific
mojom.h files, or the equivalent in other languages. I'll do that in a
follow-up to minimize churn.
R=viettrungluu@chromium.org
Review URL: https://codereview.chromium.org/1129063008
I had to add back document.createText() since new Text()
does not work in the new world yet.
LayoutRoot is a new Dart-exposed class which holds the Frame and
all associated machinery, sufficient to trigger a restyle
and layout of the subtree.
This is all kinda hacky and I'm sure likely to cause many
crashes if folks call random methods on these disconnected
trees.
But this makes it at least possible to paint text for now
and we can improve this in the coming days.
This really should have Adam's review. It's hugely hacky
but I'd like to negotiate out with him the timeline on
which we should fix some of these hacks.
R=ianh@google.comTBR=abarth@chromium.org
Review URL: https://codereview.chromium.org/1148253003
This is needed for cases where the UINode doesn't have a list of
children (so it doesn't go through the RenderNodeWrapper sync logic
that removes children), but it still has multiple slots, and needs to
support removing nodes from those slots. (For example, removing a
drawer from a ScaffoldContainer.)
Also, expose syncChild (it used to be private) so it can be overridden
in descendants outside fn.dart.
R=abarth@chromium.org
Review URL: https://codereview.chromium.org/1158563003
This is needed to create a ScaffoldContainer in scaffold.dart.
This exposes:
UINode._root => root
UINode._removeChild => removeChild
RenderNodeWrapper._createNode => createNode
RenderNodeWrapper._emptyNode => emptyNode
RenderNodeWrapper._syncRenderNode => syncRenderNode
R=abarth@chromium.org
Review URL: https://codereview.chromium.org/1148323004