35 Commits

Author SHA1 Message Date
Jason Simmons
7356a50445 Copy platform message buffers into byte arrays passed via JNI (#3536)
The Java message object may be held by user-provided message handlers beyond
the lifetime of the raw blink::PlatformMessage and its data buffer
2017-03-28 17:15:01 -07:00
Jason Simmons
59b2fb954f Release JNI references to ByteBuffers passed from native to Java (#3535) 2017-03-28 13:58:42 -07:00
Chinmay Garde
1c07ea530f Remove uses of //base from all //flutter projects and replace them with //fml variants. (#3492) 2017-03-22 15:42:51 -07:00
Mikkel Nygaard Ravn
74de13c0bd FlutterXxxChannel concepts added to support Flutter/Android interop (#3446)
New concepts: FlutterMessageChannel (basic message send/receive superseding existing FlutterView methods), FlutterMethodChannel (method invocation and event streams), pluggable codecs for messages and method calls: unencoded binary, string, json, and 'standard' flutter binary encoding.
2017-03-01 13:54:32 +01:00
Jason Simmons
2c5f028ddd Fix a race in PlatformView construction (#3380)
The PlatformView superclass constructor was posting a task to the UI thread
that adds the view to the shell's global list.  This could result in UI thread
operations seeing PlatformView instances that are not fully constructed and do
not yet have an engine.

This was happening in https://github.com/flutter/flutter/issues/7735
2017-01-31 17:54:34 -08:00
Chinmay Garde
94306f4103 Add a Vulkan backend for Fuchsia and Android. (#3282) 2017-01-20 14:37:10 -08:00
Jason Simmons
d394e8a9bf Clear the GPU thread's EGL context only after the GPUSurfaceGL has been destroyed (#3346)
The GPUSurfaceGL holds references to Skia objects that may own GL objects.
If the GL objects are destructed on the GPU thread after the EGL context has been
dropped, then the GL delete calls will not take effect.
2017-01-18 17:19:50 -08:00
Chinmay Garde
8ae2d455be Display resident memory statistics on the performance overlay. (#3314) 2017-01-03 12:27:30 -08:00
Jason Simmons
c6e008178e Detach the EGL surface from the GPU thread and then destroy it during the FlutterView surfaceDestroyed callback (#3316)
Fixes https://github.com/flutter/flutter/issues/7147
2016-12-16 15:36:33 -08:00
Jason Simmons
74c1b2e4d7 Unblock FlutterView.getBitmap if there is no available layer tree (#3294) 2016-12-06 15:12:03 -08:00
Adam Barth
21f6aa5270 Composite child views in proper paint order (#3243)
We push a bit up the tree during preroll to learn whether there system
composited layers below each layer. During update scene, we squash down
to paint tasks, which we execute after publishing the new scene.
2016-11-18 12:54:54 -08:00
Jason Simmons
e54b0e286b Roll Dart (#3194)
Update DartServiceIsolate/FlutterView because VMServiceIO_NotifyServerState
now provides a URI for the observatory
2016-11-01 17:11:56 -07:00
Chinmay Garde
b3ca46b363 Initialize AndroidSurfaceGL and its associated resource context before ANativeWindow acquisition. (#3193)
* Initialize AndroidSurfaceGL and its associated resource context before ANativeWindow acquisition.

This allows us to create the IO thread context way earlier and service load requests on the same. Before this patch, early lifecycle loads would use the default Skia texture loader instead of the Async texture loader we provide.

Fixes https://github.com/flutter/flutter/issues/6581

* Don't destroy surface_gl_ PlatformViewAndroid::ReleaseSurface.
2016-11-01 15:02:56 -07:00
Jason Simmons
801addcfaf Fix warning about converting a null snapshot override path (#3190) 2016-11-01 14:38:27 -07:00
Adam Barth
4b8c9051e5 Remove last mojom interface (#3184)
We no longer use mojom to transport messages. We still use the Mojo EDK
to spin the event loop, however.
2016-10-28 11:46:57 -07:00
Adam Barth
9eaedb0677 Migrate ViewportMetrics away from Mojo (#3180)
Now we just pass the data directly.
2016-10-27 13:12:55 -07:00
Adam Barth
d4f67e6b75 Migrate vsync away from Mojo services (#3169)
Instead, just use JNI and Objective-C directly.
2016-10-24 16:14:37 -07:00
Adam Barth
b1c0ea79ca Switch engine over to platform messages (#3153)
This patch removes the use of the host messages mojom and switch all
message routing over to platform messages.
2016-10-19 22:36:00 -07:00
Adam Barth
ae5d521e54 Switch from char to uint8_t to represent memory (#3147)
Previously we had a mix of the two.
2016-10-19 16:49:36 -07:00
Adam Barth
3bcdaa32b0 Complete routing for Java-to-Dart messages (#3140)
This patch completes the routing for Java-to-Dart platform messages.
2016-10-17 16:47:42 -07:00
Adam Barth
3bcf58484a Fix build 2016-10-14 16:01:23 -07:00
Adam Barth
82728570b7 Response messages (#3134)
Add plunbing for Host-to-Dart platform messages

We'll use the plumbing in this direction for things like key events.
2016-10-14 15:51:25 -07:00
Adam Barth
e93d2c2755 Add PlatformPlugin.java (#3121)
The PlatformPlugin is the first of the built-in plugins that will replace the
mojom platform services.
2016-10-12 13:27:12 -07:00
Jason Simmons
7d7a9c76b3 Remove obsolete PlatformView::Resize and GetSize methods (#3112) 2016-10-11 11:55:23 -07:00
Jason Simmons
d9d2333686 Do not attach and detach the EGL context on each frame in the rasterizer thread (#3110) 2016-10-11 11:14:07 -07:00
Adam Barth
2dc88cc6a5 Switch backend to consume new semantics API (#3103) 2016-10-11 10:52:48 -07:00
Adam Barth
192bc174c2 Update //lib/ftl (#3108)
This fixes this Fuchsia build, which uses the latest //lib/ftl.
2016-10-07 14:07:09 -07:00
Adam Barth
dec24015d7 Add new platform message transport on Android (#3105)
This transport uses the Dart and JNI APIs directly instead of indirecting
through Mojo.
2016-10-07 12:05:43 -07:00
Adam Barth
881fc5841f Remove failed UIDelegate abstraction (#3106)
We only ever had one UIDelegate. We might as well have people use the Engine
interface directly.
2016-10-06 16:19:05 -07:00
Chinmay Garde
fdf13d720e Make the PlatformView client rendering API agnostic. (#3099) 2016-10-06 15:06:21 -07:00
Adam Barth
f97caf271c Expose SemanticsUpdate and SemanticsUpdateBuilder (#3098)
This patch prepares us to switch sending semantics information over mojom to
using dart:ui directly. Currently the recorded information is dropped on the
floor, but that will improve in future patches.
2016-10-05 12:22:03 -07:00
Chinmay Garde
1af7a6fe30 Update buildroot and re-enable use of C++14 on Android x86. (#3096) 2016-10-04 12:53:08 -07:00
Adam Barth
2d543593c3 Fix x86_64 build 2016-10-03 21:26:26 -07:00
Adam Barth
862d9e9f6b Android should use PointerDataPackets (#3092)
We now use JNI rather than Mojo to transport pointer data from Java to Dart.
Also, fill in a few more of the pointer data fields from information in Java.
2016-10-03 21:02:46 -07:00
Chinmay Garde
9eb446e0d5 Move shell to //flutter and split shell/BUILD.gn into smaller pieces for each subcomponent. (#3053)
* Namespaces have been updated to reflect the move from //flutter/sky/shell to //flutter/shell.
* shell/BUILD.gn file has been split into smaller GN files for each subcomponent of the shell (common, GPU, diagnostic, testing).
* GN dependencies have been rewritten to stop exposing common shell dependencies as public. Duplicates have also been removed.
* GPU subcomponent has been updated make it more suitable for Vulkan integration.
* The GLFW backend has been resurrected.
2016-09-23 15:33:25 -07:00