86853 Commits

Author SHA1 Message Date
engine-flutter-autoroll
5798e1a286
Roll Dart SDK from 826eed90b68e to c6c5f6c169a9 (2 revisions) (#178537)
https://dart.googlesource.com/sdk.git/+log/826eed90b68e..c6c5f6c169a9

2025-11-14 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.11.0-136.0.dev
2025-11-14 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.11.0-135.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
2025-11-14 18:38:27 +00:00
Mohellebi abdessalem
4b55ea85fd
Remove the hack used to get the runtimeType without using an additional class in key.dart (#178219)
some context :
[#33297](https://github.com/dart-lang/sdk/issues/33297) suggested that
`Type literals should support generics` which means that this would
become a valid syntax `Type type = List<int>;`.
the hack used here directly references to that issue :
2981516d74/packages/flutter/lib/src/foundation/key.dart (L109-L120)
because something like :
```dart
Type type = List<int>;
typedef MakeNullable<T> = T?;
typedef TypeOf<T> = T;
```
was not a valid syntax at the time of writing `key.dart`
since that issue is closed and those are valid syntax now , it is safe
to remove this hack and use what @lrhn suggested in this
[comment](https://github.com/dart-lang/sdk/issues/33297#issuecomment-1108974509)
```dart
typedef TypeOf<T> = T;
```
in other words , before:
```dart
if (runtimeType == _TypeLiteral<ValueKey<T>>().type) {
}

class _TypeLiteral<T> {
  Type get type => T;
}
```
after:
```dart
if (runtimeType == _TypeOf<ValueKey<T>>) {
}

typedef TypeOf<T> = T;
```

## 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 followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].

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

**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: Victor Sanni <victorsanniay@gmail.com>
2025-11-14 17:50:58 +00:00
Ben Konyi
1f69497f4f
[ Widget Preview ] Throw ToolExit if Flutter Web is not enabled (#178500)
If Flutter Web is not enabled, the widget previewer will crash when
trying to find a web device to launch with. This change explicitly
checks for this case and throws `ToolExit` with instructions to enable
Flutter Web if it's not enabled.

Fixes https://github.com/flutter/flutter/issues/178486
2025-11-14 15:52:10 +00:00
Robert Ancell
35b8aca9c2
Implement dialog windows for the Linux platform (#177817) 2025-11-14 13:28:17 +00:00
engine-flutter-autoroll
93b4de505d
Roll Dart SDK from eb46a500d857 to 826eed90b68e (1 revision) (#178525)
https://dart.googlesource.com/sdk.git/+log/eb46a500d857..826eed90b68e

2025-11-14 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.11.0-134.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
2025-11-14 13:03:40 +00:00
engine-flutter-autoroll
7ef6e4b7c5
Roll Skia from 63d695dc0107 to 4c02d9fc79c1 (2 revisions) (#178518)
https://skia.googlesource.com/skia.git/+log/63d695dc0107..4c02d9fc79c1

2025-11-14 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 3bff8565858e to 64e84c495362 (6 revisions)
2025-11-14 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from afd4f0e47ded to a5518f0fa73d (7 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,bungeman@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
2025-11-14 10:01:44 +00:00
engine-flutter-autoroll
a5067be886
Roll Skia from f44561727b9c to 63d695dc0107 (2 revisions) (#178514)
https://skia.googlesource.com/skia.git/+log/f44561727b9c..63d695dc0107

2025-11-14
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-11-14 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia
Infra from c3153f86c3c1 to 6934ac81212e (6 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,bungeman@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
2025-11-14 08:03:23 +00:00
engine-flutter-autoroll
68e6b6d44c
Roll Skia from e71c9d41098e to f44561727b9c (3 revisions) (#178513)
https://skia.googlesource.com/skia.git/+log/e71c9d41098e..f44561727b9c

2025-11-14
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-11-14
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-11-13
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,bungeman@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
2025-11-14 05:41:08 +00:00
engine-flutter-autoroll
f0310933f4
Roll Dart SDK from b726363d6457 to eb46a500d857 (1 revision) (#178511)
https://dart.googlesource.com/sdk.git/+log/b726363d6457..eb46a500d857

2025-11-14 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.11.0-133.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
2025-11-14 04:53:35 +00:00
engine-flutter-autoroll
8d00d500a6
Roll Dart SDK from 5df93ac84158 to b726363d6457 (1 revision) (#178502)
https://dart.googlesource.com/sdk.git/+log/5df93ac84158..b726363d6457

2025-11-13 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.11.0-132.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
2025-11-13 23:47:23 +00:00
engine-flutter-autoroll
43943b3e9c
Roll Skia from 68f10c25f26b to e71c9d41098e (5 revisions) (#178501)
https://skia.googlesource.com/skia.git/+log/68f10c25f26b..e71c9d41098e

2025-11-13 sergiog@microsoft.com [rust png] Create skeleton for rust
common gn integration in Chromium
2025-11-13 lukasza@chromium.org [rust png] Remove obsolete TODO from
comment of `SkPngRustEncoderImpl`.
2025-11-13
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-11-13 michaelludwig@google.com SkEnumBitmask sized to enum's
underlying type
2025-11-13 michaelludwig@google.com [graphite] Split path effect
handling out of Device::drawGeometry()

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,bungeman@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
2025-11-13 23:41:12 +00:00
Matt Boetger
91176cc349
[Reland] Gradle Lockfile workaround (#178485)
Create a workaround for generating gradle lock files. When the ignore
files exist, gradle locking will be disabled. This will allow deps for
the embedder to be checked in, and then in a follow-up PR the lockfiles
can correctly be updated and the ignore files can be deleted.

Note: This does NOT include the addition of the new exifinterface dep
for the Android embedder.

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

## 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.
2025-11-13 23:25:13 +00:00
gaaclarke
33a30cb318
Impeller: Allows R32G32B32A32_SFLOAT images (#177959)
fixes https://github.com/flutter/flutter/issues/141289

design doc:
https://docs.google.com/document/d/1zpkMutZkqo2GVdMhiKzFURpgN8JDZTjtIVwwqqHKM90/edit?tab=t.0

## Pre-launch Checklist

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

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

**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
2025-11-13 22:28:01 +00:00
engine-flutter-autoroll
c458ab7eb0
Roll Skia from 54b0a5d91657 to 68f10c25f26b (3 revisions) (#178491)
https://skia.googlesource.com/skia.git/+log/54b0a5d91657..68f10c25f26b

2025-11-13 kjlubick@google.com Add gni file group for svg writer
2025-11-13 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from f94408096201 to 3bff8565858e (3 revisions)
2025-11-13 michaelludwig@google.com [graphite] Delete unused
serialize/deserialize TextureInfo::Data funcs

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,bungeman@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
2025-11-13 21:21:09 +00:00
Camille Simon
d307f5a763
Add 3.38 stable release section to CHANGELOG (#178487)
Title says it all :)

Same as
b45fa18946/CHANGELOG.md (L33C1-L37C267)
+ 3.38.1 change that I'll merge downstream

## 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
2025-11-13 21:19:23 +00:00
Mohammed Tarig Nour
e98205f8ae
flutter_tools: correct iOS signing log for manual code signing (CODE_SIGN_STYLE=Manual) (#177852)
## Summary

When running `flutter build ipa` with a project that uses manual code
signing (`CODE_SIGN_STYLE=Manual`) for Release/Profile, the tool
currently prints:

```
Automatically signing iOS for device deployment using specified development team in Xcode project: x
```

This is misleading in two ways:

1. The project is not using automatic signing for Release/Profile, it's
explicitly using manual signing with a provisioning profile.
2. The build in this mode is typically for App Store/TestFlight
distribution, not just device deployment.

Users who rely on manual signing (for example, Push Notifications + Sign
in with Apple entitlements) often hit an `xcodebuild -exportArchive`
failure later (`"Runner.app" requires a provisioning profile ...`) and
assume Flutter overrode their signing, because of this log line. This
confusion has been reported in the context of `flutter build ipa` where
archive succeeds but export fails, and Flutter's messaging doesn't match
the actual signing setup.

**Related issues:**
- #106612 - Support `flutter build ipa` with manual signing and
provisioning profiles
- #113977 - Flutter build IPA with --export-options-plist not working

## What this change does

* Before logging "Automatically signing iOS ...", we now check the
active build configuration's `CODE_SIGN_STYLE`.
* If the style is `Manual`, we suppress the automatic-signing message
(since manual signing is not automatic).
* If the style is `Automatic` or not set, we keep the original behavior.
* No functional behavior of signing or export is changed.

## Before

```
Automatically signing iOS for device deployment using specified development team in Xcode project: x
```

(This message appears even when `CODE_SIGN_STYLE=Manual`)

## After

```
(No message when CODE_SIGN_STYLE=Manual, since signing is not automatic)
```

(The message only appears when `CODE_SIGN_STYLE=Automatic` or not set)

## Tests

* Added test in
`packages/flutter_tools/test/general.shard/ios/code_signing_test.dart`
to assert we don't emit the automatic-signing message when
`CODE_SIGN_STYLE=Manual`.
* All existing tests pass (40/40 tests in code_signing_test.dart).

## Why this helps

* Reduces confusion around manual signing / App Store export flows.
* Matches expectations from users who configure provisioning profiles
manually and expect Flutter to respect that configuration.
* Prevents users from thinking Flutter is overriding their manual
signing setup based on misleading log output.

## Breaking Changes

None. This change only affects log output and does not modify any
signing behavior, export behavior, or CLI interface.

## Verification

Reviewers can verify this fix by:
1. Creating a test iOS project with `CODE_SIGN_STYLE=Manual` and
`DEVELOPMENT_TEAM` set in Xcode project settings
2. Running `flutter build ipa --release --verbose`
3. Confirming the log does NOT show "Automatically signing iOS..."
4. Verifying the app still builds/signs correctly

The included unit test covers this scenario automatically.

---

Supersedes #177851 (that PR accidentally included unrelated commits from
my fork history). This version only includes the intended change and
tests.

---------

Co-authored-by: Navaron Bracke <brackenavaron@gmail.com>
2025-11-13 18:43:47 +00:00
Rusino
3762d2a4a7
Adding proxy dependency to fuchsia (#178467)
We need it in Skia (and have it in Skia build.gn)

<!--
Thanks for filing a pull request!
Reviewers are typically assigned within a week of filing a request.
To learn more about code review, see our documentation on Tree Hygiene:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
-->

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

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

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

## Pre-launch Checklist

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

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

**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
2025-11-13 18:37:50 +00:00
Justin McCandless
89d59da9ea
Image GIF pausing (#176492)
Flutter needs a strong story around pausing animated GIFs because it
affects accessibility via
[MediaQueryData.disableAnimations](https://main-api.flutter.dev/flutter/widgets/MediaQueryData/disableAnimations.html).
See https://github.com/flutter/flutter/issues/175516.

### Today

Currently, it's possible to pause a gif using TickerProvider. However,
if paused on initial load, the first frame will never display, and I
believe that's a bug.

```dart
TickerMode(
  // Pauses the gif, but if set to false on first load, the first frame never loads.
  enabled: false,
  child: Image(image: myAnimatedGif),
),
```

Currently `disableAnimations` has no effect:

```dart
MediaQuery(
  // Currently has no effect on the Image, until this PR.
  data: MediaQueryData(disableAnimations: true),
  child: Image(image: myAnimatedGif),
),
```

### With this PR

* MediaQueryData.disableAnimations can be used to pause a gif in the
same way that TickerMode can be used today.
* If either MediaQuery.disableAnimations or TickerMode cause a gif to be
paused on first load, it will show its first frame before pausing. This
is potentially a breaking change.
  * The docs clearly explain this behavior and how to pause a gif.

Fixes https://github.com/flutter/flutter/issues/175516
Partial fix for https://github.com/flutter/flutter/issues/130976
Fixes Google b/419605327
2025-11-13 18:34:51 +00:00
Rusino
90f26f5148
Fixing zoom, dropping subpixel shift (#177460)
Also, fixed decoration color and the cursor in TextEditField

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

---------

Co-authored-by: Mouad Debbar <mdebbar@google.com>
2025-11-13 18:33:51 +00:00
gaaclarke
4f0a8f460a
impeller: makes deferred display list images trash their display lists after they are realized (#178259)
fixes https://github.com/flutter/flutter/issues/138627

This stops ballooning recursive display_lists that can happen in
animations. The display list actually can be larger than the image so
keeping the display list around is no benefit. In rare cases this could
make the memory size of backgrounded apps be larger but this keeps
images made with toImageSync have the same semantics as toImage on
impeller.

## 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
2025-11-13 18:32:52 +00:00
engine-flutter-autoroll
9fb37ff821
Roll Dart SDK from f1339f3fd3d5 to 5df93ac84158 (3 revisions) (#178476)
https://dart.googlesource.com/sdk.git/+log/f1339f3fd3d5..5df93ac84158

2025-11-13 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.11.0-131.0.dev
2025-11-13 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.11.0-130.0.dev
2025-11-13 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.11.0-129.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
2025-11-13 18:29:10 +00:00
engine-flutter-autoroll
b303591b3a
Roll Skia from 2809fd296a19 to 54b0a5d91657 (13 revisions) (#178473)
https://skia.googlesource.com/skia.git/+log/2809fd296a19..54b0a5d91657

2025-11-13 thomsmit@google.com [graphite] Make uniform manager checks
more descriptive
2025-11-13 cwallez@chromium.org Remove handling of the deprecation of
Dawn's SetImmediates rename.
2025-11-13
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-11-13 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from 7f294e3048e9 to afd4f0e47ded (9 revisions)
2025-11-13 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from d9ada6f91e2d to 1a50e3ce4077 (26 revisions)
2025-11-13 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia
Infra from d4944cf18b03 to c3153f86c3c1 (10 revisions)
2025-11-13
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-11-13 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from d26c41618afc to f94408096201 (13 revisions)
2025-11-13
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-11-13 mike@reedtribe.org Update (some) callers to follow more
strict span rules
2025-11-13 lukasza@chromium.org [rust png] Remove obsolete TODO from
test description.
2025-11-13
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-11-13
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,bungeman@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
2025-11-13 18:29:10 +00:00
Ben Konyi
cfaaab85b1
[ Widget Preview ] Ignore modifications to files in ephemeral directories (#178398)
The `flutter` tool creates various directories for ephemeral state while
executing commands. In some situations, these directories contain or
link to other Dart / Flutter projects with '.dart' sources or
'pubspec.yaml's. If these files change while the widget previewer is
active (e.g., due to a `flutter pub get` downloading and configuring new
plugins for the project), the previewer's directory watcher will detect
the change and attempt to analyze the source. This causes an exception
to be thrown by the analyzer as the modified file path does not have a
valid analysis context.

This change adds additional checks to the `PreviewDetector` that allow
for ignoring changes to `pubspec.yaml`s and `.dart` sources under known
ephemeral directories (e.g., build/,
linux/flutter/ephemeral/, etc), as well as `.dart` files that aren't
associated with an analysis context.

Fixes https://github.com/flutter/flutter/issues/178317
2025-11-13 18:27:09 +00:00
engine-flutter-autoroll
681859a41c
Roll Packages from e5ecaf770c8f to 799b62cc6dd5 (4 revisions) (#178477)
e5ecaf770c...799b62cc6d

2025-11-13 jessiewong401@gmail.com Added Tooling For AGP Bulk Update
(flutter/packages#10394)
2025-11-12 engine-flutter-autoroll@skia.org Manual roll Flutter from
31a8481cd14c to ee23168ddb5d (14 revisions) (flutter/packages#10408)
2025-11-12 engine-flutter-autoroll@skia.org Roll Flutter (stable) from
adc901062556 to a0e9b9dbf78c (1232 revisions) (flutter/packages#10409)
2025-11-12 stuartmorgan@google.com Update repo for 3.38
(flutter/packages#10405)

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-11-13 18:27:07 +00:00
auto-submit[bot]
862e4a75b1
Reverts "Update gradle lockfiles for new exifinterface dep (#178417)" (#178456)
<!-- start_original_pr_link -->
Reverts: flutter/flutter#178417
<!-- end_original_pr_link -->
<!-- start_initiating_author -->
Initiated by: jtmcdole
<!-- end_initiating_author -->
<!-- start_revert_reason -->
Reason for reverting: tree broke
<img width="1892" height="116" alt="image"
src="https://github.com/user-attachments/assets/8dc73727-322e-4fe3-b9b8-968048989f88"
/>

<!-- end_revert_reason -->
<!-- start_original_pr_author -->
Original PR Author: mboetger
<!-- end_original_pr_author -->

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

<!-- start_revert_body -->
This change reverts the following previous change:
This is a follow-up PR to https://github.com/flutter/flutter/pull/177508

This generates the new Gradle lockfiles from the new engine artifacts
and deletes the .ignore-locking.md file.

Generated by running:
```bash
dart dev/tools/bin/generate_gradle_lockfiles.dart --no-gradle-generation --no-exclusion
```

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


<!-- end_revert_body -->

Co-authored-by: auto-submit[bot] <flutter-engprod-team@google.com>
2025-11-13 14:39:49 +00:00
engine-flutter-autoroll
c5d20c3e98
Roll Dart SDK from a74750125815 to f1339f3fd3d5 (1 revision) (#178415)
https://dart.googlesource.com/sdk.git/+log/a74750125815..f1339f3fd3d5

2025-11-12 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.11.0-128.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
2025-11-13 04:26:24 +00:00
Matt Boetger
29f2ae4c26
Update gradle lockfiles for new exifinterface dep (#178417)
This is a follow-up PR to https://github.com/flutter/flutter/pull/177508

This generates the new Gradle lockfiles from the new engine artifacts
and deletes the .ignore-locking.md file.

Generated by running:
```bash
dart dev/tools/bin/generate_gradle_lockfiles.dart --no-gradle-generation --no-exclusion
```

## 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.
2025-11-13 04:24:14 +00:00
engine-flutter-autoroll
42d62b5c26
Roll Skia from 27209a752e5c to 2809fd296a19 (3 revisions) (#178419)
https://skia.googlesource.com/skia.git/+log/27209a752e5c..2809fd296a19

2025-11-12 bungeman@google.com Revert "A minimal change letting Fuchsia
to use Fontations"
2025-11-12 jlavrova@google.com A minimal change letting Fuchsia to use
Fontations
2025-11-12 jlavrova@google.com Ignore letter spacing for script
languages

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,bungeman@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
2025-11-13 04:22:23 +00:00
Kevin Moore
017e4f00fa
[tool] clean up https cert configuration handling (#178139)
It's only valid if both the cert and the cert key are set.
Makes the code a lot cleaner, too.
2025-11-13 04:20:27 +00:00
auto-submit[bot]
d48aa42950
Reverts "Gradle Lockfile workaround and Android Embedder dependency change for ExifInterface (#177508)" (#178428)
<!-- start_original_pr_link -->
Reverts: flutter/flutter#177508
<!-- end_original_pr_link -->
<!-- start_initiating_author -->
Initiated by: jtmcdole
<!-- end_initiating_author -->
<!-- start_revert_reason -->
Reason for reverting: tree is no bueno 

```
┌─ Flutter Fix ───────────────────────────────────────────────────────────────────┐ [2025-11-12 16:47:24.646119] [STDOUT] stdout: │ You need to update the lockfile, or disable Gradle dependency locking. │ [2025-11-12 16:47:24.646119] [STDOUT] stdout: │ To regenerate the lockfiles run: `.\gradlew.bat :generateLockfiles` in │ [2025-11-12 16:47:24.646119] [STDOUT] stdout: │ c:\
<!-- end_revert_reason -->
<!-- start_original_pr_author -->
Original PR Author: mboetger
<!-- end_original_pr_author -->

<!-- start_reviewers -->
Reviewed By: {reidbaker, gmackall}
<!-- end_reviewers -->

<!-- start_revert_body -->
This change reverts the following previous change:
Create a workaround for generating gradle lock files.  When the ignore file exists, gradle locking will be disabled. This will allow deps for the embedder to be checked in, and then in a follow-up PR the lockfiles can correctly be updated and the ignore file can be deleted.

Fixes: #177066, #177071

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


<!-- end_revert_body -->

Co-authored-by: auto-submit[bot] <flutter-engprod-team@google.com>
2025-11-13 03:13:19 +00:00
Jason Simmons
9fed4d2839
[Impeller] Use 32-bit index values in the tessellator if the platform supports it (#178088)
Applications may try to render paths whose point count exceeds the
bounds of a 16-bit index. This PR changes the tessellator to use 32-bit
indices when available but will fall back to 16-bit on platforms that do
not support it (specifically OpenGL ES implementations without the
necessary extension).

Fixes https://github.com/flutter/flutter/issues/175031
Fixes https://github.com/flutter/flutter/issues/178022
2025-11-12 22:42:22 +00:00
Matt Boetger
564e4b4543
Gradle Lockfile workaround and Android Embedder dependency change for ExifInterface (#177508)
Create a workaround for generating gradle lock files. When the ignore
file exists, gradle locking will be disabled. This will allow deps for
the embedder to be checked in, and then in a follow-up PR the lockfiles
can correctly be updated and the ignore file can be deleted.

Fixes: #177066, #177071

## 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: Reid Baker <1063596+reidbaker@users.noreply.github.com>
2025-11-12 22:38:07 +00:00
Victoria Ashworth
60e92d0027
Preserve whitelisted files when removed from build system outputs (#178396)
In the future, Xcode will handle outputting the Flutter framework on iOS
and macOS. As such, the Flutter build system will no longer output them.
However, when an output is removed from the build system, it will delete
them. In iOS and macOS, this build system removal of files happens
mid-build (during `flutter assemble`) and can be a race condition
between Flutter removing them and Xcode adding them. This fixes it by
telling Flutter not to delete those files.

Incremental change towards
https://github.com/flutter/flutter/issues/166486.

## 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
2025-11-12 22:30:42 +00:00
Ben Konyi
e983e4bd81
[ Tool ] Don't delete .dart_tool/widget_preview_scaffold during flutter clean (#175664)
Fixes https://github.com/flutter/flutter/issues/175058

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2025-11-12 20:43:23 +00:00
Ahmed Mohamed Sameh
8758971f69
Make sure that a TabBarView doesn't crash in 0x0 environment (#178202)
This is my attempt to handle
https://github.com/flutter/flutter/issues/6537 for the TabBarView
widget.
2025-11-12 20:17:55 +00:00
engine-flutter-autoroll
640fe715be
Roll Dart SDK from 16b293c42139 to a74750125815 (2 revisions) (#178388)
https://dart.googlesource.com/sdk.git/+log/16b293c42139..a74750125815

2025-11-12 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.11.0-127.0.dev
2025-11-12 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.11.0-126.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
2025-11-12 20:10:44 +00:00
engine-flutter-autoroll
d314c40a63
Roll Skia from f5e0ae7c1b4a to 27209a752e5c (2 revisions) (#178385)
https://skia.googlesource.com/skia.git/+log/f5e0ae7c1b4a..27209a752e5c

2025-11-12 michaelludwig@google.com [graphite] Fix type in
ComputePathAtlas
2025-11-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 005577d63681 to d26c41618afc (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,bungeman@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
2025-11-12 19:33:24 +00:00
Mouad Debbar
e4d2b8743f
[web] API to customize semantics placeholder message (#178309)
To customize the accessibility placeholder message:

```dart
import 'dart:ui_web' as ui_web;

void main() {
  ui_web.accessibilityPlaceholderMessage = 'My Custom Accessibility Message!';
  // ....
}
```

Fixes https://github.com/flutter/flutter/issues/178172
2025-11-12 18:08:38 +00:00
Byoungchan Lee
d8a99e9a9a
Migrate packages/flutter_tools/templates/plugin templates to Kotlin DSL (#173993)
- Replaced `build.gradle.tmpl` files with `build.gradle.kts.tmpl` for
both Java and Kotlin Android plugin templates, as well as the shared
plugin template.
- Update `template_manifest.json` to reflect the new Kotlin DSL files.

Fixes #161703 and #142685.

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

---------

Co-authored-by: Gray Mackall <34871572+gmackall@users.noreply.github.com>
2025-11-12 18:05:01 +00:00
Flutter GitHub Bot
38ff2f2bc5
Marks Mac_arm64_mokey run_debug_test_android to be flaky (#177385)
<!-- meta-tags: To be used by the automation script only, DO NOT MODIFY.
{
  "name": "Mac_arm64_mokey run_debug_test_android"
}
-->
Issue link: https://github.com/flutter/flutter/issues/177384

Co-authored-by: Camille Simon <43054281+camsim99@users.noreply.github.com>
2025-11-12 18:01:43 +00:00
Ben Konyi
162bf57347
[ Tool ] Only process a single unhandled tool exception (#178335)
Without this change, if multiple asynchronous exceptions are thrown
while processing an exception, multiple exception analytics events can
be sent for a single process crash, skewing crashlytics data.

Fixes https://github.com/flutter/flutter/issues/178318
2025-11-12 18:00:54 +00:00
engine-flutter-autoroll
702ca6735c
Roll Packages from 7063d75d552e to e5ecaf770c8f (4 revisions) (#178377)
7063d75d55...e5ecaf770c

2025-11-12 124445418+zhoda-lii@users.noreply.github.com
[google_sign_in_android] Fix typos in README.md (flutter/packages#10402)
2025-11-12 10687576+bparrishMines@users.noreply.github.com
[image_picker] Fixes README description of plugin suggesting that only
Android and iOS is supported. (flutter/packages#10385)
2025-11-12 stuartmorgan@google.com [pigeon] Deprecate
dartHostTestHandler (flutter/packages#10403)
2025-11-11 jessiewong401@gmail.com Bumping CI to Test Against JDK 21
(flutter/packages#10193)

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-11-12 18:00:53 +00:00
John "codefu" McDole
5884de70fa
fix: infra out of resources (#178387)
Mac bots in device lab were upgraded to 15.7; which no longer matches
ci.yaml

question for future: is there a better option for this other than
pinning?

fixes: #178384
2025-11-12 16:59:04 +00:00
engine-flutter-autoroll
6d6c0bb4db
Roll Skia from cb170c367109 to f5e0ae7c1b4a (8 revisions) (#178369)
https://skia.googlesource.com/skia.git/+log/cb170c367109..f5e0ae7c1b4a

2025-11-12
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-11-12
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-11-12
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-11-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from e8ea89217ec0 to 7f294e3048e9 (9 revisions)
2025-11-12
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-11-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia
Infra from e441bd30cbdc to d4944cf18b03 (10 revisions)
2025-11-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from 498fbf7cc39e to d9ada6f91e2d (18 revisions)
2025-11-12 michaelludwig@google.com [graphite] Move PathRendererStrategy
to RendererProvider, remove kDefault

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,bungeman@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
2025-11-12 13:39:16 +00:00
engine-flutter-autoroll
a868effbd7
Roll Dart SDK from 53c099432d41 to 16b293c42139 (1 revision) (#178367)
https://dart.googlesource.com/sdk.git/+log/53c099432d41..16b293c42139

2025-11-12 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.11.0-125.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
2025-11-12 13:13:28 +00:00
engine-flutter-autoroll
593a7e815f
Roll Skia from cb627fb20e06 to cb170c367109 (1 revision) (#178348)
https://skia.googlesource.com/skia.git/+log/cb627fb20e06..cb170c367109

2025-11-12
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,bungeman@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
2025-11-12 06:46:28 +00:00
engine-flutter-autoroll
cd382a8d85
Roll Dart SDK from a2761156b6c3 to 53c099432d41 (10 revisions) (#178347)
https://dart.googlesource.com/sdk.git/+log/a2761156b6c3..53c099432d41

2025-11-12 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.11.0-124.0.dev
2025-11-11 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.11.0-123.0.dev
2025-11-11 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.11.0-122.0.dev
2025-11-11 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.11.0-121.0.dev
2025-11-11 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.11.0-120.0.dev
2025-11-11 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.11.0-119.0.dev
2025-11-11 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.11.0-118.0.dev
2025-11-10 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.11.0-117.0.dev
2025-11-10 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.11.0-116.0.dev
2025-11-10 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.11.0-115.0.dev

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dart-sdk-flutter
Please CC 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
2025-11-12 06:32:54 +00:00
Onnimanni Hannonen
1d268f4bf6
Add focus support for CupertinoActionSheetAction #166398 (#167119)
<!--
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 PR fixes #166398
- Adds focus support for `CupertinoActionSheetAction`. This makes it
work with keyboard shortcuts
- Creates new widget, `CupertinoTraversalGroup` that applies a Cupertino
style focus border around its child when any of its descendant has focus
- Employs `CupertinoTraversalGroup` in `CupertinoActionSheet`

How the new implementation looks and behaves:

https://github.com/user-attachments/assets/ea6789f1-921d-4598-bcca-489dc063ff73

How the native counterpart looks and behaves:

https://github.com/user-attachments/assets/4c6ae2a0-7205-4de2-b981-ec7f4839da6e

## 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: Tong Mu <dkwingsmt@users.noreply.github.com>
2025-11-12 04:35:43 +00:00
engine-flutter-autoroll
e302730766
Roll Skia from 3df2decadc3e to cb627fb20e06 (11 revisions) (#178345)
https://skia.googlesource.com/skia.git/+log/3df2decadc3e..cb627fb20e06

2025-11-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 3114945eb0e3 to 005577d63681 (7 revisions)
2025-11-11 bungeman@google.com Include SkData.h in Shaper.cpp
2025-11-11 kjlubick@google.com Add grshape fuzzer
2025-11-11 thomsmit@google.com [graphite] Fix typo in NoGPU jobs name
2025-11-11 robertphillips@google.com Fix fuzzer-found memory leak
2025-11-11
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-11-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 36bb6b41b389 to 3114945eb0e3 (11 revisions)
2025-11-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from cc7e0e04887e to e8ea89217ec0 (6 revisions)
2025-11-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia
Infra from 8f80a4b72d9f to e441bd30cbdc (9 revisions)
2025-11-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from a8dc09f23c22 to 498fbf7cc39e (23 revisions)
2025-11-11
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,bungeman@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
2025-11-12 03:39:25 +00:00
Thomas Guerin
4ef262721c
[Animation] Add granular frame forcing to animations (#173862)
This change adds opt-in, subtree-scoped frame forcing for Flutter
animations as described in
https://github.com/flutter/flutter/issues/174356#issuecomment-3287185284

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

This change could help fix #133533. 

## 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.
2025-11-11 23:34:27 +00:00