Commit Graph

26175 Commits

Author SHA1 Message Date
Collin Jackson
f39e23fbeb Tab bar should have white indicator if primary and accent color are the same
R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1215313004 .
2015-07-07 15:35:19 -07:00
Collin Jackson
11e887026f Back button should be able to close apps (issue 155)
R=abarth@chromium.org, abarth@google.com

Review URL: https://codereview.chromium.org/1213623008.
2015-07-06 18:01:04 -07:00
Adam Barth
869b97cc91 SkyDemo.apk should be able to launch Stocks offline
We now put stocks.skyx into the APK so that we can run it offline.

R=eseidel@chromium.org, eseidel@google.com

Review URL: https://codereview.chromium.org/1216673011.
2015-07-06 17:53:41 -07:00
Eric Seidel
ce0c4e3629 Use sky_shell instead of mojo_shell for testing.
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.
2015-07-06 17:45:49 -07:00
Adam Barth
cc8f3947ff Make SkyDemo.apk start offline
Offline support isn't complete, but after this CL, SkyDemo.apk is able to start
and show some UI offline.

R=eseidel@chromium.org, eseidel@google.com

Review URL: https://codereview.chromium.org/1225883002.
2015-07-06 16:17:04 -07:00
Collin Jackson
719ec1ee61 Use red as floating action button color rather than accent color
R=ianh@google.com

Review URL: https://codereview.chromium.org/1222243007.
2015-07-06 16:04:42 -07:00
Adam Barth
563df9ba75 Set the default whitespace mode to pre-wrap
This CL makes it easier to insert line breaks into text runs.

R=eseidel@chromium.org, eseidel@google.com

Review URL: https://codereview.chromium.org/1221913003.
2015-07-06 15:44:54 -07:00
Adam Barth
668203e7c7 Move home.dart into example/demo_launcher
This CL makes home.dart less of a special snowflake and instead makes it a peer
to the other Sky examples. As a result, we can add a sky.yaml file and embed
the thumbnail assets it needs into demo_launcher.skyx.

R=eseidel@chromium.org, eseidel@google.com

Review URL: https://codereview.chromium.org/1215703010.
2015-07-06 14:49:03 -07:00
Adam Barth
aa2e9974da Update test expectations after view padding change
We no longer have view padding during testing so these values change a bit.

TBR=ianh@google.com

Review URL: https://codereview.chromium.org/1225703003.
2015-07-06 12:40:19 -07:00
Adam Barth
51b33e8436 Add padding values to View.idl
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 #257

R=ianh@google.com

Review URL: https://codereview.chromium.org/1220353002.
2015-07-06 10:56:02 -07:00
Hans Muller
e9138bc20c Scrollable TabBar Version 0
TODO:
- Make fling-scrolling work
- Tune scrolling performance
- When a tab is selected, snap it to the center if possible

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/1221673006.
2015-07-06 10:23:31 -07:00
Collin Jackson
03eca7aef8 Refactoring to support dark theme better
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/1218153005.
2015-07-06 08:05:29 -07:00
Benjamin Lerman
8def5ec089 Do not use android specific API in mojo/java.
R=abarth@chromium.org, eseidel@chromium.org

Review URL: https://codereview.chromium.org/1217573005.
2015-07-06 14:56:14 +02:00
Adam Barth
b5d6b9ae0d Add skyx packages for all the Sky demos (except game)
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.
2015-07-02 17:07:44 -07:00
Adam Barth
4c41ecb0d5 Make it possible to load Sky demos from local bundles
This CL teaches SkyDemo how to load Sky applications from local bundles. It
also teaches home.dart how to request a load from a bundle.

TBR=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1213203008.
2015-07-02 16:43:09 -07:00
Adam Barth
ac568866f1 Add a flag for building skyx packages
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.
2015-07-02 16:41:35 -07:00
Adam Barth
f79a49bbf9 SkyDemo should use explicit intents
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.
2015-07-02 15:41:45 -07:00
Adam Barth
12171c63ef Stocks.apk should have icons when run offline
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.
2015-07-02 13:47:13 -07:00
Adam Barth
35dbae5e3c Teach Stocks.apk how to load a skyx bundle
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.
2015-07-02 13:09:57 -07:00
Adam Barth
7790cef793 Remove two unused functions from dart:sky.internals
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.
2015-07-02 13:09:41 -07:00
Adam Barth
71651d92fc Switch SkyShell to its own ResourceExtractor
This CL prepares us to have more interesting resources than base's
ResourceExtractor understands.

TBR=eseidel@google.com

