Commit Graph

1850 Commits

Author SHA1 Message Date
Dave Moore
f29a08e7d7 Update from https://crrev.com/319330
- New chromium clang rules require explicit external destructors so
  system/lib added for MessagePipe, DataPipe and SharedBuffer
- New chromium clang rules require override and no virtual in
  declarations, so many files updated.
- cc_strip_video patch updated.

BUG=
R=jamesr@chromium.org

Review URL: https://codereview.chromium.org/988693005
2015-03-10 15:23:04 -07:00
Adam Barth
f54dbe91e1 Move material Input component into sky/framework
The implementation details are in sky/framework/editing.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/983213005
2015-03-10 15:03:10 -07:00
Adam Barth
9889757ca7 Make a material design Input component
We don't yet have a focus controller, which means once this control becomes
focused there's no way for it to lose focus.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/999553002
2015-03-10 14:58:12 -07:00
Adam Barth
b19dbcdea4 Make Sky's EditableText mostly work
This CL factors EditableString out of EditableText and implements more of the
InputConnection functions. As a result, EditableText now basically works.

This CL also paves the way to make EditableText stateless by using
EditableString as its state object. However, there's still a bit more work to
do to make that a reality (e.g., factoring out the cursor blink timer and the
connection to the keyboard).

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/995073002
2015-03-10 12:31:55 -07:00
Adam Barth
ae27b3ee0e Implement a basic IME-aware input element
This CL introduces a new keyboard service that understands Android IME and
starts work on a Input component that interacts with this service to provide an
editing control.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/995613002
2015-03-09 16:19:56 -07:00
Adam Barth
1a573cf3eb SkyShell DCHECKs on startup sometimes
Sometimes we try to draw a 0x0 picture. We shouldn't bother trying to turn a
0x0 picture into actual pixels.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/984153004
2015-03-09 16:19:33 -07:00
Ojan Vafai
31489a771b Fix hit-testing of elements with the same z-index.
hit-testing needs to walk in backwards order from paint.
The previous attempt at reverse sorting by z-index didn't
reverse things with the same z-index. Instead, forward
sort the same way as we do with paint and then reverse
the whole vector.

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

Review URL: https://codereview.chromium.org/986793002
2015-03-06 15:53:02 -08:00
Eric Seidel
66d5d9e270 Re-enable dart:sky in shelldb analyze.
It show 600+ "native" warnings, but those can be ignored
for now.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/981103002
2015-03-05 16:22:50 -08:00
Eric Seidel
5916b0ba41 Fix test_sky after 14270f1151aacfa650985c4333572c356d15c024
In order to make the Dart Analyzer stop complaining about
Event not having a default constructor (and all Event subclasses
not having an explicit constructor, thus having an implicit one
which calls the default Event() constructor), I made all of
Event()'s parameters named and thus optional, but did not update
our one sky test which used Event().

The real fix is probably to make the autogenerator smart enough
to have FooEvent() call super("foo"), but I was lazy.

This at least fixes the tests (and greens the waterfall) for now.

TBR=abarth@chromium.org
BUG=

Review URL: https://codereview.chromium.org/988573002
2015-03-05 15:45:06 -08:00
Eric Seidel
db770fd79a Fix all dartanalyzer errors in dart:sky except the Native ones.
I also fixed all warnings. :)

This is the only error remaining:
[error] Native functions can only be declared in the SDK and code
that is loaded through native extensions

