246 Commits

Author SHA1 Message Date
amirh
ffbafc852d
Flush all embedded Android views on hot restart. (#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
dcd2956f88
Initial support for more finely-grained a11y features on Window (#5901) 2018-07-31 18:18:19 -07:00
nathanrogersgoogle
0c8fda2708
Remove the "VSYNC" trace event on Fuchsia (#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
2f4a02204f
Return proper JSON-RPC error responses from service protocol failures (#5889)
Fixes https://github.com/flutter/flutter/issues/19571
2018-07-30 09:52:12 -07:00
mikejurka
89602cc647
[scenic] Expose compositor context from rasterizer. (#5739)
Needed by code to support Scenic's new API for views.
2018-07-26 21:46:07 -07:00
Chinmay Garde
9f8285ac6c
Remove all dependencies on Garnet. (#5869) 2018-07-26 12:49:34 -07:00
Chinmay Garde
228cecc293
Make //flutter/synchronization Garnet free. (#5865) 2018-07-25 14:30:41 -07:00
Chinmay Garde
336c23f846
Remove //flutter/glue and use FML directly. (#5862) 2018-07-25 13:20:48 -07:00
Jason Simmons
0bad812c72
Migrate to a standalone Tonic repository separated from Topaz (#5817) 2018-07-23 11:49:35 -07:00
Joshua Seaton
663b4925b8
[fml][fxl] Migrate AutoResetWaitableEvent to fml version. (#5808)
Thanks Jason for the speedy review
2018-07-20 10:12:38 -07:00
Stanislav Baranov
5d0e13a45b
Fix starting isolate directly from CoreJIT snapshot. (#5798) 2018-07-19 08:55:04 -07:00
Jason Simmons
316b026807
Handle Android vsync callbacks that occur after the VsyncWaiter has been deleted (#5749)
Fixes https://github.com/flutter/flutter/issues/19159
2018-07-16 12:04:05 -07:00
Jonah Williams
2e57ecd38f
Revert rollback of "add assistiveTechnologyEnabled to window" (#5750) 2018-07-16 09:04:20 -07:00
Jonah Williams
9af920ef22 Revert "Add assistiveTechnologyEnabled flag to window" (#5746)
Reverts flutter/engine#5740
2018-07-13 15:55:49 -07:00
Jonah Williams
9ece2752aa
Add assistiveTechnologyEnabled flag to window (#5740) 2018-07-13 13:47:31 -07:00
Ben Konyi
672e587e74
Background Execution Implementation for iOS (#5539) 2018-07-13 10:55:24 -07:00
Jonah Williams
48d6e1f891
Custom accessibility (local context) action support for iOS and Android. (#5597) 2018-07-11 10:27:50 -07:00
Jason Simmons
d085f1df2c
Do not make an extra submit callback during SurfaceFrame destruction if the frame was already submitted (#5669) 2018-07-03 17:17:57 -07:00
Chinmay Garde
923663afb4
Remove remaining uses of Skia private header includes. (#5570)
Part of fixing https://bugs.chromium.org/p/skia/issues/detail?id=7741
2018-06-25 16:15:12 -07:00
Jason Simmons
1e40f5bc0b
Make Engine::GetFontCollection public (#5578)
Required by the Fuchsia embedder
2018-06-20 10:54:58 -07:00
Ryan Macnak
fe9dd64d70
Replace AssetResolver GetAsBuffer with GetAsMapping. (#5546)
Toward no-copy loading of kernel.
2018-06-19 14:24:19 -07:00
Jason Simmons
c3c40cf958
Lazily load fonts that are embedded within the application (#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
efd6663344
Maintain a FontCollection for each engine instance instead of a process-wide singleton (#5521) 2018-06-13 14:28:21 -07:00
Ben Konyi
8d8d91bfc3
IsolateNameServer reland (#5519)
* Reland "Added IsolateNameServer functionality (#5410)"

This reverts commit c3976b3c7183f479717bffed3f640fb92afbd3dc.

* 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
c3976b3c71
Revert "Added IsolateNameServer functionality (#5410)" (#5516)
This reverts commit 61a2d129cfc8c52cf1ff59b03bccf67d9b07af63.
2018-06-12 17:03:13 -07:00
Ben Konyi
61a2d129cf
Added IsolateNameServer functionality (#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
be02d0cf09
Revert "Eliminate support for Dart 1 (#5504)" (#5505)
Broke runtime_unittests, which are still running directly from source.

This reverts commit 0ea93c3a3e40426fd222ba22c2f60756c8a32097.
2018-06-11 18:12:10 -07:00
Chris Bracken
0ea93c3a3e
Eliminate support for Dart 1 (#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
a09b4fdcb7
Adds dynamic, interpreter configs to tools/gn (#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
5441ee79ff
Allow embedders to specify a custom advisory URI and entrypoint. (#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
fb709e25e3
[fuchsia] Plumbing for sharing between AOT snapshots. (#5351) 2018-05-24 13:24:14 -07:00
Martin Kustermann
812423da5e
Restore functionality to run from .so file on Android (#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
58e84c8bf0, which this CL restores.

Issue https://github.com/flutter/flutter/issues/17236
2018-05-23 10:11:44 +02:00
Brian Osman
5ab81fdab3
Set fPreferExternalImagesOverES3 option in Skia (#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
5cba5774c6
Break the FXL from flutter/assets. (#5316) 2018-05-18 17:04:36 -07:00
Chinmay Garde
299a7c2502
Remove support for reading FLX archives from 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
30c649dd74
[fuchsia] Teach engine how to set up an isolate from a list of kernel files. (#5210) 2018-05-16 10:09:53 -07:00
Jason Simmons
d1d5497999
Drain any pending work on the IO thread before shutting down the platform view (#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
e32e390328
Roll Dart to a5c11d7d0329432ca37e35bb249b20f60aa0aa31. (#5269)
Update engine for removal of Dart_ReadKernelBinary and refactored build targets.
2018-05-15 16:13:21 -07:00
Ryan Macnak
63fdebf209
Revert "Roll Dart to a5c11d7d0329432ca37e35bb249b20f60aa0aa31. (#5259)" (#5266)
This reverts commit 755dbeef4ac38f41e380f37ce17ffba2f7492c0a.
2018-05-15 13:26:51 -07:00
Ryan Macnak
755dbeef4a
Roll Dart to a5c11d7d0329432ca37e35bb249b20f60aa0aa31. (#5259)
Update engine for removal of Dart_ReadKernelBinary and refactored build targets.
2018-05-15 12:57:01 -07:00
Chinmay Garde
c3c6c369ae
Create a session presentation backed Vsync waiter on Fuchsia. (#5255) 2018-05-14 16:51:19 -07:00
Chinmay Garde
613abf2d8a
Terminate the engine immediately if there are isolate launch errors. (#5244) 2018-05-11 18:32:35 -07:00
Jason Simmons
4a4cff96d4
Remove Blink code (#5218)
Fixes https://github.com/flutter/flutter/issues/12212
2018-05-10 15:57:29 -07:00
Todd Volkert
fade83ce3e
Bypass the raster cache when screenshotting (#5227)
Fixes https://github.com/flutter/flutter/issues/17448
2018-05-10 12:32:17 -07:00
Chinmay Garde
61b5028195
Read/apply settings that apply process wide before creating any shell components. (#5203) 2018-05-08 11:56:31 -07:00
Chinmay Garde
d97b6d859a
Allow explicit specification of the isolate snapshot. (#5193)
The mobile shells all use the same isolate snapshot. This is also the snapshot used by the service isolate. This works towards a world where the isolate snapshot is no longer a member variable of the DartVM instance. Instead, all snapshots must be specified in the run configuration. For now, the new `Shell::Create` overload will only be used by Fuchsia till I refactor `dart_vm.cc`.

There are no API updates to the mobile shells.
2018-05-07 17:28:31 -07:00
Jason Simmons
02bc5788f2
Use the rasterizer's compositor context and texture registry to capture screenshots (#5180)
Fixes https://github.com/flutter/flutter/issues/16412
2018-05-04 16:07:10 -07:00
Ryan Macnak
78f8a0f45a
[fuchsia] Changes for running Dart 2 on flutter_runner. (#5080)
- Remove assumption that we're in Dart 2 mode only if there's a platform kernel.
 - Load core snapshots from the package instead of linking them in.
2018-04-25 13:31:13 -07:00
Chinmay Garde
79b9ffb14b
Fixup Fuchsia content handler post shell refactor. (#5072) 2018-04-23 20:16:01 -07:00
Jason Simmons
637e921d6f Use the raster cache when rendering screenshots as bitmaps (#5050)
This matches the behavior from before the shell refactoring.

Fixes https://github.com/flutter/flutter/issues/16754
2018-04-19 13:32:00 -07:00