This CL removes all references to sky/engine/core/fetch from outside that
directory. All these references appear to be dead code. Also, remove a few
"loader" classes that were also dead code.
TBR=eseidel@chromium.org
Review URL: https://codereview.chromium.org/1214513003.
This CL removes the ability to load remote font faces using CSS. This CL is
part of a series to remove the network dependency from Sky engine. We'll likely
add the ability to load custom fonts in the future, but we'll base the API on
mojo::DataPipe, similar to how we load images over mojo::DataPipes today.
TBR=eseidel@google.com
Review URL: https://codereview.chromium.org/1223843003.
There were two problems:
1) We didn't update the demo's use of RenderImage when we switched RenderImage
to take a sky.Image rather than a URL.
2) Scheduling a layout no longer ensured a visual update, which meant we'd
never actually flushLayout unless something else ensured a visual update.
TBR=jackson@google.com
Review URL: https://codereview.chromium.org/1221273002.
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.
Rather than require Sky developers to have a Python environment, we should
write our tooling for Sky in Dart. This CL converts skyx.py into skyx.dart and
makes skyx.py into a wrapper for skyx.dart. We still need the Python wrapper
because gn requires that build actions are written in Python.
This code isn't wired into the main build yet. We'll need to add some more pub
packages to our buildbot environment first.
TBR=eseidel@google.com
Review URL: https://codereview.chromium.org/1213213003.
Previously, RenderImage knew about image_cache and expected to work in terms of
URLs. Now RenderImage works directly with sky.Image and it's the job of the
widgets system to interact with the network cache.
At the widgets layer, I've factored this work into three parts:
1) A wrapper for RenderImage that works in terms of sky.Image.
2) A component that can deal with any sort of Future<sky.Image>.
3) A NetworkImage component that translates relative URLs into
Future<sky.Image> using the image_cache.
A future CL will add a peer to NetworkImage that gets Future<sky.Image>s from
an asset bundle.
R=ianh@google.com, jackson@google.com
Review URL: https://codereview.chromium.org/1218023013.
This introduces an AnimationPerformance class, which is intended to manage an
animation (or its reverse), with the ability to manually control the timeline
or to apply a force to advance the animation with a diminishing speed.
I'm having trouble fitting the odeon model to Sky. Odeon has a lot of nice
properties, but fundamentally operates on UINodes, which contain all the
properties to be animated. Sky, on the other hand, has no such universal
properties. Instead, each Widget assembles itself how it sees fit.
So my current plan is to let AnimationPerformance own a generic set of
AnimatedVariables. You pass it a bag of things, say position and opacity, as
AnimatedVariables. It updates them based on the animation, and they each have
a way to build a widget based on their current state.
R=abarth@chromium.org
Review URL: https://codereview.chromium.org/1211603003.
This entails:
- Making the baseline logic cache results.
- Making the baseline logic track who used its information.
- Making the baseline logic mark all ancestors up to whoever used
its information wheneven its node gets markNeedsLayout.
- Making RenderShrinkWrapWidth make its child respect the step width
and step height, rather than just sizing the child then snapping.
This is required to make the ink splashes render right on menus
that are snapped.
- Adding debugDescribeSettings() to RenderShrinkWrapWidth.
- Introducing a RenderBaseline class that offsets its child to a
certain baseline.
- Factoring out some common code from RenderBaseline and
RenderPositionedBox to RenderShiftedBox.
- Redoing all the menu layout logic.
BUG=
R=abarth@chromium.org
Review URL: https://codereview.chromium.org/1219113003.
Previously we defaulted to main.dart, which was confusing. Now we default to
the current working directory, which is more understandable. As part of this
change, I've also changed the default location of main.dart to lib/main.dart,
which makes our current examples.
Fixes#274R=eseidel@chromium.org, eseidel@google.com
Review URL: https://codereview.chromium.org/1215103006.