My understanding is that we need to do something similar to:
https://codereview.chromium.org/950063002/
in order to work around the 'native' issue.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/981733009
2015-03-05 13:36:48 -08:00
Eric Seidel
fd65c40766 Add a new analyze command to shelldb to run the dart analyzer
This just makes it easier to run with the correct flags.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/982093003
2015-03-05 11:28:57 -08:00
Adam Barth
d7fb378e60 stocks and stocks-fn should share the stocks data
Previously, the two versions of this sample app had separate copies of the
stock data. This CL moves the common data to the common data directory so that
they can share. Also, I've switched the data files to be |dart| files rather
than |sky| files to make them easier to use from fn examples.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/980953002
2015-03-05 09:56:51 -08:00
Adam Barth
2fc5b764b8 Clean up examples directory
This CL removes a bunch of examples that don't actually work in the current
engine. I've also renamed example-element to custom-element and
example-scrollable to scrolling because the word "example" in the name is
redundant with the name of the directory.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/980323003
2015-03-05 09:55:55 -08:00
Adam Barth
3dc89e8182 Update SDK.md 2015-03-05 08:42:17 -08:00
Eric Seidel
9e00d123de Make shelldb not crash.
I clearly hadn't actually tested it.  Sorry.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/955263004
2015-03-03 12:49:56 -08:00
Eric Seidel
1a1026919f Add super-primitive shelldb
This is basically skydb v2, except only for android.

I revisited some of the architecture decisions I made
in writing skydb.  I also separated skyserver.py from
dependency on skypy/paths.py since it wasn't really adding
any value.

We could make this way fancier, but this should at least
make working with SkyDemo.apk easier for now.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/960233007
2015-03-03 10:55:22 -08:00
Adam Barth
20d1a8146d Stocks app shouldn't show black when resuming from recents list
Previously, we weren't scheduling a visual update when our surface was created,
so we'd just continue to show black until the author requested a new animation
frame. After this CL, we schedule a visual update as soon as our surface is
created.

As part of this change, I've removed knowledge of the GPU delegate from
PlatformView. Now, all the calls from PlatformView to the GPU system bounce
through the UI delegate, which serializes the commands with other commands from
the UI engine to the GPU rasterizer.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/974483004
2015-03-02 16:25:24 -08:00
Adam Barth
6000b80b50 Add instructions for using the Sky SDK
These instructions don't work yet, but they're something to aim for.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/968213005
2015-03-02 14:57:29 -08:00
Ojan Vafai
151db532d7 Make removing a transform not crash.
This broke with https://codereview.chromium.org/965013003.
Before that patch, updateTransform was only called on the
RenderLayer itself. Now it's called on the RenderBox,
so we need to null check the RenderLayer.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/969893002
2015-03-02 14:37:12 -08:00
Adam Barth
4b2e936b19 Make it possible for SkyShell embedders to register services
We now register the sensor service from SkyDemo, which shows that embedders of
SkyShell can register their own Java services.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/969753003
2015-03-02 13:33:56 -08:00
Adam Barth
e69fc6a47d Use double rather than float
double is a built-in type in Dart. float isn't...

TBR=eseidel@chromium.org

Review URL: https://codereview.chromium.org/968293003
2015-03-02 13:11:05 -08:00
Eric Seidel
588825a6e1 Add support for pressure on pointer events
The touch demo needs some basic smoothing, right now
it looks rather jittery after this change.  But the pressure
code is definitely working!

R=abarth@chromium.org
BUG=

Review URL: https://codereview.chromium.org/970493003
2015-03-02 12:38:29 -08:00
Ojan Vafai
45a4417dcb Remove unused foregroundRect argument to RenderLayerClipper::calculateRects.
The only thing that uses it is RenderTreeAsText.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/964023002
2015-03-02 12:10:05 -08:00
Eric Seidel
999fc7afa6 Add support for scroll and fling gestures to SkyShell.
This is not complete gesture support by far, but it's a start.
MojoShell and Chrome use a C++ GestureDetector, this code attempts
to use the Android (Java) GestureDetector instead.

We probably should not be sending gesturetap until we've decided
it's not a scroll, etc, but this implementation does not go that far.

