88 Commits

Author SHA1 Message Date
David Worsham
cbd3cd9c0d fuchsia: Enable most unittests (flutter/engine#19583)
Tweak the primary flutter build rule so that fuchsia is more similar to
other platforms in how tests and the shell are built.

Only embedder_unittests and GLFW tests are disabled on Fuchsia now.

TEST: Ran unittests on host/fuchsia; workstation on fuchsia
BUG: fxb/53847, fxb/54056
2020-07-13 17:36:19 -07:00
gaaclarke
851f2e76b0 Made the Rasterizer avoid GPU calls when backgrounded (flutter/engine#18563) 2020-05-26 21:02:40 -07:00
liyuqian
b5318d05ff More rename from GPU thread to raster thread (flutter/engine#17408)
This PR touches variable names, class names, and file names so it's significantly more risky than its predecessor https://github.com/flutter/engine/pull/17329

Due to file name changes, this PR is expected to change the license files.

We haven't rename `shell/gpu` to `shell/raster` yet. It should be optional but I think it's better to have `raster_surface_software.cc` than `gpu_surface_software.cc`.
2020-03-31 14:05:28 -07:00
liyuqian
10824995dd Rename GPU thread to raster thread in code comments (flutter/engine#17329)
1. Simple "GPU thread" to "raster thread" replacement.

2. Regex replace "GPU([\n\r\s]+//+ thread)" with "raster$1".

3. Regex replace "// gpu$" with "// raster".

4. Simple test change.

5. Run ci/format.sh
2020-03-25 22:49:59 -07:00
Chinmay Garde
929fb3f825 Remove checks for the always true using_fuchsia_sdk flag in all GN files. (flutter/engine#17261) 2020-03-23 18:31:02 -07:00
Chinmay Garde
426c48aaac Remove all uses of the redundant flutter_root variable. (flutter/engine#16311)
This was only necessary when the Engine had to build in multiple buildroots
where the sources where checked out at different paths relative to the
buildroot. This is no longer the case and there are already cases GN rules
have been written that mix and match variable usage with the direct
specification of the path to the Flutter sources relative to the sole buildroot.
2020-01-31 21:49:48 -08:00
Chinmay Garde
93d67baf2b Move tonic into //flutter/third_party. (flutter/engine#15895)
Tonic used to be used by multiple consumers outside of Flutter Engine. Due to
this, it has an unnecessary abstraction layer as well as utilities duplicated in
FML and other engine subsystems. The sole user of Tonic is now the Flutter
Engine. It is intended that the Flutter Engine team now owns this subsystem,
remove unnecessary utilities and document the headers. This is the first step in
the transition. No history is being imported as the initial history was already
lost in the transition of this component to fuchsia.googlesource. As this
component was unmaintained there, I could see no additional value in importing
the history of the patches there.

No functional change. Just moved the repo from //third_party to
//flutter/third_party and updates GN refs.
2020-01-25 17:01:56 -08:00
George Wright
f99f00b0e3 Make flutter_tester support multithreaded testing, and run all Dart tests in both single and multithreaded configurations (flutter/engine#13273)
Make flutter_tester support multithreaded testing, and run all Dart tests in both single and multithreaded configurations

This also modifies Shell::GetUIIsolateLastError() and Shell::EngineHasLivePorts() so that they must be called from the UI task runner.
2019-10-22 14:10:57 -07:00
Kaushik Iska
8ed91e89cf Add templates to generate fuchsia host bundles (flutter/engine#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
63e93b2f77 Add flutter_tester binary to the CIPD package (flutter/engine#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
Ben Konyi
5c9fdc84d4 Unblock SIGPROF on flutter_tester start (flutter/engine#12813)
Fixes https://github.com/flutter/flutter/issues/35140
2019-10-08 15:13:08 -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
Dan Field
cd18c5ef0b Remove get engine (flutter/engine#9747) 2019-07-30 17:11:04 -07:00
Jason Simmons
8be5805dff Exit flutter_tester with an error code on an unhandled exception (flutter/engine#9932) 2019-07-22 12:06:34 -07:00
liyuqian
fb0ea0ef4c Add onReportTimings and FrameRasterizedCallback API (flutter/engine#8983)
Using it, a Flutter app can monitor missing frames in the release mode, and a custom Flutter runner (e.g., Fuchsia) can add a custom FrameRasterizedCallback.

Related issues:
https://github.com/flutter/flutter/issues/26154
https://github.com/flutter/flutter/issues/31444
https://github.com/flutter/flutter/issues/32447

Need review as soon as possible so we can merge this before the end of May to catch the milestone.

Tests added:
* NoNeedToReportTimingsByDefault
* NeedsReportTimingsIsSetWithCallback
* ReportTimingsIsCalled
* FrameRasterizedCallbackIsCalled
* FrameTimingSetsAndGetsProperly
* onReportTimings preserves callback zone
* FrameTiming.toString has the correct format

This will need a manual engine roll as the TestWindow defined in the framework needs to implement onReportTimings.
2019-06-06 10:42:48 -07:00
Jason Simmons
f1ef8c2748 Add a minimal set of symbols to the dynamic symbol table for Linux executables (flutter/engine#8937)
This will reduce executable size.
2019-05-13 16:12:58 -07:00
Dan Field
c96714ac5d new lints (flutter/engine#8849)
Dart lints added:
* Avoid optional new
* Avoid optional const
* Prefer single quotes
* Prefer default assignment `=`
2019-05-07 16:10:21 -07:00
Chinmay Garde
56e7bf84b1 Wire up Fuchsia SDK related updated for shell dependencies. #8869
This does not actually import the runners into the engine. It only sets up the targets so they need no modifications are necessary when the migration is done. The engine has been verified to build in both buildroots.
2019-05-06 18:01:59 -07:00
liyuqian
358e88cabf Revert "Only allow mappings for ICU initialization. (#8656)" (flutter/engine#8682)
This reverts commit dfaa1c9292238e73c56d36f7264adc63ea53745c.

Reverts flutter/engine#8656

Reason:  https://github.com/flutter/engine/pull/8656 seems to break the framework windows tests and the engine roll (see https://cirrus-ci.com/task/4704667236827136 and https://github.com/flutter/flutter/pull/31330). The failure has been consistent for 7 consecutive engine-to-framework auto-rolls.

TBR: @chinmaygarde
2019-04-22 10:28:54 -07:00
Chinmay Garde
dfaa1c9292 Only allow mappings for ICU initialization. (flutter/engine#8656)
If the mapping callback is not set or it the callback returns invalid data, ICU initialization will be embedder responsibility.

This affects all embedders and the following have been audited:
* Android: Via a symbol mapping.
* iOS: Via a file mapping.
* Embedder: Via a file mapping.
* Fuchsia: Via a VMO mapping
* Test shells and Flutter tester: Via file mapping with ICU data needing to be next to the executable.
2019-04-19 15:01:40 -07:00
Ben Konyi
ef2a551576 Disable auth codes for Observatory test (flutter/engine#8646) 2019-04-18 17:46:32 -07:00
Chinmay Garde
4dd267959f Rename the shell namespace to flutter. (flutter/engine#8520) 2019-04-09 17:10:46 -07:00
Chinmay Garde
1fd28a143a Rename the blink namespace to flutter. (flutter/engine#8517)
Some components in the Flutter engine were derived from the forked blink codebase. While the forked components have either been removed or rewritten, the use of the blink namespace has mostly (and inconsistently) remained. This renames the blink namesapce to flutter for consistency. There are no functional changes in this patch.
2019-04-09 12:44:42 -07:00
Zachary Anderson
8d8c635813 [flutter_tester] Accept --icu-data-file-path (flutter/engine#8374) 2019-03-29 14:57:40 -07:00
Chris Bracken
23db336526 [Fuchsia] Depend on libtrace when that is what's really meant (flutter/engine#7214)
libtrace-provider has libtrace listed as a dependency when really it
does not have any such dependency. This lets trace clients use
libtrace-provider as a dependency when what they really mean is libtrace.

This errant dependency in trace-provider is being fixed, which
means we need to fix these clients.
2018-12-13 13:13:38 -08:00
Chris Bracken
c2c439fd0a Use application_kernel_asset in flutter_tester (flutter/engine#6972)
Since the migration to Dart 2, the first positional command-line
argument to flutter_tester has been a Dart kernel .dill file. Use
Settings::application_kernel_asset here for consistency/clarity.
2018-11-27 13:51:54 -08:00
Michael Goderbauer
0def82ddb0 Unify copyright lines (flutter/engine#6757) 2018-11-07 12:24:35 -08:00
Gary Qian
db2208a1fc Flutter tester default locales (flutter/engine#6689) 2018-10-29 14:06:04 -07:00
Chinmay Garde
ddd0b8887a Handle Windows headers defining ERROR to 0 in log levels. (flutter/engine#6677) 2018-10-26 16:47:14 -07:00
Chinmay Garde
68887916e2 Realize kernel asset mappings on a worker thread if one is available. (flutter/engine#6648) 2018-10-24 11:33:46 -07:00
Ben Konyi
af54a8129e Dart SDK roll for 2018-09-28 (flutter/engine#6388) 2018-09-28 18:02:04 -07:00
Chinmay Garde
74c44fa72a Wire up the Skia persistent GPU related artifacts cache. (flutter/engine#6278)
Also teaches FML to create files and directories.
2018-09-26 14:54:09 -07:00
Dan Field
1df2685196 Format for #6324 (flutter/engine#6326)
Format code from previous patch
2018-09-24 18:42:04 -04:00
Dan Field
89eeaf461e Engine::Run returns enum: success, failure, or isolate already running (flutter/engine#6324)
* If isolate is already running, return true

* Use shell::Engine::RunStatus as result of Engine::Run
2018-09-24 18:01:22 -04:00
Ryan Macnak
a6d25b895c Reapply "Some cleanups enabled by removing support for Dart 1" (flutter/engine#6250)
Following fixes in dart-lang/sdk@91cbb57cd5
2018-09-14 09:36:13 -07:00
Michael Goderbauer
d6ba11b0c1 Revert "Reapply "Some cleanups enabled by removing support for Dart 1" (#6216)" (flutter/engine#6232)
This reverts commit 88aac222998fac4a7c0e57e99c48feacefc92aa6.
2018-09-12 12:07:20 +02:00
Ryan Macnak
88aac22299 Reapply "Some cleanups enabled by removing support for Dart 1." (flutter/engine#6216)
- Add missing Dart 2 flags to gen_snapshot invocation.
 - Disable brittle service test.
2018-09-10 17:03:54 -07:00
Ryan Macnak
75e10e3845 Revert "Some cleanups enabled by removing support for Dart. (#5621)" (flutter/engine#6205)
This reverts commit e05d573589bded526e9acf44128e35151d142b7e.
2018-09-07 17:39:51 -07:00
Ryan Macnak
e05d573589 Some cleanups enabled by removing support for Dart. (flutter/engine#5621)
- Switch core snapshot to Dart 2 and remove support for loading platform.dill.
 - Remove support for loading script snapshots.
 - Remove support for loading source.
 - Remove settings and fix names to reflect the above.
 - Remove support for loading the service isolate from source.
2018-09-07 15:44:46 -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
Todd Volkert
306464cb6f Reference platform_strong.dill, not platform.dill (flutter/engine#5992) 2018-08-10 11:55:36 -07:00
Alexander Aprelev
5de4538b21 Fix IsolateStart event kind. (flutter/engine#5978) 2018-08-08 15:45:26 -07:00
Chinmay Garde
6ab2c166fd Remove all dependencies on Garnet. (flutter/engine#5869) 2018-07-26 12:49:34 -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
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
Ryan Macnak
8e2bc7b70e Reapply "Don't link the core snapshot in the Android engine." (flutter/engine#5353)
Add back the core snapshot to runtime_unittests and embedder_unittests.
2018-05-23 17:09:51 -07:00
Ryan Macnak
49c1ba1007 Revert "Don't link the core snapshot in the Android engine. (#5348)" (flutter/engine#5352)
This reverts commit d40b0dbcd2c28fbd4eadc91943f3c2c9ee0d7df5.
2018-05-23 16:11:57 -07:00
Ryan Macnak
d40b0dbcd2 Don't link the core snapshot in the Android engine. (flutter/engine#5348)
Allows one to use a different core snapshot without a custom engine build by just packaging a different one in the APK.
2018-05-23 15:56:28 -07:00
Chinmay Garde
1718f9b935 Break the FXL from flutter/assets. (flutter/engine#5316) 2018-05-18 17:04:36 -07:00