20087 Commits

Author SHA1 Message Date
Tony Gentilcore
0bbc4cee4a Make embedder.serviceRegistry return a ServiceRegistry instead of ServiceRegistryProxy.
The proxy has methods like close() that I think we're not intending to expose to the
caller. The ServiceRegistry is just the interface itself. This also avoids users of
the API from having to add a .ptr to their usages of the registry.

BUG=
R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1053883002
2015-04-01 16:33:16 -07:00
Hixie
1ad52007bd [Effen] Remove '_isInCheckedMode' flag and use an assert() instead, since presumably that will more reliably get compiled out in prod builds.
R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1052793002
2015-04-01 14:28:14 -07:00
Hixie
98af3d0dee Issue 1043283003 changed the framework class names but I missed the test.
R=ojan@chromium.org

Review URL: https://codereview.chromium.org/1056663002
2015-04-01 13:49:05 -07:00
Hixie
e3318005f4 [Effen] missed an underscore in the _ensureDepth() logic
TBR=eseidel

Review URL: https://codereview.chromium.org/1056633002
2015-04-01 12:39:59 -07:00
Hixie
ee63773cd1 [Effen] fix _ensureDepth to work on root of tree, oops
R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1050153002
2015-04-01 12:08:06 -07:00
Hixie
6ff2cfbe82 [Effen] use the fact that the parent knows its depth already to avoid walking the entire tree each time, and simplify how we build the trace message
R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1051913002
2015-04-01 10:30:45 -07:00
Hixie
c0067cceba [Effen] s/Node/UINode/, s/Element/WrapperNode/, s/EventTarget/EventListenerNode/
R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1043283003
2015-04-01 09:46:28 -07:00
Eric Seidel
6c2f85515e Fix typo in our readme as per: https://github.com/domokit/sky_sdk/pull/1
TBR=abarth@chromium.org

Review URL: https://codereview.chromium.org/1051513004
2015-03-31 14:43:37 -07:00
Raph Levien
5cdad92c30 Revert "Fix build: Revert "Add hyphenation to line breaking""
This reverts commit 0b25d5ac85533f64764a0d53d5e5d33b46b715fa.
2015-03-30 14:20:18 -07:00
Hans Muller
867df1ba15 Effen error if a component ancestor doesn't specify a style
If a component ancestor doesn't specify a style, quietly ignore it.

Currently the result is a little confusing:

[0330/124031:ERROR:dart_error.cc(20)] Unhandled exception:
Uncaught Error: The null object does not have a getter '_className'.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/1041863003
2015-03-30 14:16:40 -07:00
Ed Heyl
0b25d5ac85 Fix build: Revert "Add hyphenation to line breaking"
This reverts commit daf6a6bdbf2ff1f66496d6200cb253e2f50759d5.

Change-Id: I3fed65046274d3aeb748f0730585ab89927f5741
2015-03-30 20:40:33 +00:00
Raph Levien
daf6a6bdbf Add hyphenation to line breaking
This patch adds hyphenation using the Liang hyphenation algorithm,
similar to TeX. It also improves the optimized line breaker so that
it works correctly and efficiently even when the line width is not
constant (there is a specialization for constant width, which is
probably worthwhile, but performance TODOs remain).

Still to be done:

* hyphenator has many shortcuts, only tested with English

* interaction between punctuation and hyphenation is problematic

Change-Id: I2d94a1668ebc536398b7c43fcf486333eeb7c6aa
2015-03-30 09:15:53 -07:00
Adam Barth
9bb425c8f7 Fix typo
TBR=hixie

Review URL: https://codereview.chromium.org/1035023003
2015-03-26 17:36:32 -07:00
Adam Barth
8c5939bb7c Fix deploy_sdk.py to include README.md and stock data files
Also, remove testplan.txt, which isn't part of the framework.

TBR=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1038273002
2015-03-26 17:26:04 -07:00
Adam Barth
8aff978b43 Improve Sky READMEs
TBR=ojan@chromium.org

