3051 Commits

Author SHA1 Message Date
Qxyat
7e04a02d0b Fix iOS keyboard crash (flutter/engine#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
f3311522d0 Bump local podspec's iOS deployment target from 7.0 to 8.0 (flutter/engine#10662) 2019-08-12 11:15:24 -07:00
Kaushik Iska
3a5d1d388e [dart:zircon] Porting Cache re-usable handle wait objects (flutter/engine#10809)
Change-Id: I230601acf5de24765737ad81b595fef2c154134c
2019-08-09 12:46:23 -07:00
Konstantin Pozin
22bcb322dd [fuchsia] Migrate from custom FuchsiaFontManager to SkFontMgr_fuchsia (flutter/engine#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
9c5fdeacbd Rename flutter_java.jar and flutter_engine.jar so they match the Maven comvention (flutter/engine#10797) 2019-08-09 10:14:33 -07:00
Chinmay Garde
b293223a7e Add a test for creating images from bytes. (flutter/engine#10799) 2019-08-08 21:46:55 -07:00
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
sjindel-google
c39a23f1b6 Ensure debug-mode apps are always attached on iOS. (flutter/engine#10186) 2019-08-06 01:07:33 +02: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
Chinmay Garde
5a28c68b3c Fix threading and re-enable resource cache shell unit-tests. (flutter/engine#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
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
Dan Field
e9f8f66f82 skip flaky tests (flutter/engine#10633) 2019-08-05 10:22:43 -07:00
Dan Field
06e7030b0f Reland Skia Caching improvements (flutter/engine#10434) 2019-08-02 19:31:57 -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