357 Commits

Author SHA1 Message Date
Michael Goderbauer
81e3f8b86f refactor accessibility channel to use StandardMessageCodec (#4073) 2017-09-07 15:24:47 -07:00
Michael Goderbauer
ccf68cdcb6 Tell Android which SemanticsNodes are focusable (#4067)
A node is considered focusable if it contains information that is interesing to the user. A node that doesn't add any semantic information of its own should not be focusable. It's expected that such a node has children, who have smeantics information and are therefore focusable.

Fixes https://github.com/flutter/flutter/issues/11179
2017-09-06 16:56:23 -07:00
Michael Goderbauer
ceb6d05c2f Adapt semantics event handling to framework changes (#4066) 2017-09-05 16:31:24 -07:00
Michael Goderbauer
d60d630ec6 Wire up basic a11y channel for a11y events (#4054) 2017-09-01 16:40:04 -07:00
Chinmay Garde
a0f9084f48 Wire up support for multiple font managers in txt::FontCollection. (#4042) 2017-09-01 11:56:38 -07:00
Ryan Macnak
ffbefaf477 Initial implementation of idle notification. (#4012)
- Assumes only the Dart VM is interested in idle notification.
 - Gives the VM the time remaining in each frame.
 - Gives the VM 100ms if there is no pending frame.

Issue flutter/flutter#9594
2017-09-01 11:11:25 -07:00
Adam Barth
73554a1c32 Add //garnet (#4043)
This repository contains FTL now in the Fuchsia build.
2017-08-31 16:47:13 -07:00
Ryan Macnak
cfb8975e72 Fix truncation of frame time on 32-bit Android. (#4040) 2017-08-31 09:46:34 -07:00
Sarah Zakarias
e5395796cd fix binaryMessenger in FlutterAppDelegate (#4030) 2017-08-29 13:58:26 +02:00
Ian Hickson
60bce44c9f Implement i18n features in the a11y API. (#4029) 2017-08-28 16:12:39 -07:00
Jason Simmons
0fc962f0dc Rebase the libtxt integration by @GaryQian onto the current engine head (#4022)
See https://github.com/flutter/engine/pull/3964
2017-08-28 13:01:15 -07:00
Michael Goderbauer
32447c72fc Traverse children from top left to bottom right for a11y (#4017)
* order

* comment fix

* review comments
2017-08-28 12:02:07 -07:00
Michael Goderbauer
8cfa97609c Only expose available semantic scroll actions (#4010)
* Only expose available scroll actions

* formatting

* more formatting
2017-08-25 16:12:50 -07:00
Chinmay Garde
217ba07f5d Update ICU to ToT and ensure that slimmed down versions of data files are shipped on the mobile platforms. (#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
8776c934a2 Let the FlutterAppDelegate's messenger be customizable if the rootViewController isn't a FlutterViewController (#3916)
* Customizable messenger

* rename
2017-08-23 18:50:14 -07:00
Chinmay Garde
def8061d49 Create a window toolkit agnostic Flutter engine API. (#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
51775c77a9 Add animation to Android too (#3981) 2017-08-23 12:57:06 -07:00
Chris Bracken
0062701c7c Disable all rasterizer work while backgrounded on iOS (#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
e260e35dec Revert to a Jellybean compatible variant of getDrawable (#3997) 2017-08-21 17:25:31 -07:00
Chris Bracken
600567ef15 Fire TextInputClient.updateEditingState on text changes (iOS) (#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
0223e293f2 Improve checks for calls into native code made after the platform view has been detached (#3926) 2017-08-17 10:24:12 -07:00
Carlo Bernaschina
1948fef8d5 Avoid race condition into NotifyNextFrameOnce (#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
841cd66712 Remove use of a deprecated getDrawable API (#3979) 2017-08-15 11:54:04 -07:00
xster
08eb72341f Add an explicit user configurable check for whether to keep showing the splash screen. (#3976) 2017-08-15 11:01:12 -07:00
Zachary Anderson
23036e515a Fixes for gypi -> gni change in Dart (#3977) 2017-08-15 07:44:27 -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
Sarah Zakarias
2b7a8f1490 Add flutter-driven navigation on iOS (#3865) 2017-08-09 13:01:35 +02:00
Chinmay Garde
b08167ba52 Implement all known blink::PointerData fields on iOS. (#3955) 2017-08-07 15:04:10 -07:00
Chinmay Garde
eb33f26513 Update buildroot and opt out of LTO on unopt builds. (#3952) 2017-08-04 13:12:36 -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
Chinmay Garde
1de56a33d2 On emulators, render onscreen (with warnings) if any of the MakeS32 based SkSurface creation calls fail. (#3947) 2017-08-02 14:29:29 -07:00
Jason Simmons
bab7fa77af fix sRGB typo (#3942) 2017-07-31 17:12:45 -07:00
Jason Simmons
f02a30b405 Support sendKeyEvent for arrow keys (#3940)
Fixes https://github.com/flutter/flutter/issues/11352
2017-07-31 16:52:34 -07:00
Chinmay Garde
63861464df Update buildroot to account for stricter warning flags. (#3939) 2017-07-31 16:22:15 -07:00
Jason Simmons
ca19ab0a99 Check for an empty selection in deleteSurroundingText (#3938)
Fixes https://github.com/flutter/flutter/issues/11437
2017-07-31 16:18:27 -07:00
Chinmay Garde
f2af347363 Always consume items from the pipeline in the null rasterizer. (#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
cafbd9b0b5 Extend iOS's drawing time to viewWillAppear <-> viewDidDisappear (#3934)
* fix (with squashed debug stuff)

* clean up
2017-07-31 15:12:32 -07:00
Chinmay Garde
983c92f050 Update the Vulkan backend to account for GPUSurface API updates. (#3933) 2017-07-28 18:25:13 -07:00
Chinmay Garde
ddaa125ca7 When the surface does not support SRGB, render to an offscreen texture. (#3930) 2017-07-28 12:48:32 -07:00
Jason Simmons
232f4636e5 Do not send messages if the platform view has been detached (#3927) 2017-07-26 20:04:31 -07:00
Alexander Aprelev
ba9a525bdc Update Flutter engine kernel-loading logic. (#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
aeaefbaddf Always schedule a frame on app did become active (#3910) 2017-07-20 10:54:08 -07:00
Chinmay Garde
5fcfb995bb Reduce layer tree pipeline depth to 2. (#3909) 2017-07-19 17:47:44 -07:00
Carlo Bernaschina
53c9a70282 Add waitUIThreadIdle service RPC (#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
488584f8b7 Add PluginRegistry.Registrar#view() (#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
777bb82851 Enable the “Highlight Vsync” option in the timeline viewer on Android. (#3901) 2017-07-18 18:11:35 -07:00
Chinmay Garde
d098b358b4 Fix Mac desktop platform for use with std::weak_ptr in the PlatformView. (#3897) 2017-07-18 14:29:36 -07:00
Brian Osman
de00757ddb Revert "Revert "Reland "Run Flutter on iOS and Android with color correct Skia (#3826)" (#3878)" (#3895)
This reverts commit 1db18a40da855b102e391cb11189e73f9c2ec40d.
2017-07-18 15:58:35 -04:00
Brian Osman
569de1e6d5 Revert "Revert "Switch to new encode API on SkPixelSerializer"" (#3896)
* Revert "Accumulate a batch of Skia objects that will be destructed later on the IO thread (#3888)"

This reverts commit dd2fb3c04bb090915b698266ace8680d2747c9db.

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

This reverts commit bd2294381078dddb12cd95a6b0bd681c6c5de54a.
2017-07-18 15:44:13 -04:00
Brian Osman
bd22943810 Revert "Switch to new encode API on SkPixelSerializer (#3892)" (#3894)
This reverts commit aabc95df8c93625be74c8413816f54d6f71bae94.
2017-07-18 13:58:56 -04:00