Review URL: https://codereview.chromium.org/1037163002
2015-03-26 17:17:34 -07:00
Raph Levien
01f5266144 Add LineBreaker to Minikin
This patch adds a LineBreaker class to Minikin, which will be used for
computing line breaks in StaticLayout. The version in this patch
contains basically the same functionality that existed before, but
hopefully better performance and an interface that's suitable for more
sophisticated paragraph layout.

Note that this version contains a high quality strategy, which mostly
works but doesn't respect varying line width.

Change-Id: I02485d58b1e52856296a72cdd4efd963bc572933
2015-03-26 16:00:04 -07:00
Adam Barth
ffce153d8a Move terminal example from //sky/examples to //examples
We're trying to clean up the //sky/examples directory to focus on mobile use
cases for the fn framework. Terminal is both focused on desktop and uses the
older custom-element framework.

R=viettrungluu@chromium.org

Review URL: https://codereview.chromium.org/1038813005
2015-03-26 14:53:38 -07:00
Adam Barth
51e3fce449 Clean up examples directory
1) Merge input example into widgets example
2) Move single-file, non-fn examples into a "raw" directory
3) Rename stocks-fn and widgets-fn to stocks and widgets

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/1005393006
2015-03-26 14:32:40 -07:00
Hixie
0ad1f744ce skyshell: disable cache for now
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/999253005
2015-03-26 14:27:17 -07:00
Adam Barth
81fe4edd5e Move fakesky.dart from examples to benchmark/resources
It's not really an example of how to use Sky. It's a resource for benchmarking.

TBR=raf@chromium.org

Review URL: https://codereview.chromium.org/1030423002
2015-03-26 14:08:10 -07:00
Adam Barth
e8907cd059 Remove flights example
Flights is not longer a good example of something you can build wity Sky.
Restore the flights-app-pixel test and move the assets needed for the test into
the tests directory.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/1034953003
2015-03-26 13:28:23 -07:00
Adam Barth
75d2fb1bd7 Rev Mojo and Sky pub packages
TBR=ojan@chromium.org

Review URL: https://codereview.chromium.org/1038873005
2015-03-26 12:59:00 -07:00
Adam Barth
f4e54b385f Update Sky README.md
R=ojan@chromium.org

Review URL: https://codereview.chromium.org/1030063003
2015-03-26 10:17:06 -07:00
Hixie
68ef9853ef mark obsolete CSS properties
R=ojan@chromium.org

Review URL: https://codereview.chromium.org/1036953003
2015-03-26 09:03:25 -07:00
Hans Muller
aab55efe9c Fix a typo in embedder.dart
Connection has two Ns. It was me.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/1020073003
2015-03-25 16:34:49 -07:00
Adam Barth
0dd797975c Remove <canvas>
Folks should use custom paint instead (see sky/engine/core/painting for a
sketch).

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/1001913003
2015-03-25 16:15:05 -07:00
Adam Barth
8e37b98cfc StocksApp hits an ASSERT when bringing up search
Previously we'd hit an ASSERT that elements in the style sharing list support
style sharing. However, it can happen that an element gets added to the style
sharing list and then loses the ability to share styles because it has an
active animation. This CL works around the problem by skiping over those
elements when considering style sharing candidates. A better solution would be
to clear the style sharing list when it might contain such an element. However,
it's likely we will remove style sharing in the future so its easier to just
work aroudn the issue for now.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/1036933002
2015-03-25 16:08:40 -07:00
Rafael Weinstein
36ad366ba0 [Effen] Add a basic layout test
BUG=
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/1038583003
2015-03-25 10:53:51 -07:00
Adam Barth
018bf2ba17 Add tracing for major GC in Sky
Ideally we'd trace VM operations from inside the VM, but we don't yet have
DartVM wired into tracing. Instead, we use these GC hooks to trace how long
major GC takes.

R=rafaelw@chromium.org

