266 Commits

Author SHA1 Message Date
Adam Barth
aec7d422e7 Pass the Mozart ViewHost into Dart
Dart needs access to the ViewHost in order to create child views.
2016-02-03 14:39:45 -08:00
Adam Barth
4192794b60 Merge pull request #2347 from abarth/composite_child_scenes
Include child scenes when uploading to Mozart
2016-02-03 14:21:22 -08:00
Adam Barth
e3bf0fa3c1 Include child scenes when uploading to Mozart
Previously we just dropped child scenes on the floor. Now we upload them
to Mozart. However, we just draw them on top of all the other content
and don't apply any clips or blends.
2016-02-03 14:16:09 -08:00
Chinmay Garde
7dcf0c7765 Make the dynamic_service_loader target explicitly depend on common deps for generated headers 2016-02-03 13:59:17 -08:00
Chinmay Garde
c40b3d808d Install Mojo system thunks in dylib loaded for dynamic service resolution 2016-02-03 13:45:20 -08:00
Adam Barth
94dac511f6 Fix the mac build 2016-02-03 09:58:47 -08:00
Jason Simmons
2dd834fd45 Merge pull request #2339 from jason-simmons/platform_activity_services
Implementation of platform services for Android
2016-02-02 17:02:59 -08:00
Chinmay Garde
a7349a1142 Allow dynamic service resolution in the iOS shell 2016-02-02 16:55:35 -08:00
Jason Simmons
7730a0c123 Implementation of platform services for Android 2016-02-02 16:10:22 -08:00
Devon Carew
7204fc0663 Merge pull request #2335 from devoncarew/start_paused
some work towards a --start-paused flag
2016-02-02 12:20:43 -08:00
Devon Carew
3c83f895ed some work towards a --start-paused flag 2016-02-02 11:44:01 -08:00
Chinmay Garde
7fe880d89f iOS: Implement service providers for flutter.platform 2016-02-02 11:37:18 -08:00
Adam Barth
bdacb56cdd Improve IME interface
Instead of providing a stream of mutations, we now provide a the client with
the complete state of the editing control to prevent the two from getting out
of sync.

As a side-effect, we can now move the cursor around when editing a text field.
2016-02-01 20:41:48 -08:00
Chinmay Garde
191413999f Merge pull request #2330 from chinmaygarde/master
Add an assertion in debug if the application requests an unknown service
2016-02-01 15:42:33 -08:00
Chinmay Garde
7cc0e03ba5 Remove the mojo::Close call because the desctructor will automatically be called when the handle goes out of scope 2016-02-01 13:14:34 -08:00
Jason Simmons
3407ce1fb9 Reset all animator state when restarting a paused animator
Fixes #1499
2016-02-01 13:05:54 -08:00
Chinmay Garde
2854f56be1 Add an assertion in debug if the application requests an unknown service 2016-02-01 12:56:02 -08:00
Jason Simmons
052d65cc14 Clear the Flow raster cache when a GrContext is destroyed
After an application is suspended and the GrContext associated with the
Flutter view is destroyed, the raster cache still contains images tied
to the defunct context.  The SkyShell process will crash if these images
are used after the application resumes.
2016-02-01 10:36:09 -08:00
Adam Barth
c3c5af1fbe Move Flow layers to //flow/layers 2016-01-30 23:35:22 -08:00
Adam Barth
7bce54b79e Fix build 2016-01-30 13:42:35 -08:00
Adam Barth
0a7fae7c0a Merge pull request #2295 from abarth/ios_avoid_keyboard
Teach flutter how to avoid the iOS keyboard
2016-01-30 13:32:13 -08:00
Jason Simmons
bb50a35434 Reset the animator before assigning a new vsync provider
When the engine starts a new version of the Dart application, the animator may
have pending callbacks and other state related to the previous run of the app.
This state must be cleared before the new vsync provider is assigned.
2016-01-28 16:41:12 -08:00
Adam Barth
411c6bfa4b Port flutter.mojo to Mozart
Everything should work except the keyboard.
2016-01-28 16:04:19 -08:00
Adam Barth
707a18cde6 Teach flutter how to avoid the iOS keyboard
In the future, we'll probably want to plumb through the keyboard animation
parameters, but for now we match the behavior on Android where we move the
widgets out of the way of the keyboard without animation.
2016-01-28 15:29:24 -08:00
Jason Simmons
8d7a4bb3f8 Merge pull request #2313 from jason-simmons/view_reset_isolate
Create a new pipe to the ServiceProvider when PlatformViewAndroid sta…
2016-01-28 12:48:16 -08:00
Jason Simmons
35e3e94e25 Create a new pipe to the ServiceProvider when PlatformViewAndroid starts a Dart isolate
Previously PlatformViewAndroid would create a pipe and hand it off to the
SkyEngine, which would give it to the isolate's DartState.  If a second
isolate is created, the SkyEngine would no longer hold a valid proxy to a
ServicesProvider, and the new isolate's Dart code can not obtain the
servicesProvidedByEmbedder.
2016-01-28 11:13:46 -08:00
Chinmay Garde
611ea9cc31 iOS: Respect view controller visibility notifications and wire in Engine::OnAppLifecycleStateChanged 2016-01-28 11:00:29 -08:00
Chinmay Garde
0d446703bf iOS: Implementation of ::activity::Activity from activity.mojom 2016-01-27 15:01:53 -08:00
Adam Barth
e22e75ea50 Merge pull request #2302 from abarth/rm_scoped_ptr
Remove almost all uses of base::scoped_ptr
2016-01-27 08:38:41 -08:00
Adam Barth
142c5dc5ec Remove almost all uses of base::scoped_ptr
We now use std::unique_ptr more consistently.
2016-01-27 01:05:47 -08:00
Adam Barth
c3a78a1796 Remove dependencies on ui/gfx/geometry
We have enough geometry classes kicking around. We don't need the
ui/gfx/geometry types too.
2016-01-26 23:57:20 -08:00
Chinmay Garde
bb2affa7e5 iOS: Add an explicit FLX resource copy phase to the framework target
Also asserts on there being an FLX bundle at all
2016-01-26 14:34:21 -08:00
Collin Jackson
8d056e02a6 Use the same registration process as GCM for Firebase 2016-01-22 18:23:22 -08:00
Matt Perry
0ee5a29163 Support dynamic registration of mojo services on Android
SkyApplication now reads service info from a services.json file bundled
with the apk. For each service, it registers a method that invokes
connectToService on a named class. This way, third party services can
register themselves.

