Also, fixes the stocks list to work properly including hit testing at
the bottom of the screen.
New classes:
RenderViewport: a class that supports positioning a child inside
itself and offsetting it.
Viewport: a RenderObjectWrapper that wraps RenderViewport.
ScrollableViewport: a Component that hooks Viewport up to some
scrolling behaviour.
Code changes:
RenderBlock now only works when it has an unbounded height constraint.
I removed the clipping in there since it's no longer needed.
I made FixedHeightScrollable use Viewport instead of hand-rolling its
clipping with Transform and Clip. This is what fixes the stocks list
hit testing at the bottom of the screen.
I made anywhere that used to use Block now use ScrollableViewport.
RenderFlex now takes a list of children.
Justifications for test changes:
tests/examples/stocks: changing FixedHeightScrollable to use a
RenderViewport instead of a RenderClipRect/RenderTransform combination
removes the use of an actual transform.
R=abarth@chromium.org
Review URL: https://codereview.chromium.org/1223153004 .
At startup, we make a list of all the temp directories that already exist and
then nuke them on a background thread after a five second delay. The five
second delay isn't particularly satisfying, but I think it's wortwhile to get
this work off the critical path of startup.
R=eseidel@chromium.org, eseidel@google.com
Review URL: https://codereview.chromium.org/1228083003 .
Now that we have all the Dart packages we need in //third_party, we can build
skyx bundles by default.
As part of this change, I've made it possible to build skyx bundles on Linux
and I've made the gn target names of the mojoms in //sky/services consistent
with each other and with //mojo/services/public.
TBR=eseidel@google.com
Review URL: https://codereview.chromium.org/1227973002 .
This does way more than a single CL should do, sorry.
- Fixed a bunch of logging/error reporting during loads.
- Made it possible for --package-root to be absolute.
- Fixed (hypothetically) parts of iOS build to be clang-plugin-compliant.
- Made all tests pass in sky_shell
- Removed a bunch of layout_tests including windows support.
I'll remove all the mojo test harness stuff in a follow-up patch.
R=abarth@chromium.org, abarth@google.com
Review URL: https://codereview.chromium.org/1215953006.
Rather than hardcoding the size and presence of the notification area in Dart,
we now expose padding values on the view. These values are set to non-zero
values when there are UI elements that overlap the view. We currently respect
only the top padding, but this CL paves the way to respect padding in other
directions.
We still hardcode the size of the notification area in Java. A future CL will
retrieve this value from the Android framework.
Fixes#257R=ianh@google.com
Review URL: https://codereview.chromium.org/1220353002.
This CL factors the skyx build logic out of sky/apk/rules.gni so that we can
build skyx bundles without building entire APKs. This change makes it possible
to build skyx bundles for all the examples (except game).
TBR=eseidel@google.com
Review URL: https://codereview.chromium.org/1222673003.
This CL adds a build-time flag for building skyx packages, which make our
example Sky applications work offline. We can't enable this flag by default yet
because our build bots lack a few Dart packages, but landing this flag will let
folks experiment with this feature locally.
TBR=eseidel@google.com
Review URL: https://codereview.chromium.org/1221203002.
This CL switches SkyDemo over to using explicit intents for deciding which Sky
apps to run. This change lets us get rid of the hacky "sky" URI scheme.
Instead, we use normal URLs but we require the sender of the intent to be
explicit in directing the VIEW intent to us.
TBR=eseidel@google.com
Review URL: https://codereview.chromium.org/1221123003.
This CL adds the concept of a root asset bundle to Sky. If the Sky app was
launched from a bundle, the root bundle is that bundle.
This CL teaches icon.dart to default to loading icons out of the root bundle,
if a root bundle exists. The next result is that Stocks has icons when run
offline because the icons are present in stock's skyx bundle.
TBR=eseidel@google.com
Review URL: https://codereview.chromium.org/1208273003.
This CL teaches Stocks.apk how to start from a skyx bundle name |app.skyx| in
the APK's asset collection.
Stocks.apk still actually starts from |snapshot_blob.bin| because we can't yet
produce skyx files as part of the build process.
TBR=eseidel@google.com
Review URL: https://codereview.chromium.org/1221033006.
These functions used to support testing, but they're no longer used by any
tests now that we've deleted the DOM-based world.
Really we should merge dart:sky.internals into dart:sky, but that's a CL for
another day.
TBR=eseidel@google.com
Review URL: https://codereview.chromium.org/1221163002.