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
This change makes it so that we track all the motion events encountered by `FlutterView` and all of its subviews in the `MotionEventTracker` class, indexed by a unique `MotionEventId`. This identifier is then passed to the Flutter framework as seen in https://github.com/flutter/flutter/pull/60930. Once the gestures take part in gesture disambiguation and are sent back to the engine, we look-up the original motion event using the `MotionEventId` and dispatch it to the platform.
Bug: https://github.com/flutter/flutter/issues/58837
Additionally create "_next" permutations for all of the test binaries
on Fuchsia, in order to test both code-paths.
Using the #define follow-up CLs can also create a flutter_runner_next
binary that does not contain any legacy integration code.
BUG: 53847
Adds an `allowUpscale` parameter to the Dart interfaces for instantiateImageCodec and decodeImageFromPIxels. If set to false, the image bounds will be clamped at their intrinsic dimensions.
A later commit will change the default to true.
SkImage references get held by both our Image and Picture objects. The GC has no idea about this, and so sometimes pictures look very small when they're actually holding a reference to a large chunk of memory. This patch helps make sure that the GC can more adequately catch the real size impact of Picture objects, and combined with an upstream patch in Dart allows for much more aggressive collection of unused image related memory.
The underlying _updateNode call requires that all parameters be set
non-null. There's a single call site in the framework in
lib/src/semantics/semantics.dart in SemanticsNode.updateWith(). At that
call site, all parameters are either asserted non-null in the
constructor of SemanticsData or defaulted to null, with the sole
exception of textDirection.
The ergonomics of this method are currently pretty ugly and we should
consider migrating most of the defaulting and assertions that we apply
at the call site up to the definition in dart:ui. That work is filed as
https://github.com/flutter/flutter/issues/57720.
These were added in 7e5d63513a7ae854605dbd38582cead55594e9f0 for use in
_handleNavigationMessage. That function was deleted in
f37aafd456fc6a1c2dba5bc1b63123b0e665e6cd, but the support methods were
left in the code. `// ignore: unused` annotations were added to all
private native entry points by dnfield (to work around what is arguably
a bug) in 6179ac637724e8f93b7f3c8dcfda93a6b9b7995e, and were applied to
these two methods, I suspect unintentionally.
In any case, they appear entirely unused at present.
* Revert "Do not register UI-related native functions in secondary isolates (#6401)"
This reverts commit 69ae5694de54d2a163743dcec727fcea1c7bc8e1 as it doesn't work when root and secondary isolates run in the same isolate group.
* Confirm it is root isolate that makes UI native calls.
* Fix format, UIDartState reference from Fuchsia source
* No UI isolate check for fuchsia calls
* Fix typo. Remove redundant runtime calls