87902 Commits

Author SHA1 Message Date
Gray Mackall
4be1725b6b
[Reland] Don't strip symbols from libapp.so on android by default (#181275)
Relands https://github.com/flutter/flutter/pull/162464
Fixes https://github.com/flutter/flutter/issues/170664

The only test that failed last time was `Linux_pixel_7pro
android_obfuscate_test`, and I ran it locally (`flutter test
test/integration.shard/android_obfuscate_test.dart `) to both repro the
failure and verify it passes on this branch with the additional changes.

Also does some stuff in the FGP:

The reason we failed the tests last time was we were bundling of the
libapp.so code into a jar in the aar case, instead of simply including
it as its own file in the source sets. I let gemini go on that part,
modifying it to no longer pack as a jar, but it looks correct to me. Now
that the `libapp.so` file is simply included in this case, AGP is able
to strip it (it's not hidden inside a jar).

Because this changes the FGP build process for add to app, I manually
verified that the add to app flow isn't broken for including a flutter
module both as source and as an aar.

<details>
  <summary>Before and after logs from the gradle task output</summary>
  
Before:
```
                     > Task :flutter:stripReleaseDebugSymbols NO-SOURCE
                     Skipping task ':flutter:stripReleaseDebugSymbols' as it has no source files and no previous output files.
```

After:

```
                    Task ':flutter:stripReleaseDebugSymbols' is not up-to-date because:
                       No history is available.
                     The input changes require a full rebuild for incremental task ':flutter:stripReleaseDebugSymbols'.
                     C/C++: android.ndkVersion from module build.gradle is [28.2.13676358]
                     C/C++: android.ndkVersion from module build.gradle is [28.2.13676358]
                     C/C++: android.ndkPath from module build.gradle is not set
                     C/C++: android.ndkPath from module build.gradle is not set
                     C/C++: ndk.dir in local.properties is not set
                     C/C++: ndk.dir in local.properties is not set
                     C/C++: Not considering ANDROID_NDK_HOME because support was removed after deprecation period.
                     C/C++: Not considering ANDROID_NDK_HOME because support was removed after deprecation period.
                     C/C++: android.ndkVersion from module build.gradle is [28.2.13676358]
                     C/C++: android.ndkPath from module build.gradle is not set
                     C/C++: sdkFolder is /Users/mackall/Library/Android/sdk
                     C/C++: ndk.dir in local.properties is not set
                     C/C++: Not considering ANDROID_NDK_HOME because support was removed after deprecation period.
                     C/C++: sdkFolder is /Users/mackall/Library/Android/sdk
                     C/C++: sdkFolder is /Users/mackall/Library/Android/sdk
                     Starting process 'command '/Users/mackall/Library/Android/sdk/ndk/28.2.13676358/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-strip''. Working directory:
                     /Users/mackall/development/BugTesting/mblahm/.android/Flutter Command: /Users/mackall/Library/Android/sdk/ndk/28.2.13676358/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-strip
                     --strip-unneeded -o
                     /Users/mackall/development/BugTesting/mblahm/.android/Flutter/build/intermediates/stripped_native_libs/release/stripReleaseDebugSymbols/out/lib/armeabi-v7a/libapp.so
                     /Users/mackall/development/BugTesting/mblahm/.android/Flutter/build/intermediates/merged_native_libs/release/mergeReleaseNativeLibs/out/lib/armeabi-v7a/libapp.so
                     Starting process 'command '/Users/mackall/Library/Android/sdk/ndk/28.2.13676358/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-strip''. Working directory:
                     /Users/mackall/development/BugTesting/mblahm/.android/Flutter Command: /Users/mackall/Library/Android/sdk/ndk/28.2.13676358/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-strip
                     --strip-unneeded -o
                     /Users/mackall/development/BugTesting/mblahm/.android/Flutter/build/intermediates/stripped_native_libs/release/stripReleaseDebugSymbols/out/lib/x86_64/libapp.so
                     /Users/mackall/development/BugTesting/mblahm/.android/Flutter/build/intermediates/merged_native_libs/release/mergeReleaseNativeLibs/out/lib/x86_64/libapp.so
                     Starting process 'command '/Users/mackall/Library/Android/sdk/ndk/28.2.13676358/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-strip''. Working directory:
                     /Users/mackall/development/BugTesting/mblahm/.android/Flutter Command: /Users/mackall/Library/Android/sdk/ndk/28.2.13676358/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-strip
                     --strip-unneeded -o
                     /Users/mackall/development/BugTesting/mblahm/.android/Flutter/build/intermediates/stripped_native_libs/release/stripReleaseDebugSymbols/out/lib/arm64-v8a/libapp.so
                     /Users/mackall/development/BugTesting/mblahm/.android/Flutter/build/intermediates/merged_native_libs/release/mergeReleaseNativeLibs/out/lib/arm64-v8a/libapp.so
                     Successfully started process 'command '/Users/mackall/Library/Android/sdk/ndk/28.2.13676358/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-strip''
                     Successfully started process 'command '/Users/mackall/Library/Android/sdk/ndk/28.2.13676358/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-strip''
                     Successfully started process 'command '/Users/mackall/Library/Android/sdk/ndk/28.2.13676358/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-strip''
```

</details>



## 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].

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.

<!-- 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: Gray Mackall <mackall@google.com>
2026-01-26 20:18:24 +00:00
Kostia Sokolovskyi
c02615b78c
Fix Gradle path in Android Platform Embedder README. (#181501)
Fixes the path to the Gradle "Local Installation" in the Android
Platform Embedder README.

## 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.
- [X] All existing and new tests are passing.



<!-- 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
2026-01-26 19:21:14 +00:00
Mohellebi Abdessalem
38f0d47e6e
Remove unused ActivityLifecycleListener class (#181406)
## 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.
- [x] All existing and new tests are passing.

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

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.

<!-- 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
2026-01-26 19:15:26 +00:00
engine-flutter-autoroll
7165649690
Roll Skia from ad914f07941a to be280d242a60 (4 revisions) (#181499)
https://skia.googlesource.com/skia.git/+log/ad914f07941a..be280d242a60

2026-01-26 kjlubick@google.com Speculative fixes for codec-related
issues
2026-01-26 ccameron@chromium.org skhdr::AdaptiveGlobalToneMap: Update
encoding to most recent spec
2026-01-26 kjlubick@google.com Remove tools/testrunner Bazel experiment
2026-01-26 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 55a1994019e1 to 10e26d62e399 (2 revisions)

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

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
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
2026-01-26 18:32:26 +00:00
engine-flutter-autoroll
0863779a09
Roll Dart SDK from 60553fc4c04f to ba23b5ed0a97 (2 revisions) (#181497)
https://dart.googlesource.com/sdk.git/+log/60553fc4c04f..ba23b5ed0a97

2026-01-26 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-70.0.dev
2026-01-25 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-69.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 aaclarke@google.com,dart-vm-team@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
2026-01-26 17:22:10 +00:00
Mohellebi abdessalem
8480c41251
Improve code quality in PlatformViewsController.java (#181338)
This change mostly is a cleanup :
- fixes typos in method names.
-  replaces : 
```java
    for (int i = 0; i < pendingTransactions.size(); i++) {
      activeTransactions.add(pendingTransactions.get(i));
    }
```
with :
```java
    activeTransactions.addAll(pendingTransactions);
```
- removes unnecessary cast in: 
```java
layoutParams.leftMargin = (int) x;
layoutParams.topMargin = (int) y;
```
because : 

bfc9041eb1/engine/src/flutter/shell/platform/android/io/flutter/plugin/platform/PlatformViewsController.java (L1273)

## 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.
- [x] All existing and new tests are passing.

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

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.

<!-- 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
2026-01-26 17:14:47 +00:00
engine-flutter-autoroll
46d250db94
Roll Packages from 5af5f501d222 to e712bfad5c2b (22 revisions) (#181493)
5af5f501d2...e712bfad5c

2026-01-26 49699333+dependabot[bot]@users.noreply.github.com Bump the
all-github-actions group with 3 updates (flutter/packages#10869)
2026-01-26 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump gradle-wrapper from 8.13 to 9.3.0 in
/packages/webview_flutter/webview_flutter_android/example/android/app
(flutter/packages#10895)
2026-01-26 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump gradle-wrapper from 8.13 to 9.3.0 in
/packages/webview_flutter/webview_flutter/example/android/app
(flutter/packages#10894)
2026-01-26 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump gradle-wrapper from 8.13 to 9.3.0 in
/packages/video_player/video_player_android/example/android/app
(flutter/packages#10893)
2026-01-26 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump gradle-wrapper from 8.13 to 9.3.0 in
/packages/url_launcher/url_launcher_android/example/android/app
(flutter/packages#10891)
2026-01-26 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump gradle-wrapper from 8.13 to 9.3.0 in
/packages/quick_actions/quick_actions/example/android/app
(flutter/packages#10886)
2026-01-26 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump gradle-wrapper from 8.13 to 9.3.0 in
/packages/url_launcher/url_launcher/example/android/app
(flutter/packages#10890)
2026-01-26 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump gradle-wrapper from 8.13 to 9.3.0 in
/packages/local_auth/local_auth/example/android/app
(flutter/packages#10881)
2026-01-26 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump gradle-wrapper from 8.13 to 9.3.0 in
/packages/quick_actions/quick_actions_android/example/android/app
(flutter/packages#10887)
2026-01-26 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump gradle-wrapper from 8.13 to 9.3.0 in
/packages/in_app_purchase/in_app_purchase_android/example/android/app
(flutter/packages#10880)
2026-01-26 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump gradle-wrapper from 8.13 to 9.3.0 in
/packages/in_app_purchase/in_app_purchase/example/android/app
(flutter/packages#10879)
2026-01-26 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump gradle-wrapper from 8.13 to 9.3.0 in
/packages/image_picker/image_picker_android/example/android/app
(flutter/packages#10878)
2026-01-26 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump gradle-wrapper from 8.13 to 9.3.0 in
/packages/google_sign_in/google_sign_in_android/example/android/app
(flutter/packages#10876)
2026-01-26 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump gradle-wrapper from 8.13 to 9.3.0 in
/packages/image_picker/image_picker/example/android/app
(flutter/packages#10877)
2026-01-26 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump gradle-wrapper from 8.13 to 9.3.0 in
/packages/google_sign_in/google_sign_in/example/android/app
(flutter/packages#10875)
2026-01-26 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump gradle-wrapper from 8.13 to 9.3.0 in
/packages/google_maps_flutter/google_maps_flutter_android/example/android/app
(flutter/packages#10874)
2026-01-26 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump com.google.maps.android:android-maps-utils from 3.6.0
to 4.0.0 in
/packages/google_maps_flutter/google_maps_flutter_android/example/android/app
(flutter/packages#10873)
2026-01-26 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump gradle-wrapper from 8.13 to 9.3.0 in
/packages/camera/camera_android/example/android/app
(flutter/packages#10871)
2026-01-26 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump gradle-wrapper from 8.13 to 9.3.0 in
/packages/google_maps_flutter/google_maps_flutter/example/android/app
(flutter/packages#10872)
2026-01-26 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump gradle-wrapper from 8.13 to 9.3.0 in
/packages/camera/camera/example/android/app (flutter/packages#10870)
2026-01-25 engine-flutter-autoroll@skia.org Roll Flutter from
bfc9041eb118 to def9ca93e2e2 (18 revisions) (flutter/packages#10868)
2026-01-23 engine-flutter-autoroll@skia.org Roll Flutter from
48c247582e45 to bfc9041eb118 (173 revisions) (flutter/packages#10862)

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
2026-01-26 15:57:54 +00:00
engine-flutter-autoroll
3e061fcbfc
Roll Skia from 0513d99df30d to ad914f07941a (3 revisions) (#181489)
https://skia.googlesource.com/skia.git/+log/0513d99df30d..ad914f07941a

2026-01-26 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from 66ecfe2e967e to 80d15542bf70 (8 revisions)
2026-01-26 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia
Infra from 4c0eeac52823 to 9a99124d0a26 (8 revisions)
2026-01-26 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from 3b3f70cfdbd9 to c90f051cc986 (15 revisions)

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

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
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
2026-01-26 14:54:28 +00:00
engine-flutter-autoroll
dd72877a4f
Roll Skia from 2830fbe8bafe to 0513d99df30d (1 revision) (#181476)
https://skia.googlesource.com/skia.git/+log/2830fbe8bafe..0513d99df30d

2026-01-26 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from a9e4a9121dfd to 55a1994019e1 (1 revision)

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

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
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
2026-01-26 06:01:27 +00:00
engine-flutter-autoroll
def9ca93e2
Roll Skia from f1433eb44a50 to 2830fbe8bafe (1 revision) (#181464)
https://skia.googlesource.com/skia.git/+log/f1433eb44a50..2830fbe8bafe

2026-01-25 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SKP
CIPD package from 549 to 550

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

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
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
2026-01-25 15:26:38 +00:00
engine-flutter-autoroll
c2efdf5bbe
Roll Fuchsia Linux SDK from 6xoKGIry6Y8T8x5Sa... to T4qTEa3T5CCSCIoJY... (#181458)
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
2026-01-25 10:50:32 +00:00
engine-flutter-autoroll
20d960a521
Roll Skia from b6d396a151bc to f1433eb44a50 (1 revision) (#181449)
https://skia.googlesource.com/skia.git/+log/b6d396a151bc..f1433eb44a50

2026-01-24 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from c26d5d134054 to a9e4a9121dfd (1 revision)

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

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
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
2026-01-24 18:21:49 +00:00
engine-flutter-autoroll
e81919fd15
Roll Dart SDK from 29918a54dd5c to 60553fc4c04f (1 revision) (#181437)
https://dart.googlesource.com/sdk.git/+log/29918a54dd5c..60553fc4c04f

2026-01-24 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-68.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 aaclarke@google.com,dart-vm-team@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
2026-01-24 08:15:25 +00:00
engine-flutter-autoroll
3388c832d8
Roll Fuchsia Linux SDK from n7NohL9DPpEuPjNt9... to 6xoKGIry6Y8T8x5Sa... (#181438)
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
2026-01-24 08:11:36 +00:00
Jim Graham
7e5f1053e9
[Impeller] Fix perspective clips with a large perspective bias (#181434)
Fixes: https://github.com/flutter/flutter/issues/173104

We were precomputing the perspective adjustment inside the clipping
vertex shader, which prevented the GPU from performing correct clipping
against the camera plane.
2026-01-24 05:43:20 +00:00
engine-flutter-autoroll
8eb2facb36
Roll Dart SDK from e82d7ad1855e to 29918a54dd5c (4 revisions) (#181435)
https://dart.googlesource.com/sdk.git/+log/e82d7ad1855e..29918a54dd5c

2026-01-24 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-67.0.dev
2026-01-23 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-66.0.dev
2026-01-23 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-65.0.dev
2026-01-23 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-64.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 aaclarke@google.com,dart-vm-team@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
2026-01-24 02:41:27 +00:00
engine-flutter-autoroll
64ebfe1f4b
Roll Skia from 32b52343e757 to b6d396a151bc (4 revisions) (#181431)
https://skia.googlesource.com/skia.git/+log/32b52343e757..b6d396a151bc

2026-01-23
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2026-01-23 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 8789a9ccd2ff to c26d5d134054 (11 revisions)
2026-01-23
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2026-01-23 bungeman@google.com Add support for synthetic bold and
oblique

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

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
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
2026-01-24 01:45:25 +00:00
Jim Graham
42d0a3de52
[Impeller] Fix interpolation error in Rect::TransformAndClipBounds (#181420)
We had been interpolating the points backwards in the
`Rect::TransformAndClipBounds` code.

When we transform a rectangle under a perspective transform, some of the
points may generate a homogenous bias (W) that is less than 0. This is a
special condition that means that the point was transformed "behind the
camera" (this is one way of looking at it and helps explain why we avoid
such values). In order for it to contribute properly to the bounds in
front of the "camera", it needs to be moved back into the positive (W>0)
space. We do this by interpolating from that out of bounds coordinate to
either of its adjacent neighbors which are in bounds (i.e. their W>0) to
move the point to a bias value that is just slightly in the "in bounds"
half-space - we choose W=(1/2^14) as our "in bounds" bias value.

Unfortunately, the code to interpolate the 2 coordinates was written
with conflicting definitions of which direction we computed the `t`
value and which direction we applied it to the 2 coordinates - thus
generating nonsensical values.

This turned up while debugging a fix for
https://github.com/flutter/flutter/issues/173104 where we fixed the
transform logic in the clip code, but the rectangle was still partially
clipped due to a bad result from the `GetCoverage` method of the rect
geometry code. Note that this fix alone does not correct the problem in
that Issue, it merely fixes a needed utility method that the fix will
rely on.
2026-01-24 00:03:14 +00:00
engine-flutter-autoroll
e9386dd811
Roll Skia from 6d438894c2a8 to 32b52343e757 (2 revisions) (#181419)
https://skia.googlesource.com/skia.git/+log/6d438894c2a8..32b52343e757

2026-01-23
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2026-01-23 kjlubick@google.com Remove old folder

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

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
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
2026-01-23 23:29:10 +00:00
Marijua ރ
7f5f79278e
[Material] modernize Typography._withPlatform with Dart 3 switch expression (#181398)
Continuing the effort to clean up some of the older switch statements,
I've moved over to `typography.dart`

I found that `Typography._withPlatform` was using a standard switch
block to handle platform-specific theme assignments. Since both `black`
and `white` themes are resolved based on the same platform variable,
I've refactored this into a single switch expression using a Record.
This allowed me to group Android and Fuchsia together using the new
logical OR pattern, which feels much cleaner.

The logic and the existing fallbacks haven't changed at all—the `assert`
at the start already guarantees we have the required themes if the
platform is null, so I've handled that case directly in the expression.

I've run the local tests in `typography_test.dart` and everything is
passing.

## 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 will sign it once the bot prompts me)
- [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] All existing and new tests are passing.

[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
2026-01-23 21:28:24 +00:00
Mitchell Goodwin
7411f3fe56
CupertinoSheetRoute with scrolling and dragging (#177337)
Fixes #161687

Enables scrollable content within the sheet to work together with the
dragging animation.

Flutter:


https://github.com/user-attachments/assets/3a9994e3-078a-410e-8288-95592713ab39



Native:


https://github.com/user-attachments/assets/c0bd46fb-26f5-41a6-bf42-6c78c23ddf34

Fling when scrolling to the top vs fling when the scrollable content is
already at the top


https://github.com/user-attachments/assets/e934facc-36d2-4e81-9ccd-a3e9dd7b6201



When scrolling is enabled, then the sheet will no longer have a drag
gesture recognizer over the sheet content, and will instead rely on the
scrollable content to trigger the drag. A non-scrolling area can be
wrapped with `CupertinoSheetDragArea` to put a drag gesture recognizer
only on that area, convenient for navbars. See
[cupertino_sheet.3.dart](https://github.com/flutter/flutter/pull/177337/files#diff-3df71aa5e6ddb6184007a85e847a9a4883515697b7014764e1978d240d72e0e1)
for a full example.

## 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.
- [ ] All existing and new tests are passing.

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

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.

<!-- 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
2026-01-23 21:06:33 +00:00
gaaclarke
71ec25bde7
Adds contents of keys file when a skia gold error occurs. (#181401)
in service of debugging flake
https://github.com/flutter/flutter/issues/181399

test exempt: is test

## 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].

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.

<!-- 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
2026-01-23 20:52:24 +00:00
engine-flutter-autoroll
46d57127da
Roll Skia from e4bd0a355e68 to 6d438894c2a8 (3 revisions) (#181405)
https://skia.googlesource.com/skia.git/+log/e4bd0a355e68..6d438894c2a8

2026-01-23
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2026-01-23 kjlubick@google.com Document and cleanup gn_to_bp.py
2026-01-23 kjlubick@google.com Update driver version for Intel Iris 540

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

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
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
2026-01-23 20:48:42 +00:00
Mohellebi abdessalem
72321c82f9
bump KGP and AGP max known versions (#181325)
Fixes #181228

## 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].

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.

<!-- 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
2026-01-23 17:29:21 +00:00
engine-flutter-autoroll
5f58fad42f
Roll Skia from db10db8bd55f to e4bd0a355e68 (3 revisions) (#181391)
https://skia.googlesource.com/skia.git/+log/db10db8bd55f..e4bd0a355e68

2026-01-23 sergiog@microsoft.com [rust bmp] Update to moxcms 0.8.0 and
use ParametricCurve
2026-01-23 kjlubick@google.com Reland "Prep for removing legacy
SK_USE_VMA logic"
2026-01-23 michaelludwig@google.com Revert "Reland "[graphite] Stage
SampleCount enum with uint assignment""

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

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
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
2026-01-23 16:41:30 +00:00
engine-flutter-autoroll
aee275f477
Roll Packages from 90102991452d to 5af5f501d222 (4 revisions) (#181388)
9010299145...5af5f501d2

2026-01-23 6655696+guidezpl@users.noreply.github.com Update Google Fonts
to v8.0.0 with new and removed fonts (flutter/packages#10785)
2026-01-22 stuartmorgan@google.com [pigeon] Modernize Obj-C generation
headers (flutter/packages#10857)
2026-01-22 47866232+chunhtai@users.noreply.github.com Fixes
sync_release_pr workflow yaml formatting (flutter/packages#10855)
2026-01-22 robert.odrowaz@leancode.pl [camera_avfoundation] Wrappers
swift migration - part 6 (flutter/packages#10752)

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
2026-01-23 15:59:25 +00:00
Albert Wolszon
eba55c792c
Look for project root for FeatureFlags manifest (#180689)
Fixes #176294.

The `FeatureFlags` service is now instantiated with the manifest parsed
not from `<current working directory>/pubspec.yaml`, but from
`findProjectRoot(cwd)` (falling back to old behavior).

## 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].

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.

<!-- 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
2026-01-23 15:46:10 +00:00
Matthew Kosarek
bfc9041eb1
No longer exiting the application when the RegularWindow is destroyed + resolving the window created promise after runWidget (#181339)
This potentially fixes https://github.com/flutter/flutter/issues/177715
by:

1. Relying on the test framework to close the app
2. Completing the `windowCreated` future following `runWidget` when
everything is _actually_ ready to go

## 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.
2026-01-23 14:07:57 +00:00
Kazbek Sultanov
9ca1e1dcec
Remove unnecessary Material import from dialog_test.dart (#181249)
<!--
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 Colors.red with hex value Color(0xFFF44336) to remove the
Material import dependency from the Cupertino dialog test file. The test
is Cupertino-specific and doesn't require Material.

Part of https://github.com/flutter/flutter/issues/177412

## 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].

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.

<!-- 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
2026-01-23 12:24:53 +00:00
engine-flutter-autoroll
0acb1dfb65
Roll Skia from 8e516fe6828f to db10db8bd55f (1 revision) (#181379)
https://skia.googlesource.com/skia.git/+log/8e516fe6828f..db10db8bd55f

2026-01-23 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 47dc817cd55f to 8789a9ccd2ff (13 revisions)

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

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
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
2026-01-23 11:21:28 +00:00
Mairramer
0ab063e989
Reset TextFormField to initial value after state change (#181199)
Fixes flutter/flutter#180056
Fixes flutter/flutter#104975

## 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].
- [ ] 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].

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.

<!-- 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
2026-01-23 11:11:06 +00:00
engine-flutter-autoroll
a7129656ae
Roll Dart SDK from 980b2b41d36e to e82d7ad1855e (1 revision) (#181375)
https://dart.googlesource.com/sdk.git/+log/980b2b41d36e..e82d7ad1855e

2026-01-23 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-63.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 aaclarke@google.com,dart-vm-team@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
2026-01-23 09:34:27 +00:00
engine-flutter-autoroll
3d04e9abdb
Roll Skia from 3e86f377d300 to 8e516fe6828f (4 revisions) (#181370)
https://skia.googlesource.com/skia.git/+log/3e86f377d300..8e516fe6828f

2026-01-23 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from 79314d8b7b7f to 66ecfe2e967e (27 revisions)
2026-01-23 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from 35d0f11eaa71 to 3b3f70cfdbd9 (30 revisions)
2026-01-23 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia
Infra from c270c40ffe5c to 4c0eeac52823 (10 revisions)
2026-01-23
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).

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

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
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
2026-01-23 08:04:42 +00:00
Kazbek Sultanov
4e00cfc25a
Remove unnecessary Material import from sliver_visibility_test (#181248)
<!--
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
-->

Remove the Material import from sliver_visibility_test.dart since it's
only testing SliverVisibility, a widgets-level component. The test
doesn't need Material-specific functionality - it only uses
DefaultWidgetsLocalizations.delegate which provides sufficient
localization support.

Changes:
- Replaced `import 'package:flutter/material.dart'` with `import
'package:flutter/widgets.dart'`
- Removed `DefaultMaterialLocalizations.delegate` from the localizations
delegates list

This helps with the decoupling of Material and Cupertino from the core
framework.

Part of #177412

## 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].

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.

<!-- 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
2026-01-23 06:59:15 +00:00
Lilian Cadiou
0bdd3135c8
Add bottom navigation bar item semantics label (#180577)
Fix [#180621](https://github.com/flutter/flutter/issues/180621)

This PR adds a semanticsLabel for the BottomNavigationBarItem.



While this PR addresses the need for a semanticsLabel, it's worth noting
that replacing the current "String label" parameter with a "Widget
label" could be a more flexible long-term solution in the
BottomNavigationBarItem. This approach would allow full control over the
label's content and appearance.

However, this would be a breaking change.

## 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: Lilian Cadiou <lilian_cadiou@ext.connect-tech.sncf>
2026-01-23 06:59:13 +00:00
Mitchell Goodwin
2598fe53f2
Make topGap not required for CupertinoSheetTransition (#181269)
<!--
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
-->
#171348 made a breaking change that was missed by adding a required
parameter to a public class. See this
[comment](https://github.com/flutter/flutter/pull/171348#discussion_r2712941065).

This PR removes the required parameter and has the value default to the
same value used elsewhere.


## 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 `///`).
- [ ] 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].

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.

<!-- 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: Tong Mu <dkwingsmt@users.noreply.github.com>
2026-01-23 06:15:12 +00:00
engine-flutter-autoroll
5676c05465
Roll Fuchsia Linux SDK from b4cLyhuxciUC-4zCJ... to n7NohL9DPpEuPjNt9... (#181365)
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
2026-01-23 04:56:28 +00:00
engine-flutter-autoroll
5ae8f67137
Roll Dart SDK from 806f04638561 to 980b2b41d36e (1 revision) (#181364)
https://dart.googlesource.com/sdk.git/+log/806f04638561..980b2b41d36e

2026-01-23 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-62.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 aaclarke@google.com,dart-vm-team@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
2026-01-23 04:43:10 +00:00
Gray Mackall
112f1704d1
Reland hybrid views test (#181336)
This test was deleted in https://github.com/flutter/flutter/pull/162903
under the claim that it wasn't running, but it was actually (just only
in bringup). In fact the [glue
code](dbed04aa32/dev/devicelab/lib/tasks/integration_tests.dart (L75))
and
[ci.yaml](https://github.com/flutter/flutter/blob/master/.ci.yaml#L2874)
target are still around. It tested stuff that isn't covered by the
current testing landscape, like alert dialogue popup and event types
being preserved.

The original pr was not a pure deletion so I maintained the good changes
(mostly a change to use shared code for the app under test).

Had to make some changes (described in comments below) but the test is
passing in its current state.

---------

Co-authored-by: Gray Mackall <mackall@google.com>
2026-01-23 02:22:09 +00:00
August
91a8eb92eb
Revert DropdownMenu non-nullable breaking change (#181074)
As explained in #180121 the PR #176711 is a breaking change, which must
be properly documented.

Closes #180121

*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.
- [ ] 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.
- [ ] All existing and new tests are passing.

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

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.

<!-- 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
2026-01-23 02:12:09 +00:00
Tong Mu
0161fc7caf
Fix leaks in flutter_test tests (#180879)
Following https://github.com/flutter/flutter/pull/176992, this PR fixes
all leaks in `flutter_test` tests.

A new method is added to reliably dispose the root layer of render
views. Feel free to let me know if you have suggestions for the name!

## 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].

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.

<!-- 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
2026-01-23 00:37:19 +00:00
b-luk
65701bd31b
Re-enable fragment_shader_tests.dart 'Shader Compiler appropriately pads vec3 uniform arrays' test on Vulkan (#181292)
- The
[shader](3b20617345/engine/src/flutter/lib/ui/fixtures/shaders/general_shaders/vec3_uniform.frag)
has `uniform vec3[4] color_array;` and sets `fragColor =
vec4(color_array[3].xyz, 1);`. Update the test to use the correct
indexes for `color_array[3]`: 9, 10, 11 instead of 12, 13, 14.
- Skip the test for metal. Metal seems like it has some weird index
padding issue. From testing it out:
- `color_array[0].xyz` is set when setting indexes 0, 1, 2, as expected.
- `color_array[1].xyz` should use indexes 3, 4, 5. But it seems to use
indexes 4, 5, 6. Maybe there's some incorrect math making it skip index
3.
- `color_array[2].xyz` should use indexes 6, 7, 8. But it seems to use
indexes 8, 9, 10. Maybe there's some incorrect math making it skip
indexes 3 and 7.
- `color_array[3].xyz` should use indexes 9, 10, 11. But it seems to be
impossible to set. Maybe it skips indexes 3, 7, and 11 and then tries to
look at out-of-bounds indexes 12, 13, 14?
- Fix incorrect logic in the `_expectShaderRendersColor()` method.
- The 4 bytes for each pixel of an image are in the format `0xRRGGBBAA`.
- This method used to use `renderedBytes.buffer.asUint32List()`. This
reads 4 bytes to a Uint32, but uses `Endian.host` endianness. Maybe this
differs on different platforms, but on my Mac this is little endian. So
the image's `0xRRGGBBAA` bytes are read into a Uint32 as `0xAABBGGRR`.
- This is then compared to the target `Color.value`, which is in ARGB32
format: `0xAARRGGBB`.
- So it's comparing the each image's pixel as `0xAABBGGRR` to the target
color as `0xAARRGGBB`. It switches the RR and BB channels for every
comparison.
- This did not result in any test failures because
`_expectShaderRendersColor()` is only ever used as a helper function for
`_expectShaderRendersGreen()` and `_expectShaderRendersBlack()`. And
(un)luckily, those perfectly ignore the RR and BB channels.
- Fix the logic by reading each pixel's bytes with separate `getUint8()`
calls and parsing them into a `Color` with `fromARGB()`, using the
correct byte offsets for each channel.

Partially addresses #180932. Re-enables the test for Vulkan, but it's
still disabled for Metal.

## 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].

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.

<!-- 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
2026-01-23 00:33:13 +00:00
Ben Konyi
5d08844eb1
[ Tool ] Fix update-packages failing due to mismatched dependencies between flutter_tools and the framework (#181335)
Since the `widget_preview_scaffold` project depends on both the Flutter
SDK and `flutter_tools`, `flutter_tools` must use the same version pins
as the Flutter SDK. This change ensures that any packages used by both
the Flutter SDK and `flutter_tools` use the same pinned version.

Fixes https://github.com/flutter/flutter/issues/180503
2026-01-23 00:30:12 +00:00
Jason Simmons
8dc541ce30
[Impeller] Make dynamically created shader metadata for runtime effects consistent with metadata for built-in shaders (#181201)
* Set byte_length to the total byte length of all array elements
* The runtime stage flatbuffer will represent an unspecified
array_elements value as the default value of zero. Convert that to an
empty std::optional in the metadata.

Fixes https://github.com/flutter/flutter/issues/180068
2026-01-23 00:15:24 +00:00
b-luk
e13db189f2
Broaden the applicability of Color fix_data rules from flutter/painting.dart (#181093)
See the conversation at
https://github.com/dart-lang/sdk/issues/59764#issuecomment-3599823329
for more context.

Prior to this, these `Color` fix_data rules would only be visible to
users that explicitly import `package: flutter/painting.dart`. This PR
broadens the applicability of these rules so they are visible for users
that import `dart:ui`, or import any one of the `flutter/` packages that
expose `Color`.

#### Enabling `Color` fix_data fixes for `dart:ui`:
- Adds a `fix_data.yaml` file for `'dart:ui'` fixes to
`engine/src/flutter/lib/ui/`. This contains `Color` fixes copied from
`packages/flutter/lib/fix_data/fix_painting.yaml`.
- Typically `fix_data` files go in a Dart package's `lib/` directory.
But `dart:ui` is not a standard Dart package and doesn't have a typical
`lib` directory. This directory is the closest thing to a `lib`
directory for the `dart:ui` package that I can find. It contains the
Dart code that implements the `dart:ui` package.
- The actual Dart package for `dart:ui` is generated by
`engine/src/flutter/sky/packages/sky_engine/BUILD.gn` with the package
name `sky_engine`. I updated the build rule to copy the new
`fix_data.yaml` file into the generated `sky_engine/lib/` directory.

#### Enabling `Color` fix_data fixes for `package:flutter/` libraries:
- The `Color` fixes from
`packages/flutter/lib/fix_data/fix_painting.yaml` are remove, and copied
to over to a new `packages/flutter/lib/fix_data/fix_dart_ui.yaml` file.
- This fix_data file specifies all the `flutter/` libraries which export
`Color`. With this change, importing any of these libraries will surface
the `Color` fixes, rather than only surfacing the fixes only when
`package:flutter/painting.dart` is specifically imported.

#### Other related changes
- Updates some entries in `fix_cupertino.yaml` and `fix_material.yaml`
which used the old `Color.withOpacity` method.
- Updates existing flutter package `test_fixes` tests.
- The color tests from the `painting` `test_fixes` test are moved to a
new `dart_ui` test. Note that this only runs the test with only one of
the `flutter/` libraries specified in `fix_dart_ui.yaml`
(`animation.dart`). Ideally I think we should run this test while
independently importing each one of the `flutter/` libraries specified
in `fix_dart_ui.yaml`. But AFAICT there's no easy way to do this without
creating a lot of duplicate code.
- There is no `fix_data` test for `dart:ui`. Because this isn't a
standard Dart library, I don't think there's an easy way to test its
`fix_data.yaml` in a similar way to the `flutter/` library fixes.


Somewhat fixes #180933 (makes the fixes more broadly available).
Somewhat addresses
https://github.com/dart-lang/sdk/issues/59764#issuecomment-3599823329
(establishes a way to use `fix_data.yaml` files for `dart:X` libraries).

## 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].

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.

<!-- 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
2026-01-23 00:11:10 +00:00
Victoria Ashworth
2cb1844dc5
Fixes macOS App.framework not being codesigned or find framework (#181348)
When SwiftPM is enabled, it doesn't embed/codesign the Flutter framework
via Flutter tooling since it's now handled by Xcode. There was a bug in
this, though, which prevented the App.framework from being codesigned.
This PR fixes that.

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

## 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].

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.

<!-- 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
2026-01-23 00:06:29 +00:00
sutes-work
6173c0dd81
Roll Fuchsia GN SDK from NAEC5tfgSl8g94nwp... to JLBh4Z9PKsjIJcqDU... (#181139)
and fix logging which has changed.

Bug: b/456458551

<!--
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
-->

This fixes the Fuchsia SDK roll which was blocked due to some logging
changes that were made.

This fixes internal bug b/456458551.

## 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].

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.

<!-- 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: zijiehe@ <68449066+zijiehe-google-com@users.noreply.github.com>
2026-01-22 23:33:56 +00:00
engine-flutter-autoroll
669c8f91cf
Roll Dart SDK from ab4640ea82e9 to 806f04638561 (2 revisions) (#181347)
https://dart.googlesource.com/sdk.git/+log/ab4640ea82e9..806f04638561

2026-01-22 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-61.0.dev
2026-01-22 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-60.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 aaclarke@google.com,dart-vm-team@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
2026-01-22 23:26:18 +00:00
Kostia Sokolovskyi
380c8b4a65
Add ExpansibleController.toggle method. (#181320)
Closes https://github.com/flutter/flutter/issues/181319

### Description

- Adds `ExpansibleController.toggle` method
- Adds test to verify that `ExpansibleController.toggle` works as
expected


## 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.

<!-- 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: Victor Sanni <victorsanniay@gmail.com>
2026-01-22 23:16:57 +00:00
Srivats Venkataraman
57911ef6dd
Fixes Typo in codebase (#181256)
Fixes: #181153


## 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 `///`).
- [ ] 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].

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.

<!-- 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: Hannah Jin <jhy03261997@gmail.com>
2026-01-22 23:11:34 +00:00