I had to fix a bug whereby we were assuming the InputEvent.time_stamp
was in TimeDelta's internal format, which was wrong.  When we get
time_stamp from Android its in ms since boot.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/969493002
2015-02-27 16:46:19 -08:00
Adam Barth
3c90612675 Make shake-to-reload actually work
We need to create a new service provider when we navigate to a new page
otherwise the new page is sad that the old page took its service provider.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/962383003
2015-02-27 16:38:40 -08:00
Adam Barth
468ad2751c Implement shake-to-reload
Apps can import this library if they wish to reload on shake.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/963303004
2015-02-27 15:31:11 -08:00
Adam Barth
bf076f75b7 Expose Android sensors to via Mojo services
This CL adds a sensor_service to sky/services and wires it into SkyShell
The plan is to eventually use this data to implement shake-to-refresh.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/962043002
2015-02-27 14:37:50 -08:00
Zachary Anderson
7d03344783 Dart: Removes name conflicts from generated bindings.
This change causes the generated abstract class having the same name as the interface to contain only the interface's method declarations. The generated Proxy class then implements the base class. In addition to implementing the interface methods, the generated Proxy class has one private field _proxyImpl, which is a MojoEventStreamListener and manages sending messages and receiving responses. Operations on the ProxyImpl (close, bind, etc.) are exposed through generated utility functions.

The generated Stub is largely as before with the difference that a class providing a service will implement the mojo interface and *have* a Stub rather than be a Stub. Where appropriate, this change also calls listen() immediately where a Stub is constructed.

BUG=
R=hansmuller@google.com, sky@chromium.org

Review URL: https://codereview.chromium.org/959993002
2015-02-26 15:16:14 -08:00
Eric Seidel
f17af20890 Fix multi-touch to work in SkyShell.
Before this patch it crashed.

Also updated the touch-demo to support multi-touch.

R=abarth@chromium.org
BUG=

Review URL: https://codereview.chromium.org/961483004
2015-02-26 12:23:18 -08:00
Adam Barth
148ce10dc6 Introduce Stocks.apk
This CL renames SkyShell.apk to SkyDemo.apk and adds a Stocks.apk which
defaults to the stocks demo app. Sky Shell is now a library that can be
packaged by different APKs.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/965493002
2015-02-26 12:05:17 -08:00
Adam Barth
72d111c8c6 Delete sky/scheduler
This code is unused. It's not even built.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/963513004
2015-02-26 10:27:02 -08:00
Benjamin Lerman
9e84736edf Fix sky shell.
This add the missing RequestNavigateHistory method on sky::Engine.

It is currently not implemented.

TBR=abarth@chromium.org

Review URL: https://codereview.chromium.org/957973003
2015-02-26 10:46:25 +01:00
Adam Barth
9194603990 Add missing dependency from Eric's last commit
TBR=eseidel@chromium.org

Review URL: https://codereview.chromium.org/952213005
2015-02-25 15:36:24 -08:00
Eric Seidel
5a69a1edca Make WebView::close not crash and start to fix navigation in SkyShell
However WebView::close() no longer crashes.  close() is never called
in MojoShell since mojo can't shutdown yet.

I tried closing the existing WebView and replacing it
but somehow that caused it to only draw red.  After a while
of looking at this with abarth we decided to just load into
the same WebView for now.

Eventually we should do something smarter where we start the
provisional load and only replace the webview once the new one is
ready, but that's a later CL.

R=abarth@chromium.org
BUG=

Review URL: https://codereview.chromium.org/952273003
2015-02-25 15:25:17 -08:00
Zachary Anderson
29dad69899 Dart: Renames dart:mojo_blah -> mojo:blah
This improves consistency with the convention that the dart: scheme is
only for things from the Dart standard library.

BUG=
R=erg@chromium.org

Review URL: https://codereview.chromium.org/951783004
2015-02-25 14:29:41 -08:00
Adam Barth
24c33e48dc Share sky::PlatformImpl bettween sky_viewer and SkyShell
This should let SkyShell load images.

R=eseidel@chromium.org
BUG=https://github.com/domokit/mojo/issues/52

Review URL: https://codereview.chromium.org/959773005
2015-02-25 14:26:53 -08:00
Ojan Vafai
f5c662cbbd Fix clipping of content outside the bounds of the window.
https://codereview.chromium.org/899753003 incorrectly passed down the
RenderView's clipping rect all the down through transforms instead of
using the one from the LayerPaintingInfo, which is adjusted for transforms
as you recurse down the tree.

TBR=abarth@chromium.org

