3656 Commits

Author SHA1 Message Date
Renzo Olivares
b2b2f705de TextEditingDelta support for Android (flutter/engine#28175)
* Add new channel updateEditingStateWithDelta

* Fix formatting

* Fix formatting

* Fix formatting

* Add equality case

* formatting

* Implement TextEditingDelta class to encapsulate delta logic

* Formatting

* Also send new composing/selection along with delta

* Utilize an ArrayList of TextEditingDeltas to take into account batch editing

* clear batch deltas when editing state is updated by framework, we don't want to collect deltas from the framework because they have already been applied to the value on the framework side

* fix formatting

* formatting

* formatting

* Add enableDeltaModel flag to choose between updateEditingValue and updateEditingValueWithDeltas

* Add autofill support for delta model

* formatting

* update

* Fix issues with composing region

* formatting

* Remove

* Fix out of bounds error when textfield is initialized with text

* Clean up logs

* formatting

* update licenses

* Fix deletion issues

* formatting

* delta -> deltaType

* updates

* formatting

* formatting

* Fix logs

* Add tests for TextEditingDelta

* formatting fixes

* remove unused imports

* Fix return type for getDeltaType

* Fix tests

* Fix ListenableEditingStateTest

* formatting

* Fix typo

* Add test for deltas when setComposingText

* formatting

* Updates to test

* fix typo

* formatting

* Verify all properties of delta for test

* formatting

* Add VisibleForTesting import

* fix test

* fix formatting

* fix tests

* fix tests

* fix tests

* updates for tests

* remove ide made file

* Fix more tests

* Fix TextEditingDelta tests

* Add test for verifying delta is generated on setComposingText

* Add TextInputPlugin tests for replacement and deletion deltas

* formatting

* formatting

* Capture delta on setSpan and clear deltas when generated from the framework and when we skip updating the framework

* fix formatting

* update tests to reflect new clear batch delta calls

* Make deletion inline with platform

* fix tests

* Address reviewer comments

* formatting

* fix tests

* fix tests

* move delta inference to framework

* update tests

* formatting

* fix tests

* Formatting

* get -> extract

* More tests and address reviewer comments

* clean up logs

* Address reviewer comments

* formatting

* formatting

* Remove testing constructor

* send as deltas
2021-09-15 13:41:21 -07:00
Konstantin Scheglov
463ebf640f Fix UNNECESSARY_TYPE_CHECK_TRUE (flutter/engine#28611)
* Fix UNNECESSARY_TYPE_CHECK_TRUE

* Fix two more places.
2021-09-15 08:22:24 -07:00
xxrl
df1529f94e Delay matrix call in Preroll of picture layer (flutter/engine#28380) 2021-09-14 23:22:03 -07:00
Alexander Biggs
66fe4ff7d1 [fuchsia] Create DartComponentController for CFv2. (flutter/engine#28613)
Bug: fxb/79871

The code is still using the CFv1 implementation, so this should not affect the existing behavior.

For this version of the PR, I forked the existing DartComponentController. There were a few reasons for this:

Reduces the chance of the change breaking existing tests during Fuchsia GI.
Makes the V2 version of the DartComponentController simpler to read.
Makes it easier to switch over to using the V2 version of the DartComponentController once the migration is ready to happen (less cleanup).
The rate of changes to the DartComponentController is slow so there shouldn't be much maintenance required for the fork.
Changes to the DartRunner itself will happen in a follow-up PR - this PR only verifies that the ComponentController builds.

Relands GN and C++ changes for #27226 after rollback in #28036.
2021-09-14 16:15:53 -07:00
Kate Lovett
297946f1c1 Update API availability of edge to edge (flutter/engine#28616) 2021-09-14 17:14:23 -05:00
Emmanuel Garcia
e10e8ca58e Don't use rFD in pre-Q versions (flutter/engine#28593) 2021-09-13 15:31:54 -07:00
Daco Harkes
eb9ef3e99c [Desktop][Linux] Add RUNPATH $ORIGIN to flutter_linux_gtk (flutter/engine#28525) 2021-09-13 07:57:29 +02:00
Dan Field
33b811183a Allow injection of ExecutorService (flutter/engine#28543)
* Allow injection of ExecutorService

* Set thread names, use cached pool
2021-09-10 12:52:02 -07:00
chunhtai
1044ef57a4 Fixes accessibility issue that bridge fails to clean up FlutterScrollableSemanticsObject (flutter/engine#28495) 2021-09-10 11:32:02 -07:00
ColdPaleLight
aa228644cd Discard the resubmitted layer tree of the wrong size instead of rendering it (flutter/engine#28474) 2021-09-09 20:47:01 -07:00
Rich Kadel
dd51e241e5 Fix building Dart Fuchsia components and packages (flutter/engine#28413) 2021-09-09 14:47:02 -07:00
xster
8fefd6c656 Add a comment in the FlutterEngineGroup's constructor to avoid using the activity's context (flutter/engine#28168) 2021-09-09 14:42:03 -07:00
moko256
34985c56b4 cleanup #28098 (flutter/engine#28334) 2021-09-09 13:17:01 -07:00
Kaushik Iska
3cbb40e6ea Revert "Add benchmarks to measure dart -> native time (#28492)" (flutter/engine#28513) 2021-09-08 12:24:43 -07:00
Alexander Biggs
ef0d8bf6fe [fuchsia] Add CML files for dart_runner on CFv2. (flutter/engine#28491)
Bug: 79871

Partial re-land of #27226 (which was reverted in #28036 due to a flaky test). Only adds in the CML files for a CFv2 dart_runner without the corresponding C++ and GN changes.
2021-09-08 11:55:03 -07:00
Kaushik Iska
559cc49517 Reland "Add benchmarks to measure dart -> native time (#28492)" (flutter/engine#28510)
This reverts commit f23eeaba7a6edef97cae5693cdbeb66ce05d2493.
2021-09-08 11:24:09 -07:00
Chinmay Garde
f23eeaba7a Revert "Add benchmarks to measure dart -> native time (#28492)" (flutter/engine#28509)
This reverts commit db55f9274993a34bb6a0c81cc377cde54bb585d7.
2021-09-08 10:33:54 -07:00
Kaushik Iska
db55f92749 Add benchmarks to measure dart -> native time (flutter/engine#28492) 2021-09-08 09:17:01 -07:00
LongCatIsLooong
9fe73b3892 [TextInput] enroll in autofill by default (flutter/engine#28333) 2021-09-03 19:16:01 -07:00
Jim Graham
10d49ea696 Add RasterCache metrics to the FrameTimings (flutter/engine#28439) 2021-09-03 16:26:01 -07:00
Tamir Duberstein
f84699a8b9 Remove fuchsia.net.NameLookup (flutter/engine#28403) 2021-09-03 16:21:02 -07:00
Zachary Anderson
86de3b6591 Revert "Display Features support (Foldable and Cutout) (#24756)" (flutter/engine#28447)
This reverts commit 53b9a690c5eb8410c561be43964f350f58347366.
2021-09-03 09:01:15 -07:00
Andrei Diaconu
53b9a690c5 Display Features support (Foldable and Cutout) (flutter/engine#24756)
* Add DisplayFeatures and DisplayCutout to viewport metrics

* WindowManager alpha03 and better documentation

* Fixed formatting

* Fixed failing tests

* Replaced API version code P with 28

* Unnecessary import

* Fixed display features parameters missing

* Documentation changes

* First paragraph is a sentence

* Update androidx window library to version 1.0.0-alpha05

* Improve documentation, remove deprecated display feature call

* Write tests and improve documentation

* Migrate to Window Manager alpha08

* Update androidx window to beta01

* Remove unused import

* Remove window_hook_integration_test.dart

* Fix tests

* Update android_embedding_dependencies version to include androidx.window

* Add androidx.window to test_runner build

* Add empty display features arrays to fuchsia platform view

* Fix tests using final class mocking

* Add missing license header

* Update licenses_golden
2021-09-03 04:02:17 -07:00
Naud Ghebre
310ae53dfb The result to CompleteEmpty() being called on the platform message (flutter/engine#28407)
response is being interpreted as `null` in dart. This results in a
MissingPluginException being thrown whenever `View.update` or
`View.dispose` is invoked.

This change returns null data in a dictionary to complete the response
in a way that is not interpreted as `null` in dart.
2021-09-02 18:54:46 -04:00
Jason Simmons
34f7c9e249 Ensure that Skia persistent cache filenames do not exceed the maximum allowed length (flutter/engine#28315) 2021-09-02 11:56:02 -07:00
ColdPaleLight
8e7d4341dd Support passing existing SurfaceTexture to TextureRegistry (flutter/engine#28358) 2021-09-02 03:16:02 -07:00
Jason Simmons
57d1cf20d5 Make the LocalizationPluginTest package declaration match the source file path (flutter/engine#28391) 2021-09-01 11:56:01 -07:00
ColdPaleLight
4a74166097 Started providing the GPU sync switch to Rasterizer.DrawToSurface() (flutter/engine#28383)
Co-authored-by: Aaron Clarke <gaaclarke>
2021-09-01 11:37:22 -07:00
stuartmorgan
92341a8a64 Fix typo in FlMethodResponse docs 2021-09-01 16:46:08 +12:00
Jim Graham
967d492667 merge accounting of the (mutually exclusive) picture and dl cache entries in reported statistics (flutter/engine#28392) 2021-08-31 17:21:02 -07:00
Jason Simmons
426d5baac8 Add missing result for the TextInput.setEditableSizeAndTransform method handler on Android (flutter/engine#28376) 2021-08-31 14:56:02 -07:00
ColdPaleLight
198f96cd09 Ensure that unregisterTexture is called when forget to call SurfaceTextureEntry.release (flutter/engine#28304) 2021-08-30 19:11:01 -07:00
David Worsham
494a017b85 fuchsia: Fix renderer destructor (flutter/engine#28355) 2021-08-30 15:18:15 -07:00
Swift Kim
5ec8979721 Remove unnecessary code from the iOS embedder (flutter/engine#27472) 2021-08-30 15:11:02 -07:00
moko256
4836ff6b3c [UWP] Implement setting cursor icon. (flutter/engine#28098) 2021-08-26 17:15:46 -07:00
ColdPaleLight
bfce29ca8e Fix memory leak in FlutterSwitchSemanticsObject (flutter/engine#28065) 2021-08-26 13:21:01 -07:00
David Worsham
341a0f2f24 fuchsia: Improve FakeSession & add tests (flutter/engine#28139) 2021-08-26 13:16:02 -07:00
moko256
6239e74b25 [UWP] Add mouse button support (flutter/engine#28100) 2021-08-26 13:11:02 -07:00
Shax
07e2ce8fd9 Rename fl_get_length to fl_value_get_length (flutter/engine#27757) 2021-08-26 13:06:02 -07:00
Chris Bracken
8f87951759 Revert "Build dart:zircon and dart:zircon_ffi (#28071)" (flutter/engine#28313)
This reverts commit 1e9b7aed566105eec982ca0eb545139b218bc916.

Reverting in order to land revert of the gn script_executable from
python3 to vpython3, which is causing flakes on Windows.

Issue: https://github.com/flutter/flutter/issues/88719
2021-08-26 11:21:49 -07:00
Brandon DeRosier
3600461d13 Fix lint that shows up in manual builds (flutter/engine#28311) 2021-08-25 16:27:17 -07:00
Jason Simmons
a00125e2e4 Run the Android Robolectric tests using Gradle (flutter/engine#28084) 2021-08-25 09:11:02 -07:00
Justin McCandless
e00871d812 hasStrings on Windows (flutter/engine#27749) 2021-08-24 17:54:01 -07:00
Chris Bracken
c291ec55d6 Eliminate unnecessary null check in fixture (flutter/engine#28281)
The type of `PlatformDispatcher.instance.locales` is `List<Locale>`,
which precludes either null list or a null value in the list, for that
matter.
2021-08-24 12:25:07 -07:00
ColdPaleLight
2c71fa8e1b Fix memory leak in FlutterDarwinExternalTextureMetal (flutter/engine#28059) 2021-08-24 07:59:02 -07:00
Brandon DeRosier
54c9c08552 Fix flaky stack-use-after-scope in PushingMutlipleFramesSetsUpNewRecordingCanvasWith*CustomCompositor (flutter/engine#28266) 2021-08-23 23:26:58 -07:00
Chris Bracken
a858cceed8 Eliminate Android-specific Vulkan support (flutter/engine#28239)
This eliminates Vulkan support for Android. As of flutter/engine#27980
(684ad82) we are no longer running Android-Vulkan builds. This
eliminates the --enable-vulkan flag from tools/gn and any code that is
only reachable when that flag is enabled.

Note that after this patch, `shell_enable_vulkan` is always false,
however the //flutter/shell/gpu:gpu_surface_vulkan target and source
files remain since they are still used when `test_enable_vulkan` is
true, which is the case when `is_fuchsia` is true. Note that these files
are *not* built as part of a regular fuchsia build (see the
`shell_gpu_configuration` in //shell/platform/fuchsia/flutter/BUILD.gn),
but may be enabled once the Fuchsia embedder is migrated to the Embedder
API.

Also updates TODOs to dworsham, who is the committer who'll be
transitioning the Fuchsia embedder to the embedding API.
2021-08-23 13:59:43 -07:00
Matej Knopp
b48f5143ac Enable repeat for desktop embedder tests (flutter/engine#28253) 2021-08-23 09:07:02 -07:00
Matej Knopp
41f40a15ac macOS: Do not swap surface if nothing was painted (flutter/engine#28136) 2021-08-23 09:02:02 -07:00
eggfly
3506a0c03b Avoid deadlock while creating platform views with multiple engines. (flutter/engine#28224) 2021-08-23 08:57:02 -07:00