There's a corresponding change to flutter_tools to generate this
services.json when building an apk that depends on services.
2016-01-21 16:55:51 -05:00
Adam Barth
33d7553e39 Improve handling of window insets on Android
Now that we understand window insets, we don't need to hard-code the size of
the status bar. Also, convert the viewport metrics to be consistently in
physical pixels.
2016-01-21 11:24:17 -08:00
Adam Barth
0140555b54 Remove integration between tonic and WTFString
We used to share memory between Dart strings and WTF::String objects by
way of the Dart externalized strings. That used to be important when the
DOM shared many strings between C++ and Dart. However, now that we don't
retain strings in C++ much anymore, we don't need this complexity.

This patch removes DartStringCache and the integration. It also unwinds
several cases where we were converting back and forth between
WTF::String and std::string for no reason. Now we use std::string more
consistently.

For the case of ParagraphBuilder::addText, we now take a raw const
char*, which more closely matches the API the DartVM exposes. That means
we do a single copy out of the VM and into the render tree at that
point.
2016-01-18 20:47:46 -08:00
Chinmay Garde
278af8d155 Path service implementation for iOS 2016-01-15 16:33:02 -08:00
Adam Barth
0b629d419f Move //sky/compositor to //flow
Now that the compositor doesn't have any tricky deps, we can make it a
top-level project, which saves a bunch of typing.
2016-01-12 22:39:51 -08:00
Adam Barth
6d1af600b1 Trim unneeded depedendencies from sky/compositor
Now we just depend on Skia and Base, which makes the compositor easier
to understand.

Also, update our skia/ext/refptr.h to match the current version of the
code in Chromium. This version adds support for several useful C++11
patterns.
2016-01-12 22:02:08 -08:00
Adam Barth
bec6ad5d3f Merge pull request #2178 from floitschG/handleRealTime
Add 'HandleRealTimeEvents' to window.
2016-01-12 12:25:13 -08:00
Collin Jackson
9d715b340a Initial Firebase Flutter service implementation 2016-01-08 15:28:07 -08:00
Adam Barth
2e5d3c4977 Preroll rasterization
Prerolling the rasterization tasks reduces the number of render target
switches because we don't interrupt the main render target.
2016-01-08 13:17:13 -08:00
Jason Simmons
a9c22e9d8c Initial work toward exposing the Java native interface APIs in Dart 2016-01-07 15:06:35 -08:00
Collin Jackson
0d4185b4f6 Fix typo in application identifier 2016-01-04 12:21:13 -08:00
Adam Barth
241fc21055 Don't destory the engine when detaching from the window
Reading the Android docs, it sounds like an android.view.View can re-attach to
the window after detaching. Previously, we destroyed the engine when we
detached from the window. Now we wait for the activity to be destroyed.

Hopefully fixes #997
2016-01-04 10:39:09 -08:00
Adam Barth
b4377c93dd Remove RuntimeEnabledFeatures
This complex machinery made sense for Blink, which has hundreds of
developers. In our case, we're just moving around two bools. We can do
that in a much simpler way.
2015-12-29 22:27:18 -08:00
Jason Simmons
e55cf62694 Provide callbacks for activity pause and resume events 2015-12-15 18:01:36 -08:00
Florian Loitsch
8e1fc82146 Add 'FlushRealTimeEvents' to window. 2015-12-11 16:11:47 -08:00
Adam Barth
9c3aac7c2f Remove //url
We don't use this anymore.
2015-12-11 11:20:23 -08:00
Jason Simmons
86e9b92679 Merge pull request #2168 from jason-simmons/roll_mojo_1210
Update to mojo b7c8cb12f05d3bc1351e65a4f9a84c5d1bcd1704
2015-12-11 09:43:46 -08:00