20087 Commits

Author SHA1 Message Date
Eric Seidel
73c76d5031 Make OKNet not throw bananas when asked to parse 'banana'.
Catch the MalformedURLException instead of dying.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/1153033010
2015-06-03 16:53:36 -07:00
Adam Barth
16f8b21601 Fix gesture events in fn2
This CL makes gesture events work again in fn2.

R=ianh@google.com

Review URL: https://codereview.chromium.org/1146923005
2015-06-03 16:06:15 -07:00
Eric Seidel
8078665688 Make the Icon component use Image
Even though Image doesn't yet know how to handle
relative urls.

TBR=jackson@google.com

Review URL: https://codereview.chromium.org/1157163009
2015-06-03 15:42:34 -07:00
Collin Jackson
7552bf79d1 Fix Sky issue where RenderNode was not painting automatically in interactive situations
R=abarth@chromium.org, abarth

Review URL: https://codereview.chromium.org/1168623002
2015-06-03 15:42:21 -07:00
Hixie
d53de8ad97 Plug the drawer into stock2.
Not tested on device.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/1160523005
2015-06-03 15:36:48 -07:00
Eric Seidel
1f8892f709 Fork theme to theme2 and use sky.Color types directly.
This also works around an Android-only crasher for the Dart VM:
https://github.com/domokit/mojo/issues/192

R=ianh@google.com

Review URL: https://codereview.chromium.org/1157243012
2015-06-03 15:22:08 -07:00
Collin Jackson
e16e10d830 Implement RenderImage and Image for Sky
This also fixes a bug that was preventing markNeedsLayout from working

R=abarth@chromium.org, eseidel@chromium.org, abarth, eseidel

Review URL: https://codereview.chromium.org/1160013004
2015-06-03 15:17:12 -07:00
Viktor Lidholt
ef070b2cfb Sky example game enhancements, adds preloading of images and adds transform modes to SpriteBox
R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1149183004
2015-06-03 15:05:55 -07:00
Hixie
a18d06f34c Add overlays back to stocks2.
Except that nothing actually uses these now so it's a no-op really.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/1157243011
2015-06-03 15:03:34 -07:00
Adam Barth
6d5227ea0c Make Drawer in components2 work
This CL introduces RenderStack and fixes a number of bugs to make the Drawer in
components2 work.

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

Review URL: https://codereview.chromium.org/1147143005
2015-06-03 14:52:13 -07:00
Hixie
926eafbf47 Fix scaffold to work for the toolbar.
Also, make the scaffold code more generic (with slots in a map,
instead of dedicated members for each slot).

This may eventually benefit from being split into a general
"multislot" superclass and a scaffold-specific subclass, but for now
it'll do.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/1152163007
2015-06-03 14:50:32 -07:00
Hixie
57fef366d1 Provide Point+Size, Point-Point, Point.toSize(), and Rect.toPoint().
Also some minor code cleanup in affected files and nearby files.

R=mpcomplete@chromium.org

Review URL: https://codereview.chromium.org/1160453006
2015-06-03 14:21:46 -07:00
Matt Perry
8c097b0892 Update BoxDecoration and RenderParagraph to use sky.Color instead of int.
Also add operator==, hashCode, toString, and some basic Color constants to
Color.

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

Review URL: https://codereview.chromium.org/1162023004
2015-06-03 16:57:04 -04:00
Matt Perry
3aa1e23d7d Sky: Convert TransferMode to an enum.
It looked and smelled like an enum, so lets just make it one. This also gives us a nice toString() method.

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

Review URL: https://codereview.chromium.org/1144233004
2015-06-03 16:19:14 -04:00
Eric Seidel
b18eecb50d Make tracing work in the new .dart world.
R=abarth@chromium.org, viktorl@google.com

Review URL: https://codereview.chromium.org/1152483006
2015-06-03 12:40:38 -07:00
Eric Seidel
00ead9f76f Don't run adb as part of shelldb boot
This defers running adb until we actually need the device-id
which makes shelldb not crash when adb isn't avaiable.

I also fixed to use ADB_PATH.

Chinmay ran into this when trying shelldb on Mac.

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

Review URL: https://codereview.chromium.org/1161843007
2015-06-03 11:20:33 -07:00
Eric Seidel
a90cc80a88 Fix min/max typo in BoxConstraints.deflate
R=ianh@google.com

