This fixes an issue where lines like this:
focusNode.canRequestFocus = widget.canRequestFocus ?? focusNode.canRequestFocus;
Were causing the canRequestFocus bit to copy the status of the enclosing scope, since canRequestFocus also looks to the enclosing scope to decide if it can focus.
This adds support to PlatformViewLayer for handling hover events. Prior
to this, PlatformViewLayers only supported events forwarded by the
gesture recognizers associated with the PlatformViewRenderBox. Hover
events don't participate in gesture recognition and as such are dropped
in GestureBinding. That said, hover event processing in platform views
is expected for desktop and other platforms with hover event support.
This adds support for passing an optional MouseTrackerAnnotation to
PlatformViewLayer. PlatformViewRenderBox populates this with a mouse
tracker annotation that forwards hover events to
PlatformViewController.dispatchPointerEvent() for handling by users.
This normalizes all of the "See also" blocks in comments so that they conform in style.
They all look like this now:
/// See also:
///
/// * [MyFavoriteWidget], because it's cool.
class Foo {}
I removed some useless "See also" blocks, and added commentary to ones that were just "bare" references.
This is my penance for adding so many bullets that are "-" instead of "*". :-)
This adds actions and shortcuts arguments to WidgetsApp (and MaterialApp and CupertinoApp) to allow developers to override the default mappings on an application, and to allow for a more complex definition of the default mappings.
I've stopped using SelectAction here, in favor of using ActivateAction for all activations, but haven't removed it, to avoid a breaking change, and to allow a common base class for these types of actions. This is because some platforms use the same mapping (web) for both kinds of activations (both select and activate).
Adds a manual test that allows testing of density for buttons. Also updates some of the button tests to be somewhat simpler and to test the child positions in the test to make sure they are consistent.
* Simplify logging code in flutter_driver
It appears nobody is benefitting from this logic, so we may as well not pay the cost.
* Make all of the driver interface public.
This is the second attempt at this; it should be better than before because the Logger interface, which conflicted in various places, no longer exists.
See #45733 for original attempt.
This reverts commit 0ce9206ef4 (PR #45924).