Include rects with any overlap instead of only when top-left or bottom-right included. The previous criteria didn't send any selection rects when text was taller than the text box and scroll offset was not zero.
Part of #30476
In the specific implementation, the Divider uses the "space" field as the height for horizontal dividers, and the "space" field as the width for VerticalDivider , which is different from the documentation description.
#125151 introduced the magnifier on touch drag gestures, but when showing the magnifier the toolbar is implicitly hidden, this change makes the toolbar re-appear on drag end for double tap + drag.
The regression was caused by the previous pr https://github.com/flutter/flutter/pull/124624 changes postframecallback to scheduleframecallback. The reason is that if a new postframecallback was scheduled when running a postframecallback. The newly added postframecallback will be execute on the next frame. However, adding postframecallback will not schedule a new frame. So if there isn't other widget that schedule a new frame, the newly added postframecallback will never gets run.
After changing to scheduleframecallback, it causes an issue that transient callback may be called when rendering tree contains dirty layout information that are waiting to be rebuilt.
Therefore, I use microtask to get around of the postframecallback issue instead of scheduleframecallback.
fixes https://github.com/flutter/flutter/issues/125065
dart:js_interop and package:js will start conflicting, since they both have an `@JS` annotation. Until we're ready to only use dart:js_interop (which will require updating the SDK constraints of every package), we should hide the `@JS` annotation from dart:js_interop. Due to shadowing, this is the behavior today, so there should be no functional change.
Unblocks https://dart-review.googlesource.com/c/sdk/+/294130/8 and prevents confusing shadowing of dart:js_interop annotations like we do today.
- [Mentioned CL that is unblocked] I listed at least one issue that this PR fixes in the description above.
- [Need test-exemption] I added new tests to check the change I am making, or this PR is [test-exempt].
- [Need to run] All existing and new tests are passing.
## Description
This adds an optional argument to the `SubmenuButton` that allows the creator to supply a `MenuController` for controlling the menu.
## Related Issues
- Fixes https://github.com/flutter/flutter/issues/124988
## Tests
- Added tests for new argument.
Fixes https://github.com/flutter/flutter/issues/125049
This is blocking the dart roll, dart fix will now fix some invalid code that was in these test cases. These test case files are un-analyzed intentionally because they are by nature samples of broken code.
during performLayout, active children's constraints were updated, but they weren't laid out again w.r.t their parent (ListWheelScrollView).
Fixes#123497
This is motivated by part of the 2D scrolling proposal: [flutter.dev/go/2D-Foundation](https://flutter.dev/go/2D-Foundation)
This is one of the last little PRs to prep for the 2D scrolling foundation.
This adds an optional `axis` parameter to the static Scrollable methods `[of, maybeOf, recommendDeferredLoadingForContext]`. This allows developers that are nesting scrollables (or one day using 2D scrolling) to look them up instead by a particular axis.
In general, even outside the context of 2D, I think this is helpful. I am often asked how to get the outer scrollable when nesting. Now it can be done.
There is also a small semantic refactor here in ScrollableState.build, this just creates a private method (_buildChrome) that will be overridden in 2D later. It is easier to add now than in the really big PR that will be.
When swapping out delegate of selectioncontainer, if the newly passed in delegate doesn't have any selectable content(which is usually the case), the selectioncontainerstate will notify all of the listeners. One of the listener would be SelectionRegistrant._updateSelectionRegistrarSubscription, and since it doesn't have content, it would remove itself from the listener which causes concurrent modification
Reverts flutter/flutter#119495
We'll managed to optimize almost all of the cases that made this slow. Actually, it will soon be harder to optimize shader tiling...
Re-open from https://github.com/flutter/flutter/pull/116551
This PR added optional labelText (which will be rendered side by side with Checkbox in the future, and thus is also announced by default by screen readers), and semanticLabel(which will be announced by screen reader if provided, overrides labelText, in order to do that we might want to wrap the Text widget inside ExcludeSemantics in the future).
Issues fixed:
[b/239564167]