Review URL: https://codereview.chromium.org/1153413003
2015-06-03 11:12:17 -07:00
Matt Perry
72ca1d9f32 Simplify TransferMode and Color types.
They are no longer wrappers in C++, but are converted directly to their Skia types.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1162393002
2015-06-03 13:33:33 -04:00
Hixie
3fe1c0b38c Fix logic in RenderPadding.
Previously, we were not adjusting the minimum width, so we ended up
offsetting the child but not shrinking it, when the parent expected
the child to be exactly fit to its dimensions.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/1155303005
2015-06-03 10:25:05 -07:00
Adam Barth
81b8512b41 Add support for transforms to container
These transforms are currently very basic but they seem to mostly work.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1152273004
2015-06-03 10:20:33 -07:00
John McCutchan
87fd276d3d Enable Dart's checked mode in the Sky controller by default for debug builds
This matches the behaviour of the Mojo Dart controller and was requested by tonyg@

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/1152873006
2015-06-03 09:33:17 -07:00
Przemyslaw Pietrzkiewicz
7cffe65163 Fix a missing url_request mojom import in fetch.dart.
Not exactly sure what I'm doing, but this makes the stocks example:

  `sky/tools/skydb start out/Debug/ sky/examples/stocks/main.sky`

work again, fixing the UrlRequest import issue:

[0603/143348:ERROR:dart_error.cc(20)]
'http://localhost:9999/packages/sky/framework/net/fetch.dart': malformed
type: line 32 pos 21: type 'UrlRequest' is not loaded
  var request = new UrlRequest()

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1148963007
2015-06-03 16:56:23 +02:00
Eric Seidel
d9ed864cc9 Give the Stocks2 App a new improved toolbar.
Looks horrible.  But it's a start.

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

Review URL: https://codereview.chromium.org/1146913005
2015-06-02 16:13:31 -07:00
Viktor Lidholt
109271ea62 Initial version of working game with Box2D, images, nodes and sprites.
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/1161023006
2015-06-02 15:09:01 -07:00
Adam Barth
898273c7b2 Implement Container in fn2
This CL is a first pass at implementing container in fn2. In this approach,
Container is a Component that builds a number of RenderNodeWrappers depending
on what is needed.

R=ianh@google.com

