1299 Commits

Author SHA1 Message Date
Chinmay Garde
ae4cefbdcf When setting up AOT snapshots from symbol references, make buffer sizes optional. (flutter/engine#10674) 2019-08-08 20:31:23 -07:00
Emmanuel Garcia
f9058d748c Include Maven dependency in files.json (flutter/engine#10719) 2019-08-08 18:59:22 -07:00
Jason Simmons
5cb02d643f Build JARs containing the Android embedding sources and the engine native library (flutter/engine#10778) 2019-08-08 18:11:29 -07:00
Kaushik Iska
8ec5f976ae [flutter_runner] Improve frame scheduling (flutter/engine#10780)
* [flutter_runner] Reland "[flutter_runner] Improve frame scheduling"

This is a reland of e28c8beaca82998396aacbd37a03942892654e2b

Original change's description:
> [flutter_runner] Improve frame scheduling
>
> FL-233 #comment
>
> This allows the paint tasks for the next frame to execute in parallel
> with presentation of last frame but still provides back-pressure to
> prevent us from queuing up even more work.
>
> Vsync would be disabled whenever a presentation callback was pending
> prior to this change. That had the outcome of causing us to almost
> always miss one vsync interval. By not turning off vsync until
> another Present call is pending we avoid this problem.
>
> Test: fx shell run fuchsia-pkg://fuchsia.com/basemgr#meta/basemgr.cmx --base_shell=fuchsia-pkg://fuchsia.com/spinning_cube#meta/spinning_cube.cmx
> Test: topaz input latency benchmarks
> Test: end-2-end tests
> Change-Id: I46440052cd4f98cb0992ec5027584be80f4fb9d3

Change-Id: I1904683d0dfa509ef28482c4b751c28931ab7647

* fix stuff
2019-08-08 18:09:16 -07:00
Kaushik Iska
6c97d0384f [flutter] Create the compositor context on the GPU task runner. (flutter/engine#10781)
The compositor context owns the session connection. The creation of the
session connection also does the initial present to clear the node
hierarchy. This present was happening perviously on the platform task
runner while all subsequent presents were on the GPU task runner. This
has now been rectified so all presents are on the GPU task runner.

BUG: FL-288
Change-Id: Ib294666ffb3b4575f93ad0b02a5d0fda71bfa0a8
2019-08-08 18:08:57 -07:00
Chinmay Garde
158315caf9 Revert "Forwards iOS dark mode trait to the Flutter framework (#34441). (#9722)" (flutter/engine#10789)
This reverts commit 51904fc4bda988cb0719fcf19efada85d844fc86.
2019-08-08 17:15:06 -07:00
Matt Carroll
51904fc4bd Forwards iOS dark mode trait to the Flutter framework (#34441). (flutter/engine#9722) 2019-08-08 16:22:45 -07:00
Jason Simmons
56208b0de7 Remove use of the deprecated AccessibilityNodeInfo boundsInParent API (flutter/engine#10773) 2019-08-08 15:25:56 -07:00
Michael Goderbauer
f9e3a16668 Fix empty composing range on iOS (flutter/engine#10381) 2019-08-07 09:22:40 -07:00
Chinmay Garde
d7dfe2cb03 Allow embedders to control Dart VM lifecycle on engine shutdown. (flutter/engine#10652)
This exposes the `Settings::leak_vm` flag to custom embedders. All embedder
unit-tests now shut down the VM on the shutdown of the last engine in the
process. The mechanics of VM shutdown are already tested in the Shell unit-tests
harness in the DartLifecycleUnittests set of of assertions. This just exposes
that functionality to custom embedders. Since it is part of the public stable
API, I also switched the name of the field to be something less snarky than the
field in private shell settings.
2019-08-06 16:15:37 -07:00
Matt Carroll
a8b3374cf3 Android embedding refactor pr40 add static engine cache (flutter/engine#10481) 2019-08-06 16:15:21 -07:00
Chris Bracken
f173e72e06 Migrate Fuchsia runners to SDK tracing API (flutter/engine#10478)
Migrates the Fuchsia Flutter and Dart runners off the internal tracing
APIs and onto the public SDK.
2019-08-06 11:26:34 -07:00
Qxyat
6452493115 reset platformViewsController in engine.destroyContext when allowHeadlessExecution = false (flutter/engine#10629) 2019-08-05 17:36:58 -07:00
Kaushik Iska
67bc84721a [flutter_runner] Port: Add connectToService, wrapping fdio_ns_connect. (flutter/engine#10644)
Use fdio_ns_connect to connect to services in a namespace. For pure
persistant fidl services the old path of creating a file descriptor and
then opening a channel to that file descriptor doesn't work.

We should provide a way to directly connect to a service without first
treating it as a file.

Test:
* workstation.frank, reboot button on main menu works.
* astro, device_settings "erase user data" reboot works.

Change-Id: I725ba9350547309bebb5530aa44236f841d88f99
2019-08-05 16:36:59 -07:00
Nathan Rogers
436b76d9fe Use Fuchsia trace macros when targeting Fuchsia SDK (flutter/engine#10634)
When |OS_FUCHSIA| is defined (even when |FUCHSIA_SDK| is defined as
well), use the Fuchsia SDK trace macros rather than the Dart timeline.

Reasons for doing this include:

Fuchsia's trace macros support categories.  This allows one to
distinguish between (e.g.) "flutter" and "skia" trace events for trace
recording and trace visualization.

Fuchsia has existing in tree benchmarks that depend on finding certain
events under category "flutter".

See the Fuchsia performance mailing list discussion for more context.
2019-08-05 12:52:36 -07:00
Kaushik Iska
fcfa19d97a [fuchsia] CloneChannelFromFD fix for system.cc (flutter/engine#10635)
This is a utils method currently not exposed from fuchsia.
Ported over from [garnet
fd.cc](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/lib/fsl/io/fd.cc).
2019-08-05 12:05:20 -07:00
Chris Bracken
5fa8fd302a Add #else, #endif condition comments (flutter/engine#10477)
Adds a few missing condition hints on some preprocessor conditionals.
2019-08-02 15:45:07 -07:00
Jason Simmons
1bc372a594 Fix deprecation warnings in the Android embedding (flutter/engine#10424) 2019-08-01 18:13:27 -07:00
Kaushik Iska
7523d23275 Make kernel compiler use host toolchain (flutter/engine#10419) 2019-08-01 12:57:03 -07:00
Kaushik Iska
527e254893 [fuchsia] Kernel compiler is now ready (flutter/engine#10309)
Also fixes the architecture of the bundled SO files.
2019-07-31 20:41:11 -07:00
Francisco Magdaleno
a05057aede [glfw] Enables replies on binary messenger in glfw embedder (flutter/engine#9948) 2019-07-31 14:27:46 -07:00
Francisco Magdaleno
85882e1bad [macos] Reland function refactor (flutter/engine#10189)
* [macos] Reland function refactor

* Fix bug
2019-07-31 10:57:02 -07:00
Dan Field
cd18c5ef0b Remove get engine (flutter/engine#9747) 2019-07-30 17:11:04 -07:00
Matt Carroll
c70c811ea2 Android Embedding Refactor 38: Removed AssetManager from DartEntrypoint. (flutter/engine#10250) 2019-07-30 12:57:01 -07:00
Kaushik Iska
1872c78afc [fuchsia] Start building dart_patched_sdk (flutter/engine#10246)
* [fuchsia] Start building dart_patched_sdk

* fix path
2019-07-30 09:57:58 -07:00
Matt Carroll
e1e57a2d94 Android Embedding PR37: Separated FlutterActivity and FlutterFragment via FlutterActivityAndFragmentDelegate (flutter/engine#9895) 2019-07-29 17:40:25 -07:00
Michael Klimushyn
efeba40734 Deprecate FlutterView#enableTransparentBackground (flutter/engine#10235)
The API breaks accessibility highlighting because of
SurfaceView#setZOrderOnTop. Deprecate it since the underlying issue is
an Android SDK one that can't be worked around from within a
SurfaceView.
2019-07-29 12:46:26 -07:00
Michael Klimushyn
0f980e5e01 Add better CIPD docs. (flutter/engine#10185)
Also commits cipd.yaml to source.
2019-07-26 15:39:48 -07:00
Kaushik Iska
92f9dac0f7 [dart_runner] dart jit runner and dart jit product runner (flutter/engine#10179)
We now build dart runner as well
2019-07-26 13:29:46 -07:00
Jonah Williams
addbc5d4cb add suggested changes from flutter roll (flutter/engine#10176) 2019-07-26 12:56:08 -07:00
Kaushik Iska
7c3360e4bf [fuchsia] Add support for aot mode in flutter runner (flutter/engine#10171)
* [fuchsia] Add support for aot mode in flutter runner

* [fuchsia] Bundle observatory with not product runners
2019-07-26 10:19:13 -07:00
Kaushik Iska
af07c640f7 [dart_runner] Rename dart to dart runner (flutter/engine#10172) 2019-07-26 10:15:08 -07:00
Kaushik Iska
e20083819a [fuchsia] Push CMX to fars and add product mode support (flutter/engine#10144)
* Capture stderr for ninja command

* br

* [fuchsia] Push CMX to fars and add product mode support.

* fix shit

* fix GN format
2019-07-25 15:09:04 -07:00
Francisco Magdaleno
3d070e1376 Revert "[macos] Revert check on FlutterCodecs and refactor message function] (#10009)" (flutter/engine#10141)
This reverts commit 471657f667d1489274fe7a414a8523e1429e4bd7.
2019-07-25 13:47:29 -07:00
gaaclarke
c3c32a1e2f ios: Fixed the callback for the first frame so that it isn't predicated on having a splash screen. (flutter/engine#9952) 2019-07-25 12:37:38 -07:00
gaaclarke
8d52ae8514 Revert "[fuchsia] Use the patched sdk to generate the flutter jit runner far (#10122)" (flutter/engine#10140)
This reverts commit 2c7cabdff9c346ac28b49044726c551c93132f3d.
2019-07-25 10:52:27 -07:00
Kaushik Iska
2c7cabdff9 [fuchsia] Use the patched sdk to generate the flutter jit runner far (flutter/engine#10122) 2019-07-24 17:10:48 -07:00
gaaclarke
60c57dbb11 Fixed memory leak with engine registrars. (flutter/engine#10068) 2019-07-24 15:43:39 -07:00
Kaushik Iska
7f9170be1f [fuchsia] Use manifest file to better replicate the existing build (flutter/engine#10102)
* Use manifest file to better replicate the existing build

Also fix app/bin error

* Add remaining shit

* patch in the remaining stuff

* Update BUILD.gn
2019-07-24 13:57:46 -07:00
Kaushik Iska
2117168f17 [fuchsia] Add sysroot and clang libs to package (flutter/engine#10082)
* [fuchsia] Add sysroot deps

* bundle in clang stuff too

* fix host_os
2019-07-23 21:08:25 -07:00
Kaushik Iska
602771c7d4 [fuchsia] Add support for libs in packages (flutter/engine#10081) 2019-07-23 19:22:42 -07:00
Kaushik Iska
99a3e1a60f One more luci fix (flutter/engine#10078)
* Missing icu data from the far

* One more place to change the artifact name

* real name
2019-07-23 17:56:49 -07:00
Kaushik Iska
27f1cc9865 Basic structure for flutter_jit_runner far (flutter/engine#10073)
* Basic structure for flutter_jit_runner far

- Added a package_dir gni that copies the dir structure.
- Doesn't support a lot of the existing functionality.
- Added a script to copy paths.

* pick libdart based on flutter mode

* fix licenses
2019-07-23 16:51:50 -07:00
Francisco Magdaleno
471657f667 [macos] Revert check on FlutterCodecs and refactor message function] (flutter/engine#10009)
* [macos] Revert check on FlutterCodecs and refactor message function]

* Remove duplicated code

* Move FlutterPlatformMessage initialization
2019-07-23 15:22:38 -07:00
adazh
6f7e34fbb8 Added a DartExecutor API for querying # of pending channel callbacks (flutter/engine#10021) 2019-07-23 13:11:03 -07:00
Michael Klimushyn
603d401fc2 Add working Robolectric tests (flutter/engine#9954)
`gclient sync` now grabs Robolectric, JUnit, and their transitive
runtime dependencies. They're being stored in a new CIPD package,
`flutter/android/robolectric_bundle`.

`shell/platform/android/BUILD.gn` has a new target for building the
tests, `robolectric_tests`. `testing/run_tests.py` has been extended to
build and run the new target. Runs the android tests under
"build_and_test_android" on CI.

This also adds some very simple sample tests to start with and a README
to the java tests directory.
2019-07-23 09:06:19 -07:00
Justin McCandless
1b87854bf5 Add support for Android's visible password input type (flutter/engine#9999)
For framework PR https://github.com/flutter/flutter/issues/31738
2019-07-23 07:57:39 -07:00
stuartmorgan
1299da0e74 Add a macro for prefixing embedder.h symbols (flutter/engine#9851)
embedder.h is a C API, so has no namespace, and only uses 'Flutter' as a
prefix for most symbol names. This creates potential collisions with
other code; for instance, FlutterEngine is the name of a type in
embedder.h, but also an ObjC class in the iOS Flutter API.

This adds a macro that can be set to prefix symbol names, allowing
clients (notably, the macOS embedding) to adjust the names used by the
embedding API internally without breaking ABI or API compatibility for
the standard engine build.

Currently the macro is only applied to FlutterEngine, since that's the
symbol that is currently at issue, but it can be expanded to other
symbols in the future.
2019-07-23 05:48:48 -07:00
Matt Carroll
342ba41f9c Android Embedding Refactor PR36: Add splash screen support. (flutter/engine#9525) 2019-07-22 14:01:34 -07:00
Jason Simmons
b48ddc3d9c Declare a copy of the enable_bitcode flag within the Flutter build scripts for use in Fuchsia builds (flutter/engine#10003)
enable_bitcode is defined in build/toolchain/clang.gni, which exists in the
Flutter buildroot but not in the Fuchsia source tree.
2019-07-22 12:06:16 -07:00