Review URL: https://codereview.chromium.org/1221153002.
2015-07-02 11:24:57 -07:00
Adam Barth
d0ebee040b Rename ViewportObserver to SkyEngine
The term ViewportObserver doesn't mean anything. This interface has evolved to
control the engine. This new name reflects that.

TBR=eseidel@google.com

Review URL: https://codereview.chromium.org/1222663003.
2015-07-02 09:56:24 -07:00
Adam Barth
670dd8ff0b Port skyx to Dart
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.
2015-07-02 09:12:39 -07:00
Matt Perry
791a05f36e Fix test failures from my previous animation patch.
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/1216923008.
2015-07-01 19:02:24 -04:00
Eric Seidel
2e28699a66 Add a sky media service to make it possible to play a sound.
I didn't exactly follow the android API, but pretty close.

Also started a java/common implementation for things like
DataPipeUtils. I only needed the ability to copy from a data
pipe to a file, so that's the only function we have so far.

Fixes https://github.com/domokit/mojo/issues/270

R=abarth@chromium.org, abarth@google.com

Review URL: https://codereview.chromium.org/1211913005.
2015-07-01 12:29:40 -07:00
Adam Barth
7517b414ae Remove (almost all of) //sky/engine/web
This layer is no longer needed now that the new world is gone.

TBR=eseidel@google.com

Review URL: https://codereview.chromium.org/1210153009.
2015-06-30 20:14:20 -07:00
Hans Muller
999938d955 Add a TabNavigator to the Stocks demo
Changed FixedHeightScrollable so that if the list shrinks past the current scrollOffset, the scrollOffset is adjusted so that the last/only page of the list remains visible.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/1216323002.
2015-06-30 17:08:14 -07:00
Chinmay Garde
121bcb827f Make sure skyanalyzer uses absolute paths to construct url-mappings for
dartanalyzer

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/1215883006.
2015-06-30 15:29:18 -07:00
Adam Barth
c5deb6f41a Remove the ability to load ".sky" files
Please use ".dart" files instead.

R=ianh@google.com

Review URL: https://codereview.chromium.org/1222483002.
2015-06-30 14:48:32 -07:00
Viktor Lidholt
5e5b3100a0 Updates sky_server has for Mac
BUG=
R=abarth@chromium.org, ianh@google.com

Review URL: https://codereview.chromium.org/1221893002.
2015-06-30 14:47:11 -07:00
Adam Barth
280945c6b9 Port remaining Sky tests to the new world
These tests now run in the DOM-less world.

R=ianh@google.com

Review URL: https://codereview.chromium.org/1212163009.
2015-06-30 13:53:20 -07:00
Hans Muller
fbef1235e0 Fix tabs.dart test results
TBR=abarth

Review URL: https://codereview.chromium.org/1214413002.
2015-06-30 13:32:40 -07:00
Hans Muller
06fb2e9879 Gratuitous tabs example enhancement
Demo all three varieties of TabLabels in 3 different
TabNavigators. Use another TabNavigator to select
among the three Card-encapsulated demos.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/1217243005.
2015-06-30 12:59:51 -07:00
Hixie
b6e2a66696 Remove Material's opinion about background colours, since in fact the background colour varies dramatically with the kind of material involved.
Also:
- give users of Material who previously relied on Material's defaults
  opinions about background colours
- reindent stock_row.dart
- import colors as colors in example/widgets/styled_text.dart, rather
  than in global scope, for consistency with other files
- import typography as typograpyh in example/widgets/tabs.dart, rather
  than in global scope, for consistency with other files
- make flat_button actually be transparent by not painting a
  background, rather than painting 0x00000000. This is the what I
  actually originally set out to do here.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/1217293003.
2015-06-30 12:48:04 -07:00
Adam Barth
983aadfd85 Remove Sky tests that we don't intend to port to the new world
These tests are for aspects of the Sky engine we plan to remove along with
support for the old world.

R=ianh@google.com

Review URL: https://codereview.chromium.org/1215063003.
2015-06-30 12:42:54 -07:00
Adam Barth
aa193c4d27 Fix import typo in network.sky test
TBR=ianh@google.com

Review URL: https://codereview.chromium.org/1218903004.
2015-06-30 12:27:34 -07:00
Adam Barth
5c7639c2f5 Remove package:sky/framework
Please use package:sky/widgets instead.

R=ianh@google.com, eseidel@google.com

Review URL: https://codereview.chromium.org/1221883002.
2015-06-30 12:01:54 -07:00
Hixie
52ec1336d6 Fix all the components to pick the right colours from the theme.
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/1217573003.
2015-06-30 11:50:14 -07:00
Adam Barth
41ffb31681 Download material design icons using DEPS
We need the material design icons at build time in order to build Sky
application bundles that include the icons. Therefore, we need can't wait until
runtime to download the icons.

