88225 Commits

Author SHA1 Message Date
gaaclarke
d802cab600
Adds impeller backend to golden workspace name (#182387)
fixes https://github.com/flutter/flutter/issues/181399

I'm unable to verify 100% that this is the failure since i can't
reproduce it locally but I believe this is it.

test exempt: is a 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-02-13 23:01:04 +00:00
Justin McCandless
cf4291157b
Standardize on Test* widgets in *_tester.dart files (#182395)
This PR moves:

* TestTextField from editable_text_utils.dart to
editable_text_tester.dart
 * TestListTile from list_tile_test_utils.dart to list_tile_tester.dart
 * TestButton from utils.dart to button_tester.dart
 
The purpose is to align with other Test* widgets, such as TestWidgetsApp
in
[widgets_app_tester.dart](https://github.com/flutter/flutter/blob/master/packages/flutter/test/widgets/widgets_app_tester.dart)
and TestSemantics in
[semantics_tester.dart](https://github.com/flutter/flutter/blob/master/packages/flutter/test/widgets/semantics_tester.dart).
2026-02-13 22:59:39 +00:00
Hameed Habeeblahi Gbolahan
8d238ab04d
Remove Material dependency from transformed_scrollable_test.dart (#182141)
Replace `MaterialApp` with `TestWidgetsApp` and
`Colors.blue`/`Colors.red` with named constants to remove the Material
library dependency.
Part of #177414
## 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: Navaron Bracke <brackenavaron@gmail.com>
2026-02-13 21:57:34 +00:00
Navaron Bracke
ba46c74971
Fix cross imports for all Cupertino tests (#181634)
This PR fixes all of the Cupertino cross imports, except for the one
that uses `SelectableText`, which needs further discussion.

Some Material specific tests for Cupertino are now under
`tests/material/cupertino`.

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

*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
2026-02-13 21:46:48 +00:00
Ilyosbek Ibrokhimov
da086ba743
remove MaterialApp import from raw_radio_test.dart (#181721)
<!--
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
-->

The RawRadio widget and its associated tests are part of the Widgets
layer, not the Material layer. By replacing the broad material.dart
import with specific imports (foundation.dart, semantics.dart, and
widgets.dart), we ensure better architectural layering and prevent the
Widgets layer from accidentally depending on Material components.

This is a non-breaking change that purely cleans up imports in a test
file.

Issues Fixed
Part of https://github.com/flutter/flutter/issues/177028

## 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-02-13 21:41:21 +00:00
engine-flutter-autoroll
1767582ede
Roll Skia from e2991aa99710 to bb69b5b71b4f (37 revisions) (#182390)
Roll Skia from e2991aa99710 to bb69b5b71b4f (37 revisions)

https://skia.googlesource.com/skia.git/+log/e2991aa99710..bb69b5b71b4f

2026-02-13 bungeman@google.com Fix SkFontMgr_Android fallback
2026-02-13 bungeman@google.com Revert "For script languages space
whitespaces only"
2026-02-13 thomsmit@google.com [graphite] Add contextOptionsPriv to
TestOptions
2026-02-13 kjlubick@google.com Fix typos in Skia codebase
2026-02-13 kjlubick@google.com Remove getEncodedData from SkCodec's
public API
2026-02-13 sergiog@microsoft.com [rust bmp] Fix
SkStreamAdapter::seek_relative for offset 0
2026-02-13 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 915c2f453b1c to 92cf0901ef59 (1 revision)
2026-02-13 michaelludwig@google.com [graphite] Make texture usage Caps
functions more consistently named
2026-02-13 lehoangquyen@chromium.org Graphite: Report failure messages
for async pipeline compilation
2026-02-13 kjlubick@google.com Migrate gsutil usage to gcloud storage
2026-02-13 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from 1d00645675b0 to 71ead6fdeb53 (16 revisions)
2026-02-13 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from 820c2464a839 to 1f4a9ec2512b (19 revisions)
2026-02-13 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia
Infra from 63fc10e8f242 to 8ff522b74b01 (7 revisions)
2026-02-13
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2026-02-13
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2026-02-13 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from a26b8836968d to 915c2f453b1c (3 revisions)
2026-02-13
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2026-02-12 michaelludwig@google.com [graphite] Re-organize Caps function
declarations
2026-02-12 fmalita@google.com Remove unused SkNthSet
2026-02-12 kjlubick@google.com Update comments to show the Vulkan Memory
Allocator is not optional
2026-02-12 borenet@google.com [infra] Make gcs_mirror.go use the storage
API instead of gsutil
2026-02-12 ccameron@chromium.org skhdr::Agtm: Normalize component mixing
2026-02-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 9a2bbd3ba53f to a26b8836968d (2 revisions)
2026-02-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from ae81efc63a03 to 1d00645675b0 (12 revisions)
2026-02-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia
Infra from adf42c6b0a11 to 63fc10e8f242 (35 revisions)
2026-02-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from e1f2ff49b074 to 820c2464a839 (11 revisions)
2026-02-11 fmalita@google.com Add some SkPath::Iter asserts
2026-02-11
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2026-02-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 43dad2861bf7 to 9a2bbd3ba53f (5 revisions)
2026-02-11 jmbetancourt@google.com Delete legacy graphite logging
priority
2026-02-11 bungeman@google.com Revert "Fix public headers that include
from "src/...""
2026-02-11 jmbetancourt@google.com Change SkDebugf calls in Android
buffer code to SK_LOG
2026-02-11 mike@reedtribe.org Fix public headers that include from
"src/..."
2026-02-11 bungeman@google.com Remove SK_SUPPORT_UNSPANNED_APIS
2026-02-11 jmbetancourt@google.com Reland "redirect SKGPU_LOG macros to
SKIA_LOG"
2026-02-11 fmalita@google.com [bazel macos] Add more indirect frameworks
to FRAMEWORK_GLOB
2026-02-11 jlavrova@google.com For script languages space whitespaces
only

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 bungeman@google.com,jimgraham@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
...
2026-02-13 21:39:03 +00:00
gaaclarke
41e819290c
Turns on most of fragment_shader_test.dart for opengles (#182229)
fixes https://github.com/flutter/flutter/issues/182106

Changes:
- started running the tests against opengles 3, which matches the
version of the test shaders
- fixed binging uniforms on opengles so it's based on it's type, not
it's size (since vec4 and mat2 have the same size for instance)
  - fixed for builtin shaders
  - fixed for runtime shaders
- expands our opengles mocking to include more uniform setters
- skips the handful of tests that still don't work

Now builtin shader headers look something like this. You can see this
information didn't exist and was not derivable based on the existing
information in all cases:

```c++
ShaderMetadata Shader::kMetadataFrameInfo = {
  "FrameInfo",    // name
  std::vector<ShaderStructMemberMetadata> {
      ShaderStructMemberMetadata {
        /*type=*/ShaderType::kFloat,
        /*name=*/"mvp",
        /*offset=*/0,
        /*size=*/64,
        /*byte_length=*/64,
        /*array_elements=*/std::nullopt,
        /*float_type=*/ShaderFloatType::kMat4, // <-- new
      },
```

## 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-02-13 21:38:13 +00:00
Camille Simon
ff0d94ff06
Update CHANGELOG for 3.41.1 release (#182393)
As the title says :)

## 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-02-13 21:33:24 +00:00
Hameed Habeeblahi Gbolahan
ba9a650bef
Remove Material dependency from semantics_keep_alive_offstage_test.dart (#182211)
Remove Material dependency from semantics_keep_alive_offstage_test.dart
Replace `MaterialApp`/`Scaffold` with `TestWidgetsApp` and
`Colors.red`/`Colors.blue` with simple color constants.
Part of #177414
## 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-02-13 19:35:53 +00:00
Victoria Ashworth
8fdd708068
Update iOS/macOS plugin template to add dependency on FlutterFramework (#181416)
Add the "FlutterFramework" swift package as a dependency to the iOS and
macOS create template.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [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-02-13 19:25:19 +00:00
Victoria Ashworth
d2d3dd394c
Add plugin dependencies to Add to App FlutterPluginRegistrant (#182304)
This PR copies Flutter plugins that support SwiftPM into the
FlutterPluginRegistrant directory and adds them as dependencies in the
FlutterPluginRegistrant Package.swift. It also parses the
[SupportedPlatform](https://developer.apple.com/documentation/packagedescription/supportedplatform)
out of the Package.swift for each plugin and finds the highest one. It
then makes that value the SupportedPlatform for the
FlutterPluginRegistrant.

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

## 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-02-13 19:25:19 +00:00
Lau Ching Jun
592b1caf35
Preparation to add contentTextStyle flag to SimpleDialog. (#182200)
This commit adds a `contentTextStyle` flag to `SimpleDialog` to make it
easier to land the internal fixes needed to PR #178824.

The flag currently does nothing. Actual implementation will be landed in
PR #178824.
2026-02-13 19:17:09 +00:00
engine-flutter-autoroll
06facbd8a3
Roll Packages from af1d610094c3 to 09104b08c326 (4 revisions) (#182383)
af1d610094...09104b08c3

2026-02-12 8490712+ruicraveiro@users.noreply.github.com
[camera_avfoundation] Adds support for video stabilization
(flutter/packages#10367)
2026-02-12 stuartmorgan@google.com [google_maps_flutter] Add README
section about SDK versions (flutter/packages#11005)
2026-02-12 stuartmorgan@google.com [url_launcher] Modernize
`url_launcher_ios` example (flutter/packages#11002)
2026-02-12 107683152+OlehSv@users.noreply.github.com
[google_maps_flutter] Improved perfomance of clusterization
(flutter/packages#10562)

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-02-13 18:51:06 +00:00
engine-flutter-autoroll
0d3bc95f3b
Roll Dart SDK from de5915148fde to 7a2a28dbd0d4 (2 revisions) (#182380)
https://dart.googlesource.com/sdk.git/+log/de5915148fde..7a2a28dbd0d4

2026-02-13 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-147.0.dev
2026-02-13 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-146.0.dev

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2026-02-13 18:41:21 +00:00
Jason Simmons
2cef9c5564
[Impeller] Dispose thread local caches on each frame when using GPUSurfaceVulkanImpeller with a delegate (#182265)
The Impeller Vulkan back end caches command pools in thread-local
storage. These caches can grow unbounded unless the embedder calls
ContextVK::DisposeThreadLocalCachedResources()

If the GPUSurfaceVulkanImpeller does not have a delegate, then
AcquireFrame will invoke DisposeThreadLocalCachedResources through its
call to SurfaceContextVK::AcquireNextSurface.

With a delegate, AcquireFrame follows a different code path that must
explicitly call DisposeThreadLocalCachedResources.
2026-02-13 17:59:11 +00:00
engine-flutter-autoroll
4875f505c5
Manual roll Skia from 67c11c6611d6 to e2991aa99710 (2 revisions) (#182370)
Manual roll requested by bungeman@google.com

https://skia.googlesource.com/skia.git/+log/67c11c6611d6..e2991aa99710

2026-02-11 kjlubick@google.com Remove legacy SkShaper logic in Skottie
2026-02-11 michaelludwig@google.com Revert "Add kR16_float_SkColorType"

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 bungeman@google.com,jimgraham@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-02-13 15:59:22 +00:00
engine-flutter-autoroll
57bc7aa5b6
Roll Fuchsia Linux SDK from 7RBofadgOMkGOA4P8... to V30FBkJySjFKXwVjW... (#182363)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter
Please CC jimgraham@google.com,zra@google.com on the revert to ensure
that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2026-02-13 13:06:14 +00:00
engine-flutter-autoroll
3ddfe10b6b
Roll Dart SDK from 16280dd55456 to de5915148fde (1 revision) (#182360)
https://dart.googlesource.com/sdk.git/+log/16280dd55456..de5915148fde

2026-02-13 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-145.0.dev

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2026-02-13 11:03:11 +00:00
engine-flutter-autoroll
6af435bed4
Roll Dart SDK from 4542b7ade01c to 16280dd55456 (1 revision) (#182349)
https://dart.googlesource.com/sdk.git/+log/4542b7ade01c..16280dd55456

2026-02-13 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-144.0.dev

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2026-02-13 06:03:43 +00:00
EricApostal
f8a1b34d60
Don't throw an exception if no web define variable is set (#182273)
<!--
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 a problem introduced in
https://github.com/flutter/flutter/pull/175805 that caused a build to
exception to be thrown if variables like `{{this}}` were defined in the
web `index.html`, but were not explicitly set by
`--web-define=this=VALUE`.

Resolves https://github.com/flutter/flutter/issues/182243 

Note: As per https://github.com/flutter/flutter/issues/182076, this will
always show the warning if ran with `flutter build web`, whereas
`flutter run -d ...` works fine, regardless of whether you've set the
variable or not. That is set to be fixed in
https://github.com/flutter/flutter/pull/182079, and does not have to do
with this PR.

## 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: Navaron Bracke <brackenavaron@gmail.com>
2026-02-13 03:16:37 +00:00
engine-flutter-autoroll
fb62e90f64
Roll Dart SDK from c7886515c975 to 4542b7ade01c (1 revision) (#182328)
https://dart.googlesource.com/sdk.git/+log/c7886515c975..4542b7ade01c

2026-02-12 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-143.0.dev

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2026-02-13 00:56:07 +00:00
chunhtai
6ac6d3ec0f
[web] Makes Tappable semantics behavior adaptive (#182167)
<!--
Thanks for filing a pull request!
Reviewers are typically assigned within a week of filing a request.
To learn more about code review, see our documentation on Tree Hygiene:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
-->

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

mainly change how tappable and other classes work so that it can self
shutoff when the semantics object change

## 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-02-13 00:45:01 +00:00
Jason Simmons
e1a890d577
[ Tool ] Allow creation of projects inside the engine's examples directory (#182268)
engine/src/flutter/examples contains sample code for the engine embedder
library. The examples include scripts that create and build Flutter
projects that are run through the embedder.
2026-02-12 23:10:23 +00:00
zhongliugo
7bafe12c4f
[web] Fix scroll event bubbling in iframes (#179703)
Fixes scroll event bubbling when Flutter web is embedded in an
iframe(#156985).

When a scrollable handles a wheel event, it now calls
respond(allowPlatformDefault: false) to signal the engine.

In iframe mode, the engine always calls preventDefault() to block native
scroll chaining, then uses postMessage to explicitly scroll the parent
page only when all scrollables are at boundary

Before change:
https://issue-156985-before.web.app/

After change:
https://issue-156985-after.web.app/
2026-02-12 21:25:13 +00:00
gaaclarke
fd817c7c8a
Made sure no test() declaration happens asynchronously in fragment shader tests (#182306)
fixes https://github.com/flutter/flutter/issues/182305

test exempt: is a 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-02-12 20:43:37 +00:00
Michał Kucharski
6f1d81b243
Fix flutter build web ignoring --web-define flag (#182079)
## Summary

`flutter build web --web-define=KEY=VALUE` silently ignored the
`--web-define` flag. The option was registered via
`usesWebDefineOption()` but the values were never extracted or passed
through the build pipeline. `flutter run` was unaffected as it correctly
calls `extractWebDefines()`.

This PR threads web-define values through the full `flutter build web`
chain:

- **`build_web.dart`**: Call `extractWebDefines()` and pass the result
to `buildWeb()`.
- **`compile.dart`**: Add `kWebDefinePrefix` constant and `webDefines`
parameter to `buildWeb()`, storing prefixed entries in
`Environment.defines`.
- **`web.dart`**: In `WebTemplatedFiles.build()`, extract web-define
entries from the environment and pass them to both `withSubstitutions()`
calls (bootstrap + index.html).

Related to #175805. 
Fixes #182076

## Test plan

- Added 2 tests in `build_web_test.dart`:
- Verifies `--web-define` values are passed to `Environment.defines`
with `webDefine:` prefix.
- Verifies builds succeed without `--web-define` and no prefixed entries
are present.
- Added 3 tests in `web_test.dart`:
- `WebTemplatedFiles` substitutes web-define variables in `index.html`.
- `WebTemplatedFiles` substitutes web-define variables in
`flutter_bootstrap.js`.
  - `WebTemplatedFiles` works correctly with no web-define variables.
- All existing tests in `build_web_test.dart` (24/24), `web_test.dart`
(619/619), and `web_template_test.dart` (16/16) pass.

---------

Co-authored-by: Mouad Debbar <mdebbar@google.com>
2026-02-12 19:59:40 +00:00
engine-flutter-autoroll
2ad0bb8575
Roll Dart SDK from 4bee23d3e5f8 to c7886515c975 (1 revision) (#182308)
https://dart.googlesource.com/sdk.git/+log/4bee23d3e5f8..c7886515c975

2026-02-12 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-142.0.dev

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2026-02-12 19:43:02 +00:00
Marijua ރ
a89a2ded8b
[Material] modernize legacy switch statements to expressions across multiple files (#181427)
This PR modernizes legacy switch statements across several Material
library files by converting them to Dart 3 switch expressions.

While exploring `dialog.dart` and `drawer.dart`, I noticed a recurring
pattern of using switch statements for platform-based variable
assignments (like semantic labels and boolean flags). I've expanded the
cleanup to include `app_bar.dart` and `bottom_sheet.dart` to ensure
consistency across the

-> All relevant tests passed (370+ tests total across `
dialog_test.dart`, `drawer_test.dart`, `app_bar_test.dart`, and
`bottom_sheet_test.dart`).

-> Verified with `flutter analyze` and `dart format`

## 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-02-12 18:08:08 +00:00
engine-flutter-autoroll
0b3185c77d
Roll Packages from 1e5019501fe2 to af1d610094c3 (7 revisions) (#182298)
1e5019501f...af1d610094

2026-02-12 brunocorona.alcantar@gmail.com [video_player_avfoundation]
Fix regression where http headers were ignored (flutter/packages#10991)
2026-02-12 47866232+chunhtai@users.noreply.github.com [ci] Adds more ci
checks for batch release file integrity (flutter/packages#10859)
2026-02-12 stuartmorgan@google.com [google_maps_flutter] Create SDK 9
and 10 packages for iOS (flutter/packages#10852)
2026-02-12 katelovett@google.com Update codeowners
(flutter/packages#11004)
2026-02-11 engine-flutter-autoroll@skia.org Roll Flutter (stable) from
67323de285b0 to 44a626f4f002 (1372 revisions) (flutter/packages#10999)
2026-02-11 stuartmorgan@google.com [video_player] Convert iOS unit tests
to Swift (flutter/packages#10989)
2026-02-11 47866232+chunhtai@users.noreply.github.com [ci] updates
`update-release-info` to support batch release (flutter/packages#10958)

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-02-12 16:48:27 +00:00
Daco Harkes
6e459a3860
[native_assets] Fix flutter build ios-framework (#181507)
This PR fixes two issues. Accidental reuse of code assets between build
modes and SDKs (https://github.com/flutter/flutter/issues/181724), and
the bundling in ios-frameworks
(https://github.com/flutter/flutter/issues/181382).

To fix the accidental caching, the `Target`s related to build hooks and
code assets now output their files to `environment.outputDir` instead of
`$projectDir/$buildDir/native_assets`.

* `xcode_backend` is updated to deal with this.
* `Flutter.kt` has been updated to deal with this.
* Because the `Target`s are responsible for caching, the code has been
refactored to provide the target directories from there. The
"global-ish" function `nativeAssetsBuildUri` that was calculating the
directory before has been removed.
* `runFlutterSpecificHooks` has nothing to do with that directory, it's
access to it has been removed.
* To avoid another cmakefile migration, the Linux and Windows
implementation use the same directory. (Note that output dir and build
dir overlap for Linux and Windows, while they do not for MacOS, iOS, and
Android.)
* This also means that we don't have to read `NativeAssetsManifest.json`
in `xcode_backend` anymore. Instead the `Target` clears the output
directory, so we should not have any stale frameworks.
* Refactored `installCodeAssets` and its platform-specific
implementations to return a list of all produced files. These are now
added to the `Target`'s depfile. This fixes an issue where the build
system would skip re-installing native assets after an Xcode "Clean
Build Folder because it wasn't tracking the frameworks/dylibs as
outputs.

Closes: https://github.com/flutter/flutter/issues/181724

Other `Target`s related tweaks:

* Added proper
`Source.pattern('{BUILD_DIR}/${DartBuild.dartHookResultFilename}'),` for
all `Target`s that depend on that file. These were missing. (The build
system uses `dependencies` for ordering of `Target`s, but relies on
`inputs` and `outputs` for caching.)
* Removed code assets from `CopyAssets`. That target is supposed to make
an asset-bundle that is OS-independent if I understand correctly.

This PR changes the way code assets are bundled in `flutter build
ios-framework`.

* This PR now packages in an `.xcframework`, which is necessary to be
able to package both device and simulator.
* Run through the frameworks of both device and simulator and give
errors on inconsistencies.

Closes: https://github.com/flutter/flutter/issues/181382

Other iOS related tweaks:

* Use `xcrun` for invoking all the commands. (This is used for producing
the app framework, but was not for code assets frameworks.)
* Make sure all commands are added to the traces when running verbose.
(Also to bring it in line for with the other `xcrun` commands.)

Testing:

* The integration test is updated to inspect the `xcframework`s.
* Added a test that simulates Xcode "Product > Clean Build Folder...",
to check that it now correctly triggers a rebuild.
* We do _not_ have an integration test that _runs_ the frameworks output
from `flutter build ios-framework` inside a host app at all as far as
I'm aware.
* dev/devicelab/bin/tasks/build_ios_framework_module_test.dart builds a
framework, but doesn't run it in a host app
* dev/integration_tests/ios_add2app_life_cycle/build_and_test.sh runs,
but does so via `flutter build ios` not as a framework.
* Does not add an integration test for caching behavior between
switching build modes. However, the proper functioning of `flutter build
ios-framework` depends on the `Target`s for different not using
overlapping directories.

Architectural approaches tried but didn't work:

* Subclass `InstallCodeAssets` per OS to be more precise in the
`output`s on what files are output. This doesn't work because other
OS-independent targets on the `InstallCodeAssets` target.
2026-02-12 15:33:43 +00:00
engine-flutter-autoroll
4d0d113b75
Roll Dart SDK from e01a39588eb4 to 4bee23d3e5f8 (2 revisions) (#182291)
https://dart.googlesource.com/sdk.git/+log/e01a39588eb4..4bee23d3e5f8

2026-02-12 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-141.0.dev
2026-02-12 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-140.0.dev

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2026-02-12 14:06:44 +00:00
Martin Kustermann
53bfd6d932
Mark all IconData fields as entrypoints to prevent tree shaking its fields (#181849)
Flutter's tree shaking of icon data in fonts examines the tree shaken
Kernel AST, searching for `IconData` constants. It will then examine
their fields in order to shake parts of fonts.

We should mark those fields as entrypoints to prevent the tree shaker
from removing the fields (an optimization that may land in [0]) as the
`const_finder` tool relies on them being there.

[0] https://dart-review.googlesource.com/c/sdk/+/472541
2026-02-12 09:46:44 +00:00
engine-flutter-autoroll
ef08da678c
Roll Dart SDK from ff900e37db1d to e01a39588eb4 (1 revision) (#182272)
https://dart.googlesource.com/sdk.git/+log/ff900e37db1d..e01a39588eb4

2026-02-12 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-139.0.dev

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2026-02-12 06:00:12 +00:00
Tong Mu
5f49837cdd
Fix misleading error message for color/decoration conflict (relands #180325) (#181882)
_This PR is a clone of https://github.com/flutter/flutter/pull/180325
and relands it._

## Description

Fixes the contradictory error message that says "Cannot provide both...
To provide both".

Updated wording to match `Ink` and `AnimatedContainer` widgets which use
clearer phrasing.

## Related Issue

Fixes #119484

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

---------

Co-authored-by: Nathan Nguyen <nhan13574@gmail.com>
2026-02-12 01:48:23 +00:00
engine-flutter-autoroll
295e3f68b2
Roll Fuchsia Linux SDK from KQaTtk9-r7DaLb1B9... to 7RBofadgOMkGOA4P8... (#182262)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter
Please CC jimgraham@google.com,zra@google.com on the revert to ensure
that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2026-02-12 00:47:31 +00:00
engine-flutter-autoroll
6d75582169
Roll Dart SDK from 9f2ab073bed1 to ff900e37db1d (2 revisions) (#182248)
https://dart.googlesource.com/sdk.git/+log/9f2ab073bed1..ff900e37db1d

2026-02-11 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-138.0.dev
2026-02-11 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-137.0.dev

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2026-02-11 23:39:09 +00:00
Gray Mackall
a191754c35
Make HCPP upgrading work for vd/tlhc (#181024)
Before the change we get a NPE when trying to cast the return of the
create message as an int.

There are also some more changes needed on top of the change to the
cast, making the `TextureAndroidViewController` aware of if it is using
HCPP and exposing that bool for use in
`packages/flutter/lib/src/rendering/platform_view.dart`

This is untested because it currently isn't possible to use HCPP without
uncommenting the code block here:
2beceb6b1c/engine/src/flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/PlatformViewsChannel.java (L95)

It will be tested in the follow up pr which adds the cli flag,
uncomments the block, and adds golden tests that we can upgrade each of
the 3 legacy modes.

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

---------

Co-authored-by: Gray Mackall <mackall@google.com>
2026-02-11 22:31:25 +00:00
Mohellebi Abdessalem
b730ef582c
[Tool] Remove redundant name fields in an enum (#181674)
## 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-02-11 21:16:33 +00:00
b-luk
98d8802897
Increase timeout for tracing_test.dart's "Canvas.saveLayer emits tracing" (#182225)
Potentially addresses #182150.

From
https://github.com/flutter/flutter/issues/182150#issuecomment-3886099639:

From looking at the newly non-quiet failures, the issue is that the
"Canvas.saveLayer emits tracing" test in tracing_tests.dart is timing
out after 30 seconds.

Looking at a sample of this test when it passes (from
https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8690171468694972273/+/u/test:_test:_Host_Tests_for_host_debug_unopt/stdout),
it took 20, 19, 29, 25, 21, and 23 seconds for 6 different variations
(multithreading enabled/disabled, skia/vulkan/opengles backends). So it
definitely could be running up against the default 30 second test
timeout if a run happens to take a little bit slower.

We can try increasing the timeout for this 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-02-11 21:05:25 +00:00
Justin McCandless
450c92e3d4
Changelog entry for 3.38.10 stable hotfix (#182237)
Now that it's been released, merging the changelog updates to master
from https://github.com/flutter/flutter/pull/182037.
2026-02-11 20:56:57 +00:00
Michael Brase
a1b62d3566
Clean up include paths for Fuchsia in the flutter engine (#182031)
This rewrites many of the include paths in Fuchsia engine code to use
the full path of the file. For example:

```diff
-#include "runtime/dart/utils/inlines.h"
+#include "flutter/shell/platform/fuchsia/runtime/dart/utils/inlines.h"
```

I also cleaned up a few unused includes and convered the includes for
the Fuchsia SDK to using angle backets.

## Pre-launch Checklist

- [X] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [X] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [X] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [X] I signed the [CLA].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [X] I updated/added relevant documentation (doc comments with `///`).
- [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.
2026-02-11 20:13:35 +00:00
Safwan Mamji
656f49ddba
Enhance the Stepper widget by adding customizable header and content padding (#180257)
Enhance the Stepper widget by adding customizable header and content
padding properties. Default values are set for both paddings to maintain
the existing layout behavior.

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

---------

Co-authored-by: Tong Mu <dkwingsmt@users.noreply.github.com>
2026-02-11 19:49:55 +00:00
Victoria Ashworth
d0003a62be
Revert "Send statusBarTouch events via dedicated messages (#179643)" (#182223)
This reverts commit f4c83de1bf17e4fb4706122ff9d0a5f9f6ed4308.

See b/482565401.

## 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-02-11 19:42:09 +00:00
Camille Simon
ff1876f01d
Update CHANGELOG to include 3.41 stable release (#182227)
As the title says. Cheers to the 3.41 stable release 🥳 

## 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 `///`).
- [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-02-11 19:23:49 +00:00
Sam Rawlins
bacb47284f
engine: Use a super-parameter in one missed case (#181914)
Work towards https://github.com/dart-lang/sdk/issues/58729

The lint rule will suggest using a super-parameter for a named parameter
even if the positional parameters cannot be super-parameters.
2026-02-11 18:01:19 +00:00
b-luk
9cde519556
Fix incorrect rendering from drawImageNine when running on impeller with opengles (#182179)
The `frag_info.source_rect` passed into
98977409b2/engine/src/flutter/impeller/entity/shaders/texture_fill_strict_src.frag
from
[texture_contents.cc](98977409b2/engine/src/flutter/impeller/entity/contents/texture_contents.cc (L187))
did not account for an inverted y scale (used with an opengles impeller
backend).

This ends up causing the coordinates used to sample the texture in the
fragment shader to be incorrectly clamped. A lot of the y coordinates
end up incorrectly being considered outside of the source_rect, so we
end up with lots of incorrect y values and vertical smearing caused by
the clamping.

The texture_fill_strict_src.frag shader is used primarily by calls to
drawImageNIne. NinePatchConverter calls DrawImageRect with
SourceRectConstraint::kStrict, which uses texture_fill_strict_src.frag.

https://github.com/flutter/flutter/issues/182101 shows a repro case for
this. The golden test issue discussed in
https://github.com/flutter/flutter/pull/181933#issuecomment-3873204657
is also caused by this.

## 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-02-11 18:01:13 +00:00
Ricky van den berg
0b894805c9
[Impeller] Fix VkImageView leak in WrappedTextureSourceVK (#181966)
## Description

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

`WrappedTextureSourceVK` in the embedder delegate path creates a
`VkImageView` every frame via `createImageView()` but never destroys it.
The handle is stored as a raw non-owning `vk::ImageView` and the
destructor is empty, leaking one `VkImageView` per frame (~60/sec on a
typical app).

This switches to `vk::UniqueImageView` for RAII ownership so the image
view is destroyed when the `WrappedTextureSourceVK` is released.

## Why this is safe

The resource lifetime is correct because Impeller's `TrackedObjectsVK`
holds a `shared_ptr` to the `TextureSourceVK` until the GPU fence
signals completion:

1. `RenderPassVK` calls `Track(attachment.texture)` on all render target
textures
2. `CommandBufferVK::Track()` stores `shared_ptr<TextureSourceVK>` in
`TrackedObjectsVK`
3. `TrackedObjectsVK` is cleared only in the fence completion callback,
after the GPU finishes

The `VkImageView` cannot be destroyed while the GPU is still using it.

## Scope

This only affects the **embedder delegate code path** (when `delegate_
!= nullptr` in `GPUSurfaceVulkanImpeller::AcquireFrame`). Android passes
`nullptr` as the delegate and uses `AcquireNextSurface()` instead, so
this change has **no effect on Android, iOS, or standard swapchain
rendering**.

## 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].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [ ] I added a test for the change if applicable. *(See note below)*

**Note on testing:** This is a resource leak fix in a Vulkan code path
that requires a running Vulkan device and embedder delegate. I was
unable to find existing test infrastructure for the embedder delegate
path in `GPUSurfaceVulkanImpeller`. Happy to add a test if reviewers can
point me to the right test harness.

Found while working on Impeller Vulkan support for Linux/Wayland with a
custom embedder.

[Contributor Guide]:
https://github.com/flutter/flutter/blob/master/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/master/docs/contributing/Tree-hygiene.md
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/master/docs/contributing/Style-guide-for-Flutter-repo.md
2026-02-11 17:40:32 +00:00
engine-flutter-autoroll
ea4c736e3a
Roll Packages from 091acc58aca3 to 1e5019501fe2 (4 revisions) (#182216)
091acc58ac...1e5019501f

2026-02-10 20989940+aednlaxer@users.noreply.github.com
[google_maps_flutter_web] Add Advanced markers support (web)
(flutter/packages#9773)
2026-02-10 louisehsu@google.com [google_sign_in_ios][UIScene] Migrate to
UIScene (flutter/packages#10960)
2026-02-10 stuartmorgan@google.com [google_maps_flutter] Fix custom
marker icons on iOS (flutter/packages#10993)
2026-02-10 engine-flutter-autoroll@skia.org Roll Flutter from
e8f9dc50356d to 9bda20a11f1e (34 revisions) (flutter/packages#10992)

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-02-11 16:25:13 +00:00
Qun Cheng
3ea1619099
Reland - Update date localization (#182189)
This PR is a reland of https://github.com/flutter/flutter/pull/181685.
The update introduced NBSP to connect time and its period(am or pm), so
some invisible breakages are expected.

Fix is added in the second
[commit](06be40e4bd).

## 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-02-11 15:32:00 +00:00
engine-flutter-autoroll
b616221364
Roll Skia from bf71153c9976 to 67c11c6611d6 (6 revisions) (#182214)
https://skia.googlesource.com/skia.git/+log/bf71153c9976..67c11c6611d6

2026-02-11 kjlubick@google.com Reland "Remove D3D #includes from
GrBackendSemaphore"
2026-02-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from f05fa9f6a79f to 43dad2861bf7 (4 revisions)
2026-02-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from a6d84ad20406 to ae81efc63a03 (6 revisions)
2026-02-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia
Infra from c9b523e69287 to adf42c6b0a11 (8 revisions)
2026-02-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from 4fc5e617254b to e1f2ff49b074 (14 revisions)
2026-02-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 bungeman@google.com,jimgraham@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-02-11 15:18:13 +00:00