Review URL: https://codereview.chromium.org/1031083003
2015-03-25 10:46:19 -07:00
Adam Barth
4e7a413422 Use a thread pool for the CopyToPipe jobs in oknet
Rather than use a separate thread for every CopyToPipe job, we no use a
thread pool. It's not clear from the trace whether this is much faster,
but it makes the trace look much prettier.

R=rafaelw@chromium.org

Review URL: https://codereview.chromium.org/1010433009
2015-03-25 10:44:12 -07:00
Adam Barth
707968b1db Menu in StocksApp should dismiss when tapping elsewhere
When the StocksApp menu is showing, the user shouldn't be able to interact with
the rest of the app. Instead, taps outside the menu should dismiss the menu.

This CL makes that happen by adding a ModalOverlay on top of the app. We might
want to do something fancier in the future using event delegation, but this
works for now.

R=rafaelw@chromium.org

Review URL: https://codereview.chromium.org/1031093002
2015-03-25 10:43:35 -07:00
Adam Barth
171ff643ef Disentangle Material and InkSplash
Most of the elements that want to be Material (i.e., have a level and cast a
shadow) don't want to be InkWells (i.e., have an ink splash effect). This CL
disentangles these two components, fixing bugs in the Drawer and in the
PopupMenu. Separating these concepts also lets us use Material for the
ActionBar and the FloatingActionButton.

R=rafaelw@chromium.org

Review URL: https://codereview.chromium.org/1037673002
2015-03-25 10:43:12 -07:00
Adam Barth
4f29d04e2e Add an implict animation between ActionBar backgrounds
This CL uses CSS transition to add an implicit animation between purple
ActionBar and the light grey "search" action bar. It's unclear to me how best
to create implicit animations in this system, but using a CSS transition works
surprisingly well.

Also, fix the typography style for the placeholder in the search box.
Previously it was white on Grey[50], which was extremely hard to see.

R=rafaelw@chromium.org

Review URL: https://codereview.chromium.org/1036783002
2015-03-25 10:42:42 -07:00
Adam Barth
bfd2651acb Remove the |style| parameter from Material
There's no reason for Material to take a |style| parameter anymore. Clients can
simply use StyleNode instead.

R=rafaelw@chromium.org

Review URL: https://codereview.chromium.org/1030963005
2015-03-25 10:42:19 -07:00
Adam Barth
c6fa902d79 Remove the |style| parameter to InkWell
There's no reason for InkWell to take a |style| parameter anymore. Clients can
simply use StyleNode instead.

R=rafaelw@chromium.org

Review URL: https://codereview.chromium.org/1019443003
2015-03-25 10:41:38 -07:00
Adam Barth
f2ce04fb3d Menu in StocksApp should animate out
This CL teaches PopupMenu how to animate out as well as in. Also, I've changed
the PopupMenuItem animations to be driven from the PopupMenu itself, which
makes it easier to run the animation in reverse when closing the menu.

TBR=rafaelw@chromium.org

Review URL: https://codereview.chromium.org/1033913002
2015-03-25 10:40:29 -07:00
Adam Barth
040c83d59a Clean up stock_app.dart
This CL cleans up stock_app.dart to better separate concerns now that we have
StyleNode. Also, this CL introduces IconButton, which will grow to include an
ink effect in the future, and makes the background of the search bar white.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/1007893005
2015-03-24 18:00:33 -07:00
Adam Barth
b05db52145 Load data for StocksApp incrementally
Previously we would spend a lot of time during startup processing all 3k stocks
in the data set. This CL breaks the data up into 100 stock chunks and loads
them incrementally off the network. A future CL will switch to loading them on
demand.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/1038533002
2015-03-24 14:58:42 -07:00
Viet-Trung Luu
19c63f4643 A crappy "netcat"-type example (in Dart).
It's especially crappy since it doesn't actually do much/any error
handling.

Use:
$ sky/tools/skydb start out/Debug \
  'sky/examples/terminal/index.sky?url=mojo:netcat?host=localhost%26port=80'

