* MacOS: Don't remove pointer after drag if released inside window
Fixes https://github.com/flutter/flutter/issues/83494
* Update has_pending_exit documentation
* Do add mouse pointer if it wasn't removed.
Add support for zx_handle_replace.
This is related to https://fxbug.dev/68600.
handle_test has been updated and tested in fuchsia.git locally. Additional tests are added for Handle.duplicate.
This change adds inspect data to the a11y bridge, which can be requested
via the command line.
Inspect nodes are lazy computed, meaning that they are only processed
when invoked, so no extra space is used during normal use.
Bug: fxbug.dev/75100
Test: AccessibilityBridgeTest.InspectData
This refactoring moves the Application Launch and Uninstall methods to
the ApplicationStore class. This simplifies writing tests for Command
classes since the Application class is now a plain old data class, and
ApplicationStore can be replaced with a fake implementation for hermetic
testing, while I'll do in a follow-up patch.
Bug: https://github.com/flutter/flutter/issues/83072
Extracts each of the commands (listapps, install, uninstall, launch)
into a command class that is registered at startup. This simplifies
adding further commands, and cleans up the code a bit.
This is a refactoring that introduces no changes to existing functionality.
Group together externally-managed UIDartState.
It's a frequent pattern to enable access to shell resources from the
framework via UIDartState. These handles are passed through several
other objects, where they lay mostly dormant. This refactor just aims
to ease maintenance of this state.
UIDartState is essentially just an easy to extend bus for dropping
off the shell kids in UIDartState, with constructors/operators that
remove the need for providing a full initializer lists in unittests.
This PR accomplishes many things:
- Unblocks input resampling on Fuchsia
- Fixes 2 frame scheduling issues resulting in wasted work and missed frames
- Removes the now-defunct VsyncRecorder class
- Prepares the VsyncWaiter class for the Embedder API by moving all logic out of it
- Adds hundreds of lines of unittests for Fuchsia scheduling logic to validate the performance and correctness benefits
In preparation for #25551, rename SessionConnection to
DefaultSessionConnection. The plan is to have SessionConnection be an
interface we can create a fake of for testing purposes.
Adds an uninstall command that uninstalls the specified application by
its package family name.
This currently attempts to remove for all users, but in future, we may
want to restrict install and uninstall to the current user only.
Also renames ApplicationStore::GetInstalledApplications() to
ApplicationStore::GetApps()