Review URL: https://codereview.chromium.org/1158983005
2015-06-02 15:07:02 -07:00
Matt Perry
485523560f Add a MaskFilter interface to dart:sky to handle blur.
For this, I added back my previous CustomDart attribute for customizing the
generated Dart code of an interface.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1162843003
2015-06-02 17:26:32 -04:00
Hixie
e8cafd9d71 Rename rendering/render_*.dart to rendering/*.dart
R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1166773003
2015-06-02 13:55:20 -07:00
Adam Barth
499988ec1b Remove the concept of an empty RenderNodeWrapper
This machinery existed only to save one null check.

R=ianh@google.com

Review URL: https://codereview.chromium.org/1163933002
2015-06-02 12:45:35 -07:00
Adam Barth
3f57030cef Add BlockContainer to fn2
BlockContainer uses a RenderBlock to lay out its children.

R=eseidel@chromium.org, jackson@chromium.org

Review URL: https://codereview.chromium.org/1166473005
2015-06-02 12:19:25 -07:00
Adam Barth
55eb0b38f0 Mark fn2's EventListenerNode work for PointerEvent
Prevously we listened for events on the document and then walked up the
component hierarchy looking for EventListenerNodes. Now we do something similar
by hooking the event dispatching logic in the AppView.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1153343004
2015-06-02 12:18:13 -07:00
Matt Perry
e68fe5d33e Add TransferMode to dart:sky, and use it instead of passing ints around.
Also use Point in place of passing 2 ints to the DrawLooper API.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1158883004
2015-06-02 15:03:44 -04:00
Matt Perry
4f2d78a5bb Re-land "Add a Color class to dart:sky."
The previous patch broke the sky tests. I have updated the framework to use the new Color class.

R=jackson@google.com

Review URL: https://codereview.chromium.org/1159663003
2015-06-02 14:09:42 -04:00
Collin Jackson
f396442e0a Implement a simple image cache for Sky in Dart. This doesn't yet do any eviction from the cache.
R=abarth@chromium.org, abarth

Review URL: https://codereview.chromium.org/1165753004
2015-06-02 10:44:48 -07:00
Przemyslaw Pietrzkiewicz
568b39c889 Connect mojo:debugger to window_manager only when requested.
This patch makes mojo:debugger automatically connect to window_manager
only when run by skydb, so that running the debugger for tracing and
profiling doesn't bring the side-effect of spawning window_manager.

Note that we might in the future change this to make the connection to
window_manager lazy when load() or reload() is requested, but this would
require a more involved change to skydb. The way taken in this patch
doesn't change the skydb codepath while enabling usage of debugger for
interactive tracing / profiling.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/1157253007
2015-06-02 17:40:05 +02:00
Collin Jackson
2ff84ffe5f Refactor image handling in Sky to expose the loader and image as separate classes to Dart code. This makes it possible to avoid unnecessary paints, by only painting once when the image has loaded. Now that we've separated the loader and image classes, we can implement an image cache in Dart.
R=abarth@chromium.org, abarth

Review URL: https://codereview.chromium.org/1156003007
2015-06-01 16:21:21 -07:00
Collin Jackson
4a8133b96a Fix generated code for callbacks where argument interface doesn't match implementation class name
R=mpcomplete@chromium.org, mpcomplete

Review URL: https://codereview.chromium.org/1163863002
2015-06-01 15:33:25 -07:00
Matt Perry
ffed692545 Revert "Add a Color class to dart:sky."
This reverts commit a413c8319fe9a46dc131f6efe275d014c9cb7eb9.

Reason: seems to have broken Sky tests:
Regressions: Unexpected crashes (2)
  raw/render_box.dart [ Crash ]
  raw/render_flex.dart [ Crash ]

TBR=jackson@google.com

Review URL: https://codereview.chromium.org/1143133007
2015-06-01 18:13:35 -04:00
Raph Levien
73fa6dfd63 Merge "Use context start correctly in getRunAdvance" into mnc-dev 2015-06-01 21:33:48 +00:00
Raph Levien
95af01c57b Use context start correctly in getRunAdvance
We were not taking context start into account when deciding whether
to split a ligature, which was causing inconsistent behavior. This
patch consistently references the widths array relative to the start
of the context.

Bug: 21549197
Change-Id: I7c71e10c1af84354fefe782fc0b87120016e6555
2015-06-01 14:27:00 -07:00
Matt Perry
326e2324c9 Add a Color class to dart:sky.
R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1161273004
2015-06-01 16:48:48 -04:00
Raph Levien
a019665898 Disable hyphenation for unreasonably long words
Very long words cause O(n^2) behavior. These are unlikely to happen in
real text, but do happen with synthetic strings, so in those cases we
just disable hyphenation.

Bug: 20790394
Change-Id: Idf957dd40b24efe1476f619f17093a48b5bc56f7
2015-06-01 12:46:47 -07:00
Przemyslaw Pietrzkiewicz
3a7e97e696 Pull Sky debugger up to services/debugger.
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
2015-06-01 19:05:15 +02:00
Collin Jackson
5afac54a8b Add Sky framework support for drawing images
R=abarth@chromium.org, abarth

Review URL: https://codereview.chromium.org/1151753009
2015-05-29 16:45:43 -07:00
Eric Seidel
f9a2b9287b Fix skydb on linux when adb is not in path.
TBR=iansf@google.com

Review URL: https://codereview.chromium.org/1159193003
2015-05-29 15:38:59 -07:00
Adam Barth
6eba4a04f9 Add a simple inksplash example
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
2015-05-29 13:55:12 -07:00
Eric Seidel
bf30484e02 Make --gdb and gdb_attach mostly work in shelldb
I'm not sure this is 100% working, but hopefully this
will help get jackson@ up and running with a shelldb
workflow.

R=iansf@google.com, jackson@google.com

Review URL: https://codereview.chromium.org/1167513003
2015-05-29 12:31:22 -07:00
Adam Barth
9accf81dd9 Improve RenderNode performance
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
2015-05-29 10:55:34 -07:00
Eric Seidel
1e9fc192e6 Fix sky_server.py on Mac and make sky_server executable if it's not already
R=eseidel@chromium.org, eseidel

Review URL: https://codereview.chromium.org/1161133002
2015-05-29 10:47:16 -07:00
Ian Fischer
e1de4707c1 Cache .so files for debugging per device and don't redownload .so's that are in your cache
BUG=
R=eseidel@chromium.org, eseidel

Review URL: https://codereview.chromium.org/1158493005
2015-05-28 17:41:49 -07:00
Hixie
faacd68323 Make our raw/ tests actually check the paint output.
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/1153053012
2015-05-28 17:35:59 -07:00