Review URL: https://codereview.chromium.org/957643002
2015-02-24 20:40:10 -08:00
Eric Seidel
aa1d4db99c Fix display of fonts in SkyShell
Originally reviewed for the branch on:
https://codereview.chromium.org/945083002

TBR=abarth@chromium.org

Review URL: https://codereview.chromium.org/953933004
2015-02-24 17:43:54 -08:00
Eric Seidel
6fa805515e Add support for VIEW intents to SkyShell.
This was landed on the skyshell branch and I forgot to pull it over:
https://codereview.chromium.org/946583003

TBR=abarth@chromium.org

Review URL: https://codereview.chromium.org/954893002
2015-02-24 17:39:36 -08:00
Eric Seidel
c6f997085c Make splash animations abort on scroll.
I also fixed the transform hack in material-element to clean
up after itself.

I also discovered that our namedSetter implementation did not
handle null (it crashed) while doing this.  I fixed that
and tested my fix.

This runs great on a Nexus 5, but poorly on an Nexus 10.

R=abarth@chromium.org
BUG=

Review URL: https://codereview.chromium.org/956753002
2015-02-24 17:20:18 -08:00
Ojan Vafai
9d1f53dfb7 Cleanup transform-related methods in RenderLayer.
-Get rid of paintsWithTransform.
-Remove currentTransform. It was only ever called with
IncludeTransformOrigin and on non-null transforms.
-Remove renderableTransform. It was only called on
non-null transforms.
-Remove a layer()->parent() branch. The ASSERT had been
added in a previous patch, but the branch wasn't removed.
-Inline makeMatrixRenderable. It was only called in one
place.
-Add a test to make sure that transform origin is corrrectly
excluded from the transform computedStyle.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/958463002
2015-02-24 14:31:48 -08:00
Przemyslaw Pietrzkiewicz
8da87cd781 Serve skydb on localhost instead of 0.0.0.0.
This patch makes skydb http server available only for local connections.

BUG=460908
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/945663003
2015-02-24 18:10:15 +01:00
Przemyslaw Pietrzkiewicz
6ba70f9530 http_server: accept full NetAddress in CreateHttpServer.
This patch allows to specify a full NetAddress on which the server is to
be set up.

This is needed to decide between running the server on externally
visible address (like http_handler would like) and localhost (like skydb
would like).

No change in behavior of existing clients in the Mojo repo should occur.
A follow-up patch will switch some of the clients from 0.0.0.0 to
localhost.

BUG=460908
R=qsr@chromium.org

Review URL: https://codereview.chromium.org/953513002
2015-02-24 17:33:42 +01:00
Colin Blundell
04f7cb9a0b Add ApplicationDelegate::Quit()
This CL adds ApplicationDelegate::Quit(), which ApplicationImpl calls
before shutting down the main run loop. In this function, an
ApplicationDelegate should shut down anything that relies on the main
run loop being active.

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

Review URL: https://codereview.chromium.org/947253003
2015-02-24 14:06:47 +01:00
Adam Barth
da65a22fca Add a script to download material design assets from gs
We're going to use these assets to make pretty demos of Sky but not every
developer needs them in their working copy.

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

Review URL: https://codereview.chromium.org/951063006
2015-02-23 17:25:43 -08:00
Scott Violet
46d78892e7 Gets HTMLIFrameElement::embedViewManagerClient to work with dart
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/948943002
2015-02-23 15:29:22 -08:00
Adam Barth
1a9ba34816 Remove outdated examples and framework pieces
None of this code runs in the current Sky. Some of it never ran.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/951673003
2015-02-23 15:09:36 -08:00
Adam Barth
0650e9d727 Update HACKING.md 2015-02-23 10:12:05 -08:00
Adam Barth
16bd322935 Morph "appish" example into a "stocks" app
We'll flesh this example out over time to demo a bunch of our widgets.

TBR=eseidel@chromium.org

Review URL: https://codereview.chromium.org/954503002
2015-02-23 09:30:11 -08:00
Adam Barth
e33c3ffadf Port sky-drawer to Dart
Also, port the "appish" example to exercise the drawer.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/942413002
2015-02-23 08:30:58 -08:00