84181 Commits

Author SHA1 Message Date
Daco Harkes
3cb2f5f6a5
[native assets] Remove KernelSnapshot dependency in build (#168742)
The link hooks (`hook/link.dart`) in Flutter have no access to the
resource identifier experiment for tree-shaking yet. That means we can
start running hooks earlier in the flutter build.

When we do get around to adding tree-shaking information, we should only
have a dependency on `KernelSnapshot` for AOT builds in which the Dart
tree-shaker runs. Likely achieved by splitting the `DartBuildForNative`
into two targets, one for Debug and one for Release. (Note, the names
for these targets are somewhat weird, so we should address that in
another PR as well. It should probably be called `RunDartHooks` or
something.)

I don't expect this PR to have any performance effect for fast hooks.
Other targets already run concurrently with this target:

```
$ flutter build -d macos --verbose
[        ] [ +278 ms] compile_macos_framework: Starting due to {InvalidatedReasonKind.inputChanged: The following inputs have updated contents: /Users/dacoharkes/flt/flutter/examples/hello_world/.dart_tool/flutter_build/ce2ba8b9e7204bce6beba11f20d6df36/app.dill,/Users/dacoharkes/flt/flutter/packages/flutter_tools/lib/src/build_system/targets/macos.dart,/Users/dacoharkes/flt/flutter/bin/cache/engine.stamp}
[...]
[        ] [        ] dart_build: Starting due to {}
[        ] [  +20 ms] No packages with native assets. Skipping native assets compilation.
[        ] [   +1 ms] dart_build: Complete
[        ] [   +1 ms] install_code_assets: Starting due to {}
[        ] [   +1 ms] Writing native assets json to file:///Users/dacoharkes/flt/flutter/examples/hello_world/.dart_tool/flutter_build/ce2ba8b9e7204bce6beba11f20d6df36/native_assets.json.
[        ] [   +1 ms] Writing /Users/dacoharkes/flt/flutter/examples/hello_world/.dart_tool/flutter_build/ce2ba8b9e7204bce6beba11f20d6df36/native_assets.json done.
[        ] [        ] install_code_assets: Complete
[        ] [+1376 ms] Building App.framework for x86_64...
[...]
[        ] [  +41 ms] compile_macos_framework: Complete
```

However, this PR makes the hooks already run concurrently with kernel
compilation, which always takes quite a while.

```
[        ] [   +2 ms] kernel_snapshot_program: Starting due to {}
[...]
[        ] [+2515 ms] release_unpack_macos: Complete
[        ] [+2425 ms] kernel_snapshot_program: Complete
```

This means that if the hooks do actual work, and enough cores on the
host are available for Dart compilation and hook execution, the result
will be quicker than before.

### Context

* https://github.com/dart-lang/native/issues/2236

### Testing

Existing native assets integration tests

### Benchmarks

Currently _not_ benchmarked. This will be benchmarked by the `flutter
build` and flutter-time-to-first-frame benchmarks once the experiment
flag is removed.
2025-05-15 05:17:23 +00:00
Chris Bracken
540d19c148
iOS,macOS: Migrate logging to Logger/FlutterLogger (#168568)
In new Swift code in the iOS/macOS embedder, we currently lack core
features currently provided by shared internal C++ library code in FML.
This provides a logging implementation that can be used across the
iOS/macOS embedders, whether in Swift, Objective-C, or C++ code, and
migrates the iOS and macOS embedders to use it.

This patch also introduces gn support for authoring [Swift Testing][]
tests.
* Introduces a `SwiftTestingRunner` class that launches the Swift
Testing test runner, which runs all tests annotated with `@Test` linked
into the current executable.
* Introduces a `SwiftTestingRunnerMain` class that implements a main
entrypoint that launches the `SwiftTestingRunner`.
* Introduces a `gn` `source_set` target
(`//flutter/shell/platform/darwin/common:swift_testing_main`) that
includes the Swift Testing main entrypoint, such that `executable`
targets can add it to their deps to automatically be built as a Swift
Testing runner.
* Adds a `framework_common_swift_unittests` executable target for the
common framework unit tests, and wires that into the build and
`run_tests.py` for macOS.

Issue: https://github.com/flutter/flutter/issues/168564
Issue: https://github.com/flutter/flutter/issues/144791

[Swift Testing]: https://developer.apple.com/xcode/swift-testing/


## Pre-launch Checklist

- [X] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [X] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [X] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [X] I signed the [CLA].
- [X] I listed at least one issue that this PR fixes in the description
above.
- [X] I updated/added relevant documentation (doc comments with `///`).
- [X] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [X] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [X] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-05-15 04:52:35 +00:00
Srujan Gaddam
eb0712fd4c
Skip hot reload breakpoints test when running with web (#168873)
This worked before accidentally, presumably by using stale
source maps. Now that invocations in closures are transformed
by the compiler, the stale source maps are now invalid, leading
to timeouts in tests when running against the latest Dart SDK.
Skip this test instead until breakpoints work.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [ ] All existing and new tests are passing.
2025-05-15 04:11:17 +00:00
Victor Sanni
736087e9a4
CupertinoSliverNavigationBar respects accessibility text scaling (#168866)
Dupe of https://github.com/flutter/flutter/pull/167313 (closed because
of issues with Google testing)

Fixes [Cupertino nav bars should respect accessibility text
scaling](https://github.com/flutter/flutter/issues/167248)
Fixes [Title jumps during a CupertinoNavigationBar ->
CupertinoNavigationBar hero
transition](https://github.com/flutter/flutter/issues/90589)

## Before

| Regular | Scaled | 
| --- | --- |
| <img width="378" alt="Image"
src="https://github.com/user-attachments/assets/0e010c06-253f-41a5-9b23-18c6d1f75046"
/> | <img width="378" alt="Image"
src="https://github.com/user-attachments/assets/7033f879-3e68-4e5e-94d1-cc84383d6d5d"
/> |

## After

| Regular | Scaled | 
| --- | --- |
| <img width="375" alt="flutter nav bar unscaled"
src="https://github.com/user-attachments/assets/ff761339-358e-4fa5-a0c2-b0f43f6cea2e"
/> | <img width="376" alt="flutter after 2 textscale"
src="https://github.com/user-attachments/assets/11d46451-bd46-4c65-9f3a-fb2b0da0d77c"
/> |

## Native

| Regular | Scaled | 
| --- | --- |
| <img width="376" alt="Image"
src="https://github.com/user-attachments/assets/5775f9f1-d1f9-446b-9ec8-e77073a8887e"
/> | <img width="376" alt="Image"
src="https://github.com/user-attachments/assets/76bf6263-d94c-4136-bd53-d91bb0d88437"
/> |
2025-05-15 02:28:18 +00:00
Jonah Williams
b443c2a97a
[display_list] paint cleanup. (#168082)
Reduce the number of places where we convert flutter paint to DLpaint
and remove unused tonic overrides. Also does a pass on dl_paint/builder
to remove places we accidentally incremented/decrement shared_ptr ref
counts
2025-05-15 01:53:18 +00:00
jacobsimionato
8556b2537a
Add a new CI build for iOS DDM-enabled artifacts (#168717)
This adds a new flavor of mac_ios_engine, which enables a build flag.
This is not part of the merge-queue since it's intended for experimental
and internal use at the moment.

Tested locally via `et build --config ci/mac_ios_engine_ddm`

This follows @sigmundch 's
https://github.com/flutter/flutter/pull/162855 which achieves the same
result for Android.

I branched `mac_ios_engine_ddm.json` and removed:
- x86 builds, seeing as I think we're all testing locally with arm64
macs now, and forge supports them as well (with a flag to force use of
arm64).
- All "extension safe" builds seeing as we aren't targeting watches at
this point.
 - All "profile" flavor builds
2025-05-15 01:38:10 +00:00
auto-submit[bot]
c8b47c0113
Reverts "Implements UISceneDelegate dynamically w/ FlutterLaunchEngine (#168396)" (#168880)
<!-- start_original_pr_link -->
Reverts: flutter/flutter#168396
<!-- end_original_pr_link -->
<!-- start_initiating_author -->
Initiated by: matanlurey
<!-- end_initiating_author -->
<!-- start_revert_reason -->
Reason for reverting: Broke iOS device lab tests.
<!-- end_revert_reason -->
<!-- start_original_pr_author -->
Original PR Author: gaaclarke
<!-- end_original_pr_author -->

<!-- start_reviewers -->
Reviewed By: {vashworth, hellohuanlin}
<!-- end_reviewers -->

<!-- start_revert_body -->
This change reverts the following previous change:
fixes: https://github.com/flutter/flutter/issues/167267

design doc:
https://docs.google.com/document/d/1ZfcQOs-UKRa9jsFG84-MTFeibZTLKCvPQLxF2eskx44/edit?tab=t.0

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md

<!-- end_revert_body -->

Co-authored-by: auto-submit[bot] <flutter-engprod-team@google.com>
2025-05-15 00:40:18 +00:00
gaaclarke
773d076621
Implements UISceneDelegate dynamically w/ FlutterLaunchEngine (#168396)
fixes: https://github.com/flutter/flutter/issues/167267

design doc:
https://docs.google.com/document/d/1ZfcQOs-UKRa9jsFG84-MTFeibZTLKCvPQLxF2eskx44/edit?tab=t.0

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-05-14 22:59:14 +00:00
Matan Lurey
6891d5cf00
Mark web_tool_tests_1_2 as bringup. (#168871)
Unblocks the tree (>10% failure rate in prod):
https://github.com/flutter/flutter/issues/168863.
2025-05-14 22:20:07 +00:00
Flutter GitHub Bot
146a338036
Marks Mac_mokey run_debug_test_android to be unflaky (#167634)
<!-- meta-tags: To be used by the automation script only, DO NOT MODIFY.
{
  "name": "Mac_mokey run_debug_test_android"
}
-->
The issue https://github.com/flutter/flutter/issues/161655 has been
closed, and the test has been passing for [50 consecutive
runs](https://data.corp.google.com/sites/flutter_infra_metrics_datasite/flutter_check_test_flakiness_status_dashboard/?p=BUILDER_NAME:%22Mac_mokey%20run_debug_test_android%22).
This test can be marked as unflaky.

Co-authored-by: Matan Lurey <matanlurey@users.noreply.github.com>
Co-authored-by: Ben Konyi <bkonyi@google.com>
2025-05-14 20:24:00 +00:00
Victor Sanni
cd3b0a5a86
Reland "Clip search artifacts in CupertinoSliverNavigationBar searchable-to-searchable transitions" (#168772)
Fixes https://github.com/flutter/flutter/issues/168494
2025-05-14 19:04:06 +00:00
Matan Lurey
3a6fe4084a
Remove references to team-release. (#168780)
Towards https://github.com/flutter/flutter/issues/165019.
2025-05-14 19:04:05 +00:00
Mitchell Goodwin
0cf1d34e9b
Make Cupertino sheet set the systemUIStyle through an AnnotatedRegion (#168182)
#164680 caused a regression where the systemUIStyle would not be set
correctly if the previous page has a navbar.


https://github.com/user-attachments/assets/656d171c-d768-4481-bf64-4c93463752a2

This happens because the RenderView is constantly watching for
AnnotatedRegions at the top of the bottom of the screen to set the UI
style. So the sheet when initialized would set the style, but during the
transition the previous pages navbar is still at the top of the screen,
so the RenderView immediately sets the style back to where it was.

This PR fixes that by adding an AnnotatedRegion behind the previous page
through the delegatedTransition with the style set correctly for the
sheet. That way when the previous page drops low enough, the systemUI
switches over.


https://github.com/user-attachments/assets/e600e23b-aad3-4059-9009-c3037a15a2bd

The RenderView is watching for right around the midpoint of the systemUI
so it switches back and forth at a good point when the transition is
manually dragged back and forth.



https://github.com/user-attachments/assets/a299c0fd-0bbe-40f2-b235-a593f8b5a885



## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-05-14 19:02:11 +00:00
auto-submit[bot]
606bb06c0f
Reverts "Use live region in error text input decorator for Android (#165531)" (#168848)
<!-- start_original_pr_link -->
Reverts: flutter/flutter#165531
<!-- end_original_pr_link -->
<!-- start_initiating_author -->
Initiated by: matanlurey
<!-- end_initiating_author -->
<!-- start_revert_reason -->
Reason for reverting: Breaks google client tests
<!-- end_revert_reason -->
<!-- start_original_pr_author -->
Original PR Author: ash2moon
<!-- end_original_pr_author -->

<!-- start_reviewers -->
Reviewed By: {chunhtai, reidbaker, hannah-hyj}
<!-- end_reviewers -->

<!-- start_revert_body -->
This change reverts the following previous change:
Resolves partly https://github.com/flutter/flutter/issues/165510


**Context:** This issue originates from
https://github.com/flutter/flutter/issues/99715, where it was reported
that `liveRegion` alone was insufficient for announcing form validation
errors. While `liveRegion` announces the first error encountered,
subsequent submissions with the same error message on Android would not
trigger a re-announcement.

**Original Solution:** Pull request
https://github.com/flutter/flutter/pull/123373 addressed this by
implementing the `announce` event to ensure error messages were
consistently announced, even for repeated submissions.

**Native Android Behavior (Jetpack Compose):** In native Android
development using Jetpack Compose, setting the `isError` property of a
`TextField` to `true` triggers Talkback to announce "Error invalid
input." This announcement occurs *only* on the initial change to the
error state. Subsequent errors, even if the `isError` property remains
`true`, are not re-announced. This behavior closely mirrors the
functionality of `liveRegion`, with the key difference being that
`liveRegion` also announces the specific error text, in addition to the
general error state. Testing in a native Jetpack Compose application
confirms this behavior and provides a valuable comparison point against
the current Flutter form example.

**Suggested Action:** **Fork** the behavior in
https://github.com/flutter/flutter/pull/123373. Reinstate the use of
`liveRegion` for error announcements within `widgets/Form` for Android
and keep other platforms the same.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md

<!-- end_revert_body -->

Co-authored-by: auto-submit[bot] <flutter-engprod-team@google.com>
2025-05-14 17:47:38 +00:00
Huy
494b08b420
Normalize BottomAppBarTheme (#168586)
This PR is to make `BottomAppBarTheme` conform to Flutter Material's
conventions for component themes:

- Added a `BottomAppBarThemeData` class which defines overrides for the
defaults for `BottomAppBar` properties.
- Added `BottomAppBarTheme` constructor parameters:
`BottomAppBarThemeData? data` and `Widget? child`. This is now the
preferred way to configure a `BottomAppBarTheme`:

```dart
BottomAppBarTheme(
	data: BottomAppBarThemeData(
	    color: xxx,
	    height: xxx,
	    elevation: xxx,
	    shape: xxx,
	    ...
	  ),
  	child: const BottomAppBar()
)
```
These two properties are made nullable to not break existing apps which
has customized `ThemeData.bottomAppBarTheme`.

- Update `BottomAppBarTheme` to be an `InheritedWidget` subclass.
- Changed the type of component theme defaults from `BottomAppBarTheme`
to `BottomAppBarThemeData`.
- Changed the `BottomAppBarTheme bottomAppBarTheme` property to
`BottomAppBarThemeData bottomAppBarTheme` in `ThemeData` and
`ThemeData.copyWith()`. This may cause breaking changes, a migration
guide will be created on website repo.
- Add new tests for `BottomAppBarThemeData` and update the existing
`BottomAppBarTheme` tests. And also turn to `true` for `useMaterial3`
(along with usages accordingly) at the common method `_withTheme()`
since `useMaterial3` is true by default.
- Addresses the "theme normalization" sub-project within #91772.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md

---------

Signed-off-by: huycozy <huy@nevercode.io>
2025-05-14 17:38:18 +00:00
engine-flutter-autoroll
a3176830dc
Roll Packages from 2e166de09348 to 14685811ed39 (2 revisions) (#168828)
2e166de093...14685811ed

2025-05-13 10687576+bparrishMines@users.noreply.github.com
[webview_flutter_platform_interface] Adds support to set whether to draw
the scrollbar (flutter/packages#9125)
2025-05-13 engine-flutter-autoroll@skia.org Roll Flutter from
54de32d6e159 to 336a7ecf7b40 (19 revisions) (flutter/packages#9246)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages-flutter-autoroll
Please CC flutter-ecosystem@google.com on the revert to ensure that a
human
is aware of the problem.

To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-05-14 16:04:12 +00:00
Chris Bracken
8e35392878
macOS,iOS: fix swift target triple (#168749)
While unifying iOS and macOS gn configuration in flutter/flutter#168517,
I failed to correctly merge the deployment target in the target triple,
resulting in it being incorrectly hardcoded to the macOS deployment
target. This corrects this to the correct value for the `target_os` of
the current compile.

Also gets rid of an unnecessary assertion; we already
`assert(is_mac || is_ios)` at the top of the file.

Issue: https://github.com/flutter/flutter/issues/167592

## Pre-launch Checklist

- [X] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [X] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [X] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [X] I signed the [CLA].
- [X] I listed at least one issue that this PR fixes in the description
above.
- [X] I updated/added relevant documentation (doc comments with `///`).
- [X] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [X] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [X] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-05-14 15:56:52 +00:00
Matan Lurey
de61ad3450
Further update Engine-artifacts.md. (#168779)
Brings it line with Cocoon's current implementation, including for
"experimental" branches.
2025-05-14 15:07:05 +00:00
Robert Ancell
0b9f9288ca
Fix Linux Impeller support broken by incorrect deletion of stencil buffer. (#168668)
The buffer was leaking and deleted in
9d8e5e0b2f0dbff358286a1f83c83e65077d0b7a. This fixes the location where
the buffer is deleted.
2025-05-14 08:31:16 +00:00
engine-flutter-autoroll
9a67219ea0
Roll Fuchsia Linux SDK from 6J81agNhuK4q255Jj... to fSvuEJgRmHxnewRJr... (#168794)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter
Please CC aaclarke@google.com,zra@google.com on the revert to ensure
that a human
is aware of the problem.

To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-05-14 05:23:11 +00:00
Matan Lurey
567162a91c
Run {Platform} flutter_packaging builders on release candidates. (#168762)
Closes https://github.com/flutter/flutter/issues/168745.
2025-05-14 03:53:21 +00:00
Matan Lurey
f3fa8c2670
Remove docs_deploy_beta, fix docs_publish, add comments. (#168754)
Towards https://github.com/flutter/flutter/issues/168709.

This will need to get cherry-picked into the `3.32-candidate` branch.
2025-05-14 03:51:25 +00:00
Valentin Vignal
4d037cfdf5
Add titleAlignment to CheckboxListTile and RadioListTile (#168666)
Fixes https://github.com/flutter/flutter/issues/168596#issue-3052291792

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-05-14 02:07:34 +00:00
Valentin Vignal
e425d4348a
Remove deprecated todo about caching (#168534)
Relates to https://github.com/flutter/flutter/issues/3568

The comment
https://github.com/flutter/flutter/issues/3568#issuecomment-2400681340
says `Cache<K, V>` is not going to be implemented, so this TODO is
outdated

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-05-14 00:26:23 +00:00
Mohellebi abdessalem
1d3a921df9
Replace hardcoded host and app level build.gradle paths with AndroidProject-level getters in gradle_errors.dart (#167949)
this PR refactors the  usage of :
-
`project.directory.childDirectory('android').childDirectory('app').childFile('build.gradle')`
to
`project.android.appGradleFile`
-
`project.directory.childDirectory('android').childFile('build.gradle')`
to `project.android.hostAppGradleFile`
to include the cases of usage of `build.gradle.kts` in new templates
which may may produce confusing errors to new devs

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
- [x] I signed the [CLA].
- [ ] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-05-13 23:56:25 +00:00
dogaozyagci
5a48ed065c
Improve documentation for KeyedSubtree constructor (#167198)
<!--
Thanks for filing a pull request!
Reviewers are typically assigned within a week of filing a request.
To learn more about code review, see our documentation on Tree Hygiene:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
-->

*Replace this paragraph with a description of what this PR is changing
or adding, and why. Consider including before/after screenshots.*

*List which issues are fixed by this PR. You must list at least one
issue. An issue is not required if the PR fixes something trivial like a
typo.*

*If you had to change anything in the [flutter/tests] repo, include a
link to the migration guide as per the [breaking change policy].*

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-05-13 23:56:23 +00:00
LongCatIsLooong
30fe6e7857
Wire up the system text scaler from PlatformDispatcher (#159999)
The equality of 2 `SystemTextScaler` is determined by the platform's
`textScaleFactor` scalar, because the `scale` method is always
monotonically increasing wrt `textScaleFactor`.
On Android the scalar reflects the user configuration in system
preference it seems:
https://developer.android.com/reference/android/content/res/Configuration#fontScale

## Pre-launch Checklist

- [ ] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [ ] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [ ] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [ ] I signed the [CLA].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [ ] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-05-13 23:52:05 +00:00
engine-flutter-autoroll
ce5ece9e53
Roll Dart SDK from 645d04a7a964 to b3520981e0f0 (3 revisions) (#168721)
https://dart.googlesource.com/sdk.git/+log/645d04a7a964..b3520981e0f0

2025-05-13 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-117.0.dev
2025-05-13 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-116.0.dev
2025-05-12 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-115.0.dev

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dart-sdk-flutter
Please CC dart-vm-team@google.com,jimgraham@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

---------

Co-authored-by: Alexander Aprelev <aam@google.com>
2025-05-13 23:48:10 +00:00
Hannah Jin
30924e2d6d
[a11y] Semanctis flag refactor step 3: framework part (#167771)
issue: https://github.com/flutter/flutter/issues/166101, overall goal is
to update semantics flag to be a struct/class to support more than 32
flags.

step 1: https://github.com/flutter/flutter/pull/167421 Update
semantics_node.h and dart:ui
step 2: https://github.com/flutter/flutter/pull/167738 Update Embedder
part to use a struct instead of a int bit mask.
step 3:(this PR) Update Framework use the SemanticsFlags class instead
of bitmask

TODO:
web engine
use the new class

SemanticsUpdateBuilder.updateNode
pass a list of bools instead of bitmask

flutter_tester
use the SemanticsFlags class instead of bitmask


[apicheck_test.dart](https://github.com/flutter/flutter/pull/167421/files#diff-69aefaacf1041f639974044962123bfae0756ce86032ac1f26256099425d7a5a)
Add this test back
2025-05-13 23:48:10 +00:00
Matan Lurey
f8a0e5794d
Remove/replace the team label with c: contributor-productivity. (#168702)
Closes https://github.com/flutter/flutter/issues/168513.

See @stuartmorgan-g's comments here, which seem solid to me:
https://github.com/flutter/flutter/issues/168513#issuecomment-2866610972.

---------

Co-authored-by: Kate Lovett <katelovett@google.com>
2025-05-13 23:48:07 +00:00
auto-submit[bot]
9bdbf497bc
Reverts "Clip search artifacts in CupertinoSliverNavigationBar searchable-to-searchable transitions (#168510)" (#168775)
<!-- start_original_pr_link -->
Reverts: flutter/flutter#168510
<!-- end_original_pr_link -->
<!-- start_initiating_author -->
Initiated by: victorsanni
<!-- end_initiating_author -->
<!-- start_revert_reason -->
Reason for reverting: Tree is red.
<!-- end_revert_reason -->
<!-- start_original_pr_author -->
Original PR Author: victorsanni
<!-- end_original_pr_author -->

<!-- start_reviewers -->
Reviewed By: {MitchellGoodwin}
<!-- end_reviewers -->

<!-- start_revert_body -->
This change reverts the following previous change:
In https://github.com/flutter/flutter/pull/166705, non-searchable
transitions were clipped. This PR also clips searchable-to-searchable
transitions.

Also replaces type check to detect searchable-to-searchable transitions.

| Before | After | 
| --- | --- |
| <img width="377" alt="before bottom search artifactsd"
src="https://github.com/user-attachments/assets/a0726905-6dc1-463e-8cbb-bf1f5626fb1a"
/> | <img width="379" alt="nav bar search artifacts bottom"
src="https://github.com/user-attachments/assets/9474b3e5-a7a9-4a0e-9395-5f62106e65ad"
/> |
| <img width="379" alt="before top search artifacts"
src="https://github.com/user-attachments/assets/adf2b34d-ffa9-4c86-bee5-6683b06ec44f"
/> | <img width="379" alt="nav bar search artifacts top"
src="https://github.com/user-attachments/assets/a7a8edd8-0c66-4e3d-8958-3152bf55e42a"
/> |


Fixes [Transition between two CupertinoSliverNavigationBar.search routes
shows search artifacts mid-transition if one is collapsed and one is
extended](https://github.com/flutter/flutter/issues/168494)



<!-- end_revert_body -->

Co-authored-by: auto-submit[bot] <flutter-engprod-team@google.com>
2025-05-13 23:04:47 +00:00
ash2moon
f3a1806562
Use live region in error text input decorator for Android (#165531)
Resolves partly https://github.com/flutter/flutter/issues/165510


**Context:** This issue originates from
https://github.com/flutter/flutter/issues/99715, where it was reported
that `liveRegion` alone was insufficient for announcing form validation
errors. While `liveRegion` announces the first error encountered,
subsequent submissions with the same error message on Android would not
trigger a re-announcement.

**Original Solution:** Pull request
https://github.com/flutter/flutter/pull/123373 addressed this by
implementing the `announce` event to ensure error messages were
consistently announced, even for repeated submissions.

**Native Android Behavior (Jetpack Compose):** In native Android
development using Jetpack Compose, setting the `isError` property of a
`TextField` to `true` triggers Talkback to announce "Error invalid
input." This announcement occurs *only* on the initial change to the
error state. Subsequent errors, even if the `isError` property remains
`true`, are not re-announced. This behavior closely mirrors the
functionality of `liveRegion`, with the key difference being that
`liveRegion` also announces the specific error text, in addition to the
general error state. Testing in a native Jetpack Compose application
confirms this behavior and provides a valuable comparison point against
the current Flutter form example.

**Suggested Action:** **Fork** the behavior in
https://github.com/flutter/flutter/pull/123373. Reinstate the use of
`liveRegion` for error announcements within `widgets/Form` for Android
and keep other platforms the same.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md

---------

Co-authored-by: Reid Baker <1063596+reidbaker@users.noreply.github.com>
2025-05-13 17:47:09 +00:00
Kevin Moore
a1c4d99e4e
[tool] Fix deprecated API calls within tool (#168200)
Done by temporarily enabling the associated lints
2025-05-13 17:27:22 +00:00
Victor Sanni
40e990fd17
Clip search artifacts in CupertinoSliverNavigationBar searchable-to-searchable transitions (#168510)
In https://github.com/flutter/flutter/pull/166705, non-searchable
transitions were clipped. This PR also clips searchable-to-searchable
transitions.

Also replaces type check to detect searchable-to-searchable transitions.

| Before | After | 
| --- | --- |
| <img width="377" alt="before bottom search artifactsd"
src="https://github.com/user-attachments/assets/a0726905-6dc1-463e-8cbb-bf1f5626fb1a"
/> | <img width="379" alt="nav bar search artifacts bottom"
src="https://github.com/user-attachments/assets/9474b3e5-a7a9-4a0e-9395-5f62106e65ad"
/> |
| <img width="379" alt="before top search artifacts"
src="https://github.com/user-attachments/assets/adf2b34d-ffa9-4c86-bee5-6683b06ec44f"
/> | <img width="379" alt="nav bar search artifacts top"
src="https://github.com/user-attachments/assets/a7a8edd8-0c66-4e3d-8958-3152bf55e42a"
/> |


Fixes [Transition between two CupertinoSliverNavigationBar.search routes
shows search artifacts mid-transition if one is collapsed and one is
extended](https://github.com/flutter/flutter/issues/168494)
2025-05-13 16:56:59 +00:00
chunhtai
9771b4e464
Fixes hero not shown when remove pages without animation (#168617)
<!--
Thanks for filing a pull request!
Reviewers are typically assigned within a week of filing a request.
To learn more about code review, see our documentation on Tree Hygiene:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
-->

fixes https://github.com/flutter/flutter/issues/158136

## Pre-launch Checklist

- [ ] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [ ] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [ ] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [ ] I signed the [CLA].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [ ] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-05-13 16:55:50 +00:00
Renzo Olivares
cba2e86350
[iOS] Do not hide selection handles when platform hides system context menu (#168678)
Fixes an issue where selection handles would be hidden when the system
hides the platform context menu on iOS.

Before:


https://github.com/user-attachments/assets/61afecd8-7558-41fb-bba3-74b6e8e47f13

After:


https://github.com/user-attachments/assets/0c6f83de-cb20-46ce-97d3-86d8873da3aa

Fixes #168636


## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

---------

Co-authored-by: Renzo Olivares <roliv@google.com>
2025-05-13 16:52:09 +00:00
Jessy Yameogo
8e8671bca5
Updated execution path to silently include --start-paused and updated tests (#168400)
This PR makes the following improvements to web hot reload support and
related tests:

- The `--start-paused` flag is now silently added when running with `-d
web-server --web-experimental-hot-reload` if it is not already present.
- Refactored test infrastructure to allow specifying the device
parameter (e.g., `'chrome'`, `'web-server'`) when running integration
tests.
- Added a new `web_run_web_server_test` to run flows on the web-server
device.
- Updated existing tests to explicitly pass the correct device parameter
where needed.
- We are currently not able to test hot reload on the web-server device
as this is not yet supported.

Fixes https://github.com/dart-lang/sdk/issues/60289
2025-05-13 16:47:49 +00:00
engine-flutter-autoroll
36d28ccbfe
Roll Packages from 6a28ad9419b1 to 2e166de09348 (2 revisions) (#168736)
6a28ad9419...2e166de093

2025-05-12 louisehsu@google.com [in_app_purchase_storekit] Make Storekit
2 the default (flutter/packages#9178)
2025-05-12 engine-flutter-autoroll@skia.org Roll Flutter from
992ad7489c38 to 54de32d6e159 (7 revisions) (flutter/packages#9243)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages-flutter-autoroll
Please CC flutter-ecosystem@google.com on the revert to ensure that a
human
is aware of the problem.

To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-05-13 16:01:16 +00:00
Kostia Sokolovskyi
f50c6c0fc4
[web] Fix multiline input selection in Chrome. (#168217)
Fixes https://github.com/flutter/flutter/issues/167805
Fixes https://github.com/flutter/flutter/issues/162698

### Description

First of all, I would like to thank @jezell for posting their fix of
this selection issue:
https://github.com/singerdmx/flutter-quill/issues/2450#issuecomment-2754652065

The issue with selection is happening because in Chrome `pointermove`
event and its coalesced events have some different targets. @mdebbar
already spotted this behavior some time ago and even filed a Chrome bug:
https://github.com/flutter/engine/pull/56949#discussion_r1871750266

This jsfiddle allows reproducing the bug:
https://jsfiddle.net/knevercode/y2hpfmrb/2/

On the following recording, you can see the events' targets and their
bounding boxes.
<video
src="https://github.com/user-attachments/assets/82af8d86-2cfe-4e36-a977-46ffa58facdb"/>

Those coalesced events have their `offsetX` and `offsetY` values
relative to the dummy `div` target. So to fix that, we have to translate
those values to be relative to the actual target.

This PR does exactly this in `_computeOffsetForInputs` when
`event.target != eventTarget` .

| Before | After |
| - | - |
| https://chrome-input-selection-bug.web.app |
https://chrome-input-selection-fix.web.app |
| <video
src="https://github.com/user-attachments/assets/1e10b43a-ff4f-46e8-8977-ee435f9d78fb"/>
| <video
src="https://github.com/user-attachments/assets/a997bfd0-8361-4bb3-910c-58cfc6b5d426"/>
|

## Pre-launch Checklist

- [X] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [X] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [X] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [X] I signed the [CLA].
- [X] I listed at least one issue that this PR fixes in the description
above.
- [X] I updated/added relevant documentation (doc comments with `///`).
- [X] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [X] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [X] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-05-13 15:59:07 +00:00
Victoria Ashworth
3315c123a5
Call xcode_backend.dart from macos_assemble.sh (#168108)
When iOS and macOS Flutter apps build, they use [Xcode Run
Scripts](https://developer.apple.com/documentation/xcode/running-custom-scripts-during-a-build)
to call do various logic.

For iOS, the Run Scripts calls a bash file
([xcode_backend.sh](https://github.com/flutter/flutter/blob/master/packages/flutter_tools/bin/xcode_backend.sh)),
which then calls a dart file
([xcode_backend.dart](https://github.com/flutter/flutter/blob/master/packages/flutter_tools/bin/xcode_backend.dart)).
`xcode_backend.dart` then calls `flutter assemble`.

For macOS, the Run Scripts calls a bash file
([macos_assemble.sh](https://github.com/flutter/flutter/blob/master/packages/flutter_tools/bin/macos_assemble.sh)),
which then calls `flutter assemble` directly.

This PR changes `macos_assemble.sh` to call `xcode_backend.dart` like it
does for iOS so code can be shared between them and written in dart
instead of bash.

Fixes https://github.com/flutter/flutter/issues/168033.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-05-13 15:57:26 +00:00
Kostia Sokolovskyi
336a7ecf7b
Add assert for index parameter in IndexedStack. (#167757)
<!--
Thanks for filing a pull request!
Reviewers are typically assigned within a week of filing a request.
To learn more about code review, see our documentation on Tree Hygiene:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
-->

Closes https://github.com/flutter/flutter/issues/165840 by adding an
assert with a more user-friendly message to the IndexedStack.

## Pre-launch Checklist

- [X] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [X] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [X] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [X] I signed the [CLA].
- [X] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [X] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [X] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [X] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-05-13 15:51:20 +00:00
jesswrd
358b072688
Fixed Android Lint Errors (#168613)
Fixes blocking warnings on Flutter Roll. Also should fix red tree.

Had to add `@RequiresApi` annotations at the function level due to usage
and requirements of Android functions. This happened because I removed
`@TargetApi` at the class level due to conflicts within the class. It
seems that the `@TargetApi` annotation can no longer be used.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-05-13 13:24:22 +00:00
Bruno Leroux
1acb89f141
Tab bar theme and dialog theme documentation cleanup (#168724)
## Description

While preparing a PR to normalize `InputDecorationTheme` (part of
https://github.com/flutter/flutter/issues/91772), I spotted some typos
in tab bar theme and dialog theme documentation:

## Tests

Documentation only
2025-05-13 12:28:27 +00:00
engine-flutter-autoroll
149ac49583
Roll Fuchsia Linux SDK from 6vjKe0bfYDVaECqBL... to 6J81agNhuK4q255Jj... (#168712)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter
Please CC jimgraham@google.com,zra@google.com on the revert to ensure
that a human
is aware of the problem.

To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-05-13 02:41:39 +00:00
Roman Jaquez
5c80840812
Make the barrier panel on the Material Drawer non-dismissible (#164810)
This PR entails making the modal barrier behind the Material Drawer
dismissible / non-dismissible via a Scaffold flag named
"drawerBarrierDismissible", as in:

```
Scaffold(
   drawerBarrierDismissible: false, // defaults to true so it behaves as normal
   ....
)
```

This is so as to force the Drawer to be opened / closed programmatically
using either:

```
Scaffold.of(context).openEndDrawer() / openDrawer()
```

or 

```
Scaffold.of(Utils.adminNav.currentContext!).closeDrawer() / closeEndDrawer()
```

and the user not closing the Drawer upon tapping on the modal barrier. 

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

---------

Co-authored-by: Tong Mu <dkwingsmt@users.noreply.github.com>
Co-authored-by: Justin McCandless <justinjmccandless@gmail.com>
2025-05-12 23:37:28 +00:00
engine-flutter-autoroll
0fb5da145e
Roll ICU from c9fb4b3a6fb5 to b929596baebf (5 revisions) (#168691)
c9fb4b3a6f..b929596bae

2025-05-05 dloehr@google.com Revert "Suppress
-Wunnecessary-virtual-specifier on Fuchsia"
2025-05-05 dloehr@google.com Cherrypick ICU PR3489 Remove unnecessary
virtual specifiers
2025-04-29 casey.smalley@arm.com Update arm_control_flow_integrity to
use bti+pac-ret
2025-04-22 dayeung@chromium.org Updated tzdb from 2025a to  2025b
2025-04-02 paulkirth@google.com Suppress -Wunnecessary-virtual-specifier
on Fuchsia

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/icu-sdk-flutter
Please CC fuchsia-ui-discuss@google.com,jimgraham@google.com on the
revert to ensure that a human
is aware of the problem.

To file a bug in ICU: https://github.com/unicode-org/icu
To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-05-12 23:27:10 +00:00
Bruno Leroux
81de9ed32c
Fix DropdownButtonFormField icon not vertically centered (#163205)
## Description

This PR fixes `DropdownButtonFormField` suffix icon vertical alignment
when `DropdownButtonFormField.inputDecoration` is provided without a
hint text.

### Before:

The dropdown icon is misaligned vertically:


![image](https://github.com/user-attachments/assets/b79b35ae-c333-4cb4-91f7-5c9ce8edd975)


### After:

The dropdown icon is aligned vertically:


![image](https://github.com/user-attachments/assets/b5704453-66a3-4cb2-97ff-bef556bff377)


## Related Issue

Fixes [DropdownButtonFormField arrow icon is misaligned
vertically](https://github.com/flutter/flutter/issues/157074)

## Tests

Adds 1 test.
2025-05-12 21:30:47 +00:00
Justin McCandless
4ccfa07f42
Android home/end keyboard shortcut support (#168184)
This PR adds support for Home and End keyboard shortcuts on Android. It
seems like we had mistakenly purposely disabled them on Android before
(or maybe native Android recently added support for them?).

In the process I also noticed that Linux was missing home/end+control
shortcuts, so I added them. I confirmed that these are supported
natively using my Linux machine.

Fixes https://github.com/flutter/flutter/issues/168183
2025-05-12 21:29:18 +00:00
Matan Lurey
47d1e3982f
Update TESTOWNERS for Android PV tests (#168694) 2025-05-12 21:26:35 +00:00
engine-flutter-autoroll
2982c93b9d
Roll Dart SDK from 0bea6379f654 to 645d04a7a964 (14 revisions) (#168679)
https://dart.googlesource.com/sdk.git/+log/0bea6379f654..645d04a7a964

2025-05-12 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-114.0.dev
2025-05-12 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-113.0.dev
2025-05-12 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-112.0.dev
2025-05-11 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-111.0.dev
2025-05-10 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-110.0.dev
2025-05-10 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-109.0.dev
2025-05-09 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-108.0.dev
2025-05-09 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-107.0.dev
2025-05-09 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-106.0.dev
2025-05-09 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-105.0.dev
2025-05-09 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-104.0.dev
2025-05-08 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-103.0.dev
2025-05-08 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-102.0.dev
2025-05-08 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-101.0.dev

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dart-sdk-flutter
Please CC dart-vm-team@google.com,jimgraham@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-05-12 20:04:52 +00:00