87561 Commits

Author SHA1 Message Date
engine-flutter-autoroll
c0f542da01
Roll Skia from a0f18947bc1b to 7fe9b93153f8 (4 revisions) (#180247)
https://skia.googlesource.com/skia.git/+log/a0f18947bc1b..7fe9b93153f8

2025-12-23 kjlubick@google.com Fix behavior of deserializing RRect
SkPaths
2025-12-23 nscobie@google.com Rework Vulkan macros to support
(optionally) tracing every call
2025-12-23 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from e718e928e54e to 1c665ad57a67 (1 revision)
2025-12-23 nscobie@google.com Unify disparate ad hoc stringify macros

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-12-24 00:14:31 +00:00
engine-flutter-autoroll
0358efb750
Roll Skia from bdb147ae3040 to a0f18947bc1b (2 revisions) (#180241)
https://skia.googlesource.com/skia.git/+log/bdb147ae3040..a0f18947bc1b

2025-12-23 sergiog@microsoft.com [rust bmp] Fixes for rust_icc parsing
2025-12-23 mike@reedtribe.org Remove unused methods

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-12-23 20:41:26 +00:00
engine-flutter-autoroll
34260a0307
Roll Dart SDK from 94b05f717ba3 to 18f6751c5ccc (1 revision) (#180236)
https://dart.googlesource.com/sdk.git/+log/94b05f717ba3..18f6751c5ccc

2025-12-23 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.11.0-271.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
2025-12-23 18:24:09 +00:00
Kazbek Sultanov
efce5d7e55
docs: clarify dropdown menu text clearing (#179676)
<!--
Thanks for filing a pull request!
Reviewers are typically assigned within a week of filing a request.
To learn more about code review, see our documentation on Tree Hygiene:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
-->

The documentation for `DropdownMenu`'s `controller` and
`initialSelection` properties has been updated. It now explicitly states
that clearing the text field requires using a `TextEditingController`'s
`clear()` method, and that setting `initialSelection` to null will not
clear the text. A code snippet demonstrating how to clear the text field
has also been added.

Fix for: #177599 


## 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: Loïc Sharma <737941+loic-sharma@users.noreply.github.com>
2025-12-23 18:02:05 +00:00
Jim Graham
b568f332e5
New optimized general convex path shadow algorithm (#178370)
<!--
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
-->

Convex paths will now use an optimized mesh-based algorithm to render
shadows. The algorithm is based on the code in SkShadowTessellator.

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

## 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.
2025-12-23 17:50:23 +00:00
engine-flutter-autoroll
6ff7f30047
Roll Packages from f28cf2e28261 to 5e3a766de399 (3 revisions) (#180232)
f28cf2e282...5e3a766de3

2025-12-19 49699333+dependabot[bot]@users.noreply.github.com Bump the
all-github-actions group across 1 directory with 2 updates
(flutter/packages#10624)
2025-12-19 magder@google.com [in_app_purchase_storekit] Fix Xcode 26.2
analyzer warnings (flutter/packages#10649)
2025-12-19 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump the test-dependencies group across 14 directories
with 1 update (flutter/packages#10625)

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-12-23 16:01:20 +00:00
engine-flutter-autoroll
0974193a6c
Roll Fuchsia Linux SDK from CmFPyvSc-K8_WDd5p... to 5EgkVbjGVZmCFPdtR... (#180230)
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
2025-12-23 15:07:09 +00:00
engine-flutter-autoroll
cd9e44ff10
Roll Skia from db7ec9a14905 to bdb147ae3040 (2 revisions) (#180222)
https://skia.googlesource.com/skia.git/+log/db7ec9a14905..bdb147ae3040

2025-12-23 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from 69e116d6279b to 5210023f02a0 (2 revisions)
2025-12-23 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from bac59688d3df to e718e928e54e (4 revisions)

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-12-23 09:23:31 +00:00
Bruno Leroux
0c724d3579
Add SnackBarTheme (#180001)
## Description

This PR adds the `SnackBarTheme` subclass of InheritedTheme. Similarly
to other theme classes.

Despite missing, this class was mentioned in
[flutter.dev/go/material-theme-system-updates](http://flutter.dev/go/material-theme-system-updates):
"SnackBarTheme and SnackBarThemeData are conformant.. "


## Related Issue
Fixes [Missing
SnackBarTheme](https://github.com/flutter/flutter/issues/180000)

## Tests

Adds 2 tests.
2025-12-23 08:47:20 +00:00
engine-flutter-autoroll
31c978f3ce
Roll Skia from 0b1ba3920f1c to db7ec9a14905 (1 revision) (#180219)
https://skia.googlesource.com/skia.git/+log/0b1ba3920f1c..db7ec9a14905

2025-12-23 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from c05bf34420a9 to f0bf8ab547a9 (3 revisions)

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-12-23 07:18:40 +00:00
engine-flutter-autoroll
b05970bc46
Roll Dart SDK from 31e9f619e18a to 94b05f717ba3 (1 revision) (#180216)
https://dart.googlesource.com/sdk.git/+log/31e9f619e18a..94b05f717ba3

2025-12-23 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.11.0-270.0.dev

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-12-23 06:26:38 +00:00
engine-flutter-autoroll
093e81baf4
Roll Skia from a3e4f7b9d5f3 to 0b1ba3920f1c (1 revision) (#180214)
https://skia.googlesource.com/skia.git/+log/a3e4f7b9d5f3..0b1ba3920f1c

2025-12-23
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-12-23 04:29:27 +00:00
engine-flutter-autoroll
fa6211c6a3
Roll Skia from b8517d1e25f7 to a3e4f7b9d5f3 (2 revisions) (#180211)
https://skia.googlesource.com/skia.git/+log/b8517d1e25f7..a3e4f7b9d5f3

2025-12-22 kylechar@google.com Fix Dawn allow_unsafe_apis toggle
2025-12-22 mike@reedtribe.org Use spans for gradient 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
aaclarke@google.com,kjlubick@google.com,michaelludwig@google.com on the
revert to ensure that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-12-23 01:55:08 +00:00
Tong Mu
906d520c2b
[Engine] iOS style blurring (#175458)
This PR adds the engine support for a new iOS-style blur. It works by
adding parameters to the blur filter that specify its _blurring bounds_.

This is the engine-side implementation. The corresponding framework
changes that expose this to developers are in:
* Framework PR: https://github.com/flutter/flutter/pull/175473

Related issues:
* Main tracking issue: https://github.com/flutter/flutter/issues/99691
* Algorithm details:
https://github.com/flutter/flutter/issues/164267#issuecomment-2731163225

Design doc & previous discussions:
[flutter.dev/go/ios-style-blur-support](flutter.dev/go/ios-style-blur-support)

### The Visual (Before & After)

This new mode, which I'm calling "bounded blur," is different from the
traditional (global) gaussian blur in that blurs would not sample
transparent pixels from outside the provided area.

The demo below shows the old blur (left) and the new bounded blur
(right). Both are blurring a black triangle.

<img width="1008" height="557" alt="image"
src="https://github.com/user-attachments/assets/202fa4a1-a61f-4357-9dce-73c545cf3b07"
/>

<img height="557" alt="image"
src="https://github.com/user-attachments/assets/0d544e6a-4c88-488d-84c3-60d617c9d614"
/>

Notice the new version on the right no longer has the bright "lining" at
the top and left edges. This is because the blur algorithm now knows its
own bounds and correctly stops sampling pixels from outside that area.

### Technical details

#### API Change

To pass the bounds information down, I've added new parameters to
`_initBlur`:

```dart
  // painting.dart
  external void _initBlur(
    double sigmaX,
    double sigmaY,
    int tileMode,
    bool bounded,  // Start of new parameters
    double boundsLeft,
    double boundsTop,
    double boundsRight,
    double boundsBottom,
  );
```

#### How the Bounds Are Used
These bounds are passed all the way down to `GaussianBlurFilterContents`
and affect two key parts of the process:

* Downsampling Pass: The shader is instructed not to sample any pixels
outside the provided bounds.
* Blurring Passes: The final blurred result is divided by the resulting
opacity. This normalizes the varying alpha (due to varying sum of
weights) across the pixels near the edge.

#### Notable Engine Changes
To handle the downsampling logic, I created a new downsampling shader
`texture_downsample_bounded`.

## Pre-launch Checklist

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

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

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

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-12-23 01:43:15 +00:00
engine-flutter-autoroll
2ae71309b5
Roll Dart SDK from 2243e91acaf2 to 31e9f619e18a (1 revision) (#180210)
https://dart.googlesource.com/sdk.git/+log/2243e91acaf2..31e9f619e18a

2025-12-22 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.11.0-269.0.dev

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-12-23 01:41:26 +00:00
Qun Cheng
08e122f466
Add error description for nbsp character(\u202f) (#178895)
This PR is to add a more clear error description when there is a special
white space NNBSP(\u202f). This whitespace character is used to connect
time and "am"/"pm".

In this PR, I only updated the description in `_MatchesSemanticsData`
and still not sure if it's necessary to create another custom matcher
class to ignore special whitespace. I think it's valid to directly
update users' test results since the expected results have indeed
changed.

This is my experiment for the whitespace change when we update
generated_date_localization.dart: cl/831625146
I went through all Scuba diffs and all results look expected. Once this
is landed, we can use the CL change (except the image change) as g3fix
to update the date localizations.

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

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
2025-12-22 21:04:06 +00:00
engine-flutter-autoroll
a045e04710
Roll Skia from 98c01ea504d7 to b8517d1e25f7 (1 revision) (#180207)
https://skia.googlesource.com/skia.git/+log/98c01ea504d7..b8517d1e25f7

2025-12-22 bungeman@google.com [pdf] Outset tiling pattern when not
tiling

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-12-22 21:02:32 +00:00
Mohellebi abdessalem
252992f143
Small clean up in LocalizationPlugin (#180053)
- remove unused local variable.
- refactor similar logic (return part) between the two parts of the
function.

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

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

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

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-12-22 19:32:15 +00:00
engine-flutter-autoroll
23ee62cd80
Roll Skia from c5beca8fa90b to 98c01ea504d7 (2 revisions) (#180202)
https://skia.googlesource.com/skia.git/+log/c5beca8fa90b..98c01ea504d7

2025-12-22 mike@reedtribe.org Remove dead code related to SkPathRef
2025-12-22 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 73155ddfee90 to bac59688d3df (1 revision)

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-12-22 18:38:26 +00:00
engine-flutter-autoroll
f226250430
Roll Dart SDK from cff33b09b24d to 2243e91acaf2 (1 revision) (#180199)
https://dart.googlesource.com/sdk.git/+log/cff33b09b24d..2243e91acaf2

2025-12-22 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.11.0-268.0.dev

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-12-22 18:26:19 +00:00
Mohellebi abdessalem
1ba3333685
Remove usages of Android's AsyncTask in favor of java.util.concurrent (#180050)
Fixes #98609
## 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
2025-12-22 17:13:24 +00:00
engine-flutter-autoroll
d2b3853186
Roll Fuchsia Linux SDK from 18ZvfJB61p7Z8HAaC... to CmFPyvSc-K8_WDd5p... (#180193)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter
Please CC aaclarke@google.com,zra@google.com on the revert to ensure
that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-12-22 12:38:45 +00:00
engine-flutter-autoroll
7c94f58fc8
Roll Skia from 7b7083ed9d57 to c5beca8fa90b (5 revisions) (#180187)
https://skia.googlesource.com/skia.git/+log/7b7083ed9d57..c5beca8fa90b

2025-12-22 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from 110aa16f60f8 to 69e116d6279b (4 revisions)
2025-12-22 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
shaders-base from 43533a3b1a03 to b80f1f54f7aa
2025-12-22 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from e78ae5f04508 to c05bf34420a9 (11 revisions)
2025-12-22 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
debugger-app-base from 16db6a2be6c7 to bc58f4cf14ce
2025-12-22 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
jsfiddle-base from e4c4184f8607 to a9626bf87bff

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-12-22 09:32:27 +00:00
engine-flutter-autoroll
49df0ee605
Roll Dart SDK from 38812d17127d to cff33b09b24d (1 revision) (#180185)
https://dart.googlesource.com/sdk.git/+log/38812d17127d..cff33b09b24d

2025-12-22 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.11.0-267.0.dev

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-12-22 07:16:27 +00:00
engine-flutter-autoroll
f8e094d9d2
Roll Skia from 0eef18a0e2e6 to 7b7083ed9d57 (1 revision) (#180184)
https://skia.googlesource.com/skia.git/+log/0eef18a0e2e6..7b7083ed9d57

2025-12-22 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
skottie-base from dfbd2869b93a to 292d73c2f82f

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-12-22 06:58:19 +00:00
engine-flutter-autoroll
c95e546c64
Roll Dart SDK from 66c8013acbff to 38812d17127d (1 revision) (#180179)
https://dart.googlesource.com/sdk.git/+log/66c8013acbff..38812d17127d

2025-12-22 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.11.0-266.0.dev

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-12-22 02:19:34 +00:00
engine-flutter-autoroll
d4cd9a2f4b
Roll Skia from 6fbc6c75b9bb to 0eef18a0e2e6 (2 revisions) (#180176)
https://skia.googlesource.com/skia.git/+log/6fbc6c75b9bb..0eef18a0e2e6

2025-12-21 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SKP
CIPD package from 544 to 545
2025-12-21 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 0c76069c94c9 to 73155ddfee90 (1 revision)

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-12-21 15:11:27 +00:00
engine-flutter-autoroll
a73d5998e9
Roll Fuchsia Linux SDK from kGnnY1-fTWwYAnk8e... to 18ZvfJB61p7Z8HAaC... (#180173)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter
Please CC aaclarke@google.com,zra@google.com on the revert to ensure
that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-12-21 10:37:39 +00:00
engine-flutter-autoroll
c801af63a2
Roll Skia from 1a4ca755288a to 6fbc6c75b9bb (1 revision) (#180167)
https://skia.googlesource.com/skia.git/+log/1a4ca755288a..6fbc6c75b9bb

2025-12-20 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 686b39ce6344 to 0c76069c94c9 (2 revisions)

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-12-21 00:13:27 +00:00
engine-flutter-autoroll
299c3e62e6
Roll Skia from 2ad7452bd9d1 to 1a4ca755288a (1 revision) (#180160)
https://skia.googlesource.com/skia.git/+log/2ad7452bd9d1..1a4ca755288a

2025-12-20 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from d92a62c49bd3 to 686b39ce6344 (4 revisions)

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-12-20 10:45:28 +00:00
engine-flutter-autoroll
4591c25a4f
Roll Fuchsia Linux SDK from oe10epXkqGnv21AbZ... to kGnnY1-fTWwYAnk8e... (#180158)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter
Please CC aaclarke@google.com,zra@google.com on the revert to ensure
that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-12-20 07:54:33 +00:00
engine-flutter-autoroll
4a0b5ba7f2
Roll Skia from b01ad49ea807 to 2ad7452bd9d1 (1 revision) (#180155)
https://skia.googlesource.com/skia.git/+log/b01ad49ea807..2ad7452bd9d1

2025-12-20
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-12-20 05:54:41 +00:00
engine-flutter-autoroll
56086f826b
Roll Dart SDK from 8fb1c0c0a8ae to 66c8013acbff (1 revision) (#180154)
https://dart.googlesource.com/sdk.git/+log/8fb1c0c0a8ae..66c8013acbff

2025-12-20 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.11.0-265.0.dev

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-12-20 05:28:25 +00:00
Loïc Sharma
35c5bc562b
Remove unnecessary RadioGroup migration TODOs (#180105)
Part of: https://github.com/flutter/flutter/issues/179088

Previous:
* https://github.com/flutter/flutter/pull/179158
* https://github.com/flutter/flutter/pull/179091

## Pre-launch Checklist

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

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

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

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-12-20 01:35:19 +00:00
auto-submit[bot]
78a6a010ae
Reverts "[reland] Unify canvas creation and Surface code in Skwasm and CanvasKit (#179473)" (#180152)
<!-- start_original_pr_link -->
Reverts: flutter/flutter#179473
<!-- end_original_pr_link -->
<!-- start_initiating_author -->
Initiated by: harryterkelsen
<!-- end_initiating_author -->
<!-- start_revert_reason -->
Reason for reverting: Potentially causing flaky skwasm framework tests:
https://ci.chromium.org/ui/p/flutter/builders/prod/Linux%20web_skwasm_tests_1/9062/overview
<!-- end_revert_reason -->
<!-- start_original_pr_author -->
Original PR Author: harryterkelsen
<!-- end_original_pr_author -->

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

<!-- start_revert_body -->
This change reverts the following previous change:
This PR introduces a significant refactoring of the web engine's
rendering layer by unifying the Surface and Rasterizer implementations.
These components have been moved from being renderer-specific to a
generic compositing directory, making the architecture more modular and
easier to maintain. The rasterizers are now renderer-agnostic and are
provided with renderer-specific surface factories via dependency
injection. A new CanvasProvider abstraction has also been introduced to
manage the lifecycle of the underlying canvas elements.

A key outcome of this work is that the Skwasm backend now correctly
handles WebGL context loss events. This was achieved by refactoring
SkwasmSurface to allow the Dart side to manage the OffscreenCanvas
lifecycle. A communication channel between the main thread and the web
worker is now used to gracefully handle context loss and recovery. This
effort also included fixing several related bugs around surface sizing,
resource cleanup, and callback handling in multi-surface scenarios.

To validate these changes, new testing APIs have been added to allow for
the creation of renderer-agnostic surface tests. A new test file,
surface_context_lost_test.dart, has been added to verify the context
loss and recovery behavior across all supported renderers, ensuring the
new architecture is robust and reliable.

## 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>
2025-12-20 01:03:29 +00:00
engine-flutter-autoroll
f52d2f4bef
Roll Skia from 3cc7e81928f0 to b01ad49ea807 (1 revision) (#180151)
https://skia.googlesource.com/skia.git/+log/3cc7e81928f0..b01ad49ea807

2025-12-19
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-12-20 00:47:26 +00:00
engine-flutter-autoroll
f25833dac6
Roll Dart SDK from ac95c6e8a31d to 8fb1c0c0a8ae (1 revision) (#180148)
https://dart.googlesource.com/sdk.git/+log/ac95c6e8a31d..8fb1c0c0a8ae

2025-12-19 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.11.0-264.0.dev

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-12-20 00:41:37 +00:00
flutter-pub-roller-bot
8491d3149d
Roll pub packages (#180146)
This PR was generated by `flutter update-packages --force-upgrade`.
2025-12-19 23:45:25 +00:00
engine-flutter-autoroll
3d7150e878
Roll Skia from fa4434632ce6 to 3cc7e81928f0 (4 revisions) (#180142)
https://skia.googlesource.com/skia.git/+log/fa4434632ce6..3cc7e81928f0

2025-12-19 borenet@google.com [bazel] Update bazelisk CIPD packages
2025-12-19 michaelludwig@google.com [ganesh] Disable DMSAA on
Angle+D3D11
2025-12-19
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-12-19 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 446fd082c121 to d92a62c49bd3 (5 revisions)

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-12-19 22:43:26 +00:00
Harry Terkelsen
effb2e1ac1
[reland] Unify canvas creation and Surface code in Skwasm and CanvasKit (#179473)
This PR introduces a significant refactoring of the web engine's
rendering layer by unifying the Surface and Rasterizer implementations.
These components have been moved from being renderer-specific to a
generic compositing directory, making the architecture more modular and
easier to maintain. The rasterizers are now renderer-agnostic and are
provided with renderer-specific surface factories via dependency
injection. A new CanvasProvider abstraction has also been introduced to
manage the lifecycle of the underlying canvas elements.

A key outcome of this work is that the Skwasm backend now correctly
handles WebGL context loss events. This was achieved by refactoring
SkwasmSurface to allow the Dart side to manage the OffscreenCanvas
lifecycle. A communication channel between the main thread and the web
worker is now used to gracefully handle context loss and recovery. This
effort also included fixing several related bugs around surface sizing,
resource cleanup, and callback handling in multi-surface scenarios.

To validate these changes, new testing APIs have been added to allow for
the creation of renderer-agnostic surface tests. A new test file,
surface_context_lost_test.dart, has been added to verify the context
loss and recovery behavior across all supported renderers, ensuring the
new architecture is robust and reliable.

## Pre-launch Checklist

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

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

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

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-12-19 22:27:25 +00:00
engine-flutter-autoroll
3c0914480c
Roll Skia from ae5dd72b3591 to fa4434632ce6 (2 revisions) (#180136)
https://skia.googlesource.com/skia.git/+log/ae5dd72b3591..fa4434632ce6

2025-12-19 jmbetancourt@google.com Revert "[graphite] Separate input
generation from PaintParamsKeyTest"
2025-12-19 jmbetancourt@google.com Revert "[graphite] Fix
PaintParamsTestUtils folder"

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-12-19 20:33:34 +00:00
Ramon Farizel
d9dec50f5a
Semantics headingLeveldoc update (#179999)
[headingLevel](https://api.flutter.dev/flutter/semantics/SemanticsProperties/headingLevel.html)
updated to indicate that it also affects Android.

Fix: https://github.com/flutter/flutter/issues/179998

## Pre-launch Checklist

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

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

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

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-12-19 20:07:19 +00:00
Matthew Kosarek
a214a356a4
Fix an issue where the semantics announce event may be encoded as either an int32_t or an int64_t depending on its value (#180071)
fixes https://github.com/flutter/flutter/issues/179563

## What's new?
- The viewId on the announce semantics event may be either an int32 or
an int64, depending on what the codec perceives is best
- We should parse either one of them on the Win32 side of things

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
2025-12-19 19:36:36 +00:00
Ben Konyi
adfcf515fd
[ Web ] Pass --enable-experimental-ffi when compiling WASM tests (#180127)
The CFE will start treating unsupported library imports as errors in an
upcoming change (see https://github.com/dart-lang/sdk/issues/62125)
which will cause web engine compilation tests to fail without the
`--enable-experimental-ffi` flag.

This change passes `--enable-experimental-ffi` to `dart2wasm` in
preparation for this change in behavior.
2025-12-19 19:26:20 +00:00
engine-flutter-autoroll
662fb72f3a
Roll Dart SDK from cfc117d10d36 to ac95c6e8a31d (1 revision) (#180130)
https://dart.googlesource.com/sdk.git/+log/cfc117d10d36..ac95c6e8a31d

2025-12-19 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.11.0-263.0.dev

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-12-19 19:19:25 +00:00
Srujan Gaddam
96ae88f398
Pass canaryFeatures to BuildSettings (#180108)
Previously, this made little difference as DWDS used this only in one
case with expression evaluation but now that the load strategies have
diverged based on this flag, we should correctly always pipe this flag.
This fixes an issue with a future DWDS version.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
2025-12-19 18:15:01 +00:00
engine-flutter-autoroll
0e9461ea4a
Roll Skia from fe2be289c9fe to ae5dd72b3591 (1 revision) (#180129)
https://skia.googlesource.com/skia.git/+log/fe2be289c9fe..ae5dd72b3591

2025-12-19 thomsmit@google.com [graphite] Fix PaintParamsTestUtils
folder

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-12-19 18:05:55 +00:00
engine-flutter-autoroll
4df70366d4
Roll Packages from 6f392aaa748f to f28cf2e28261 (1 revision) (#180124)
6f392aaa74...f28cf2e282

2025-12-18 1063596+reidbaker@users.noreply.github.com
[video_player_android] update pigeon to 26.1.5 (flutter/packages#10644)

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-12-19 15:46:26 +00:00
richardexfo
a38f2f3fe6
Set text input purpose and hints on Linux platform (#180013)
For GTK+3 the purpose and hints of a Text Input are set through
properties of the Input Method g_object. The properties have to be
extracted from the inputType configuration.
This affects virtual keyboards on Linux.  


## Pre-launch Checklist

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

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

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

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-12-19 15:20:58 +00:00
engine-flutter-autoroll
2f7e4e773d
Roll Dart SDK from 6b5a8543c5db to cfc117d10d36 (1 revision) (#180122)
https://dart.googlesource.com/sdk.git/+log/6b5a8543c5db..cfc117d10d36

2025-12-19 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.11.0-262.0.dev

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-12-19 14:31:28 +00:00