88020 Commits

Author SHA1 Message Date
shindonghwi
2fae58b08f fix: prevent duplicate Chrome launch in flutter drive
flutter drive -d chrome was opening Chrome twice - once from WebDriver
and once from web_device.dart. Added webNoLaunchChrome flag to
DebuggingOptions so we can skip the second launch.
2026-02-01 15:46:00 +09:00
shindonghwi
b3993b944e fix: add chromeBinary parameter to test mock classes
Update TestChromiumLauncher.launch() method signature in test files
to include the chromeBinary parameter added to ChromiumLauncher.launch()
2026-02-01 15:46:00 +09:00
shindonghwi
194ea3843b [flutter_tools] Pass --chrome-binary to app hosting Chrome in flutter drive
Fixes #171504

The --chrome-binary flag was only being passed to WebDriver Chrome,
not to the app hosting Chrome instance. This change passes the flag
through DebuggingOptions so both Chrome instances use the specified binary.

Changes:
- Add webChromeBinary field to DebuggingOptions
- Pass chromeBinary parameter to ChromiumLauncher.launch()
- Forward webChromeBinary in WebDriverService.start()
- Add test for custom chrome binary path
2026-02-01 15:45:59 +09:00
engine-flutter-autoroll
37a8bb1feb
Roll Dart SDK from c72b3f527a07 to cde322c518b9 (1 revision) (#181763)
https://dart.googlesource.com/sdk.git/+log/c72b3f527a07..cde322c518b9

2026-02-01 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-98.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 codefu@google.com,dart-vm-team@google.com on the revert to
ensure that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2026-02-01 05:01:27 +00:00
engine-flutter-autoroll
af5d2ceb93
Roll Dart SDK from 43de79f08887 to c72b3f527a07 (1 revision) (#181762)
https://dart.googlesource.com/sdk.git/+log/43de79f08887..c72b3f527a07

2026-01-31 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-97.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 codefu@google.com,dart-vm-team@google.com on the revert to
ensure that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2026-01-31 23:59:21 +00:00
engine-flutter-autoroll
3fdf8cad2c
Roll Fuchsia Linux SDK from 27OsrsrKcrr2pOaqY... to nI52U4LJMrBv8G1M9... (#181760)
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 codefu@google.com,zra@google.com on the revert to ensure that
a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2026-01-31 23:09:24 +00:00
engine-flutter-autoroll
18e3b487de
Roll Dart SDK from a0aac59705e5 to 43de79f08887 (1 revision) (#181758)
https://dart.googlesource.com/sdk.git/+log/a0aac59705e5..43de79f08887

2026-01-31 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-96.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 codefu@google.com,dart-vm-team@google.com on the revert to
ensure that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2026-01-31 18:58:36 +00:00
engine-flutter-autoroll
59df2c8eee
Roll Skia from b704afbcd8e7 to a5a535bc21a3 (1 revision) (#181757)
https://skia.googlesource.com/skia.git/+log/b704afbcd8e7..a5a535bc21a3

2026-01-31 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 608edb9018a9 to 60448b32a27f (1 revision)

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

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2026-01-31 16:29:39 +00:00
engine-flutter-autoroll
2cff642bd7
Roll Dart SDK from d6f77f9098e1 to a0aac59705e5 (1 revision) (#181756)
https://dart.googlesource.com/sdk.git/+log/d6f77f9098e1..a0aac59705e5

2026-01-31 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-95.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 codefu@google.com,dart-vm-team@google.com on the revert to
ensure that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2026-01-31 12:58:26 +00:00
engine-flutter-autoroll
c45c10208c
Roll Skia from 6f9511ce11ba to b704afbcd8e7 (4 revisions) (#181753)
https://skia.googlesource.com/skia.git/+log/6f9511ce11ba..b704afbcd8e7

2026-01-31 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 13170c81bc3d to 608edb9018a9 (7 revisions)
2026-01-31 michaelludwig@google.com Revert "[graphite] Consolidate
colortype info functions into Caps"
2026-01-31 michaelludwig@google.com Revert "[graphite]
SkSurfaces::WrapBackendTexture doesn't require SkColorType"
2026-01-31 jmbetancourt@google.com Reland: introduce new SkLogPriority
and logging macros to skia

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 bwils@google.com,codefu@google.com,kjlubick@google.com on the
revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2026-01-31 11:33:44 +00:00
engine-flutter-autoroll
8ba756a52b
Roll Dart SDK from 0cf997832948 to d6f77f9098e1 (2 revisions) (#181749)
https://dart.googlesource.com/sdk.git/+log/0cf997832948..d6f77f9098e1

2026-01-31 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-94.0.dev
2026-01-31 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-93.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 codefu@google.com,dart-vm-team@google.com on the revert to
ensure that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2026-01-31 07:50:26 +00:00
engine-flutter-autoroll
ca515532be
Roll Skia from 33c00c0f3b8b to 6f9511ce11ba (1 revision) (#181744)
https://skia.googlesource.com/skia.git/+log/33c00c0f3b8b..6f9511ce11ba

2026-01-30 ccameron@chromium.org Add more kR8_unorm_SkColorType and
kR16_unorm_SkColorType support.

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 bwils@google.com,codefu@google.com,kjlubick@google.com on the
revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2026-01-31 02:01:25 +00:00
engine-flutter-autoroll
bbcbb8d5e5
Roll Dart SDK from be3ffc51d407 to 0cf997832948 (1 revision) (#181740)
https://dart.googlesource.com/sdk.git/+log/be3ffc51d407..0cf997832948

2026-01-30 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-92.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 codefu@google.com,dart-vm-team@google.com on the revert to
ensure that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2026-01-31 01:05:26 +00:00
engine-flutter-autoroll
94e0dc8d40
Roll Skia from b62d43b59dd6 to 33c00c0f3b8b (1 revision) (#181735)
https://skia.googlesource.com/skia.git/+log/b62d43b59dd6..33c00c0f3b8b

2026-01-30 michaelludwig@google.com [graphite] Add f16 variants for
std140 and std430 to UniformManager

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 bwils@google.com,codefu@google.com,kjlubick@google.com on the
revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2026-01-30 23:54:22 +00:00
Jason Simmons
dc2b4c6eb4
[Impeller] Fix type conversion warnings seen on Windows when Impeller GL API wrappers log arguments with function types (#181734)
https://github.com/flutter/flutter/pull/181157 introduced a call to the
glDebugMessageCallback API using a lambda as the argument. On Windows
builds this produces a warning about a nonstandard implicit conversion
when the Impeller GL API wrappers try to log the callback argument.
2026-01-30 22:19:35 +00:00
jesswrd
319ef4eed8
Update New Android API Docs (#180604)
Updated Android API Docs with Android API 36 umbrella issue and added
new links and instructions.

## Pre-launch Checklist

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

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

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

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2026-01-30 21:49:03 +00:00
engine-flutter-autoroll
2337afaaef
Roll Fuchsia Linux SDK from isy1ARvK-3bsvtfc-... to 27OsrsrKcrr2pOaqY... (#181733)
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 codefu@google.com,zra@google.com on the revert to ensure that
a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2026-01-30 21:12:27 +00:00
nmarci89
f8aaee5694
Fix P3-to-sRGB color conversion to operate in linear light (#181720)
<!--
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
-->

### Problem
The P3-to-sRGB color conversion applies an affine matrix directly to
gamma-encoded values in both the C++ engine (`dl_color.cc`) and Dart
(`painting.dart`). This is mathematically incorrect — color space
conversion matrices must operate in linear light. The result is P3
colors that appear nearly identical to sRGB instead of showing the full
gamut difference.
For example, P3 `#1ECAD3` (30/255, 202/255, 211/255) converts to:
- **Old (wrong):** extendedSRGB (-0.12, 0.86, 0.87)
- **New (correct):** extendedSRGB (-0.38, 0.81, 0.84)
The red channel error of 0.26 is clearly visible — colors appear washed
out instead of vivid.

### Fix
Replace the single affine matrix multiply with the correct 3-step
pipeline:
1. **Linearize** — decode gamma via sRGB EOTF
2. **Transform** — apply 3x3 P3-to-sRGB matrix in linear space
3. **Encode** — re-apply gamma via sRGB OETF
Extended range (negative values from out-of-gamut colors) is handled by
mirroring the transfer function.
**C++ (`dl_color.cc`):** Replace affine matrix with `p3ToExtendedSrgb()`
using `double` precision.
**Dart (`painting.dart`):** Replace `_MatrixColorTransform` with
`_P3ToSrgbTransform` and `_SrgbToP3Transform` classes. Also fixes the
sRGB-to-P3 direction.

### Performance
Negligible. The C++ conversion runs once per paint setup in `ReadColor`,
not per frame or per pixel. The Dart conversion runs once per
`Color.withValues()` call.

### Tests
- **C++:** Added `ColorSpaceP3ToExtendedSRGBLinearLight` test in
`dl_color_unittests.cc`
- **Dart:** Added 3 tests in `colors_test.dart`: mid-range
P3→extendedSRGB, P3 green→extendedSRGB, sRGB→P3 round-trip
All new tests fail with the old code and pass with the fix. Existing
tests continue to pass.

## Issue:
https://github.com/flutter/flutter/issues/181717

## Pre-launch Checklist

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

---------

Co-authored-by: gaaclarke <30870216+gaaclarke@users.noreply.github.com>
2026-01-30 20:53:45 +00:00
John "codefu" McDole
3ce3f1345d
chore: deflake Linux_mokey flutter_engine_group_performance (#181624)
fixes: #179114
2026-01-30 20:33:44 +00:00
engine-flutter-autoroll
8975fd4d0c
Roll Dart SDK from 2703fd9733ce to be3ffc51d407 (1 revision) (#181729)
https://dart.googlesource.com/sdk.git/+log/2703fd9733ce..be3ffc51d407

2026-01-30 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-91.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 codefu@google.com,dart-vm-team@google.com on the revert to
ensure that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2026-01-30 20:01:10 +00:00
Matt Boetger
d143c41e41
Ensure content-sizing resize is run on UI thread (#181686)
While testing with a different add-to-app
https://github.com/flutter/samples/pull/2787, an exception is sometimes
thrown when the resize is attempted because the callback comes from a
different thread. It is expected that the raster thread calls this but
with previous
[testing](https://github.com/mboetger/test-add-to-app/tree/content-sizing)
never caused this exception.

This PR ensures the resize happens on the UI thread. It also a flag to
ensure content sizing is disabled.

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

## Pre-launch Checklist

- [X] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [X] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [X] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [X] I signed the [CLA].
- [X] I listed at least one issue that this PR fixes in the description
above.
- [X] I updated/added relevant documentation (doc comments with `///`).
- [X] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [X] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [X] All existing and new tests are passing.
2026-01-30 18:36:08 +00:00
Ben Konyi
467c009eea
[ Tool ] Cleanup ResidentCompiler initialization logic (#181421)
Moves the initialization logic for web and non-web compilers into the
`ResidentCompiler` factory and reduces code duplication.

Also bumps the flutter_tools Dart SDK version to ^3.10.0 to enable dot
shorthands.

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-01-30 18:36:08 +00:00
Daco Harkes
b877bae05d
[native assets] Split debug info into .dsym files (#181533)
This PR splits the debug info from code assets into separate dsym files
for MacOS and iOS.

The splitting only happens if the build mode is not debug. This aligns
with whether the debug symbols are separated out for the Flutter
framework and the app Framework.

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

Testing: Added some tests to the integration test
2026-01-30 18:00:23 +00:00
engine-flutter-autoroll
92fb5e8ac5
Roll Skia from 4745eb2fe837 to b62d43b59dd6 (1 revision) (#181727)
https://skia.googlesource.com/skia.git/+log/4745eb2fe837..b62d43b59dd6

2026-01-30 bwils@google.com Revert "reland: introduce new SkLogPriority
and logging macros to skia"

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 bwils@google.com,codefu@google.com,kjlubick@google.com on the
revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2026-01-30 17:34:26 +00:00
Andrew Marshall
ae0fe0d05c
add ccache support for custom toolchain (#180737)
Add ccache support when building the engine using a custom toolchain.

Fixes #180736

## 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.
2026-01-30 17:19:13 +00:00
Andrew Marshall
f94d0cb3b2
update GLFW to latest and use EGL context creation on linux (#181259)
Updates the GLFW dependency to master and uses the EGL context creation
API on Linux. This allows Linux users to select an OpenGL implementation
when running the impeller playground tests by defining
`__EGL_VENDOR_LIBRARY_FILENAMES`.

For example, running
```
$ impeller_unittests --gtest_filter=Play/AiksTest.ToImageFromImage/OpenGLES
```
gives,  in `description_gles.cc` ,
```
gl_version_string_ // OpenGL ES 3.2 NVIDIA 590.48.01
```

Then running

```
$ __EGL_VENDOR_LIBRARY_FILENAMES=/usr/share/glvnd/egl_vendor.d/50_mesa.json impeller_unittests --gtest_filter=Play/AiksTest.ToImageFromImage/OpenGLES
```

```
gl_version_string_ // OpenGL ES 3.2 Mesa 25.3.3-arch1.3
```

Fixes #181258

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
2026-01-30 17:17:05 +00:00
Andrew Marshall
907bda7d0c
add stacktrace support when requested for host builds (#181264)
Adds support for backtraces when requested in host builds

### Before:

```
Note: Google Test filter = Play/RendererTest.BabysFirstTriangle/OpenGLES
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from Play/RendererTest
[ RUN      ] Play/RendererTest.BabysFirstTriangle/OpenGLES
...
Segmentation fault         (core dumped) __EGL_VENDOR_LIBRARY_FILENAMES=/usr/share/glvnd/egl_vendor.d/50_mesa.json ./out/host_debug_unopt/exe.unstripped/impeller_unittests --enable_playground --gtest_filter='Play/RendererTest.BabysFirstTriangle/OpenGLES'
```

### After:
```
Note: Google Test filter = Play/RendererTest.BabysFirstTriangle/OpenGLES
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from Play/RendererTest
[ RUN      ] Play/RendererTest.BabysFirstTriangle/OpenGLES
...
[symbolize_elf.inc : 379] RAW: Unable to get high fd: rc=0, limit=1024
[ERROR:flutter/fml/backtrace.cc(108)] Caught signal SIGSEGV during program execution.
Frame 0: 0x55831f19fbc4 impeller::DeviceBufferGLES::GetBufferData()
Frame 1: 0x55831f186cd3 impeller::BufferBindingsGLES::BindUniformBufferV2()
Frame 2: 0x55831f186b66 impeller::BufferBindingsGLES::BindUniformBufferV3()
Frame 3: 0x55831f1861da impeller::BufferBindingsGLES::BindUniformBuffer()
Frame 4: 0x55831f185fea impeller::BufferBindingsGLES::BindUniformData()
Frame 5: 0x55831f1cb112 impeller::EncodeCommandsInReactor()
...
Segmentation fault         (core dumped) __EGL_VENDOR_LIBRARY_FILENAMES=/usr/share/glvnd/egl_vendor.d/50_mesa.json ./out/host_debug_unopt/exe.unstripped/impeller_unittests --enable_playground --gtest_filter='Play/RendererTest.BabysFirstTriangle/OpenGLES'
```

Fixes #181156

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
2026-01-30 17:13:10 +00:00
Andrew Marshall
1d9d6a9a5e
enable enhanced debugging for GLES playground (#181157)
<!--
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
-->

Enables improved OpenGLES debug support in the playground tests if
[KHR_DEBUG](https://registry.khronos.org/OpenGL/extensions/KHR/KHR_debug.txt)
is available. Only activated on unoptimized builds (where `NDEBUG` is
not defined)

Example: 

Before:
```
[FATAL:flutter/impeller/renderer/backend/gles/proc_table_gles.h(44)] Fatal GL Error GL_INVALID_ENUM(1280) encountered on call to glBindBuffer
```

After:
```
[ERROR:flutter/impeller/playground/backend/gles/playground_impl_gles.cc(146)] GL Error: GL_INVALID_ENUM error generated. Invalid buffer target enum.
[FATAL:flutter/impeller/renderer/backend/gles/proc_table_gles.h(44)] Fatal GL Error GL_INVALID_ENUM(1280) encountered on call to glBindBuffer
```


Closes #179329

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
2026-01-30 17:13:10 +00:00
Matthew Kosarek
7323c0ee05
Make the Windows windowing_test in .ci.yaml have bringup as false (#181664)
## What's new?
Windows windowing tests should no longer be flaky, so let's set
`bringup: false` in `.ci.yaml`

## Pre-launch Checklist

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

---------

Co-authored-by: Loïc Sharma <737941+loic-sharma@users.noreply.github.com>
2026-01-30 16:31:12 +00:00
engine-flutter-autoroll
d13d227639
Roll Packages from cd4fd61fc5b6 to 510dd407289a (4 revisions) (#181726)
cd4fd61fc5...510dd40728

2026-01-30 engine-flutter-autoroll@skia.org Roll Flutter (stable) from
bd7a4a6b5576 to 67323de285b0 (3 revisions) (flutter/packages#10924)
2026-01-29 engine-flutter-autoroll@skia.org Roll Flutter from
dfd92b773219 to da72d5936d69 (39 revisions) (flutter/packages#10923)
2026-01-29 43054281+camsim99@users.noreply.github.com
[camera_android_camerax] Retrieve lens direction from CameraX directly
(flutter/packages#10847)
2026-01-29 stuartmorgan@google.com [tool] Adjust error message when
`downgrade` fails (flutter/packages#10734)

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2026-01-30 15:57:57 +00:00
engine-flutter-autoroll
d06ccc5627
Roll Skia from edbf7e9eb846 to 4745eb2fe837 (1 revision) (#181725)
https://skia.googlesource.com/skia.git/+log/edbf7e9eb846..4745eb2fe837

2026-01-30 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 52ea045250c2 to 13170c81bc3d (8 revisions)

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

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2026-01-30 14:43:27 +00:00
Kazbek Sultanov
32aef9f3e2
Enhance error handling of WidgetsBindingObserver callbacks (#181174)
<!--
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
-->

Wraps all 16 WidgetsBindingObserver callback invocations in try-catch
blocks to prevent silent failures and ensure all observers are notified
even when one throws an exception.

Previously, exceptions in observer callbacks would either:
- Be silently discarded (method channel handlers)
- Prevent subsequent observers from being notified

Now, exceptions are properly reported via FlutterError.reportError and
all observers continue to receive notifications.

Fixes flutter/flutter#180434
## 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


[![talabat.com](https://img.shields.io/badge/talabat.com-contributions-FF5A00?style=flat&logo=flutter&logoColor=white)](https://www.talabat.com)
[![Talabat Flutter
PRs](https://img.shields.io/badge/Talabat_Flutter_PRs-10%20merged-97ca00?style=flat&logo=flutter&logoColor=white)](https://github.com/search?q=org%3Aflutter+talabat&type=pullrequests)

---------

Co-authored-by: Mohellebi Abdessalem <116356835+AbdeMohlbi@users.noreply.github.com>
2026-01-30 10:46:26 +00:00
engine-flutter-autoroll
57789683a5
Roll Skia from 05d3cb9d2be9 to edbf7e9eb846 (2 revisions) (#181715)
https://skia.googlesource.com/skia.git/+log/05d3cb9d2be9..edbf7e9eb846

2026-01-30 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from cd22b6ab03c3 to ad00a98e67db (13 revisions)
2026-01-30 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia
Infra from 87026abda3e1 to 9e5b3d985a5f (7 revisions)

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

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2026-01-30 09:18:33 +00:00
engine-flutter-autoroll
4ef867d032
Roll Skia from c198e5fa9cd9 to 05d3cb9d2be9 (1 revision) (#181712)
https://skia.googlesource.com/skia.git/+log/c198e5fa9cd9..05d3cb9d2be9

2026-01-30 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from e4582e1b1355 to a082d8e7cb91 (27 revisions)

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

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2026-01-30 07:12:41 +00:00
engine-flutter-autoroll
5267072bec
Roll Dart SDK from 920b7e24583e to 2703fd9733ce (2 revisions) (#181693)
https://dart.googlesource.com/sdk.git/+log/920b7e24583e..2703fd9733ce

2026-01-30 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-90.0.dev
2026-01-29 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-89.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 codefu@google.com,dart-vm-team@google.com on the revert to
ensure that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2026-01-30 04:10:14 +00:00
engine-flutter-autoroll
0322fe58ea
Roll Skia from b9f40c193e7a to c198e5fa9cd9 (6 revisions) (#181692)
https://skia.googlesource.com/skia.git/+log/b9f40c193e7a..c198e5fa9cd9

2026-01-30
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2026-01-29 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from a715d2c2482a to 52ea045250c2 (5 revisions)
2026-01-29
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2026-01-29 michaelludwig@google.com [graphite]
SkSurfaces::WrapBackendTexture doesn't require SkColorType
2026-01-29 michaelludwig@google.com [graphite] Reduce inline allocation
size of DrawList
2026-01-29
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 bwils@google.com,codefu@google.com,kjlubick@google.com on the
revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2026-01-30 03:44:04 +00:00
flutter-pub-roller-bot
9b6f15e67d
Roll pub packages (#181690)
This PR was generated by `flutter update-packages --force-upgrade`.
2026-01-30 00:37:27 +00:00
Jason Simmons
87b599c63e
Extend the Windows tool_integration_tests_2_9 shard timeout to 1 hour (#181678)
This shard has been timing out often (see
https://github.com/flutter/flutter/issues/180413)

Some new tests were added to the shard that may have made it exceed the
timeout (see
a5b3c4bd69)
2026-01-30 00:20:22 +00:00
Gray Mackall
ba5ba0d923
Add android_sdk dependency to android_engine_opengles_tests (#181681)
It does android builds, and therefore it gets android deps. In
particular, see this timeout

https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8691309993367404513/+/u/run_test.dart_for_android_engine_opengles_tests_shard_and_subshard_None/stdout
where:
```
Checking the license for package NDK (Side by side) 27.0.12077973 in /b/s/w/ir/cache/android/sdk/licenses
License for package NDK (Side by side) 27.0.12077973 accepted.
Preparing "Install NDK (Side by side) 27.0.12077973 v.27.0.12077973".
"Install NDK (Side by side) 27.0.12077973 v.27.0.12077973" ready.
Installing NDK (Side by side) 27.0.12077973 in /b/s/w/ir/cache/android/sdk/ndk/27.0.12077973
"Install NDK (Side by side) 27.0.12077973 v.27.0.12077973" complete.
"Install NDK (Side by side) 27.0.12077973 v.27.0.12077973" finished.
```

Co-authored-by: Gray Mackall <mackall@google.com>
2026-01-29 23:01:17 +00:00
engine-flutter-autoroll
667feba25b
Roll Dart SDK from a0685c8e946b to 920b7e24583e (3 revisions) (#181680)
https://dart.googlesource.com/sdk.git/+log/a0685c8e946b..920b7e24583e

2026-01-29 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-88.0.dev
2026-01-29 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-87.0.dev
2026-01-29 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-86.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 codefu@google.com,dart-vm-team@google.com on the revert to
ensure that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2026-01-29 22:29:55 +00:00
engine-flutter-autoroll
57e7dd325b
Roll Skia from 128b5213711e to b9f40c193e7a (14 revisions) (#181675)
https://skia.googlesource.com/skia.git/+log/128b5213711e..b9f40c193e7a

2026-01-29 michaelludwig@google.com [graphite] Consolidate colortype
info functions into Caps
2026-01-29 jmbetancourt@google.com reland: introduce new SkLogPriority
and logging macros to skia
2026-01-29 kjlubick@google.com Fix padding in DashOp
2026-01-29 kjlubick@google.com Update fiddle examples to explicitly use
SkSerialProcs
2026-01-29 kjlubick@google.com Avoid accidental conversions to double
2026-01-29 kjlubick@google.com Fix implicit integer->enum cast in mtl
backend
2026-01-29 kjlubick@google.com Expose a VMA implementation for Android
2026-01-29 kjlubick@google.com Add
ToolUtils::RegisterAvailableTypefaceFactories
2026-01-29 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 8f5821b0a35e to a715d2c2482a (4 revisions)
2026-01-29
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2026-01-29 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from 2d0c30fb2b6a to cd22b6ab03c3 (7 revisions)
2026-01-29 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia
Infra from 8556bb0e87c8 to 87026abda3e1 (4 revisions)
2026-01-29 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
SwiftShader from 374652a342e0 to 3b5edab3497f (1 revision)
2026-01-29 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from e427e28a231f to e4582e1b1355 (18 revisions)

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

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2026-01-29 22:28:10 +00:00
Jason Simmons
7a8ecd11fa
[Impeller] Ensure that HostBuffers/DeviceBuffers allocated by RendererTest tests are valid for the lifetime of the RenderPass (#181635)
RenderPass holds a list of BufferViews that may hold raw pointers to
DeviceBuffers. HostBuffers and the underlying DeviceBuffers must not be
deleted until the RenderPass is no longer using them.

See https://github.com/flutter/flutter/issues/181287
2026-01-29 21:08:06 +00:00
Jason Simmons
b6f71056ea
[Impeller] Fix off-by-one indices in the SimilarPointPair/SimilarPointTrio functions used by ShadowPathGeometryTest (#181623) 2026-01-29 21:08:06 +00:00
Anish Tiwari
1b5b0d787c
180162 fix radio list tile and switch list tile accept widget states controller (#180367)
fixes #180162  
RadioListTile, CheckboxListTile, and SwitchListTile accepts a
WidgetStatesController for their backing ListTile

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Tong Mu <dkwingsmt@users.noreply.github.com>
Co-authored-by: Qun Cheng <36861262+QuncCccccc@users.noreply.github.com>
2026-01-29 20:35:57 +00:00
Mohellebi Abdessalem
6fd5a4183c
Remove unused test file (#181671)
## Pre-launch Checklist

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

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

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

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2026-01-29 20:25:21 +00:00
Jason Simmons
72507e2c45
Roll libpng to version 1.6.54 (#181625)
Fixes https://github.com/flutter/flutter/issues/181545
Fixes https://github.com/flutter/flutter/issues/181669
2026-01-29 19:41:10 +00:00
Gray Mackall
8c680b9c77
Remove nonstandard ndkpath for hybrid_android_views integration test (#181666)
This is not true any more, since
https://github.com/flutter/flutter/pull/179920

This was only triggered on ci because that environment var isn't set
elsewhere.

Co-authored-by: Gray Mackall <mackall@google.com>
2026-01-29 17:54:27 +00:00
Kishan Rathore
130808cb68
Add TestWidgetsApp utility and refactor widget tests to use WidgetsApp (#180456)
This PR introduces a TestWidgetsApp utility class that provides a
minimal WidgetsApp wrapper for widget tests, replacing direct usage of
Directionality widgets.

part of: #177415 

## Changes
- test_widgets_app.dart - A reusable TestWidgetsApp widget that wraps
WidgetsApp with a builder pattern, providing Directionality, MediaQuery,
and other app-level widgets that WidgetsApp provides.
- gesture_detector_test.dart - Replaced 9 Directionality usages
- mouse_region_test.dart - Replaced 13 Directionality usages
- opacity_test.dart - Replaced 2 Directionality usages
- slivers_evil_test.dart - Replaced 3 Directionality usages and removed
redundant MediaQuery wrappers

## Note
- This PR updates golden test baselines for opacity_test.dart.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [ ] All existing and new tests are passing.
2026-01-29 17:29:01 +00:00
Renzo Olivares
478367652c
Add TestTextField and migrate tests (#180494)
This PR introduces the convenience widget `TestTextField` in the
framework widget tests. This new widget should be used in place of
convenient `TextField` or `CupertinoTextField` usages in the widgets
library tests.

part of: #177415

## Pre-launch Checklist

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

---------

Co-authored-by: Renzo Olivares <roliv@google.com>
2026-01-29 17:21:52 +00:00
Jackson Gardner
be880b7d54
Merge changelog for 3.38.9 (#181668) 2026-01-29 17:20:11 +00:00