732 Commits

Author SHA1 Message Date
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
ed18f218aa Expose keyboardAppearance field in iOS FlutterTextInputPlugin.mm (flutter/engine#5714) 2018-07-13 19:59:59 -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
amirh
3628fa0f6b Implement PlatformViewsController. (flutter/engine#5722)
Each platform view created (by a plugin supplied factory) is attached to
a virtual display.
The virtual displays are controlled by VirtualDisplayController objects.
The PlatformViewsController maintains a mapping from a platform view's
id to its VirtualDisplayController, which allows it to operate on the
virtual display for a given platform view ID when asked so over the
method channel.

This is using API level 20 APIs, on lower API levels all platform views
method channel calls are noops.
We can make this work on API 19 with some refactoring to the
TextureRegistry (allow the engine Java code to recycle a texture entry
id).

This CL also adds a platform view id parameter to the
PlatformViewFactory#create() method. This allows plugins to route
platform channel messages to specific instances of a platform view.

TBD in future CLs:
  * Forward touch events to the platform views.
  * Support accessibility for platform views.

flutter/flutter#19030
2018-07-13 14:08:24 -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
amirh
31747d600c gitignore intellij generated folder (flutter/engine#5729) 2018-07-13 09:23:43 -07:00
Jonah Williams
9007b92cdd rollback chrome change (flutter/engine#5721) 2018-07-11 15:28:33 -07:00
amirh
e0203cb408 Platform Views: Android and MethodChannel APIs, and implementation skeleton. (flutter/engine#5684)
To keep the scope of this CL as small of possible I'm leaving the actual
implementation of the platform view mechanics to a following CL.

This CL introduces:
  * A PlatformViewsController class which will be responsible for creating,
    resizing, and disposing platform views.
  * A PlatformViewRegistry which is exposed through the PluginRegistry
    and allows plugins to register factories for platform views.

Android plugin code will add support for a new platform view type by
implementing PlatformViewFactory, and registering a factory with the
registry, e.g:
```java
registrar.platformViewRegistry().registerViewFactory(
  'webview',
  new FlutterWebViewFactory()
);
```
On the Dart side, the framework will ask the engine to create new
platform views by sending a create message over the platformviews method
channel with the unique platform view type id, dimensions, and a unique
id allocated by the framework for the new platform view instance.
The platformviews method channel is also used for resizing and disposing
platform views.
2018-07-11 14:11:15 -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
Jonah Williams
5898c7d068 Swap definitions of SystemChrome apis to match iOS (requires framework change when rolling) (flutter/engine#5609) 2018-07-10 17:36:31 -07:00
Jonah Williams
75ca1306fa revert change to app delegate that wont build on earlier xcodes (flutter/engine#5702) 2018-07-09 15:22:25 -07:00
Jonah Williams
6eab9d08be Remove cullRect calculation on TransformLayers with a perspective transform. (flutter/engine#5693) 2018-07-09 12:52:10 -07:00
Jonah Williams
f5e9db755b ensure that bridge is not destroyed when semantics is still enabled (flutter/engine#5672) 2018-07-03 22:25:40 -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
amirh
eada888921 Remove unused Java imports (flutter/engine#5663) 2018-07-03 09:21:03 -07:00
matthew-carroll
7edb7e3bc7 Support all keyboard actions. (#11344) (flutter/engine#5620)
* Support all keyboard actions. (#11344)
2018-07-02 06:58:01 +00:00
Jonah Williams
0d6edb079d ensure a11y state is communicated back to flutter (flutter/engine#5631) 2018-06-28 13:30:51 -07:00
Jason Simmons
2d1668246d Remove some unused code from the Android host (flutter/engine#5619)
These functions were made obsolete by the engine refactoring
(077d29581c)
2018-06-27 11:06:15 -07:00
Jason Simmons
1348956a03 Check for calls to FlutterMain.ensureInitializationComplete before startInitialization (flutter/engine#5614) 2018-06-25 16:32:38 -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
Sigurd Meldgaard
bfc31675be Postpone dart initialization to -viewWillAppear on iOS (flutter/engine#5553) 2018-06-21 12:43:38 +02:00
Jason Simmons
78dfc68e0a Make Engine::GetFontCollection public (flutter/engine#5578)
Required by the Fuchsia embedder
2018-06-20 10:54:58 -07:00
Jason Simmons
0b419727e7 Load the ICU data file asset from the "flutter_shared" path (flutter/engine#5567)
See https://github.com/flutter/flutter/issues/18514
2018-06-19 14:34:13 -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
Chinmay Garde
a7d32b86e5 Get rid of an include of an internal Skia header in GPU Surface GL. (flutter/engine#5568) 2018-06-19 13:12:46 -07:00
Chinmay Garde
93a6d340fa Add explicit casts to pointer data members on Android. (flutter/engine#5558)
This accounts for changes made in https://github.com/flutter/engine/pull/5556
2018-06-18 12:08:11 -07:00
Ian Hickson
19d7432403 Remove spurious log messages (flutter/engine#5547)
These are making some of the tests that are sensitive to output flakey.
2018-06-15 14:15:35 -07:00
Maurice Parrish
be469ff641 Added method for receiving Dynamic Links (flutter/engine#5534) 2018-06-15 10:37:47 -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
Chris Bracken
f2a864c5e4 Enforce clang-format on all files in commit (flutter/engine#5495)
* Enforce clang-format on all files in commit

This re-enforces clang-format across all files changed in the commit.

In c10c417, we enabled checking only for the lines changed in the diff
in order to reduce the change of merge conflicts with the shell refactor
landed in 82c5c8f.

* Reformat sources to match latest clang-format

As part of re-enabling clang-format across the codebase, reformat all
code to match the latest toolchain.
2018-06-08 15:10:54 -07:00
Stanislav Baranov
6d140f4e43 Fix compile error introduce in #5473. (flutter/engine#5488)
Fix compile error introduced in #5473.
2018-06-07 15:36:35 -07:00
Stanislav Baranov
5afc3daf35 Support running bundles from zip file. (flutter/engine#5473)
Support running bundles from zip file.
2018-06-07 15:09:23 -07:00
Sigurd Meldgaard
916d9eb5fc App life cycle delegate (flutter/engine#5302)
* Move the handling of delegating AppDelegate callback out of FlutterAppDelegate.

Also moves the plugin registry to FlutterViewController. So each view-controller will handle its
own plugins.

This is intended to simplify including one or more Flutter views in an existing iOS app and giving
more precise control of plugin registration.

Fixes: https://github.com/flutter/flutter/issues/16539

* formatting

* Update license golden file

* Fixed type error

* FREEZE.unindexed

* Fix Header types

* Revert "FREEZE.unindexed"

This reverts commit bebb70056c9bcb90b4321bdc2873896623ed6faa.
2018-06-06 10:49:40 +02: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
Stanislav Baranov
5c89db5409 Remove unused argument. (flutter/engine#5471) 2018-06-05 13:11:18 -07:00
Mikkel Nygaard Ravn
dcbfb0277c Update FlutterPluginRegistrxxx docs for iOS (flutter/engine#5415) 2018-06-05 08:19:07 +02:00
Chinmay Garde
f2875584e3 Fix Dart project configuration for headless Dart runners. (flutter/engine#5461) 2018-06-04 15:01:58 -07:00
Chinmay Garde
23fd79d790 Parse --verbose-logging flag from intent and pass to the engine as args. (flutter/engine#5447) 2018-06-01 17:34:45 -07:00
Mehmet Fidanboylu
4d4a42b63c Fix lint errors to prepare for building Android files in Google (flutter/engine#5440) 2018-06-01 10:16:50 -07:00
Chris Bracken
0af21267a3 Eliminate arm64 restriction in iOS framework plist (flutter/engine#5435)
Eliminates the declaration that only arm64 is supported in
Flutter.framework's Info.plist. This causes Xcode's app thinning tools
to remove Flutter.framework in thinned archives for armv7 devices.
2018-05-31 18:51:32 -07:00
Greg Spencer
5a4558f9bf Synchronizes analysis_options.yaml files, and turns on Function typedef lint. (flutter/engine#5419)
Addresses flutter/flutter#18028 for the engine repo, and synchronizes the analysis_options.yaml files between the engine and the flutter/flutter repo.
2018-05-30 16:06:05 -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