155 Commits

Author SHA1 Message Date
Miguel
94654dbe63 [fuchsia] Add diagnostics directory to the set of remote dirs (#14470) 2019-12-12 14:50:49 -08:00
Nathan Rogers
1ce85bec2f
[flutter_runner] Enable Skia tracing by default on Fuchsia (#13457)
Since Flutter tracing is wired up to Fuchsia system level tracing (and
that includes Skia tracing within Flutter), it makes more sense to
enable Skia tracing by default on Fuchsia, and to control Flutter Skia
tracing, rely on whether Fuchsia system tracing is enabled, in progress,
and contains the "skia" category.
2019-12-11 21:03:12 -08:00
Jim Graham
85953615eb
Conditionally use offscreen root surface only when needed
Currently helps primarily on iOS when no BackdropFilter is present by lowering energy usage
2019-12-11 15:10:55 -08:00
Kaushik Iska
fb9dfe0fb6
[fuchsia] Move async_get_default_dispatcher include to the header (#14351) 2019-12-11 13:40:38 -08:00
Kaushik Iska
18519e9169
Roll fuchsia/sdk/core/linux-amd64 from UdfLO... to 9wKTl... (#14342)
* Roll fuchsia/sdk/core/linux-amd64 from UdfLO... to 9wKTl...

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter-engine
Please CC  on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

* async set dispatcher is now from async-default
2019-12-11 11:47:30 -08:00
Kaushik Iska
6430ecfd39
[fuchsia] Do not Execute paint tasks when there is no vsync (#14298)
This should also reduce the number of OnSurfacesPresented calls
made.
2019-12-10 18:03:55 -08:00
Craig Stout
b2ab78fb41 [shell][fuchsia] Add lib/async/default.h
For async_get_default_dispatcher().
2019-12-09 15:21:45 -08:00
Kaushik Iska
f5250ec9b1
[fuchsia] SnapToNextPhase refactor + add tests and documentation (#14158) 2019-12-06 13:47:36 -08:00
Filip Filmar
29998f07fa Configures ICU to load the timezone data (#13952)
The timezone data in Fuchsia is at a fixed path. This will have the
flutter runner attempt to load it and log, but not fail if loading
does not work out.

Added two tests

(1) Shows that the specific TZ data version loaded takes effect after
initialization

(2) Shows that when TZ data files are absent the initialization
continues.
2019-12-05 17:32:55 -08:00
David Worsham
2fc1e1bce1 Relanding: Add Flow unittests and fixtures (#14091) 2019-12-03 14:33:02 -08:00
Kaushik Iska
ea228f2f83
Revert "Fix fml_unittests (#14062)" (#14087)
This reverts commit 6c605f8a9624a99573c6801395f03bff7ee8cc4c.
2019-12-03 12:24:19 -08:00
liyuqian
84bf72917c
Revert PRs to unblock David and Jim's work (#14088)
* Revert "Add flow test fixtures and tests (#13986)"

This reverts commit 620f5281b819f304e8e9e945222e26b17b087cc3.

* Revert "Dynamically determine whether to use offscreen surface based on need (#13976)"

This reverts commit a86ef946563b020108320bbfb974bf7343284fd3.
2019-12-03 12:02:37 -08:00
David Worsham
620f5281b8 Add flow test fixtures and tests (#13986) 2019-12-03 09:43:02 -08:00
David Worsham
6c605f8a96
Fix fml_unittests (#14062) 2019-11-27 16:04:30 -08:00
Jim Graham
a86ef94656
Dynamically determine whether to use offscreen surface based on need (#13976)
Only use an offscreen surface on iOS if a layer which reads back from the destination surface, such as BackdropFilter, is present.
2019-11-27 15:01:25 -08:00
Kaushik Iska
201cfae8c7
[vulkan] Bundle vulkan validation layer so files (#13930)
Enable vulkan validation for Fuchsia in debug mode as well.
2019-11-25 16:09:56 -08:00
David Worsham
e2aa235ab8
Fix most fml tests on Fuchsia (#14007)
* Add fuchsia MessageLoopImpl; fix several tests
2019-11-25 14:16:50 -08:00
gaaclarke
89e395853c
Refactor to passing functions by const ref (#13975)
Moved our code to passing functions by const ref
2019-11-22 12:20:02 -08:00
Craig Stout
e307b05b7d [shell][fuchsia] Migrate away from deprecated async loop configs 2019-11-21 13:49:53 -08:00
Ian McKellar
a5673e3a1f
[flutter_runner] fix a11y tests (#13947)
Instead of running over 400000000 nodes, do something a little quicker.
2019-11-20 12:11:35 -08:00
Ian McKellar
f0371e2f8f
Work around Fuchsia a11y / ICU name conflict (#13885)
ICU #defines TRUE and FALSE but these are used as enum member name by
the Fuchsia i18n FIDL library. This #undefs TRUE and FALSE before
including the generated FIDL header.

Fixes https://github.com/flutter/flutter/issues/44817
2019-11-15 21:16:44 -08:00
James Robinson
0832dfde5a [flow][fuchsia] Add more tracing to layers and Fuchsia surface pool (#13864)
This adds more trace events to more layer operations and enhances the
trace counters for the Fuchsia vulkan surface pool to include retained
surface counts, emit stats on recycle events that might change the
surface count, and by separating counters which measure bytes from
counters which measure counts to make analysis simpler.
2019-11-14 15:31:37 -08:00
Kaushik Iska
97df087ee6
[fuchsia] Package flutter_frontend_server snapshot for fuchsia (#13865) 2019-11-14 14:18:19 -08:00
Kaushik Iska
a5680f9388
[dart_runner] Initialize logging and tracing (#13829)
Remove !defined(FUCHSIA_SDK) bits to start using the SDK
apis to initialize logging and trace events for dart runners.
2019-11-13 10:02:09 -08:00
George Wright
7041238576
Create a WeakPtrFactory for use on the UI thread in VsyncWaiter (#13781) 2019-11-12 15:46:07 -08:00
Filip Filmar
20e3c5bb83 Revert "[fuchsia] Temporarily disable intl provider (#13696)" (#13721)
This reverts commit 6c763bb551cbc06da59b6a55b4c5ee0eccb6575f.

The reverted code was not the root cause of the issues with rolling
flutter into fuchsia, so adding it back.

In addition, lowering the severity of the connection error at the outset
to WARNING; since it is not a hard failure.
2019-11-08 17:34:04 -08:00
gabeschine
31cd2dfca2 Remove usage of fuchsia.modular.Clipboard. (#13763)
It is deprecated and will go away.
2019-11-08 17:13:17 -08:00
Filip Filmar
6c763bb551 [fuchsia] Temporarily disable intl provider (#13696)
The intention of the property provider is to try to connect, not
bail out if connection is not possible.

This code tried to connect unconditionally, which is not what we wanted.
Removing this initialization code to enable a roll, and will fix in a
followup.
2019-11-05 18:51:37 -08:00
George Wright
f7d52fab07 Add fuchsia.intl.PropertyProvider to our services on Fuchsia (#13486)
This resolves the following error on Fuchsia: Component fuchsia-pkg://fuchsia.com/flutter_aot_product_runner#meta/flutter_aot_product_runner.cmx is not allowed to connect to fuchsia.intl.PropertyProvider because this service is not present in the component's sandbox.
2019-11-01 16:13:12 -07:00
Filip Filmar
693ca2d0cb [dart] Makes the intl services available (#13460)
This registers that the dart runner requires
`fuchsia.intl.PropertyProvider` service.  It is a way for the runner
to discover the system locale.
2019-11-01 16:04:49 -07:00
Kaushik Iska
46c757be07
[dart_runner] Common libs need to exist for aot runner (#13419)
This is to account for failures like:

```
00067.522] 13245:13247>
[00067.522] 13245:13247> ------------------------------------------------
[00067.522] 13245:13247> RUNNING TEST: /pkgfs/packages/goodbye_dart_test/0/test/goodbye_dart_test
[00067.522] 13245:13247>
[00067.754] 05775:06330> dlsvc: could not open 'ld.so.1'
[00067.758] 01149:01207> [component_manager] WARN: Failed to launch process 'dart_aot_runner.cmx' in job 163427: Failed to load dynamic linker from fuchsia.ldsvc.Loader: NOT_FOUND
[00067.759] 05775:05777> [ERROR:src/sys/appmgr/realm.cc(155)] Cannot run executable dart_aot_runner.cmx due to error -1 (ZX_ERR_INTERNAL): fuchsia.process.Launcher failed
[00067.759] 05775:05777> [ERROR:src/sys/appmgr/runner_holder.cc(41)] Runner (fuchsia-pkg://fuchsia.com/dart_aot_runner#meta/dart_aot_runner.cmx) terminating, reason: failed to create component (UNKNOWN)
[00067.760] 13245:13247> fuchsia-pkg://fuchsia.con/goodbye_dart_aot#meta/goodbye_dart_aot.cmx: failed to create component (UNKNOWN)
[00067.761] 13245:13247> goodbye_dart_aot --now failed
[00067.772] 13245:13247> FAILURE: /pkgfs/packages/goodbye_dart_test/0/test/goodbye_dart_test exited with nonzero status: 1
[00067.886] 13245:13247>
[00067.887] 13245:13247> ------------------------------------------------
```

logs: https://logs.chromium.org/logs/fuchsia/buildbucket/cr-buildbucket.appspot.com/8898242024940777936/+/steps/launch_collect/0/steps/1/0/steps/collect/0/logs/task_stdout_stderr:_QEMU/0
2019-10-29 14:50:11 -07:00
Jason Simmons
7069025a32
Reformat BUILD.gn files to comply with the format checker presubmit script (#13401) 2019-10-29 09:49:16 -07:00
Kaushik Iska
f082b32236
[flutter_runner] Remove the checks for libdart profiler symbols (#13364)
Since the runner binaries are statically linked, we do not need
to look for the libdart profiler symbols separately.
2019-10-25 16:25:15 -07:00
Filip Filmar
400e3b00fb Wires the locale provided by Fuchsia. (#13045)
The FIDL service `fuchsia.intl.PropertyProvider` is a service that
the flutter runner can use to obtain information on system preferred
locales.

This change sends a platform message "setLocale" on the channel
"flutter/localization", based on the values provided by the above
mentioned FIDL service.

Credit: most of this was initially written by @kpozin; I ported it
to out-of-tree flutter engine.

Tested:

1. Compile and publish the unit tests package as shown in
   the script below.
2. In a Fuchsia repository (pointed to by `$FUCHSIA_DIR`), run
   `fx serve`
3. `fx shell run fuchsia-pkg://fuchsia.com/flutter_runner_tests#meta/flutter_runner_tests.cmx`

The script used to update the unit tests.

```bash

set -x

FLUTTER_ENGINE_DIR="${FLUTTER_ENGINE_DIR:-$HOME/fx/flutter/engine/src}"
readonly OUT_DIR="${FLUTTER_ENGINE_DIR}/out"

(
  cd ${FLUTTER_ENGINE_DIR}
  ./flutter/tools/gn --fuchsia --fuchsia-cpu x64 --unoptimized
  ninja -j 100 -C "${OUT_DIR}/fuchsia_debug_unopt_x64"
  cp "${OUT_DIR}/compile_commands.json" "${FLUTTER_ENGINE_DIR}"

  echo "Publishing the tests package"
  "${FLUTTER_ENGINE_DIR}/fuchsia/sdk/linux/tools/pm" publish \
    -a -r $FUCHSIA_DIR/out/release/amber-files \
    -f "${FLUTTER_ENGINE_DIR}/out/fuchsia_debug_unopt_x64/flutter_runner_tests-0.far"
)
```
2019-10-23 15:05:19 -07:00
Ryan Macnak
f6900001eb
Roll Dart to 6a65ea9cad4b014f88d2f1be1b321db493725a1c. (#13294)
Remove dead shared snapshot arguments to Dart_CreateIsolateGroup.

6a65ea9cad4b [vm] Remove shared snapshot and reused instructions features.
db8370e36147 [gardening] Fix frontend-server dartdevc windows test.
4601bd7bffea Modified supertype check error message to be more descriptive.
0449905e2de6 [CFE] Add a serialization-and-unserialization step to strong test
c8b903c2f94f Update CHANGELOG.md
2a12a13d9684 [Test] Skips emit_aot_size_info_flag_test on crossword.
b26127fe01a5 [cfe] Add reachability test skeleton
2019-10-22 13:14:20 -07:00
Jason Simmons
f0c9edcfa5
Do not request executable permission on Fuchsia file mappings unless it is required (#13290)
Fixes https://github.com/flutter/flutter/issues/43273
2019-10-22 11:24:51 -07:00
Kaushik Iska
84a3365dcf
Add templates to generate fuchsia host bundles (#13158)
This is part of an effort to separate generation of
host artifacts and target artifacts for fuchsia. The
`fuchsia_host_bundle` template aims to capture all the
artifacts that are specific to a given host.

The next step would be to bundle these are separate CIPD
packages for mac and linux (only x64 hosts)

internal planning doc: go/flutter-fuchsia-packaging
2019-10-21 12:51:38 -07:00
Kaushik Iska
c482ff686e
Add flutter_tester binary to the CIPD package (#13143)
- Also unifies f/s/platorm/fuchsia:fuchsia as the only target we build.
- This should contain all the packages we need to build fuchsia.
2019-10-15 12:26:13 -07:00
Kaushik Iska
7a06baaddf
[dart_aot_runner] Complete the port of dart_aot_runner (#13103)
* [dart_aot_runner] Complete the port of dart_aot_runner

- also adds the previously missing profiler symbols for dart_jit_runner
- CIPD package will contain both the JIT and AOT dart runners

* specify the inputs
2019-10-11 17:24:54 -07:00
Kaushik Iska
33b80ac98c
[dart_aot_runner] Generate vmservice aotsnapshots (#13101) 2019-10-11 16:03:30 -07:00
Kaushik Iska
3871bc42fc
[dart_aot_runner] Use the host_toolchain to build kernels (#13096) 2019-10-11 15:36:13 -07:00
Kaushik Iska
eed171ff35
[dart_aot_runner] Add rules to generate dart_aot binaries (#13074) 2019-10-11 09:42:28 -07:00
Kaushik Iska
0fd9b16883
Reland dart_aot_runner shims
This reverts commit f20c773c5e05a96974d56f230d9edb447f646b98.
2019-10-10 19:41:13 -07:00
Kaushik Iska
f20c773c5e
Revert "[dart_aot_runner] Add support for generating dart_aot snapshots (#13071)" (#13075)
This reverts commit e78c3f59c1a105e216e00db105d4f7391ccf01c1.
2019-10-10 18:00:09 -07:00
Kaushik Iska
e78c3f59c1
[dart_aot_runner] Add support for generating dart_aot snapshots (#13071)
This is part of the effort to port over dart_aot_runner
2019-10-10 17:22:11 -07:00
liyuqian
b3cbc030a5
Unblock Fuchsia roll (#12977)
See https://cirrus-ci.com/task/5367628704514048 and https://github.com/flutter/engine/pull/12822
2019-10-07 11:32:35 -07:00
Dan Field
7d55166fca
unbreak unopt fuchsia (#12805) 2019-10-04 14:10:46 -07:00
Dan Field
61e6f7dce5
[flutter_runner] a11y updates, tests! (#12380) 2019-10-04 13:30:56 -07:00
Kaushik Iska
1d62160fdb
Prettify all CMX files (#12800) 2019-10-04 12:32:54 -07:00
Dan Field
20ce0f6b69
Reland fuchsia build improvements (#12795) 2019-10-04 12:07:57 -07:00