255 Commits

Author SHA1 Message Date
Chinmay Garde
1fcba44904 Allow embedders to set the root surface transformation. (flutter/engine#6085) 2018-08-28 14:13:49 -07:00
Chinmay Garde
86e253fadd Alllow access to Flutter engine, Dart & Skia versions in the Shell API. (flutter/engine#6060) 2018-08-21 08:52:24 -07:00
Chinmay Garde
4555fcca31 Re-apply "Log Tonic errors with FML_LOG" (flutter/engine#6026)
This reverts commit 201900fd6354a0f1a9318e31f101e05aeea612bd and updates the tonic SHA.
2018-08-15 14:28:24 -07:00
Chinmay Garde
201900fd63 Revert "Log Tonic errors with FML_LOG" (flutter/engine#6021)
Reverts flutter/engine#6015

This is causing the Windows bots to fail.
2018-08-14 22:22:28 -07:00
Jason Simmons
ee9fe6a5fc Log Tonic errors with FML_LOG (flutter/engine#6015) 2018-08-14 17:04:38 -07:00
Jason Simmons
c761e6e2a0 Detach the resource context before shutting down the IO thread (flutter/engine#6009) 2018-08-14 13:15:42 -07:00
Chinmay Garde
d9d6c2e825 Remove unused argument on Animator, Engine and PlatformView delegates. (flutter/engine#6007)
When these delegate methods were initially added, it was expected that a single
shell would be able to own mutliple platform views, engines and animators. This
plan was abandoned in favor of creating multiple shells with their own platform
views, engines, etc.. The arguments were meant to ease the disambiguate the
instances of the variaous objects managed by the shell. This is no longer
necessary.
2018-08-13 16:16:10 -07:00
Chinmay Garde
cef3ee517c Check the kernel header magic to determine if a mapping may be a valid kernel blob. (flutter/engine#5997) 2018-08-10 15:12:48 -07:00
nathanrogersgoogle
df71c78332 Add a delay to Animator::BeginFrame's NotifyIdle call (flutter/engine#5972)
This change adds a delay before Animator::BeginFrame calls its
delegate's OnAnimatorNotifyIdle.  This is because under certain
workloads, such as our parent view resizing us, which is communicated
via viewport change events, we won't have a frame scheduled yet in the
animator, despite the fact that we will go on to schedule a frame once
the viewport event arrives.

In Fuchsia's resizing performance test, on our reference high end x86-64
hardware, the previous logic was resulting in a ~45ms garbage collection
right after the first frame of an animation.
2018-08-10 13:28:09 -07:00
amirh
3cc77fae93 Flush all embedded Android views on hot restart. (flutter/engine#5929)
* Flush all embedded Android view on hot restart.

Adds an OnEngineRestarted method to PlatformView, this is currently only
implemented for Android where we need to use it for embedded views.

* review comments followup

* rename to OnPreEngineRestart, call before Clone
2018-08-03 08:54:12 -07:00
Jonah Williams
3a3f6ca0ee Initial support for more finely-grained a11y features on Window (flutter/engine#5901) 2018-07-31 18:18:19 -07:00
nathanrogersgoogle
c0c383fb44 Remove the "VSYNC" trace event on Fuchsia (flutter/engine#5907)
Don't emit a "VSYNC" event when running on Fuchsia, as traces on Fuchsia
are typically recorded across the whole system, causing the events to
collide with each other.
2018-07-30 15:40:41 -07:00
Jason Simmons
d1cc979466 Return proper JSON-RPC error responses from service protocol failures (flutter/engine#5889)
Fixes https://github.com/flutter/flutter/issues/19571
2018-07-30 09:52:12 -07:00
mikejurka
05395a3a17 [scenic] Expose compositor context from rasterizer. (flutter/engine#5739)
Needed by code to support Scenic's new API for views.
2018-07-26 21:46:07 -07:00
Chinmay Garde
6ab2c166fd Remove all dependencies on Garnet. (flutter/engine#5869) 2018-07-26 12:49:34 -07:00
Chinmay Garde
c1c309ae2d Make //flutter/synchronization Garnet free. (flutter/engine#5865) 2018-07-25 14:30:41 -07:00
Chinmay Garde
62289623fc Remove //flutter/glue and use FML directly. (flutter/engine#5862) 2018-07-25 13:20:48 -07:00
Jason Simmons
ebbdba1aea Migrate to a standalone Tonic repository separated from Topaz (flutter/engine#5817) 2018-07-23 11:49:35 -07:00
Joshua Seaton
967a473c6d [fml][fxl] Migrate AutoResetWaitableEvent to fml version. (flutter/engine#5808)
Thanks Jason for the speedy review
2018-07-20 10:12:38 -07:00
Stanislav Baranov
19219f9693 Fix starting isolate directly from CoreJIT snapshot. (flutter/engine#5798) 2018-07-19 08:55:04 -07:00
Jason Simmons
b76d939032 Handle Android vsync callbacks that occur after the VsyncWaiter has been deleted (flutter/engine#5749)
Fixes https://github.com/flutter/flutter/issues/19159
2018-07-16 12:04:05 -07:00
Jonah Williams
c8516387e2 Revert rollback of "add assistiveTechnologyEnabled to window" (flutter/engine#5750) 2018-07-16 09:04:20 -07:00
Jonah Williams
b07e9faa35 Revert "Add assistiveTechnologyEnabled flag to window" (flutter/engine#5746)
Reverts flutter/engine#5740
2018-07-13 15:55:49 -07:00
Jonah Williams
71e01bf548 Add assistiveTechnologyEnabled flag to window (flutter/engine#5740) 2018-07-13 13:47:31 -07:00
Ben Konyi
9cec23702e Background Execution Implementation for iOS (flutter/engine#5539) 2018-07-13 10:55:24 -07:00
Jonah Williams
5bf14b1e4d Custom accessibility (local context) action support for iOS and Android. (flutter/engine#5597) 2018-07-11 10:27:50 -07:00
Jason Simmons
cc2776129d Do not make an extra submit callback during SurfaceFrame destruction if the frame was already submitted (flutter/engine#5669) 2018-07-03 17:17:57 -07:00
Chinmay Garde
c99feea85b Remove remaining uses of Skia private header includes. (flutter/engine#5570)
Part of fixing https://bugs.chromium.org/p/skia/issues/detail?id=7741
2018-06-25 16:15:12 -07:00
Jason Simmons
78dfc68e0a Make Engine::GetFontCollection public (flutter/engine#5578)
Required by the Fuchsia embedder
2018-06-20 10:54:58 -07:00
Ryan Macnak
e8df7055bc Replace AssetResolver GetAsBuffer with GetAsMapping. (flutter/engine#5546)
Toward no-copy loading of kernel.
2018-06-19 14:24:19 -07:00
Jason Simmons
97cf68d6c8 Lazily load fonts that are embedded within the application (flutter/engine#5533)
Previously the engine would load all embedded fonts listed in the app's
font manifest during startup.  This change creates a Skia font manager that
is backed by the engine's AssetManager and can load embedded font assets
on demand.
2018-06-14 16:13:56 -07:00
Jason Simmons
3877686f88 Maintain a FontCollection for each engine instance instead of a process-wide singleton (flutter/engine#5521) 2018-06-13 14:28:21 -07:00
Ben Konyi
a3b839a0bf IsolateNameServer reland (flutter/engine#5519)
* Reland "Added IsolateNameServer functionality (#5410)"

This reverts commit 1598c7ad7b830b298647c17a0c85f3648f6b737d.

* Fixed issue with isolate_name_server_test which caused test to timeout

* Disabled thread_annotations on Android as they aren't supported in the
NDK headers for std::mutex. Readded thread annotations to
IsolateNameServer.
2018-06-13 11:57:10 -07:00
Ben Konyi
1598c7ad7b Revert "Added IsolateNameServer functionality (#5410)" (flutter/engine#5516)
This reverts commit 851868ef29597ca8711f2de2e759069e26930c7d.
2018-06-12 17:03:13 -07:00
Ben Konyi
851868ef29 Added IsolateNameServer functionality (flutter/engine#5410)
* Added IsolateNameServer functionality, which allows for the association
of string names with isolate SendPort ids that can be used to establish
inter-isolate communications.
2018-06-12 15:50:48 -07:00
Chris Bracken
0ab5914e26 Revert "Eliminate support for Dart 1 (#5504)" (flutter/engine#5505)
Broke runtime_unittests, which are still running directly from source.

This reverts commit 6a89437fec6f67c8f6526b22dd50f3e992dd9699.
2018-06-11 18:12:10 -07:00
Chris Bracken
6a89437fec Eliminate support for Dart 1 (flutter/engine#5504)
Eliminates support for running directly from sources or script snapshots. In
debug mode, we run from a kernel snapshot; in profile and release modes, we
link in AOT-compiled code.

Renames --dart-non-checked-mode to --disable-dart-asserts since checked mode
does not make sense in Dart 2.
2018-06-11 17:00:43 -07:00
Zachary Anderson
e95110f16f Adds dynamic, interpreter configs to tools/gn (flutter/engine#5446)
Adds --dynamic and --interpreter flags to
tools/gn. These flags result in engines with
properties as follows:

--dynamic:
- JIT targeting native code on Android and
  DBC on iOS

--interpreter
- Target DBC even if running on Android.

For example:

gn --android --dynamic --interpreter --runtime-mode release

Will generate an engine:
- Without Dart asserts
- Without Observatory
- With JIT compililation to DBC

into out/android_dynamic_release_dbc
2018-06-05 14:52:52 -07:00
Chinmay Garde
5b5db4f2fc Allow embedders to specify a custom advisory URI and entrypoint. (flutter/engine#5408)
The Fuchsia embedder wants to specify the application name in the field for the advisory URI. This allows embedders to specify whatever they want.
2018-05-29 15:10:12 -07:00
Ryan Macnak
e94cb4f2f9 [fuchsia] Plumbing for sharing between AOT snapshots. (flutter/engine#5351) 2018-05-24 13:24:14 -07:00
Martin Kustermann
83f32f0961 Restore functionality to run from .so file on Android (flutter/engine#5278)
Flutter AOT builds can be done on Android using .so files (instead of
separate instruction/data snapshots) using the `--build-shared-library`
flag.

Running from .so files stopped working after the engine refactoring in
82c5c8feda, which this CL restores.

Issue https://github.com/flutter/flutter/issues/17236
2018-05-23 10:11:44 +02:00
Brian Osman
6fd73be906 Set fPreferExternalImagesOverES3 option in Skia (flutter/engine#5331)
This causes Skia to fall back to the ES2 shading language when the GL
driver doesn't clearly communicate that it supports the ES3 external
image extension. Doing so ensures that video playback (which relies on
external images) works on many more devices.
2018-05-21 14:41:56 -04:00
Chinmay Garde
1718f9b935 Break the FXL from flutter/assets. (flutter/engine#5316) 2018-05-18 17:04:36 -07:00
Chinmay Garde
00d7bf3b5b Remove support for reading FLX archives from engine. (flutter/engine#5305)
The embedders have moved on already. This also removes a //garnet dependency on zlib wrappers.
2018-05-18 11:56:37 -07:00
Ryan Macnak
aab4242b2c [fuchsia] Teach engine how to set up an isolate from a list of kernel files. (flutter/engine#5210) 2018-05-16 10:09:53 -07:00
Jason Simmons
8e68e89f66 Drain any pending work on the IO thread before shutting down the platform view (flutter/engine#5272)
iOS does not allow usage of OpenGL ES APIs when the app has been moved to the
background.  With this change, the shell will wait until pending IO thread tasks
complete and the Skia unref queue is drained before proceeding with shutdown.

See https://github.com/flutter/flutter/issues/17511
2018-05-15 17:40:25 -07:00
Ryan Macnak
9ee60830b1 Roll Dart to a5c11d7d0329432ca37e35bb249b20f60aa0aa31. (flutter/engine#5269)
Update engine for removal of Dart_ReadKernelBinary and refactored build targets.
2018-05-15 16:13:21 -07:00
Ryan Macnak
f49044eebd Revert "Roll Dart to a5c11d7d0329432ca37e35bb249b20f60aa0aa31. (#5259)" (flutter/engine#5266)
This reverts commit e2a590e926c80ba039fc70a336ea6cd341c27f12.
2018-05-15 13:26:51 -07:00
Ryan Macnak
e2a590e926 Roll Dart to a5c11d7d0329432ca37e35bb249b20f60aa0aa31. (flutter/engine#5259)
Update engine for removal of Dart_ReadKernelBinary and refactored build targets.
2018-05-15 12:57:01 -07:00
Chinmay Garde
baf5293906 Create a session presentation backed Vsync waiter on Fuchsia. (flutter/engine#5255) 2018-05-14 16:51:19 -07:00