1558 Commits

Author SHA1 Message Date
Dan Field
e22893966a
Expose isolateId for engine (#10823) 2019-08-12 21:20:59 -07:00
Jim Graham
6a4dfa7aad
include zx::clock from new location to fix Fuchsia autoroll. (#10968) 2019-08-12 17:50:16 -07:00
Michael Klimushyn
ed88d0a44d
Change SemanticsNode#children lists to be non-null (#10952)
Prevents NPEs and simplifies the code needed to handle these collections. There doesn't seem to have been a meaningful difference between null and empty collection here. The specific crash was happening when `object.scrollChildren > 0` while `object.childrenInHitTestOrder == null`, which looks like it may be a bug on its own and probably needs further investigation.
2019-08-12 17:16:59 -07:00
Kaushik Iska
a438469aa1
Fix format (#10955) 2019-08-12 14:23:27 -07:00
Kaushik Iska
b5c198b699
Fix iOS references to PostPrerollResult (#10949) 2019-08-12 13:01:11 -07:00
Kaushik Iska
971a639151
Allow for dynamic thread merging on IOS for embedded view mutations (#9819)
After pre-roll we know if there have been any mutations made to the IOS embedded UIViews. If there are any mutations and the thread configuration is such chat the mutations will be committed on an illegal thread (GPU thread), we merge the threads and keep them merged until the lease expires. The lease is currently set to expire after 10 frames of no mutations. If there are any mutations in the interim we extend the lease.

TaskRunnerMerger will ultimately be responsible for enforcing the correct thread configurations.

This configuration will be inactive even after this change since still use the same thread when we create the iOS engine. That is slated to change in the coming PRs.
2019-08-12 12:32:38 -07:00
Michael Klimushyn
c92a0d992a
Report JUnit test failures (#10941)
Previously this script was not reporting any JUNit failures and somehow
ended up included a non-existent jar for Java tests to test against.

It looks like one of the JUnit tests is now failing. Disabling it for
now to turn on CI again as soon as possible, will fix and enable it in a
follow up.
2019-08-12 12:17:15 -07:00
Qxyat
e95125aad3 Fix iOS keyboard crash (#10656)
Fixes an iOS crash on physical devices in `-[__NSCFString substringWithRange:]`: range out of bounds. According to Apple's docs for `UITextInput` method `positionFromPosition:(UITextPosition*)position offset:(NSInteger)offset`, this method should return:

A custom UITextPosition object that represents the location in a document that is at the specified offset from position. Return nil if the computed text position is less than 0 or greater than the length of the backing string.
2019-08-12 11:35:35 -07:00
Jerry Zhou
a50ec07d56 Bump local podspec's iOS deployment target from 7.0 to 8.0 (#10662) 2019-08-12 11:15:24 -07:00
Kaushik Iska
42afb1abbe
[dart:zircon] Porting Cache re-usable handle wait objects (#10809)
Change-Id: I230601acf5de24765737ad81b595fef2c154134c
2019-08-09 12:46:23 -07:00
Konstantin Pozin
70de3ec2c3 [fuchsia] Migrate from custom FuchsiaFontManager to SkFontMgr_fuchsia (#10700)
Use Skia's own implementation of SkFontMgr for Fuchsia, for consistency with
other Skia clients on Fuchsia.

FL-290
2019-08-09 11:04:43 -07:00
Emmanuel Garcia
83b640d4b4
Rename flutter_java.jar and flutter_engine.jar so they match the Maven comvention (#10797) 2019-08-09 10:14:33 -07:00
Chinmay Garde
0c42c516d5
Add a test for creating images from bytes. (#10799) 2019-08-08 21:46:55 -07:00
Chinmay Garde
f57ae89d7f
When setting up AOT snapshots from symbol references, make buffer sizes optional. (#10674) 2019-08-08 20:31:23 -07:00
Emmanuel Garcia
3103499019
Include Maven dependency in files.json (#10719) 2019-08-08 18:59:22 -07:00
Jason Simmons
622d67fb58
Build JARs containing the Android embedding sources and the engine native library (#10778) 2019-08-08 18:11:29 -07:00
Kaushik Iska
dd735c9179
[flutter_runner] Improve frame scheduling (#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
6c0c7319cc
[flutter] Create the compositor context on the GPU task runner. (#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
7cfb3de69b
Revert "Forwards iOS dark mode trait to the Flutter framework (#34441). (#9722)" (#10789)
This reverts commit 65fd5d4d629a2150cf85566857ab0bd2ddeb3d5a.
2019-08-08 17:15:06 -07:00
Matt Carroll
65fd5d4d62
Forwards iOS dark mode trait to the Flutter framework (#34441). (#9722) 2019-08-08 16:22:45 -07:00
Jason Simmons
d9bbe37ce3
Remove use of the deprecated AccessibilityNodeInfo boundsInParent API (#10773) 2019-08-08 15:25:56 -07:00
Michael Goderbauer
f2f84ca95f
Fix empty composing range on iOS (#10381) 2019-08-07 09:22:40 -07:00
Chinmay Garde
b769353cfd
Allow embedders to control Dart VM lifecycle on engine shutdown. (#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
735255f36a
Android embedding refactor pr40 add static engine cache (#10481) 2019-08-06 16:15:21 -07:00
Chris Bracken
37a283765c
Migrate Fuchsia runners to SDK tracing API (#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
bad862e13d reset platformViewsController in engine.destroyContext when allowHeadlessExecution = false (#10629) 2019-08-05 17:36:58 -07:00
Kaushik Iska
ad3846effa
[flutter_runner] Port: Add connectToService, wrapping fdio_ns_connect. (#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
sjindel-google
d6a02a3f67
Ensure debug-mode apps are always attached on iOS. (#10186) 2019-08-06 01:07:33 +02:00
Nathan Rogers
e81aa5869c
Use Fuchsia trace macros when targeting Fuchsia SDK (#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
Chinmay Garde
9c9f73e183
Fix threading and re-enable resource cache shell unit-tests. (#10636)
The rasterizer may only be accessed safely on the GPU task runner. The test was accessing the same on a non-engine known task runner instead (i.e the tests main task runner).

Crashes previously reproducible on all platforms with the following filters: `--gtest_filter="*ShellTest.SetResourceCacheSize*" --gtest_repeat=-1 --gtest_shuffle --gtest_random_seed=1988` at run ~400.

Fixes https://github.com/flutter/flutter/issues/37629
2019-08-05 12:47:30 -07:00
Kaushik Iska
8fd871799f
[fuchsia] CloneChannelFromFD fix for system.cc (#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
Dan Field
2ccfd9e562
skip flaky tests (#10633) 2019-08-05 10:22:43 -07:00
Dan Field
960501721b
Reland Skia Caching improvements (#10434) 2019-08-02 19:31:57 -07:00
Chris Bracken
da0b7716c6
Add #else, #endif condition comments (#10477)
Adds a few missing condition hints on some preprocessor conditionals.
2019-08-02 15:45:07 -07:00
Jason Simmons
26368225b5
Fix deprecation warnings in the Android embedding (#10424) 2019-08-01 18:13:27 -07:00
Kaushik Iska
310bc030b4
Make kernel compiler use host toolchain (#10419) 2019-08-01 12:57:03 -07:00
Kaushik Iska
b41c172bcd
[fuchsia] Kernel compiler is now ready (#10309)
Also fixes the architecture of the bundled SO files.
2019-07-31 20:41:11 -07:00
Francisco Magdaleno
6aad13910c
[glfw] Enables replies on binary messenger in glfw embedder (#9948) 2019-07-31 14:27:46 -07:00
Francisco Magdaleno
cfa6c7c72b
[macos] Reland function refactor (#10189)
* [macos] Reland function refactor

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

* fix path
2019-07-30 09:57:58 -07:00
Matt Carroll
f336e05a69
Android Embedding PR37: Separated FlutterActivity and FlutterFragment via FlutterActivityAndFragmentDelegate (#9895) 2019-07-29 17:40:25 -07:00
Michael Klimushyn
839f9a2707
Deprecate FlutterView#enableTransparentBackground (#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
67524615be
Add better CIPD docs. (#10185)
Also commits cipd.yaml to source.
2019-07-26 15:39:48 -07: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
Jonah Williams
be9b245690
add suggested changes from flutter roll (#10176) 2019-07-26 12:56:08 -07:00
Kaushik Iska
3e0cff2a61
[fuchsia] Add support for aot mode in flutter runner (#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
5f6f278520
[dart_runner] Rename dart to dart runner (#10172) 2019-07-26 10:15:08 -07:00
Kaushik Iska
5edd787cf2
[fuchsia] Push CMX to fars and add product mode support (#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