3051 Commits

Author SHA1 Message Date
Adam Barth
2cf3cffd3f Add //garnet (flutter/engine#4043)
This repository contains FTL now in the Fuchsia build.
2017-08-31 16:47:13 -07:00
Ryan Macnak
e766555661 Fix truncation of frame time on 32-bit Android. (flutter/engine#4040) 2017-08-31 09:46:34 -07:00
Sarah Zakarias
8becc361af fix binaryMessenger in FlutterAppDelegate (flutter/engine#4030) 2017-08-29 13:58:26 +02:00
Ian Hickson
bef10d5a70 Implement i18n features in the a11y API. (flutter/engine#4029) 2017-08-28 16:12:39 -07:00
Jason Simmons
e4cc8f5e41 Rebase the libtxt integration by @GaryQian onto the current engine head (flutter/engine#4022)
See https://github.com/flutter/engine/pull/3964
2017-08-28 13:01:15 -07:00
Michael Goderbauer
1fe869197a Traverse children from top left to bottom right for a11y (flutter/engine#4017)
* order

* comment fix

* review comments
2017-08-28 12:02:07 -07:00
Michael Goderbauer
050b4456fd Only expose available semantic scroll actions (flutter/engine#4010)
* Only expose available scroll actions

* formatting

* more formatting
2017-08-25 16:12:50 -07:00
Chinmay Garde
6a41695e04 Update ICU to ToT and ensure that slimmed down versions of data files are shipped on the mobile platforms. (flutter/engine#4005)
This reduces the size of the ICU data files from 10.3 MB to 6.6 MB (uncompressed). Also allows us to remove version specific hacks from libTXT and dependencies.
2017-08-24 14:26:07 -07:00
xster
5f93b1e9f3 Let the FlutterAppDelegate's messenger be customizable if the rootViewController isn't a FlutterViewController (flutter/engine#3916)
* Customizable messenger

* rename
2017-08-23 18:50:14 -07:00
Chinmay Garde
6c91bf883d Create a window toolkit agnostic Flutter engine API. (flutter/engine#3987)
* The Flutter engine will be shipped as a shared library.
* The engine is renderer and window toolkit agnostic.
* The simple public C API is described in embedder.h.
* ABI breaking changes will be indicated by changing the FLUTTER_ENGINE_VERSION.
* A simple GLFW based example of this API is available at https://gist.github.com/chinmaygarde/8abf44921f7d87f6da7bf026267c4792
2017-08-23 16:05:16 -07:00
xster
be545ba93b Add animation to Android too (flutter/engine#3981) 2017-08-23 12:57:06 -07:00
Chris Bracken
433b2507db Disable all rasterizer work while backgrounded on iOS (flutter/engine#4002)
On iOS, backgrounded applications are not permitted to execute GPU work.
See [1].  When backgrounding the application, we now tear down the
underlying iOS render surface, and re-create when the app returns to
foreground.

See [2] for a Technica Q&A on GL-related crashes when rendering is
attempted by a backgrounded application.

[1]: https://developer.apple.com/library/content/documentation/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/ImplementingaMultitasking-awareOpenGLESApplication/ImplementingaMultitasking-awareOpenGLESApplication.html#//apple_ref/doc/uid/TP40008793-CH5-SW1
[2]: https://developer.apple.com/library/content/qa/qa1766/_index.html
2017-08-22 19:57:52 -07:00
Jason Simmons
1e5a61b584 Revert to a Jellybean compatible variant of getDrawable (flutter/engine#3997) 2017-08-21 17:25:31 -07:00
Chris Bracken
1fda50a2c0 Fire TextInputClient.updateEditingState on text changes (iOS) (flutter/engine#3995)
For consistency with Android, when the engine receives a
TextInput.setEditingState message from the framework, and the text has
changed, we now send a TextInputClient.updateEditingState message back
to the framework with the updated state from the engine. The framework
currently relies on this behaviour to trigger onChanged events in
certain scenarios (e.g., on tapping Paste in the selection controls).

Note: it may be more desirable for the framework to trigger the
onChanged calls without relying on the return message from the engine,
but this change ensures consistent behaviour across iOS and Android
until we've evaluated the pros/cons of such an approach.
2017-08-21 12:39:56 -07:00
Jason Simmons
de38c0b15a Improve checks for calls into native code made after the platform view has been detached (flutter/engine#3926) 2017-08-17 10:24:12 -07:00
Carlo Bernaschina
e2b8d9e76b Avoid race condition into NotifyNextFrameOnce (flutter/engine#3980)
If GPURasterizer::NotifyNextFrameOnce was rapidly invoked twice could
have lead to a null pointer exception.

Also ftp::WeakPtr are not thread safe and should not be dereferenced
from other threads.
2017-08-15 14:35:16 -07:00
Jason Simmons
05dd4a01dd Remove use of a deprecated getDrawable API (flutter/engine#3979) 2017-08-15 11:54:04 -07:00
xster
d6d217cb4a Add an explicit user configurable check for whether to keep showing the splash screen. (flutter/engine#3976) 2017-08-15 11:01:12 -07:00
Zachary Anderson
1cf8c8f32e Fixes for gypi -> gni change in Dart (flutter/engine#3977) 2017-08-15 07:44:27 -07:00
xster
d85d4cc9ce Create platform API for first frame callback. Use for defer hiding splash screens on Android and iOS (flutter/engine#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
Sarah Zakarias
d5a7209ef9 Add flutter-driven navigation on iOS (flutter/engine#3865) 2017-08-09 13:01:35 +02:00
Chinmay Garde
2e10df7cb4 Implement all known blink::PointerData fields on iOS. (flutter/engine#3955) 2017-08-07 15:04:10 -07:00
Chinmay Garde
672b209e5e Update buildroot and opt out of LTO on unopt builds. (flutter/engine#3952) 2017-08-04 13:12:36 -07:00
Jason Simmons
ed7261c110 Fixes related to usage of std::weak_ptr to hold PlatformViews (flutter/engine#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
Chinmay Garde
e94546d547 On emulators, render onscreen (with warnings) if any of the MakeS32 based SkSurface creation calls fail. (flutter/engine#3947) 2017-08-02 14:29:29 -07:00
Jason Simmons
e5fed53de7 fix sRGB typo (flutter/engine#3942) 2017-07-31 17:12:45 -07:00
Jason Simmons
521031a50c Support sendKeyEvent for arrow keys (flutter/engine#3940)
Fixes https://github.com/flutter/flutter/issues/11352
2017-07-31 16:52:34 -07:00
Chinmay Garde
6d71aee780 Update buildroot to account for stricter warning flags. (flutter/engine#3939) 2017-07-31 16:22:15 -07:00
Jason Simmons
dc8f103ca8 Check for an empty selection in deleteSurroundingText (flutter/engine#3938)
Fixes https://github.com/flutter/flutter/issues/11437
2017-07-31 16:18:27 -07:00
Chinmay Garde
62108dc53e Always consume items from the pipeline in the null rasterizer. (flutter/engine#3937)
Now, frame requests past the pipeline depth will never be deferred due
to back pressure. This backend is only used in the test runner.
2017-07-31 15:16:48 -07:00
xster
62ee1c8b95 Extend iOS's drawing time to viewWillAppear <-> viewDidDisappear (flutter/engine#3934)
* fix (with squashed debug stuff)

* clean up
2017-07-31 15:12:32 -07:00
Chinmay Garde
a8b230ae6c Update the Vulkan backend to account for GPUSurface API updates. (flutter/engine#3933) 2017-07-28 18:25:13 -07:00
Chinmay Garde
7314a7e0bc When the surface does not support SRGB, render to an offscreen texture. (flutter/engine#3930) 2017-07-28 12:48:32 -07:00
Jason Simmons
dc5ae3c20f Do not send messages if the platform view has been detached (flutter/engine#3927) 2017-07-26 20:04:31 -07:00
Alexander Aprelev
5bc3ac48a3 Update Flutter engine kernel-loading logic. (flutter/engine#3886)
* Fix Flutter loading from dill files.

* Remove disable of causal async stacks.

* Include mirrors patch files as they are needed for release/profile gen_snapshot

* Free the bytes

* Add FTL_DCHECK
2017-07-24 09:47:23 -07:00
xster
b355dec44a Always schedule a frame on app did become active (flutter/engine#3910) 2017-07-20 10:54:08 -07:00
Chinmay Garde
929da4904d Reduce layer tree pipeline depth to 2. (flutter/engine#3909) 2017-07-19 17:47:44 -07:00
Carlo Bernaschina
e7cd520490 Add waitUIThreadIdle service RPC (flutter/engine#3898)
In https://github.com/flutter/engine/pull/3833 the `_flutter.listViews` RPC moved from thread based to lock based synchronization.
The thread based synchronization side effect was used by flutter benchmarks in https://github.com/flutter/flutter/blob/master/packages/flutter_tools/lib/src/vmservice.dart#L1223 and
https://github.com/flutter/flutter/blob/master/packages/flutter_tools/lib/src/run_hot.dart#L156 to ensure the completeness of the restart/reload and so correct timing.

A new RPC `_flutter.flushUIThreadTasks` is introduced to allow the flutter benchmarks to reintroduce thread based synchronization.

Related https://github.com/flutter/flutter/issues/11241
2017-07-19 15:48:32 -07:00
Todd Volkert
27c20427cc Add PluginRegistry.Registrar#view() (flutter/engine#3900)
Sometimes, plugin instances need access to the `FlutterView`.
They can currently cast the `messenger()`, but that's fragile.
This adds API support for getting the view from the registry.
2017-07-18 19:16:15 -07:00
Chinmay Garde
d531cc9819 Enable the “Highlight Vsync” option in the timeline viewer on Android. (flutter/engine#3901) 2017-07-18 18:11:35 -07:00
Chinmay Garde
9dbdc4bee6 Fix Mac desktop platform for use with std::weak_ptr in the PlatformView. (flutter/engine#3897) 2017-07-18 14:29:36 -07:00
Brian Osman
1a126078de Revert "Revert "Reland "Run Flutter on iOS and Android with color correct Skia (#3826)" (#3878)" (flutter/engine#3895)
This reverts commit 849b700434fdcd3fc24f05640582b127654aa7d8.
2017-07-18 15:58:35 -04:00
Brian Osman
c193d71868 Revert "Revert "Switch to new encode API on SkPixelSerializer"" (flutter/engine#3896)
* Revert "Accumulate a batch of Skia objects that will be destructed later on the IO thread (#3888)"

This reverts commit 29bacddb699c6f996bf9f6a241d35bd4cf650df4.

* Revert "Revert "Switch to new encode API on SkPixelSerializer (#3892)" (#3894)"

This reverts commit 8648dd3b82ddf58ab4b0230d019219eb890ed173.
2017-07-18 15:44:13 -04:00
Brian Osman
8648dd3b82 Revert "Switch to new encode API on SkPixelSerializer (#3892)" (flutter/engine#3894)
This reverts commit 78023f7ae74df1c543e253ff9ad427ef1f131652.
2017-07-18 13:58:56 -04:00
Brian Osman
78023f7ae7 Switch to new encode API on SkPixelSerializer (flutter/engine#3892)
Previous API is deprecated, soon to be deleted.
2017-07-18 13:04:51 -04:00
Michael Goderbauer
c4f8806a1d Wire up SemanticsAction Increase and Decrease on Android (flutter/engine#3876) 2017-07-17 16:48:50 -07:00
Chris Bracken
1622edea30 Set iOS text field autocorrection type (flutter/engine#3880)
Adds handling for the autocorrect field on TextField on iOS devices.
2017-07-14 12:43:45 -07:00
Jason Simmons
d5cca395b2 Invert the autocorrect flag (flutter/engine#3875)
See https://github.com/flutter/engine/pull/3866
2017-07-13 15:33:08 -07:00
Collin Jackson
849b700434 Revert "Reland "Run Flutter on iOS and Android with color correct Skia (#3826)" (flutter/engine#3878)
This reverts commit 3cfb2821b9aa7f288d6aedd9f90c51b11bf451ad.

Fixes a regression with semitransparent images (flutter/flutter#11169)
2017-07-13 14:22:25 -07:00
Michael Goderbauer
f5e0e245ea Fix engine on iOS (flutter/engine#3871)
Related to https://github.com/flutter/engine/pull/3870.
2017-07-12 16:45:45 -07:00