87751 Commits

Author SHA1 Message Date
Gray Mackall
215ff2e7fe
Fix hcpp flicker when scrolling off/on screen (#181009)
Don't apply the transaction immediately, but let it be applied with
flutter frame timing.

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

See videos:

<table width="100%">
  <thead>
    <tr>
      <th align="center">With Change</th>
      <th align="center">Without Change</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td align="center" width="50%">
<video
src="https://github.com/user-attachments/assets/0370a7bc-88b5-49f0-8702-ac844309a50d"
controls="controls" style="max-width: 100%;"></video>
      </td>
      <td align="center" width="50%">
<video
src="https://github.com/user-attachments/assets/5f18cdbe-4218-4c7d-b582-5d175aa964b6"
controls="controls" style="max-width: 100%;"></video>
      </td>
    </tr>
    <tr>
      <td align="center">
<video
src="https://github.com/user-attachments/assets/21ef1c37-47cc-4d04-ae49-d8acb9145aa8"
controls="controls" style="max-width: 100%;"></video>
      </td>
      <td align="center">
<video
src="https://github.com/user-attachments/assets/091c9ff5-0e25-4696-a006-73823fc0fd8d"
controls="controls" style="max-width: 100%;"></video>
      </td>
    </tr>
  </tbody>
</table>



## 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: Gray Mackall <mackall@google.com>
2026-01-16 02:30:12 +00:00
flutter-pub-roller-bot
f89275a408
Roll pub packages (#181054)
This PR was generated by `flutter update-packages --force-upgrade`.
2026-01-16 02:28:01 +00:00
Harry Terkelsen
5cefaad4a5
Fix bug in multisurfacerenderer where canvases do not have "position: absolute" (#181053)
When using MultiSurfaceRasterizer, the on-screen canvases did not have
`position: absolute`, causing layout issues when platform views with
overlaid content was rendered.

Fixes internal bug b/475770800

## 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-16 02:26:12 +00:00
auto-submit[bot]
5648089dbd
Reverts "Fix style manager test by actually focusing the tested element. (#181012)" (#181060)
<!-- start_original_pr_link -->
Reverts: flutter/flutter#181012
<!-- end_original_pr_link -->
<!-- start_initiating_author -->
Initiated by: harryterkelsen
<!-- end_initiating_author -->
<!-- start_revert_reason -->
Reason for reverting: test is still failing in CI
<!-- end_revert_reason -->
<!-- start_original_pr_author -->
Original PR Author: harryterkelsen
<!-- end_original_pr_author -->

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

<!-- start_revert_body -->
This change reverts the following previous change:
The test was incorrect before since it assumed
`getComputedStyle(element, 'focus')` gets the style for element when it
is focused. Instead, it just gets the default style since the `'focus'`
parameter doesn't specify a real pseudo-element or pseudo-class. This
fixes the test by manually focusing the element and then getting the
computed style. This returns the computed style of the element when it
is focused.

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

## 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-16 00:51:47 +00:00
engine-flutter-autoroll
4f83806667
Roll Skia from 99ca06841616 to 946441608e3e (3 revisions) (#181042)
https://skia.googlesource.com/skia.git/+log/99ca06841616..946441608e3e

2026-01-15 kjlubick@google.com Update SkCodec::ResultToString to include
OOM
2026-01-15 kjlubick@google.com Add explicit freetype deserializing in
CanvasKit and Debugger
2026-01-15 nicolettep@google.com Remove usage of std::move usage for
std::string_views

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 jimgraham@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-15 21:38:18 +00:00
Harry Terkelsen
abe64db7ba
Fix style manager test by actually focusing the tested element. (#181012)
The test was incorrect before since it assumed
`getComputedStyle(element, 'focus')` gets the style for element when it
is focused. Instead, it just gets the default style since the `'focus'`
parameter doesn't specify a real pseudo-element or pseudo-class. This
fixes the test by manually focusing the element and then getting the
computed style. This returns the computed style of the element when it
is focused.

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

## 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-15 20:22:03 +00:00
engine-flutter-autoroll
c9a5d71226
Roll Dart SDK from 311a435e153e to 27326ef2fe32 (2 revisions) (#181037)
https://dart.googlesource.com/sdk.git/+log/311a435e153e..27326ef2fe32

2026-01-15 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-32.0.dev
2026-01-15 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-31.0.dev

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2026-01-15 19:45:32 +00:00
engine-flutter-autoroll
226484bf12
Roll Skia from 9f26f4fd4e45 to 99ca06841616 (8 revisions) (#181038)
https://skia.googlesource.com/skia.git/+log/9f26f4fd4e45..99ca06841616

2026-01-15 ccameron@chromium.org SkColorSpacePrimaries: Add operator==
2026-01-15 jrprice@google.com [dawn] Disable SPIR-V validation
2026-01-15 bungeman@google.com Introduce
SkDeserialProcs::fTypefaceStreamProc
2026-01-15 thomsmit@google.com Reland "[graphite] Separate input
generation from PaintParamsKeyTest"
2026-01-15 michaelludwig@google.com [wgsl] Add outerProduct polyfill and
other intrinsic renames
2026-01-15 ccameron@google.com Revert "skhdr: Add operator== for several
structures"
2026-01-15 ccameron@chromium.org skhdr: Add operator== for several
structures
2026-01-15 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll
Dawn from 3b5d7d8ee091 to bcc3fe09d16d (7 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC jimgraham@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-15 18:56:31 +00:00
Jason Simmons
7d755d1093
Remove setup_hooks.dart and move _setupHooks back into natives.dart (#181008)
_setupHooks had been extracted into a separate file as part of Impeller
Scene, which was later removed from the engine.

setup_hooks.dart was not distributed with Flutter releases, and the
reference to a nonexistent file in the dart:ui library caused issues for
tools like source_gen
2026-01-15 15:59:18 +00:00
engine-flutter-autoroll
f4d405c4ff
Roll Packages from 98b0325fc86e to ce3afa467840 (5 revisions) (#181035)
98b0325fc8...ce3afa4678

2026-01-15 engine-flutter-autoroll@skia.org Manual roll Flutter from
793b0b89e82e to b45a73b1dc3e (8 revisions) (flutter/packages#10799)
2026-01-15 stuartmorgan@google.com [path_provider] Re-release FFI
foundation version (flutter/packages#10722)
2026-01-15 stuartmorgan@google.com [google_sign_in] Convert iOS tests to
Swift (flutter/packages#10787)
2026-01-14 stuartmorgan@google.com [video_player] Update for UIScene
compatibility (flutter/packages#10676)
2026-01-14 magder@google.com [pointer_interceptor_ios] Migrate XCTest to
Swift Testing (flutter/packages#10762)

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-15 15:51:33 +00:00
engine-flutter-autoroll
e5734555c2
Roll Skia from 00821fe32457 to 9f26f4fd4e45 (1 revision) (#181032)
https://skia.googlesource.com/skia.git/+log/00821fe32457..9f26f4fd4e45

2026-01-15 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from e5aebf166a3d to e6886b744874 (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 jimgraham@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-15 15:17:07 +00:00
engine-flutter-autoroll
3af33a0771
Roll Dart SDK from 2ef8f57989c2 to 311a435e153e (1 revision) (#181030)
https://dart.googlesource.com/sdk.git/+log/2ef8f57989c2..311a435e153e

2026-01-15 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-30.0.dev

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2026-01-15 13:15:23 +00:00
engine-flutter-autoroll
a237ff5109
Roll Skia from ae362651999f to 00821fe32457 (1 revision) (#181029)
https://skia.googlesource.com/skia.git/+log/ae362651999f..00821fe32457

2026-01-15
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 jimgraham@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-15 12:13:34 +00:00
engine-flutter-autoroll
590666c456
Roll Skia from 8e6ada219161 to ae362651999f (4 revisions) (#181026)
https://skia.googlesource.com/skia.git/+log/8e6ada219161..ae362651999f

2026-01-15 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from 2d8ac01dc65b to a37809556c39 (12 revisions)
2026-01-15 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from 31f8724375b3 to 3b5d7d8ee091 (9 revisions)
2026-01-15 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
SwiftShader from 76b5d96a9287 to 9c9be8427470 (1 revision)
2026-01-15 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia
Infra from 59aa56349f0e to e39f04dac8f1 (9 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 jimgraham@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-15 09:23:27 +00:00
Onnimanni Hannonen
df73099467
Implement superellipse support for CupertinoFocusHalo (#180724)
This PR closes #180719

Related to
[this](https://github.com/flutter/flutter/pull/179224#discussion_r2669696069)
and
[this](https://github.com/flutter/flutter/pull/179225#discussion_r2637744198).

## Pre-launch Checklist

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

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2026-01-15 07:30:33 +00:00
engine-flutter-autoroll
a78e8069c4
Roll Skia from 45a16cc7044e to 8e6ada219161 (2 revisions) (#181022)
https://skia.googlesource.com/skia.git/+log/45a16cc7044e..8e6ada219161

2026-01-15
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2026-01-15
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 jimgraham@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-15 07:00:27 +00:00
engine-flutter-autoroll
831c95aced
Roll Dart SDK from 8fe983db0c99 to 2ef8f57989c2 (6 revisions) (#181018)
https://dart.googlesource.com/sdk.git/+log/8fe983db0c99..2ef8f57989c2

2026-01-15 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-29.0.dev
2026-01-14 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-28.0.dev
2026-01-14 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-27.0.dev
2026-01-14 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-26.0.dev
2026-01-14 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-25.0.dev
2026-01-14 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-24.0.dev

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2026-01-15 04:36:55 +00:00
engine-flutter-autoroll
9fbfe28685
Roll Skia from 95ad05a1e20f to 45a16cc7044e (1 revision) (#181017)
https://skia.googlesource.com/skia.git/+log/95ad05a1e20f..45a16cc7044e

2026-01-15
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 jimgraham@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-15 03:22:06 +00:00
Qun Cheng
518addc0dd
Update localizations from translation console (#180997)
Some new strings were added to the **widgets** layer(like "Search
results found", "no results found" and etc.) but never got translated
for a long time. Since the issue in g3 has been fixed and the
translation in g3 has finished, this PR is to back-integrate the
translation to framework.

This PR doesn't run the date_localization script. Will update it in a
separate PR.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
2026-01-15 02:55:21 +00:00
Jason Simmons
db012f2a9d
Manual roll of Dart SDK from ebaf52c13799 to 8fe983db0c99 (6 revisions) (#180978)
This version of the Dart SDK includes some new analyzer checks for
@override annotations. (see
https://dart.googlesource.com/sdk.git/+/19b06b560f4ad8a5356034fe4d01b9b05008bbc8)

The roll disables these checks when analyzing code snippets within
Dartdoc documentation.

https://dart.googlesource.com/sdk.git/+log/ebaf52c13799..8fe983db0c99

2026-01-13 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.12.0-23.0.dev 2026-01-13
dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version
3.12.0-22.0.dev 2026-01-13
dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version
3.12.0-21.0.dev 2026-01-13
dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version
3.12.0-20.0.dev 2026-01-13
dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version
3.12.0-19.0.dev 2026-01-13
dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version
3.12.0-18.0.dev
2026-01-15 02:09:42 +00:00
engine-flutter-autoroll
f472223f31
Roll Skia from 213247579bbe to 95ad05a1e20f (2 revisions) (#181010)
https://skia.googlesource.com/skia.git/+log/213247579bbe..95ad05a1e20f

2026-01-14 egdaniel@google.com Add skia tools util to set deserial procs
for SKP decoding.
2026-01-14 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 9283eb54dc67 to e5aebf166a3d (6 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC jimgraham@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-15 01:18:51 +00:00
Jon Mountjoy
bc0ef2c81e
Add RouteSettings to showCupertinoSheet (#178643)
This PR adds missing RouteSettings to `showCupertinoSheet`

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

## Pre-launch Checklist

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

Co-authored-by: Tong Mu <dkwingsmt@users.noreply.github.com>
2026-01-15 00:40:08 +00:00
flutter-pub-roller-bot
9927ddcaaf
Roll pub packages (#181006)
This PR was generated by `flutter update-packages --force-upgrade`.
2026-01-14 22:56:39 +00:00
engine-flutter-autoroll
6d64dba445
Roll Skia from 2c1a8b9c89fa to 213247579bbe (4 revisions) (#181002)
https://skia.googlesource.com/skia.git/+log/2c1a8b9c89fa..213247579bbe

2026-01-14 thomsmit@google.com [vello] remove vello tryjobs and tasks
2026-01-14 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll
Dawn from d4a5cc826c44 to 31f8724375b3 (8 revisions)
2026-01-14 ccameron@chromium.org skhdr::Metadata: Add
makeToneMapColorFilter helper
2026-01-14 egdaniel@google.com Update gitignore rules for viewer assets.

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 jimgraham@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-14 22:48:49 +00:00
Harry Terkelsen
0eab137bcd
Skip flaky test on Firefox (#180941)
Skips flaky test on Firefox until
https://github.com/flutter/flutter/issues/180940 is fixed.

## Pre-launch Checklist

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

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

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

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

---------

Co-authored-by: Mouad Debbar <mouad.debbar@gmail.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-01-14 21:59:51 +00:00
stuartmorgan-g
bd16c23dc5
Update discussion of iOS/macOS testing (#180898)
- Adds references to Swift Testing to the sections discussion running
XCTests.
- Updates the outdated guidance to use Obj-C for new iOS test setup
- Removes the instructions for adding XCTest test targets to a plugin,
as we have added it to all existing plugins, and it's part of the
template now so will automatically exist in new plugins.
- Remove discussion of OCMock, because we should not be adding new usage
of OCMock at this point.

See https://github.com/flutter/flutter/issues/180787
2026-01-14 21:59:46 +00:00
engine-flutter-autoroll
de61a614ca
Roll Fuchsia Linux SDK from vTYb37OeUqZRxpiiP... to GnNlLjoD7vXMhQ0NL... (#180992)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter
Please CC jimgraham@google.com,zra@google.com on the revert to ensure
that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2026-01-14 21:12:12 +00:00
David Iglesias
c62f8891b7
Add support for reduced motion/disable animations on the web (#180041)
This PR listens to changes to the value of the `(prefers-reduced-motion:
reduce)` media query to update the `reduceMotion` and
`disableAnimations` properties of the `AccessibilityFeatures`
configuration object.

This is achieved by introducing a new `MediaQueryManager` object to the
`EnginePlatformDispatcher` that handles handles all the engine
configuration values that are driven by media queries: "reduced motion",
"high contrast" and "dark mode".

Unifying the code paths of all these values, allows this PR to slightly
increase testing coverage of those values, by injecting fake browser
events in the `platform_dispatcher_test.dart` file.

### Issues

* Fixes #167566

### Testing

* Added browser tests for new (and existing) media-queries
* Deployed test app to: https://dit-tests.web.app (may get offline!)

## 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-14 20:42:12 +00:00
Ben Konyi
8af18377be
[ Tool ] Ensure flutter.version.json is regenerated on upgrade (#180857)
The tool performs various checks to determine whether or not to
regenerate version information as part of a `flutter upgrade` instead of
just regenerating `flutter.version.json` as part of each `flutter
upgrade`. This has lead to some situations where the actual framework
version doesn't match that reported by the `flutter.version.json`.

This change updates `flutter upgrade` to always regenerate
`flutter.version.json` after checking out the new version of the
framework to ensure that it contains the latest version information.

Fixes https://github.com/flutter/flutter/issues/178926
2026-01-14 20:11:00 +00:00
walley892
0709c50f49
Update CHANGELOG at head for 3.38.7 stable hotfix (#180986)
Updates the CHANGELOG following the 3.38.7 stable hotfix release.
Includes

Includes https://github.com/flutter/flutter/pull/180867
2026-01-14 19:09:21 +00:00
engine-flutter-autoroll
0a70b4445d
Roll Packages from eb9e1dc760d4 to 98b0325fc86e (4 revisions) (#180983)
eb9e1dc760...98b0325fc8

2026-01-14 magder@google.com [url_launcher_macos] Migrate XCTest to
Swift Testing (flutter/packages#10763)
2026-01-14 magder@google.com [path_provider_foundation] Migrate XCTest
to Swift Testing (flutter/packages#10761)
2026-01-13 engine-flutter-autoroll@skia.org Roll Flutter from
d81cd3e6f655 to 793b0b89e82e (18 revisions) (flutter/packages#10784)
2026-01-13 6655696+guidezpl@users.noreply.github.com [google_fonts] Add
missing public API documentation (flutter/packages#10782)

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-14 18:32:51 +00:00
engine-flutter-autoroll
53e9db2874
Roll Skia from 49819b05232d to 2c1a8b9c89fa (10 revisions) (#180973)
https://skia.googlesource.com/skia.git/+log/49819b05232d..2c1a8b9c89fa

2026-01-14 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll
ANGLE from 90a1c1396b1a to 2d8ac01dc65b (9 revisions)
2026-01-14 kjlubick@google.com Explicitly use PNG decoder in viewer
2026-01-14 victorvianna@google.com Revert "Opt out of C++23 when
building in Chromium"
2026-01-14
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2026-01-14
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2026-01-14 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 0bcc40c8233a to 9283eb54dc67 (4 revisions)
2026-01-14
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2026-01-14 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from 533a34e45807 to 90a1c1396b1a (8 revisions)
2026-01-14 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from ff654f69aca0 to d4a5cc826c44 (11 revisions)
2026-01-14 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia
Infra from b1a79607275a to 59aa56349f0e (13 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 jimgraham@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-14 18:13:10 +00:00
b-luk
72b2728bfc
Add missing 'throw' to ImageFilter.shader's validation check (#180923)
An error StringBuffer was created and populated, but was left unused.
This PR `throw`s it.

This fixes and re-enables fragment_shader_test.dart's ImageFilter error
test. The test is re-enabled as an impeller-only test because
ImageFilter.shader requires impeller.

Fixes #180763

## 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-14 18:05:47 +00:00
b-luk
d8b975d4db
Fix 'ImageFilter.shader can be applied to canvas operations' test (#180929)
The test draws a red pixel onto a canvas with an ImageFilter that swaps
colors channels with
`frag_color = texture(u_texture, FlutterFragCoord().xy / u_size).bgra;`.

This PR fixes two things:
- When reading the output color, we can't construct a `Color` directly
from the byte data. The byte data is RGBA. But the `Color` int
constructor takes ARGB. So this was incorrectly reading the output
color. Instead, read the RGBA components individually and use them to
construct a color with `Color.fromARGB`.
- The input color red, when given to the color-swapping `bgra` shader,
outputs blue (0xFF0000FF), not green (0xFF00FF00).

Fixes #180927

## 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-14 18:05:46 +00:00
flutter-pub-roller-bot
d6af20551e
Roll pub packages (#180977)
This PR was generated by `flutter update-packages --force-upgrade`.
2026-01-14 18:05:45 +00:00
Kostia Sokolovskyi
5e417dc812
Fix RangeSlider dragged cursor handling. (#179988)
Fixes #179987

### Description
- Fixes dragged cursor handling in `RangeSlider`
- Replaces `MaterialState` occurrences with `WidgetState`
- Updates tests to ensure that all cases are covered

| Before | After |
| - | - |
| <video
src="https://github.com/user-attachments/assets/756b01e0-e52b-4280-af5e-ef02a6081855"
/> | <video
src="https://github.com/user-attachments/assets/5bd37714-740d-4056-ac7d-b57773a89e62"
/> |

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

<!-- 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-14 14:58:57 +00:00
Kostia Sokolovskyi
bc63dfe662
[web] Fix loading of fragment shader with space in name. (#180919)
Fixes https://github.com/flutter/flutter/issues/180862

### Description

- Adds `assetKey` encoding in `FragmentProgram.fromAsset` in `web_ui` to
be consistent with the implementation in `ui`

7e176f8c3f/engine/src/flutter/lib/ui/painting.dart (L5354-L5369)
- Adds 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.

<!-- 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-14 14:55:29 +00:00
engine-flutter-autoroll
916f2c16d7
Roll Skia from ca102ecb5833 to 49819b05232d (4 revisions) (#180948)
https://skia.googlesource.com/skia.git/+log/ca102ecb5833..49819b05232d

2026-01-14
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2026-01-13 bungeman@google.com [pdf] Use implementation_deps for
external deps
2026-01-13 kjlubick@google.com Opt out of C++23 when building in
Chromium
2026-01-13 bungeman@google.com Allow G3 re-write of zlib.h include

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 jimgraham@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-14 14:55:27 +00:00
gaaclarke
9aea438bfc
Made the bad lines exception print out the bad lines (#180909)
issues: https://github.com/flutter/flutter/issues/180903

adds better logging for debugging "bad line" failures

## 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-14 01:13:03 +00:00
Harry Terkelsen
3b7caba768
[canvaskit] Fix image decoding in CPU-only mode (#180706)
In CPU-only rendering mode, we were using
`MakeLazyImageFromTextureSource` which only works if a WebGL context is
available (which it isn't in CPU-only mode). This fixes the problem by
using `MakeImageFromCanvasImageSource` which uses a 2d canvas when we
have fallen back to software rendering.

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

## 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-14 01:07:10 +00:00
Lucas SAUDON
93d36ef85a
Update link to FlutterTest font generation script (#179957)
## 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 23:14:14 +00:00
walley892
264816f75c
Move all getUniformX tests to web_ui/test. (#180910)
- Moves all the existing web tests for getUniformX to web_ui/tests.

- Commits shaders to github in addition to the impellerc generated
string. Had to manually translate them from the dumped SKSL string to
GLSL and recompile, there may be small differences.

- Updates the impellerc generated strings

Does not fix the web testing build system to have this happen in a
non-brittle way. That should happen at some point.
2026-01-13 22:15:12 +00:00
engine-flutter-autoroll
5d566a637e
Roll Skia from 8f3134206e8d to ca102ecb5833 (10 revisions) (#180922)
https://skia.googlesource.com/skia.git/+log/8f3134206e8d..ca102ecb5833

2026-01-13 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll
ANGLE from 428d7443a83f to 533a34e45807 (1 revision)
2026-01-13 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from a359fd23fd78 to 0bcc40c8233a (5 revisions)
2026-01-13 hcm@google.com Merge 4 release notes into RELEASE_NOTES.md
2026-01-13 hcm@google.com Update Skia milestone to 146
2026-01-13 ccameron@chromium.org skhdr::AdaptiveGlobalToneMap: Add
SK_API to sub-structures
2026-01-13
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2026-01-13 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from 2d91f554ab55 to 428d7443a83f (10 revisions)
2026-01-13 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
SwiftShader from e5b3afce6d92 to 76b5d96a9287 (1 revision)
2026-01-13 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from ec4db8da6d13 to ff654f69aca0 (15 revisions)
2026-01-13 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia
Infra from 78a0372657cb to b1a79607275a (7 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC jimgraham@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 22:15:11 +00:00
flutter-pub-roller-bot
4a42c23a85
Roll pub packages (#180928)
This PR was generated by `flutter update-packages --force-upgrade`.
2026-01-13 22:13:08 +00:00
Jim Graham
aec9901a88
[Impeller] Fix crash trying to check for duplicate vertices in shadow_path code (#180920)
The new general convex path shadow code was checking for duplicate
vertices without actually checking if the vectors contained any
vertices. Thus, <vector>.back() was being called on empty vectors, which
is bad. This led to a crash in G3 as their code is being run with a
vector implementation that protects against this, but apparently we do
not have such a vector implementation in our local building and testing.

No tests because this covered by existing test cases and a new
FML_DCHECK, however I'm not sure if we have DCHECKs enabled in CI...?
2026-01-13 22:11:34 +00:00
Jason Simmons
caf78daeda
In flutter_test_performance, consider the blank line at the start of "flutter test" output to be optional. (#180911)
flutter_test_performance runs a "flutter test" command and parses its
output. The parser expects the output to begin with a blank line. That
line is no longer present after the roll to version 1.29 of the Dart
test package (see https://github.com/flutter/flutter/pull/180886)

Fixes https://github.com/flutter/flutter/issues/180903
2026-01-13 18:58:27 +00:00
gaaclarke
a6af15651f
Reenable 4 fragment shader tests (#180875)
issue https://github.com/flutter/flutter/issues/180764

turns on 4 disabled tests

## 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 18:20:59 +00:00
Victoria Ashworth
d316469e1d
Add Flutter as a Swift Package dependency (#178931)
The main purpose of this PR is to add the Flutter framework as a Swift
Package dependency. As such, Xcode will now handle the copying,
thinning, and codesigning of the framework and therefore the Flutter
Xcode Run Scripts shouldn't.

This will allow plugins to declare a dependency on the Flutter framework
package and eliminate the need for the Pre-Action "prepare" script.

This PR does not technically make the Flutter framework a local package
override, that will be added in a follow up PR:
https://github.com/flutter/flutter/pull/179512

This change includes:
* Generation of the FlutterFramework swift package (this will generate a
Package.swift and symlink to the Flutter framework in the artifact
cache)
<img width="400" height="271" alt="Screenshot 2025-12-04 at 4 54 43 PM"
src="https://github.com/user-attachments/assets/6cfde6da-3698-4b76-b3b1-725f91fbf58d"
/>
* Adding the FlutterFramework as a dependency to the
FlutterGeneratedPluginSwiftPackage (which the the Swift package the
Xcode project has a dependency on)
<img width="400" height="195" alt="Screenshot 2025-12-04 at 4 55 13 PM"
src="https://github.com/user-attachments/assets/30fa402a-6a11-4df0-b2cd-a4a82197e50a"
/>

### Change to Flutter Run Scripts
Flutter currently has 3 Xcode Run Scripts:
* prepare (happens in a scheme pre-action)
* [PREVIOUS] Via `flutter assemble` - copies the Flutter framework from
engine build cache to `BUILT_PRODUCTS_DIR`
* [NEW] Same as previous except skips codesigning. This is still
included to accommodate plugins that don't have a dependency declared on
the Flutter framework.
* build (happens in first Run Script in the Xcode build phases that
happens before compiling)
* [PREVIOUS] Via `flutter assemble` - copies, thins, and codesigns
Flutter framework into `BUILT_PRODUCTS_DIR`
  * [NEW] Is skipped, Xcode now does this
* embed_and_thin (happens in second Run Script in the Xcode build phases
after compiling, linking, and embedding)
* [PREVIOUS] Copies Flutter framework from `BUILT_PRODUCTS_DIR` to
`TARGET_BUILD_DIR`
  * [NEW] 
* Validates Flutter framework in `BUILT_PRODUCTS_DIR` &
`TARGET_BUILD_DIR` (which would have been put there by Xcode via
SwiftPM) matches the Flutter framework in the engine cache.
    * If it matches, do not copy. Xcode now does this.
    * If it doesn't:
* Call `flutter assemble` to copy the correct Flutter framework into
`BUILT_PRODUCTS_DIR`
      * Then copy from `BUILT_PRODUCTS_DIR` to `TARGET_BUILD_DIR`.

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

## 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 17:58:58 +00:00
engine-flutter-autoroll
5a2067baa3
Roll Packages from e57e7f432edb to eb9e1dc760d4 (6 revisions) (#180907)
e57e7f432e...eb9e1dc760

2026-01-13 stuartmorgan@google.com [google_maps_flutter] Migrate iOS
heatmaps to Pigeon (flutter/packages#10754)
2026-01-13 magder@google.com Set Gemini Code Assist include_drafts to
false (flutter/packages#10765)
2026-01-12 6655696+guidezpl@users.noreply.github.com [google_fonts]
Update the font generator to exclude variable font entries when a static
entry of the same weight and style exists (flutter/packages#10739)
2026-01-12 dasyad00@gmail.com [camera_android_camerax] get camera name
from Camera2CameraInfo.getCameraId in availableCameras
(flutter/packages#10775)
2026-01-12 49699333+dependabot[bot]@users.noreply.github.com Bump
peter-evans/create-pull-request from 7.0.0 to 8.0.0 in the
all-github-actions group (flutter/packages#10773)
2026-01-12 engine-flutter-autoroll@skia.org Roll Flutter from
3134be83dc81 to d81cd3e6f655 (11 revisions) (flutter/packages#10779)

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-13 17:50:57 +00:00
Ahmed Mohamed Sameh
48c247582e
Make sure that a FocusScope doesn't crash in 0x0 environment (#180715)
This is my attempt to handle
https://github.com/flutter/flutter/issues/6537 for the FocusScope
widget.
2026-01-13 17:45:17 +00:00