53 Commits

Author SHA1 Message Date
Chris Bracken
bc2acf7bdd
Revert "Roll Fuchsia buildtools to 85907c59e97527d79bbfdfd849d8e85c24959cc5 (#4331)" (#4340)
With the update to HEAD of the Fuchsia buildtools repo, the new clang
toolchain picked up caused link-time breakage in android x86_64
libFlutter.so builds.

Sample log:
https://build.chromium.org/p/client.flutter/builders/Linux%20Engine/builds/1974/steps/build%20android_debug_x64/logs/stdio

Sample failure:
FAILED: libflutter.so libflutter.so.TOC lib.stripped/libflutter.so
../../third_party/android_tools/ndk/toolchains/x86_64-4.9/prebuilt/linux-x86_64/lib/gcc/x86_64-linux-android/4.9.x/../../../../x86_64-linux-android/bin/ld.gold: error: obj/flutter/shell/platform/android/libflutter/android_context_gl.o: unsupported reloc 42 against global symbol std::__ndk1::num_put<char, std::__ndk1::ostreambuf_iterator<char, std::__ndk1::char_traits<char> > >::id

This reverts commit 8ad42f0dae3cb1267c2b9ab99db80e4696ddbc3d.
2017-11-08 16:48:00 -08:00
Chris Bracken
8ad42f0dae
Roll Fuchsia buildtools to 85907c59e97527d79bbfdfd849d8e85c24959cc5 (#4331)
* Roll Fuchsia buildtools to 85907c59e97527d79bbfdfd849d8e85c24959cc5

This also updates Flutter buildroot to a6e52dbb776c45cc8c57d7143b8eb8b2e762fdfb
which disables -Wtautological-constant-compare temporarily until
https://reviews.llvm.org/D39462 lands in clang. This is in line with
Fuchsia's compiler options.

* Apply clang-format diffs

No logical changes. This applies clang-format from the latest Fuchsia
buildtools to the engine codebase.
2017-11-08 11:18:17 -08:00
Chinmay Garde
9a960f82f5 Add texture support (eg video, camera) (#4159) 2017-11-02 10:57:29 +01:00
Michael Goderbauer
b3d345e323
Android SeekBars announce their value (#4289)
* Android SeekBars announce their value

* style
2017-10-31 10:03:30 -07:00
Chinmay Garde
eabcf3aaa9
Avoid registering both the platform view and the rasterizer in the shell. (#4293)
Instead, the rasterizer can be accessed via the platform view.
2017-10-30 13:28:39 -07:00
Michael Goderbauer
91071f817b Support for accessibility label and hint (#4264)
* Support for accessibility label and hint

* review comments
2017-10-23 16:46:01 -07:00
Zachary Anderson
57f361dc6a Pass option to reuse an existing runtime controller (#4253) 2017-10-20 10:17:21 -07:00
Zachary Anderson
d3ebce9cf6 Allow a non-main entrypoint (#4238) 2017-10-18 14:19:28 -07:00
Zachary Anderson
555ccfc030 [Android] Lazily create the rasterizer and platform surface (#4207) 2017-10-12 15:38:28 -07:00
Michael Goderbauer
08961f8ec5 Format all c-like sources with clang-format (#4088)
* format

* license script adaptions

* updated licenses

* review comments
2017-09-12 15:36:20 -07:00
George Kulakowski
3aa7522c11 Rename ftl to fxl in Fuchsia specific code (#4090) 2017-09-11 15:58:48 -07:00
Ian Hickson
60bce44c9f Implement i18n features in the a11y API. (#4029) 2017-08-28 16:12:39 -07:00
xster
f187a5c219 Create platform API for first frame callback. Use for defer hiding splash screens on Android and iOS (#3956)
* Add back launch screen view until first frame on iOS

* improvements

* Move callback plumbing from ios surfaces to the gpu rasterizer. Didn’t wire java JNI yet.

* Android JNI

* Fix ios reference count and let android engine manage a view on top with launch screen

* Hook up Android activity and view

* review notes

* review notes

* Move thread switching upstream. Use weak references for callbacks.

* Some clean up
2017-08-14 15:44:52 -07:00
Jason Simmons
42f5bc5fdf Fixes related to usage of std::weak_ptr to hold PlatformViews (#3949)
* Call weak_ptr.lock(), which returns a null shared_ptr and does not throw
* IsViewInvalid was inverted
2017-08-03 10:53:17 -07:00
Carlo Bernaschina
8ba522eeae Avoid to freeze the system if hot reloading during debug (#3833) 2017-07-12 10:25:42 -07:00
Gary Qian
09de6f79da Add software as fallback if Vulkan and OpenGL fails (#3725) 2017-06-01 17:50:03 -07:00
Gary Qian
796259c089 Allow switching to the software rendering backend on Android. (#3719)
* Enable software rendering backend on android. Add "enable-software-rendering" flag.

* Fix variable naming and threading.
2017-05-31 17:27:47 -07:00
Mikkel Nygaard Ravn
68194b8df8 Distinguish between null platform message and one with zero-byte payload (#3577) 2017-04-09 00:07:28 +02:00
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