87694 Commits

Author SHA1 Message Date
Huy
fa41ee32cb
Add TabBar API example for scroll notification integration (#180728)
- A part of: https://github.com/flutter/flutter/issues/123965
- Description: This PR adds an example that came from
https://github.com/flutter/flutter/issues/123965#issuecomment-3722456594
as a workaround. I bring it into an API example so that users can find
it easier.
The example showcases how to apply custom behavior based on the scroll
in TabBar. It utilizes scroll notifications (ScrollMetricsNotification
and ScrollNotification) within NotificationListener callback to monitor
the scroll offset, allowing for interface customization based on the
obtained offset.

<details open>
<summary>Demo</summary>


https://github.com/user-attachments/assets/75999f31-e468-4bba-9c14-bf4f3c8fcd9a

</details>

## Pre-launch Checklist

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

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

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

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

---------

Signed-off-by: huycozy <huy@nevercode.io>
2026-01-13 16:07:02 +00:00
engine-flutter-autoroll
ed17b313d6
Roll Skia from 714d0af2eda7 to 8f3134206e8d (1 revision) (#180874)
https://skia.googlesource.com/skia.git/+log/714d0af2eda7..8f3134206e8d

2026-01-12 ccameron@chromium.org skhdr::AdaptiveGlobalToneMap: Add
missing SK_API

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 jsimmons@google.com,kjlubick@google.com,thomsmit@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-13 16:05:45 +00:00
b-luk
3dda832e05
Add build-time checks for ImpellerC's SkSL compiler (#180861)
Adds build-time checks for ImpellerC's SkSL compiler in two places:
- The `CompilerSkSL` class in `spirv_sksl.cc` generates the compiled
SkSL from the user's input shader code. It has an existing
`detect_unsupported_resources` method which analyzes the generated
`ParsedIR` to detect various features that SkSL does not support (e.g.
UBOs and SSBOs, push constant blocks, and user specified inputs). This
PR adds additional checks to `detect_unsupported_resources` to detect
array initialization using array initializers (e.g. `float[](1.0,
2.0)`), which is not supported by SkSL. This specifically addresses
#125630.
- In the main `Compiler` class in `compiler.cc`, when compiling to SkSL,
validate the compiled SkSL by using it to create a `SkRuntimeEffect`.
Some invalid SkSL cases, like array assignment (`float[2] float_array =
another_float_array;`) are hard to detect from the `ParsedIR`, so
`CompilerSkSL` does not attempt to detect these invalid cases. The
validation added in `Compiler` will catch all of these cases after SkSL
compilation. The error messages produced from this validation are less
informative than error messages from `CompilerSkSL`'s checks. It
surfaces the error produced by Skia's SkSL parser and outputs the entire
generated SkSL file (which can be substantially different from the
user's input shader code).

Fixes #125630.

## 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-13 16:05:45 +00:00
Ahmed Mohamed Sameh
793b0b89e8
Make sure that a FormField doesn't crash at 0x0 environment (#180810)
This is my attempt to handle
https://github.com/flutter/flutter/issues/6537 for the FormField widget.
2026-01-13 16:05:42 +00:00
engine-flutter-autoroll
3251ffdf02
Roll Fuchsia Linux SDK from VYeyMPe1lyCtlcl-V... to vTYb37OeUqZRxpiiP... (#180880)
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 jsimmons@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-13 16:04:09 +00:00
Ahmed Mohamed Sameh
44fc0a77e8
Make sure that a DisplayFeatureSubScreen doesn't crash in 0x0 environ… (#180357)
This is my attempt to handle
https://github.com/flutter/flutter/issues/6537 for the
DisplayFeatureSubScreen widget.

Co-authored-by: Tong Mu <dkwingsmt@users.noreply.github.com>
2026-01-13 16:04:07 +00:00
Ahmed Mohamed Sameh
59e3d05571
Make sure that a DragTarget doesn't crash in 0x0 environment (#180422)
This is my attempt to handle
https://github.com/flutter/flutter/issues/6537 for the DragTarget
widget.
2026-01-13 16:04:06 +00:00
Michael Goderbauer
96fc83154d
Manually roll test dependencies (#180886)
Manually updating test dependencies because the pub autoroller seems
busted, https://github.com/flutter/flutter/issues/180503.

This one required manually updating the pubspec files because `flutter
update-packages --force-upgrade` also seemed unable to deal with the
fact that multiple dependencies across packages had to be updated in
sync. There's probably also something broken with the `flutter
update-packages` command. This is something that used to work.
2026-01-13 14:11:10 +00:00
engine-flutter-autoroll
d7965e1e13
Roll Skia from f70bcbf1b090 to 714d0af2eda7 (2 revisions) (#180866)
https://skia.googlesource.com/skia.git/+log/f70bcbf1b090..714d0af2eda7

2026-01-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 201203c6a0dd to a359fd23fd78 (7 revisions)
2026-01-12 kjlubick@google.com Remove empty GNI filegroup

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 jsimmons@google.com,kjlubick@google.com,thomsmit@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-12 22:56:16 +00:00
Jason Simmons
8ee6d3572e
Roll libpng to version 1.6.53 (#180712)
See https://github.com/flutter/flutter/issues/180191
2026-01-12 22:51:56 +00:00
gaaclarke
82d232df03
Turn on fragment shader equality test (#180784)
fixes https://github.com/flutter/flutter/issues/180762

I manually tested against
https://github.com/flutter/flutter/issues/163302 which still works.

## 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-12 21:31:20 +00:00
Mohellebi abdessalem
4c27bcc9ba
Update PlatformPlugin to not call setStatusBarColor, setNavigationBarColor, setNavigationBarDividerColor when disabled (#180061)
fixes #165582
towards #165327 (see
https://discord.com/channels/608014603317936148/846507907876257822/1451187625116569660)

## Pre-launch Checklist

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

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

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

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

---------

Co-authored-by: Camille Simon <43054281+camsim99@users.noreply.github.com>
Co-authored-by: Reid Baker <1063596+reidbaker@users.noreply.github.com>
2026-01-12 20:52:02 +00:00
engine-flutter-autoroll
c94a9e8872
Roll Skia from a650ce2b0d50 to f70bcbf1b090 (1 revision) (#180860)
https://skia.googlesource.com/skia.git/+log/a650ce2b0d50..f70bcbf1b090

2026-01-12 kjlubick@google.com Rename gni group to be libpng specific

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 jsimmons@google.com,kjlubick@google.com,thomsmit@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-12 20:34:02 +00:00
Augusto César Perin
404221c326
Fix RawAutocomplete unmounted crash during async optionsBuilder (#180824)
Adds a mounted check after the async optionsBuilder call to prevent
accessing state on an unmounted widget.

Fixes #170403

## 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-12 19:32:46 +00:00
Mohellebi abdessalem
be87f786f9
Fix documentation member not recognized because of missing import in FlutterEngine.java (#180731)
before :

<img width="575" height="24" alt="Screenshot 2026-01-09 at 11 32 49"
src="https://github.com/user-attachments/assets/0935ae33-2a1c-4fbf-ae3c-7bb815850eea"
/>

after : 

<img width="608" height="27" alt="Screenshot 2026-01-09 at 11 35 26"
src="https://github.com/user-attachments/assets/407d6a02-dae1-40d4-9ef2-767da3f49637"
/>

also fixed a small typo.


## 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-12 18:55:05 +00:00
engine-flutter-autoroll
e19089ca53
Roll Dart SDK from 42fd9ef68c1a to 34318de9874b (1 revision) (#180854)
https://dart.googlesource.com/sdk.git/+log/42fd9ef68c1a..34318de9874b

2026-01-12 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-16.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,jsimmons@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-12 18:47:53 +00:00
GowsikRaja
cccf0f1977
Add API sample and docs for Expansible widget (#180273)
This PR adds an API example demonstrating how to use the Expansible
widget,
including programmatic control via ExpansibleController.

Changes included:
- Added a Material API example for Expansible
- Added a widget test for the API example
- Added documentation comments linking to the example

This addresses the request for improved Expansible documentation and
usage
examples.

Fixes #178698
2026-01-12 17:54:38 +00:00
engine-flutter-autoroll
c8decadc7b
Roll Skia from 487a9943210b to a650ce2b0d50 (2 revisions) (#180849)
https://skia.googlesource.com/skia.git/+log/487a9943210b..a650ce2b0d50

2026-01-12 robertphillips@google.com graphite] Add additional
Android-specific PaintOptions
2026-01-12 kjlubick@google.com Add tilemode to FilterResultTest context

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 jsimmons@google.com,kjlubick@google.com,thomsmit@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-12 17:48:55 +00:00
Mohellebi abdessalem
9a36f6d725
Improve code quality in BinaryMessenger.java (#180733)
Fixes :
- unnecessary static and public modifiers 

for ref
[this](https://docs.oracle.com/javase/specs/jls/se16/html/jls-9.html):
`A nested interface is any interface whose declaration occurs within the
body of another class or interface declaration. A nested interface may
be a member interface, or a local interface`.
section `9.1.1.3. static Interfaces` says : `A nested interface is
implicitly static. That is, every member interface and local interface
is static.` .

## 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-12 17:40:01 +00:00
gaaclarke
f5bf8abcda
Reland Enabled some disabled impeller fragment shader dart tests (#180788)
relands https://github.com/flutter/flutter/pull/180759

changes since revert:
1) waits for async tests now
1) keeps 2 tests that don't pass on impeller disabled

## 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-12 17:35:41 +00:00
Ben Konyi
4e92c27d57
[ Tool ] Fix flutter run -d all crash (#180845)
661b8edef229499c0a919f4fd6ceebf935529243 introduced changes related to
build hooks that made assumptions about the value of the detected target
platform, effectively restricting `flutter run` to targeting single
devices.

This change fixes the regression which prevented developers from
deploying their application to multiple devices with `flutter run -d
all`.

Fixes https://github.com/flutter/flutter/issues/179857
2026-01-12 17:35:40 +00:00
chunhtai
d81cd3e6f6
Migrate doc and code to use sendAnnounce (#180776)
<!--
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
-->

as title

## Pre-launch Checklist

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

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

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

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2026-01-12 17:32:54 +00:00
engine-flutter-autoroll
16dfe7f86b
Roll Packages from 51fe1d98ca00 to e57e7f432edb (3 revisions) (#180846)
51fe1d98ca...e57e7f432e

2026-01-11 engine-flutter-autoroll@skia.org Roll Flutter from
73769a220639 to 3134be83dc81 (1 revision) (flutter/packages#10772)
2026-01-10 engine-flutter-autoroll@skia.org Roll Flutter from
01d37bc80fd5 to 73769a220639 (65 revisions) (flutter/packages#10770)
2026-01-09 engine-flutter-autoroll@skia.org Roll Flutter (stable) from
f6ff1529fd6d to 8b872868494e (11 revisions) (flutter/packages#10755)

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-12 16:02:08 +00:00
Dixita Ganatra
18cf8b65af
Fix: Allow dartpad embed clipboard-write permission for "Copy to clipboard" functionality (#178057)
This PR allows dartpad embeds to have clipboard-write permission.
Dartpad has added a new "Copy to clipboard" option. When it is rendered
inside an `iframe`, it gives permission error (affecting flutter's docs
website). Changes in this PR fixes it.

**Before**
- Copying text using the button shows an error in console.
<img width="500" alt="before"
src="https://github.com/user-attachments/assets/460f6983-5b25-4a9c-9b1e-457f096e4f82"
/>


**After**
- Copying text using the button correctly copies content to the
clipboard. (Tested by pasting it)
<img width="500" alt="after"
src="https://github.com/user-attachments/assets/1796b593-c206-4e56-afdb-b0e16e557055"
/>

---

fixes: #178056

## 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].
- [ ] 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: Mouad Debbar <mdebbar@google.com>
Co-authored-by: John "codefu" McDole <codefu@google.com>
2026-01-12 15:38:26 +00:00
engine-flutter-autoroll
1d246b4761
Roll Dart SDK from 87fbfd5381b6 to 42fd9ef68c1a (1 revision) (#180836)
https://dart.googlesource.com/sdk.git/+log/87fbfd5381b6..42fd9ef68c1a

2026-01-12 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-15.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,jsimmons@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-12 10:32:11 +00:00
engine-flutter-autoroll
81c1cdf898
Roll Skia from aefdde600f1e to 487a9943210b (3 revisions) (#180835)
https://skia.googlesource.com/skia.git/+log/aefdde600f1e..487a9943210b

2026-01-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 6c9752cf9119 to 201203c6a0dd (1 revision)
2026-01-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from 12a206e9a552 to 2d91f554ab55 (5 revisions)
2026-01-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia
Infra from 0b9789ad2ae7 to 78a0372657cb (11 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 jsimmons@google.com,kjlubick@google.com,thomsmit@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-12 10:30:22 +00:00
Michael Goderbauer
f95a985f87
Bump ffigen (#180507)
It's unclear why it isn't getting picked up by the autoroller, see
https://github.com/flutter/flutter/issues/180503.
2026-01-12 09:40:43 +00:00
engine-flutter-autoroll
5cb72a7ee4
Roll Skia from d42a43daa6cf to aefdde600f1e (1 revision) (#180829)
https://skia.googlesource.com/skia.git/+log/d42a43daa6cf..aefdde600f1e

2026-01-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from 2b48aa96c50c to ec4db8da6d13 (22 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 jsimmons@google.com,kjlubick@google.com,thomsmit@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-12 07:34:28 +00:00
Ahmed Mohamed Sameh
76aa2f8f8c
Make sure that a LongPressDraggable doesn't crash in 0x0 environment (#180408)
This is my attempt to handle
https://github.com/flutter/flutter/issues/6537 for the
LongPressDraggable widget.

---------

Co-authored-by: Tong Mu <dkwingsmt@users.noreply.github.com>
2026-01-12 05:41:23 +00:00
Ahmed Mohamed Sameh
4b5de7dbfc
Make sure that a FlutterLogo doesn't crash in 0x0 environment (#180617)
This is my attempt to handle
https://github.com/flutter/flutter/issues/6537 for the FlutterLogo
widget.
2026-01-12 04:32:33 +00:00
engine-flutter-autoroll
0f1c422a3a
Roll Fuchsia Linux SDK from T_HOCpDjLgzi1SUMq... to VYeyMPe1lyCtlcl-V... (#180825)
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 jsimmons@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-12 01:10:37 +00:00
engine-flutter-autoroll
6f1ce67ddd
Roll Skia from f39cc645b1dd to d42a43daa6cf (2 revisions) (#180819)
https://skia.googlesource.com/skia.git/+log/f39cc645b1dd..d42a43daa6cf

2026-01-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 552d6ff78efe to 6c9752cf9119 (1 revision)
2026-01-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SKP
CIPD package from 547 to 548

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 jsimmons@google.com,kjlubick@google.com,thomsmit@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-11 19:35:26 +00:00
engine-flutter-autoroll
3134be83dc
Roll Fuchsia Linux SDK from 83Favz_zzMzdVuOHg... to T_HOCpDjLgzi1SUMq... (#180806)
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 jsimmons@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-10 23:09:27 +00:00
engine-flutter-autoroll
73769a2206
Roll Dart SDK from 5e855c2bb3ef to 87fbfd5381b6 (1 revision) (#180800)
https://dart.googlesource.com/sdk.git/+log/5e855c2bb3ef..87fbfd5381b6

2026-01-10 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-14.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,jsimmons@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-10 15:33:43 +00:00
engine-flutter-autoroll
0b7596b3f2
Roll Skia from b2b109f0e980 to f39cc645b1dd (2 revisions) (#180796)
https://skia.googlesource.com/skia.git/+log/b2b109f0e980..f39cc645b1dd

2026-01-10 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 65c9b7af1604 to 552d6ff78efe (8 revisions)
2026-01-09 ccameron@chromium.org skhdr::Agtm: Add public metadata

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 egdaniel@google.com,jsimmons@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-10 08:05:38 +00:00
engine-flutter-autoroll
3da823abe0
Roll Dart SDK from b7963905e6a2 to 5e855c2bb3ef (2 revisions) (#180794)
https://dart.googlesource.com/sdk.git/+log/b7963905e6a2..5e855c2bb3ef

2026-01-10 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-13.0.dev
2026-01-10 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-12.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,jsimmons@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-10 07:21:18 +00:00
Ahmed Mohamed Sameh
eb95ba422b
Make sure that a CupertinoTabScaffold doesn't crash in 0x0 environment (#179824)
This is my attempt to handle
https://github.com/flutter/flutter/issues/6537 for the
CupertinoTabScaffold widget.

---------

Co-authored-by: Tong Mu <dkwingsmt@users.noreply.github.com>
Co-authored-by: Victor Sanni <victorsanniay@gmail.com>
2026-01-10 03:07:23 +00:00
engine-flutter-autoroll
0d41db67f8
Roll Dart SDK from d25ad331b7ea to b7963905e6a2 (2 revisions) (#180783)
https://dart.googlesource.com/sdk.git/+log/d25ad331b7ea..b7963905e6a2

2026-01-09 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-11.0.dev
2026-01-09 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-10.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,jsimmons@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-10 02:13:38 +00:00
Ahmed Mohamed Sameh
5566fdd30c
Make sure that a Container doesn't crash in 0x0 environment (#180350)
This is my attempt to handle
https://github.com/flutter/flutter/issues/6537 for the Container widget.

Co-authored-by: Victor Sanni <victorsanniay@gmail.com>
2026-01-10 01:05:19 +00:00
Ahmed Mohamed Sameh
4b3f1d599f
Make sure that an Expansible doesn't crash in 0x0 environment (#180478)
This is my attempt to handle
https://github.com/flutter/flutter/issues/6537 for the Expansible
widget.

Co-authored-by: Tong Mu <dkwingsmt@users.noreply.github.com>
Co-authored-by: Victor Sanni <victorsanniay@gmail.com>
2026-01-10 01:05:19 +00:00
auto-submit[bot]
202e012f59
Reverts "Enabled some disabled impeller fragment shader dart tests (#180759)" (#180785)
<!-- start_original_pr_link -->
Reverts: flutter/flutter#180759
<!-- end_original_pr_link -->
<!-- start_initiating_author -->
Initiated by: jason-simmons
<!-- end_initiating_author -->
<!-- start_revert_reason -->
Reason for reverting: Flakes in `fragment_shader_test.dart` are
happening on LUCI after this PR.

I can reproduce these flakes in my local Linux cloud VM environment.
<!-- end_revert_reason -->
<!-- start_original_pr_author -->
Original PR Author: gaaclarke
<!-- end_original_pr_author -->

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

<!-- start_revert_body -->
This change reverts the following previous change:
Instead of having a short circuit in a long function we instead sort
skia only tests into their own function. I've also enabled all the tests
that pass.

issue: https://github.com/flutter/flutter/issues/122823
test exempt:  is test

## Pre-launch Checklist

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

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

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

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

<!-- end_revert_body -->

Co-authored-by: auto-submit[bot] <flutter-engprod-team@google.com>
2026-01-10 00:19:47 +00:00
Tong Mu
cfb3f18e1d
Merge widget_tester_leaks_free_test.dart into widget_tester_test.dart (#180600)
When https://github.com/flutter/flutter/pull/176519 was authored, there
were no CI shards that run `flutter_test` with leak tests, and therefore
the test had to be placed in a separate file. Now that
https://github.com/flutter/flutter/pull/176992 has added misc leak
tracking, the test case can be placed in the same file as other tests
for `WidgetTester`.

## Pre-launch Checklist

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

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

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

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2026-01-09 23:59:44 +00:00
John "codefu" McDole
1ccfb37b0f
fix: there are no riscv fuchsia artifacts (#180779)
In #178711, `packages/flutter_tools/lib/src/flutter_cache.dart` was
updated to add 'riscv' downloading in the `FlutterRunnerDebugSymbols`.
This class is not well named and is responsible for downloading "the
debug symbols for flutter runner for Fuchsia development."

We do not produce fuchsia riscv.

Fixes #180775
2026-01-09 23:47:35 +00:00
engine-flutter-autoroll
1b95fd1411
Roll Skia from 7386219151e6 to b2b109f0e980 (1 revision) (#180771)
https://skia.googlesource.com/skia.git/+log/7386219151e6..b2b109f0e980

2026-01-09 kjlubick@google.com Remove conditional guard from core
android helper

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 egdaniel@google.com,jsimmons@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-09 22:35:41 +00:00
Chinmay Garde
07485a22ef
Re-prioritize pipeline compile jobs and perform them eagerly instead of waiting. (#180022)
Also, removes "lazy shader mode" and re-enables eager PSO pre-flight.

Impeller eagerly sets up the entire set of pipeline state objects (PSOs)
it may need during renderer setup. This works fine on mid to high-end
devices as the setup completes well before the first frame is rendered.

However on low-end devices, not all PSOs may be ready before the first
frame is rendered. Low-end device usually don't have as much available
concurrency and are slower to boot. On these devices, the rendering
thread had to wait for the background compile job to be completed. It
was also observed that the relatively higher priority render thread was
waiting on a background thread to finish a PSO compile job. The PSO
compile job could also be stuck behind another job that was not
immediately needed. This made the situation on low end devices less than
ideal.

To ameliorate this situation, a stop-gap was introduced called "lazy
shader mode". This disabled PSO pre-flight entirely and only dispatched
jobs when they were needed. This ameliorated somewhat the issue of
unneeded jobs blocking the eagerly needed job but the other issues
remained. It also meant that one could expect jank the first time a new
PSO was needed. This mode was not widely used or advertised.

In this patch, the lazy shader mode has been entirely removed and eager
PSO pre-flight is the default in all configurations. Pipeline compile
jobs are now handled by a separate compile queue. This queue operates
like a transparent concurrent worker pool job dispatcher in the usual
case. However, when the pipeline for a specific descriptor is needed,
instead of waiting for the job to complete, the queue allows the job for
that descriptor to skip to the head of the queue and be performed on the
calling thread. This effectively make the calling thread do the job
instead of waiting. Another nice side effect of this behavior is that
the higher priority thread is now doing the job it was previously
waiting on.

This fixes all issues on lower end devices except one. During eager
pre-flight, it would still be better if PSO compile jobs for that were
somehow divined to be needed first were towards the front of the
pre-flight queue. After all, only a handful of rendering features
account for the majority of rendering operations. A future augmentation
to the compile queue would be to allow higher prioritization of more
widely used pipeline compile jobs as instrumented in
https://github.com/flutter/flutter/issues/176660. This task is tracked
in https://github.com/flutter/flutter/issues/176665.

This patch only wires up the compile queue for Vulkan.
https://github.com/flutter/flutter/issues/176657 tracks doing the same
for OpenGL.

The efficacy of the re-prioritizations can be traced using the 
PrioritiesElevated trace counter. On higher end devices, there should
be zero of these.

Fixes https://github.com/flutter/flutter/issues/176656
Fixes https://github.com/flutter/flutter/issues/176663
Fixes https://github.com/flutter/flutter/issues/176658
2026-01-09 22:11:38 +00:00
gaaclarke
f36b0fbf74
Enabled some disabled impeller fragment shader dart tests (#180759)
Instead of having a short circuit in a long function we instead sort
skia only tests into their own function. I've also enabled all the tests
that pass.

issue: https://github.com/flutter/flutter/issues/122823
test exempt:  is test

## Pre-launch Checklist

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

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

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

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2026-01-09 22:01:33 +00:00
engine-flutter-autoroll
4121d00fd9
Roll Fuchsia Linux SDK from rxeg-6UB678HKJ4UQ... to 83Favz_zzMzdVuOHg... (#180765)
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 jsimmons@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-09 20:51:14 +00:00
Hannah Jin
5d37c99f13
[A11y ] Add clearSemanticsin table (#180665)
According to comments in `rendering/object.dart`, If new
[SemanticsNode]s are instantiated in [assembleSemanticsNode] they must
be disposed in [clearSemantics].


fix: https://github.com/flutter/flutter/issues/180666 

## Pre-launch Checklist

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

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

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

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2026-01-09 19:40:31 +00:00
Chinmay Garde
ce0ea86c36
Update CODEOWNERS to remove chinmaygarde. (#180703)
Removed @chinmaygarde from CODEOWNERS for the embedder API.
2026-01-09 19:31:19 +00:00
Valentin Haudiquet
a3c12e636d
[ Tool ] Add support for linux riscv64 architecture (#178711)
This adds support for buildind desktop linux applications for riscv64 on
the flutter tool, as well as basic riscv64 support for the tool.

This is a first move towards fixing #99963. Along with
https://github.com/flutter/flutter/pull/178712 that allows building an
engine for `riscv64`, this PR allows me to build and run the flutter
'hello world' app on RISC-V hardware:

<img width="1920" height="1080" alt="Screenshot from 2025-11-18
08-58-03"
src="https://github.com/user-attachments/assets/5e90bc7f-49a7-41a8-82b7-5a5d3247938a"
/>

This allows someone who built a flutter engine and exposed it on a
webserver to run commands like:
```
export FLUTTER_STORAGE_BASE_URL=http://your-server-url
flutter
flutter doctor
cd example/hello_world && flutter build linux
```

This means that even if Google does not want to support Flutter on
RISC-V officially (hosting the artifacts), community-managed servers
could host the RISC-V flutter engines/artifacts. It also means that
internally, companies using Flutter on RISC-V would just have to build
their engine and setup such a server, and it allows them to use the
upstream Flutter tool.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [ ] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [ ] 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: John "codefu" McDole <codefu@google.com>
2026-01-09 19:29:20 +00:00