Commit Graph

106 Commits

Author SHA1 Message Date
Dan Field 0a8bd9dd6f Fix mDNS for iOS13 (#13451) 2019-11-01 15:29:15 -07:00
Chinmay Garde 86e3ebb748 Allow embedders to specify arbitrary data to the isolate on launch. (#13047)
Since this is currently only meant to be used by the embedding internally, the setter in Objective-C is only exposed via the FlutterDartProject private class extension. Unit tests have been added to the shell_unittests harness.

Fixes https://github.com/flutter/flutter/issues/37641
2019-10-10 12:31:14 -07:00
liyuqian df0e911c67 SkSL precompile (#12412)
For https://github.com/flutter/flutter/issues/40686

Unit tests added:
- CacheSkSLWorks
- VisitFilesCanBeCalledTwice
- CanListFilesRecursively
2019-10-08 11:51:28 -07:00
Jonah Williams 6f5eb1332f Add support for JIT release mode (#12446) 2019-09-27 11:20:54 -07:00
Chris Bracken 426ea8dba6 Fix gn breakage on non-Fuchsia macOS host builds (#11019)
Ensure that we always pull in the ensure_fuchsia_sdk gn variable.

Fixes breakage introduced in flutter/engine#11016 when building outside
of a Fuchsia tree (e.g. in a stock Flutter engine tree0 on macOS hosts.
2019-08-14 21:55:47 -07:00
Chris Bracken c4dd223945 Fix gn breakage on Fuchsia macOS host builds (#11016)
When building Fuchsia on macOS hosts, ensure that we reference the
correct clang toolchain path. This patch also prevents bitcode
compilation on Fuchsia tree builds on macOS.
2019-08-14 18:21:40 -07:00
sjindel-google d6a02a3f67 Ensure debug-mode apps are always attached on iOS. (#10186) 2019-08-06 01:07:33 +02:00
Kaushik Iska 3e3efe4c6c [dart_runner] dart jit runner and dart jit product runner (#10179)
We now build dart runner as well
2019-07-26 13:29:46 -07:00
Jason Simmons be8819e2dc Declare a copy of the enable_bitcode flag within the Flutter build scripts for use in Fuchsia builds (#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
Jason Simmons 3c9a22c778 Fall back to a fully qualified path to libapp.so if the library can not be loaded by name (#9762)
libapp.so contains compiled application Dart code.  On most Android systems,
this library can be loaded by calling dlopen("libapp.so"), which will search
Android's default library directories.

On some Android devices this does not work as expected.  As a workaround, this
patch provides a fallback path to libapp.so based on ApplicationInfo.nativeLibraryDir.

Fixes https://github.com/flutter/flutter/issues/35838
2019-07-11 12:39:42 -07:00
Jason Simmons 2cd650d269 Minimal integration with the Skia text shaper module (#9556)
This converts the libtxt Paragraph and ParagraphBuilder classes into
interfaces with Minikin and SkShaper/SkParagraph based implementations.

Use the --enable-skshaper GN flag to select the Skia shaper implementation
at build time.
2019-07-10 14:13:55 -07:00
Chris Bracken 107fe82343 Add --observatory-host switch (#9485)
Adds --observatory-host, which allows callers to specify the localhost
IP binding directly. Allows users to set 0.0.0.0 or the host IP address
as is possible in the standalone VM, rather than restricting users to
loopback.

We retain the default behaviour of binding to loopback since the vast
majority of observatory use-cases involve local access (e.g. host tests
on flutter_tester) or port-forwarded local access (e.g. flutter driver
device tests). However, some scenarios, such as QA test labs, may
benefit from binding to a publicly-accessible IP address.
2019-06-25 13:20:39 -07:00
Jason Simmons 7a5ec8d792 Remove build flags for dynamic patching (#9394) 2019-06-20 15:25:04 -07:00
liyuqian 9f088c65ee Add onReportTimings and FrameRasterizedCallback API (#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 b3b817a9b3 Add a minimal set of symbols to the dynamic symbol table for Linux executables (#8937)
This will reduce executable size.
2019-05-13 16:12:58 -07:00
Chinmay Garde f6e6d39860 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
Zachary Anderson 3a29e6a7a7 Plumb arguments from Settings to Dart main() (#8710) 2019-04-25 07:57:54 -07:00
Chinmay Garde 6dc5dcad32 Revert "Remove unused Settings::ToString. (#8642)" (#8689)
This reverts commit 4ead9c8f99.

Reland tracked in https://github.com/flutter/flutter/issues/31433.
2019-04-22 14:31:33 -07:00
liyuqian 1c9457cedc Revert "Only allow mappings for ICU initialization. (#8656)" (#8682)
This reverts commit bd8c5b135e.

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 1239df96aa Allow native bindings in secondary isolates. (#8658)
The callbacks can be wired in via the Settings object. Both runtime and shell unit-tests have been patched to test this.
2019-04-19 17:36:36 -07:00
Chinmay Garde bd8c5b135e Only allow mappings for ICU initialization. (#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
Chinmay Garde 1fe3279149 Cleanup references to FLX archives from the engine. (#8653) 2019-04-19 12:49:07 -07:00
Chinmay Garde 4ead9c8f99 Remove unused Settings::ToString. (#8642)
This was used in some embedder implementations. But that was a while ago.
2019-04-18 18:54:06 -07:00
Chinmay Garde 324b8403e8 Remove the flutter_aot GN argument. (#8581)
This argument has been defunct for a while. It was originally added as a
means of testing the AOT machinery in debug modes.
2019-04-15 12:57:45 -07:00
Kaushik Iska 7292d62ef8 Revert Versions API (#7828)
* Revert "Fix versions implementation (#7726)"

This reverts commit 3c38dd342f.

* Revert "Expose the Flutter engine, Dart and Skia versions to Dart. (#7634)"

This reverts commit b94e759b25.

* remove namespace shell stuff

* fix format

* fix licenses
2019-04-12 14:23:13 -07:00