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
Right now I'm storing a SHA1 in a folder in /sdcard since
that seems likely to work on non-rooted devices, but
I haven't tested it.
This cuts build times from 6.5 seconds to 1.5 seconds for
me. You can save another 0.5sec by passing the --no_install
flag to avoid the SHA1 check altogether if you're sure
that nothing has changed.
R=eseidel@chromium.org, eseidel, hixie
Review URL: https://codereview.chromium.org/1149113005
- makes the event logic not involve a boolean return value (since we ignored it anyway)
- splits the event handling logic into two steps, hit testing and event dispatch
- introduces an App class on the Dart side to factor out the interaction with the C++ side
- ports sector-layout and simple_render_tree to the new App infrastructure
- port simple_render_tree to the new event handling logic
- implement hit testing for the sector-layout demo
R=eseidel@chromium.org
Review URL: https://codereview.chromium.org/1143343004
- the circle now fills the screen
- you can set dimensions on the solid color node
- debugging printfs and rects are gone
- the protocol is changed so that for sectors, you position before you size (since your size and your childrens' positions all depend on your own position)
TBR=abarth
Review URL: https://codereview.chromium.org/1154213003
This only handles really basic cases and doesn't understand
justification, wrapping, and so on. Submitting for code
review so I can get some early feedback before I invest
more time into making it correct.
R=ianh@google.com, abarth
Review URL: https://codereview.chromium.org/1151293002
We're currently in a transition between using main.sky and main.dart
files as our main() entry point for Sky applications.
This CL makes this runtime controlable by path name. If it finds
a .dart in the path name it will use SkyView, otherwise it will
fall back to the existing WebView codepath.
SkyView does not expose a window object and much of the existing
Sky Engine is not initialized when main() is run. Clients should
be transitioning away from main.sky towards main.dart in the near
future, however main.dart is probably not ready for general
consumption at this point.
R=ianh@google.com
Review URL: https://codereview.chromium.org/1152313002
- Also, fix clean builds, by not including the sdk_ext_directory as an input dependency because there is no rule to create it.
Review URL: https://codereview.chromium.org/1147223006
Before, OneChildListRenderNodeWrappers were responsible for removing
the child nodes' RenderCSS nodes from their containers, and for moving
those around when nodes were reordered. Now, they're also responsible
for adding them.
R=abarth@chromium.org
Review URL: https://codereview.chromium.org/1145953003
Rect is now a dart-only type, defined in its own .dart file. I use
DartConverter when passing a Rect into C++. I also special-cased Rect in the
IDL compiler so that it's passed by value, instead of allocating a new
Rect object on the heap.
This also adds a mechanism to add custom .dart files to dart_sky.dart - used by
Rect.dart.
R=eseidel@chromium.org
Review URL: https://codereview.chromium.org/1151673002
Several people have run into trouble building Sky because of a missing
dependency in the build. From inspection, it looks like this might fix the
issue, but it's hard to be sure without being able to reproduce the issue
locally.
R=eseidel@chromium.org
Review URL: https://codereview.chromium.org/1130353013