(Note: We don't have a resolver yet, so the host either has to be
"localhost" or an IPv4 address in the form N1.N2.N3.N4.)

R=erg@chromium.org

Review URL: https://codereview.chromium.org/1032743002
2015-03-24 13:49:13 -07:00
Viet-Trung Luu
ce0ff73d1f Fix the terminal example.
TBR=abarth@chromium.org

Review URL: https://codereview.chromium.org/1031933002
2015-03-24 13:00:55 -07:00
Adam Barth
1f589b52f0 Add an HTTP cache to SkyShell
This CL makes two changes to SkyShell's HTTP stack:

1) It introduces a disk cache so that responses can be loaded off disk instead
   of off the network.

2) It makes different instances of NetworkServiceImpl share the same
   OkHttpContext. Specifically, this means that network requests initiated from
   Dart share the same cache and connection pool as requests initiated from C++.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/1006143003
2015-03-24 12:45:11 -07:00
Adam Barth
a9404f3e35 Add a --no_install option to shelldb
This CL adds an option to shelldb to skip installing the APK if the user of the
tool knows that the APK is already up-to-date on the device.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/1002123003
2015-03-24 12:44:39 -07:00
Adam Barth
90a94680a2 Move oknet's read operations to a background thread
The read operation on OkHttp's ResponseBody object is blocking. The thread on
which we perform the read is highly contended during initial load. This CL
moves the read operation to a background thread, improving startup time for
StocksApp by 1s on a Nexus 5. Ideally we would perform an asynchronous read on
the stream, but that is not currently possible in OkHttp according to
http://stackoverflow.com/questions/29222231/reading-okhttp-responsebody-data-asynchronously

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/1037443002
2015-03-24 12:44:06 -07:00
Alhaad Gokhale
215b98c91b Chromium -> Mojo roll.
Update from https://crrev.com/321900

Changes:
(1) OpenTypeSanitizer.cpp: Removed use of ots::EnableWOFF2() which was
removed from library and implementation was empty anyways.
(2) GraphicsContext.cpp: Header location for SkMatrixImageFilter.h moved.
(3) SkiaImageFilterBuilder.cpp: Header location for SkMatrixImageFilter.h moved.
(4) FEDropShadow.cpp: Function signature changed.

R=davemoore@chromium.org, jamesr@chromium.org
BUG=453591

Review URL: https://codereview.chromium.org/1028333002
2015-03-24 10:49:34 -07:00
Scott Violet
bb67d0a822 Plumbs through android supplying multipe touch points
Makes sky and conversions honor pointer values correctly.

R=abarth@chromium.org, erg@chromium.org, qsr@chromium.org

Review URL: https://codereview.chromium.org/1029753002
2015-03-24 09:13:10 -07:00
Adam Barth
f3df64fa3d Let Dart code running in Sky add events to the trace timeline
This will let us form a wholistic picture of work done in the framework and in
the engine.

R=ojan@chromium.org, rafaelw@chromium.org

Review URL: https://codereview.chromium.org/1028243003
2015-03-23 14:48:06 -07:00
Hixie
e42426a37c [Effen] put Node class above its superclasses
TBR=rafaelw

Review URL: https://codereview.chromium.org/1030753002
2015-03-23 14:44:18 -07:00
Scott Violet
e39bb038c0 Cleans up events to just the parts we're actually using
Also unifies mouse and touch into a single event type.

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

Review URL: https://codereview.chromium.org/1033513003
2015-03-23 14:33:21 -07:00
Adam Barth
cc12331d63 Update references to Mojo core and bindings
Build fix after recent Dart bindings refactoring.  Now that these libraries are
not included in the snapshot, we need to load them from the mojo package.

R=zra@google.com
TBR=zra@chromium.org

Review URL: https://codereview.chromium.org/1029683002
2015-03-23 13:22:38 -07:00
Adam Barth
27359c558f Add tracing to oknet
R=rafaelw@chromium.org

Review URL: https://codereview.chromium.org/1018393006
2015-03-23 13:22:13 -07:00