Also, rather than copying all the icons into each out directory, we just
symlink to the copy in the source tree.

R=eseidel@chromium.org, eseidel@google.com

Review URL: https://codereview.chromium.org/1217283002.
2015-06-30 10:32:09 -07:00
Adam Barth
7be6bf978d Add a script for packaging Sky bundles
This script consumes a sky.yaml file and produces a bundle that contains the
listed material design assets as well as the snapshot binary. This script isn't
wired into the build system yet because we don't yet download the material
design icons using DEPS.

R=chinmaygarde@google.com, eseidel@google.com

Review URL: https://codereview.chromium.org/1220893002.
2015-06-30 10:22:02 -07:00
Raph Levien
1b3bfb2624 Allow clusters to start with zero-width characters
The logic in getRunAdvance() assumed that any zero-width character was
part of the preceding cluster, which is valid most of the time. However,
characters such as ZWNBSP (U+FEFF) renders as a zero width glyph
and is also a grapheme cluster boundary. This patch adds a clause to
handle that case.

Bug: 22121742
Change-Id: Iad79a7d988bded1ef05f0fd7905d20669ea22051
2015-06-30 10:15:43 -07:00
Adam Barth
240f909f91 Fix corrupted rendering of images
When navigating from one app to another, we create a new Android window and
destroy the old one. Previously, when we destroyed the old window after
creating the new window, we would destroy the Ganesh context after making the
GL context for the new window current, causing us to corrupt the GL state in
the new window. After this CL, we call MakeCurrent before destroying the Ganesh
context so that it interacts with the proper GL context.

R=jackson@google.com

Review URL: https://codereview.chromium.org/1214263002.
2015-06-29 16:40:09 -07:00
Ian Fischer
5b8c62476d Fix tests broken by default text color change.
R=abarth@chromium.org, ianh@google.com

Review URL: https://codereview.chromium.org/1215023003.
2015-06-29 14:57:58 -07:00
Raph Levien
8726aff8cf Fix logspam and incorrect cluster offset
An incorrect cluster offset calculation was causing a lot of log
messages to appear. Separately, a confusion between #if and #ifdef was
causing unintended logging of line breaks. This patch fixes both.

Bug: 22178333
Change-Id: I2b3673ed66c784f5082fd127a8dc10bd3df6ed79
2015-06-29 14:21:10 -07:00
Ian Fischer
2894f9e7e9 Rename RenderCanvas to PaintingCanvas to avoid confusion with other classes that inherit from RenderObject.
R=ianh@google.com, abarth@google.com

Review URL: https://codereview.chromium.org/1217933002.
2015-06-29 14:19:30 -07:00
Hixie
928fc6cf69 Fix tests which broke in https://codereview.chromium.org/1216013003.
Actually the tests broke in 136e0d4da5
...but I had reset the results because I had changed all the coordinates, and didn't realise some of the changes were bad.

TBR=abarth

Review URL: https://codereview.chromium.org/1212803003.
2015-06-29 14:04:58 -07:00
Adam Barth
f442a035b8 Make it possible to run a test in sky_shell
This CL makes it possible to run sky/tests/raw/bogus_import.dart in sky_shell
on Linux. We'd eventually like to scale this up to running all the tests.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1218633003.
2015-06-29 10:39:44 -07:00
Hans Muller
53e64fc92f Add TabNavigator
A simple container for a TabBar. It is defined by a list of
TabNavigatorViews, each of which is just a TabLabel and
the tab's content.

The content of each tab is represented by a function
that produces a Widget called "content". I couldn't
bring myself to call it buildTabContentCallback or something
else more specific.

R=abarth@chromium.org, ianh@google.com

Review URL: https://codereview.chromium.org/1212993003.
2015-06-29 10:03:28 -07:00
Hixie
9d03a49200 Instead of applying a transform for every RenderObject, pass down an Offset for where to paint.
This should be a perf win, but I haven't tested it.

Also adds an operator overloading such that Offset + Size -> Rect.
Also adds Rect.fromLTWH().

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/1209413004.
2015-06-29 09:07:13 -07:00
Adam Barth
1f8c99e1a2 Update Stocks.apk build tech
Instead of having a one-off //sky/apk/stocks, we now use the |sky_app| GN
template to create Stocks.apk directly from //sky/sdk/example/stocks.

TBR=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1211883004.
2015-06-27 00:41:27 -07:00