84819 Commits

Author SHA1 Message Date
engine-flutter-autoroll
834dfc4053
Roll Skia from e8ac41a93e63 to a37b97ce2b74 (1 revision) (#171287)
https://skia.googlesource.com/skia.git/+log/e8ac41a93e63..a37b97ce2b74

2025-06-27 lukasza@chromium.org [rust png] Limit the allowed dimensions
of PNG images.

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,maxhudnell@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-06-27 17:18:56 +00:00
Jackson Gardner
af61a6f97d
Revert "[skwasm] Use transferToImageBitmap instead of createImageBitmap (#163251)" (#171238)
This reverts commit 7d22606cda72accc2232e6b9a1f6fee4c6ea1c9c.

It turns out that in many scenarios, resizing the OffscreenCanvas
multiple times per frame is prohibitively expensive. It also turns out
that neither API works well enough on non-Chrome browsers to make it
viable anyway, so we should switch back to `createImageBitmap`.
2025-06-27 17:15:20 +00:00
engine-flutter-autoroll
fa71d1b3e4
Roll Skia from 062c986ad62e to e8ac41a93e63 (1 revision) (#171273)
https://skia.googlesource.com/skia.git/+log/062c986ad62e..e8ac41a93e63

2025-06-27 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 15e9b7e82d5a to 7693ce33ea24 (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,kjlubick@google.com,maxhudnell@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-06-27 15:16:12 +00:00
Vladislav Semyanov
d3a2cf8fcd
Fix broken markdown link to Engine repository in Project-teams.md (#171267)
<!--
Thanks for filing a pull request!
Reviewers are typically assigned within a week of filing a request.
To learn more about code review, see our documentation on Tree Hygiene:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
-->

This PR fixes a broken markdown link in the Flutter project teams
documentation that prevents proper navigation to the Engine repository.

**Issue Fixed**: In `docs/about/Project-teams.md`, the Engine repository
link was malformed due to a missing opening bracket in the markdown
syntax. The link appeared as `([flutter
engine]https://github.com/flutter/flutter/tree/main/engine)` instead of
proper markdown link syntax.

**Change Made**: Added the missing opening parenthesis to fix the
markdown link:
```diff
- * The Engine ([flutter engine]https://github.com/flutter/flutter/tree/main/engine)
+ * The Engine ([flutter engine](https://github.com/flutter/flutter/tree/main/engine))
```

**Impact**: This ensures developers reading the documentation can
properly navigate to the Engine repository and that the markdown renders
correctly across all platforms.

This fixes a documentation quality issue found during routine
documentation review. While this doesn't correspond to a specific filed
GitHub issue, it addresses a clear usability problem in the official
Flutter documentation.

## Pre-launch Checklist

- [x] I read the [[Contributor
Guide](https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview)]
and followed the process outlined there for submitting PRs.
- [x] I read the [[Tree
Hygiene](https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md)]
wiki page, which explains my responsibilities.
- [x] I read and followed the [[Flutter Style
Guide](https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md)],
including [[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)].
- [x] I signed the [[CLA](https://cla.developers.google.com/)].
- [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](https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests)].
- [x] I followed the [[breaking change
policy](https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes)]
and added [[Data Driven
Fixes](https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md)]
where supported.
- [x] All existing and new tests are passing.

**Note**: This PR is test-exempt as it only fixes a markdown syntax
error in documentation. No code functionality is changed, and the fix
can be verified by visual inspection of the markdown rendering.

If you need help, consider asking for advice on the #hackers-new channel
on
[[Discord](https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md)].

<!-- 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-06-27 13:38:17 +00:00
engine-flutter-autoroll
54e57dd265
Roll Fuchsia Linux SDK from lOriymW5zTP5ByH8-... to mQv6OKiD6nn3FNUYG... (#171263)
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-06-27 08:36:27 +00:00
davidhicks980
86767f6663
[widgets/raw_menu_anchor.3.dart] Replace arrow character with Icon in RawMenuAnchor submenu example (#171218)
Replaces the arrow character with an icon on the RawMenuAnchor animated
submenu example. Currently, submenu arrows render as gibberish.
Apologies to chunhtai since this is the second time I've done this.

<img width="500" alt="image"
src="https://github.com/user-attachments/assets/866220e3-3d09-4502-9aee-211dc333822d"
/>

## 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
2025-06-27 07:29:28 +00:00
Ahmed Elsayed
05add65f63
Reland [#166645] Fix DropdownButtonFormField focusing when replacing FocusNode (#170761)
This is a reland of #166645

fixes #166642

**The newly added tests verify the following behaviors:**

1. DropdownButtonFormField can be focused if it was unfocused and we
replaced FocusNode.
2. DropdownButtonFormField can be unfocused if it was focused and we
replaced FocusNode.

## 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-06-27 07:12:22 +00:00
engine-flutter-autoroll
306b350bdb
Roll Dart SDK from 4bd485d911a1 to c44e64e5a856 (2 revisions) (#171260)
https://dart.googlesource.com/sdk.git/+log/4bd485d911a1..c44e64e5a856

2025-06-27 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-283.0.dev
2025-06-27 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-282.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-06-27 07:06:21 +00:00
engine-flutter-autoroll
cd4d714db0
Roll Skia from d388ecb0ceea to 062c986ad62e (1 revision) (#171259)
https://skia.googlesource.com/skia.git/+log/d388ecb0ceea..062c986ad62e

2025-06-27 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia
Infra from 793884c7084d to 8acd0e40f584 (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,kjlubick@google.com,maxhudnell@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-06-27 06:48:26 +00:00
engine-flutter-autoroll
42553c9f69
Roll Skia from f041aa580d11 to d388ecb0ceea (2 revisions) (#171253)
https://skia.googlesource.com/skia.git/+log/f041aa580d11..d388ecb0ceea

2025-06-27 robertphillips@google.com [graphite] Remove need for
kPrecompileCases indices in AndroidPrecompileTest
2025-06-27 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 216f8f420080 to 15e9b7e82d5a (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,kjlubick@google.com,maxhudnell@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-06-27 02:18:31 +00:00
engine-flutter-autoroll
49cd72063e
Roll Skia from 28b3d2dad5d5 to f041aa580d11 (23 revisions) (#171248)
https://skia.googlesource.com/skia.git/+log/28b3d2dad5d5..f041aa580d11

2025-06-26
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-06-26 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 08cf3372adf6 to 216f8f420080 (4 revisions)
2025-06-26 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from 14960950b20c to b3ec3a5f5448 (4 revisions)
2025-06-26 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia
Infra from 0b45ace1550e to 793884c7084d (7 revisions)
2025-06-26 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from f1e896dba6c3 to 772f77165cdf (19 revisions)
2025-06-26 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
SwiftShader from ed01d9931de3 to 436722b39118 (1 revision)
2025-06-25 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 1b6f53279a7b to 08cf3372adf6 (16 revisions)
2025-06-25 danieldilan@google.com Use NinePatch for
SkBitmapDevice::drawBlurredRRect()
2025-06-25 michaelludwig@google.com [graphite] Treat inverse filled
draws as kDifference ops for clip stack traversal
2025-06-25 michaelludwig@google.com [graphite] Check for null surface
for GPU blur profile
2025-06-25 robertphillips@google.com [graphite] Additional
Android-specific PaintOptions
2025-06-25
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-06-25 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from 79ac1a8cd767 to 14960950b20c (3 revisions)
2025-06-25 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia
Infra from 6043290d5e93 to 0b45ace1550e (9 revisions)
2025-06-25 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from 0df5a8fd9a75 to f1e896dba6c3 (24 revisions)
2025-06-25
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-06-24
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-06-24
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-06-24 fmalita@google.com Revert "Reland "move pathops into a
module""
2025-06-24 michaelludwig@google.com [graphite] Clip shape intersections
rely only on relative transform
2025-06-24 sharaks@google.com Merge 7 release notes into
RELEASE_NOTES.md
2025-06-24 sharaks@google.com Update Skia milestone to 140
2025-06-24 michaelludwig@google.com [graphite] Differentiate async
compile failures from other command failures

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,maxhudnell@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-06-27 00:07:07 +00:00
engine-flutter-autoroll
c136585897
Roll Dart SDK from 21c55ff25118 to 4bd485d911a1 (2 revisions) (#171243)
https://dart.googlesource.com/sdk.git/+log/21c55ff25118..4bd485d911a1

2025-06-26 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-281.0.dev
2025-06-26 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-280.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-06-26 23:22:08 +00:00
Justin McCandless
142cce676e
Avoid using a Key whose only purpose is to be looked up in a test (#170952)
This PR investigates moving away from the few places where we rely on
Keys to instead solely look up a widget in a test. Reasons:

 * No extra stuff in users' apps that they don't need for production.
* Avoid collisions between Keys in users' apps that might have the same
identifier string.

I'm definitely still up for discussion on whether or not this is a good
idea!

Written in response to the discussion on
https://github.com/flutter/flutter/pull/170761#discussion_r2159760635.
2025-06-26 23:18:05 +00:00
Justin McCandless
6b7662649f
Diagnosticable, not toString, for IOSSystemContextMenuItemDatas (#171028)
Flutter prefers using Diagnosticable instead of toString. See
https://github.com/flutter/flutter/issues/169696 and the related PR
https://github.com/flutter/flutter/pull/169705. This does the same thing
for a few more classes that I missed.
2025-06-26 23:12:03 +00:00
gaaclarke
2597ee726b
License cpp jun25 (#171235)
Changes:
1) Headers are now included in the output even if there is a covering
LICENSE file
1) .c files are now included
1) excluded files are now printed out in --v=1
1) there's a new flag that allows us to treat unmatched comments as
errors (since this represents the last of what is missing between
LICENSE and LICENSE_CPP)
1) Adds a tool for auditing LICENSE versus LICENSE_CPP
1) Adds "COPYING" as a potential license file name

The results of the comparison tool showed us that the difference between
LICENSE and LICENSE_CPP is all the matched header licenses for files
that have covering LICENSE files in their directories.

## 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
2025-06-26 22:26:10 +00:00
engine-flutter-autoroll
cf045ea520
Roll Skia from a462e701b493 to 28b3d2dad5d5 (5 revisions) (#171093)
https://skia.googlesource.com/skia.git/+log/a462e701b493..28b3d2dad5d5

2025-06-24 fmalita@google.com Guard AnnotationTest on SK_SUPPORT_PDF
2025-06-24 robertphillips@google.com [graphite] Treat linear/encode as
sRGBish for fast path
2025-06-24 kainino@chromium.org [graphite] Handle Dawn breaking change
in WGPUInstanceDescriptor
2025-06-24 michaelludwig@google.com Reland "[graphite]
Context::insertRecording returns more status info on failure"
2025-06-24 nscobie@google.com Revert "Reland "[Fontations] Roll
Fontations""

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,maxhudnell@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-06-26 21:48:55 +00:00
Simone Stasi
777bfea286
fix PopupMenuButton unmounted exception when updating position (#166412)
<!--
Thanks for filing a pull request!
Reviewers are typically assigned within a week of filing a request.
To learn more about code review, see our documentation on Tree Hygiene:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
-->

This PR fixes an exception thrown when trying to update an unmounted
PopupMenuButton's position, which can happen when a layout change is
triggered during PopupMenuButton's pop animation (see issue's attached
video).
A workaround is to set `popUpAnimationStyle:
AnimationStyle.noAnimation`.
This PR fixes it by returning the last known position if the button is
unmounted.

Exception thrown:` FlutterError (This widget has been unmounted, so the
State no longer has a context (and should be considered defunct).
Consider canceling any active work during "dispose" or using the
"mounted" getter to determine if the State is still active.)`

Code that causes the exception: `final PopupMenuThemeData popupMenuTheme
= PopupMenuTheme.of(context);`

Fixes #163477 

Tested both on stable (3.29.2) and master (a0b1b325341)

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

---------

Co-authored-by: Navaron Bracke <brackenavaron@gmail.com>
Co-authored-by: Tong Mu <dkwingsmt@users.noreply.github.com>
2025-06-26 21:04:05 +00:00
Jason Simmons
5285cbb750
Clamp the alpha channel to the valid range in the DlColor constructor (#171203) 2025-06-26 20:58:55 +00:00
Kishan Rathore
d72a4853c4
Feat: Add brightness export from widgets.dart (#169410)
Feat: Add brightness export from widgets.dart
fixes: #169294 

## 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.
2025-06-26 20:16:25 +00:00
Jason Simmons
6af3df8d9a
Add a flag that disables SecureSocket support in Dart (#171201)
See https://github.com/flutter/flutter/issues/170459
2025-06-26 20:03:32 +00:00
Bruno Leroux
5bb48258cc
Add missing M3 tests for InputDecoration.floatingLabelAlignment (#170903)
## Description

This PR adds missing M3 tests for
InputDecoration.floatingLabelAlignment.

## Related Issue

Will help to complete https://github.com/flutter/flutter/pull/168981

## Tests

Adds 8 tests (based on existing M2 tests).
2025-06-26 19:03:41 +00:00
engine-flutter-autoroll
1147f14a04
Roll Dart SDK from 7c1fb216a4f2 to 21c55ff25118 (1 revision) (#171232)
https://dart.googlesource.com/sdk.git/+log/7c1fb216a4f2..21c55ff25118

2025-06-26 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-279.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-06-26 17:57:26 +00:00
John "codefu" McDole
685ea6ca03
feat: remove "cmd.exe" requirement for content-hashing (#171233)
Removing cmd.exe means content_aware_hash.ps1 runs on other platforms as
well.

hash | command | host
-|-|-
728dc653e5efeb64175acce4bd2d7090781df70a | content_aware_hash.sh | mac
728dc653e5efeb64175acce4bd2d7090781df70a | content_aware_hash.ps1 |
powershell 5.1 windows 11
728dc653e5efeb64175acce4bd2d7090781df70a | content_aware_hash.ps1 |
powershell 7.5.1 macos
2025-06-26 17:41:08 +00:00
Lucas SAUDON
ab0087c256
feat: Add hintLocales in TextFormField (#170938)
Add hintLocales in TextFormField

*List which issues are fixed by this PR. You must list at least one
issue. An issue is not required if the PR fixes something trivial like a
typo.*

*If you had to change anything in the [flutter/tests] repo, include a
link to the migration guide as per the [breaking change policy].*

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [ ] 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
2025-06-26 16:38:24 +00:00
engine-flutter-autoroll
173ed2cebc
Roll Packages from 5963ecdb2dbc to 2c8d2bc0589c (3 revisions) (#171227)
5963ecdb2d...2c8d2bc058

2025-06-26 jessiewong401@gmail.com Bump AVD and SDK to API 36 in
Packages CI (flutter/packages#9414)
2025-06-26 stuartmorgan@google.com [tool] Use `swift-format` from Xcode
(flutter/packages#9460)
2025-06-26 stuartmorgan@google.com Revert "[camera_android_camerax]
Force new `Surface` for each `SurfaceRequest`" (flutter/packages#9500)

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-06-26 15:56:25 +00:00
engine-flutter-autoroll
edb19e6dd6
Roll Dart SDK from f83d43fa2ff4 to 7c1fb216a4f2 (1 revision) (#171225)
https://dart.googlesource.com/sdk.git/+log/f83d43fa2ff4..7c1fb216a4f2

2025-06-26 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-278.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-06-26 12:51:18 +00:00
engine-flutter-autoroll
961ce3ec82
Roll Fuchsia Linux SDK from XX8LxiX10yPg8EwED... to lOriymW5zTP5ByH8-... (#171206)
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-06-26 04:08:58 +00:00
engine-flutter-autoroll
9f3a323242
Roll Dart SDK from b43ca793d4bf to f83d43fa2ff4 (1 revision) (#171205)
https://dart.googlesource.com/sdk.git/+log/b43ca793d4bf..f83d43fa2ff4

2025-06-26 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-277.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-06-26 04:07:32 +00:00
engine-flutter-autoroll
8d89d1edac
Roll Dart SDK from d9edd9e7a634 to b43ca793d4bf (8 revisions) (#171189)
https://dart.googlesource.com/sdk.git/+log/d9edd9e7a634..b43ca793d4bf

2025-06-25 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-276.0.dev
2025-06-25 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-275.0.dev
2025-06-25 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-274.0.dev
2025-06-25 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-273.0.dev
2025-06-24 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-272.0.dev
2025-06-24 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-271.0.dev
2025-06-24 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-270.0.dev
2025-06-24 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.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-06-25 22:59:20 +00:00
Harry Terkelsen
0f2d7ea537
Fix gestures not being recognized in <img>-backed NetworkImages (#171190)
On the web, when a `NetworkImage` falls back to an `<img>`
element-backed implementation, the gesture events were being lost
because the underlying Platform View had
`PlatformViewHitTestBehavior.opaque` (the default). This changes it to
`PlatformViewHitTestBehavior.transparent` so the gestures are handled by
parent widgets.

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

## 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
2025-06-25 22:40:28 +00:00
Jason Simmons
89ba94902a
[Impeller] Make ContextVK hash values globally unique (#171119)
ContextVK had been using a thread-local counter to assign the value
returned by GetHash. But CommandPoolRecyclerVK was using these values as
keys in a process-wide global map.

If two engine instances using different task runner threads both created
a ContextVK, then the thread-local counter could cause both contexts to
share the same hash. So when
CommandPoolRecyclerVK::DestroyThreadLocalPools destroys the pools
associated with the first context's hash, it will also incorrectly
destroy the second context's pools.

Fixes https://github.com/flutter/flutter/issues/170141
2025-06-25 22:20:14 +00:00
Chinmay Garde
a39147c813
Allow uninstalling Git hooks. (#170839)
The hooks get in the way of pushing to branches via tools like Sublime
Merge. Installation of these hooks can be disabled via the
setup_githooks DEPS [custom
variable](edc792e098/DEPS (L127)).
In case the hook is installed already, the installation script is now
augmented to accept an `--unset` argument. The default behavior remains
unchanged.
2025-06-25 21:56:47 +00:00
Chinmay Garde
f8f7455a12
[Impeller] libImpeller: Allow user supplied fragment programs to shade pixels. (#170616)
Fixes https://github.com/flutter/flutter/issues/170008
2025-06-25 21:18:44 +00:00
John "codefu" McDole
90e5f43ada
feat: upload artifacts to content_hash if signaled (#171166)
part of #167780

`upload_content_hash` is paired with

[cocoon's](2a5f4afa3d/app_dart/config.yaml (L12-L15))
`waitOnContentHash` flag. When enabled, cocoon will add the
`content_hash` solution to the luci build properties when scheduling
[merge group

targets](2a5f4afa3d/app_dart/lib/src/service/scheduler.dart (L703-L706)).

If `upload_content_hash` is present and the `content_hash` is passed,
the [engine_v2 & builder
recipie](https://flutter-review.googlesource.com/c/recipes/+/66780) will
upload to a second location. This upload should happen only once; for
the first matching engine change.

> [!IMPORTANT]
>
[`windows_arm_host_engine`](https://flutter-dashboard.appspot.com/#/build?taskFilter=windows_arm_host_engine&repo=flutter&branch=master)
is not built in the merge queue and won't get the content_hash value
passed down to it, so it will not get uploaded today. This should be
fine given we're still testing; but Cocoon would need to schedule
limited post submits so this eventually only builds and uploads once.
2025-06-25 21:00:51 +00:00
Alex Talebi
e6ecca06dd
Fix text selection toolbar alignment for RTL languages (#169854)
<!--
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
-->

**Fix text selection toolbar alignment for RTL (right-to-left)
languages**

This PR updates the Material text selection toolbar to properly support
right-to-left (RTL) layouts. Previously, the toolbar and its buttons did
not align or order correctly when using RTL text direction, leading to a
broken or confusing user experience for RTL languages.

**Summary of changes:**
- Refactored layout logic in `text_selection_toolbar.dart` to handle RTL
and LTR directions for both horizontal and overflow (vertical)
arrangements.
- Updated padding logic in `text_selection_toolbar_text_button.dart` to
use `EdgeInsetsDirectional`, ensuring correct padding for both text
directions.
- Added new widget tests to verify that:
  - Toolbar items are ordered right-to-left in RTL contexts.
- The overflow menu behaves correctly in RTL, showing items in the
correct order and position.

**Before:**  
- Toolbar items and overflow menus did not respect RTL layout, resulting
in misaligned or reversed button order.
- Padding was inconsistent in RTL.
<details>
<summary>Before Screenshots</summary>

| LTR Not Expanded | LTR Expanded | RTL Not Expanded | RTL Expanded |
|---|---|---|---|
| ![before_ltr_non_expanded
jpg](https://github.com/user-attachments/assets/bccf719e-c95a-46b1-b924-d2fb229e4ada)
| ![before_ltr_expanded
jpg](https://github.com/user-attachments/assets/a947690a-62fb-4f41-863c-d3822294bb66)
|
![before_rtl_non_expanded](https://github.com/user-attachments/assets/1e3440ee-d80c-4554-aeda-7632f2b166ca)
|
![before_rtl_expanded](https://github.com/user-attachments/assets/364a3b2b-d068-4488-afbd-61224e74c30a)
|

</details>


**After:**  
- Toolbar items and overflow menus are correctly ordered and aligned for
RTL.
- Button padding is now directionally correct.

<details>
<summary>After Screenshots</summary>

| LTR Not Expanded | LTR Expanded | RTL Not Expanded | RTL Expanded |
|---|---|---|---|
|
![after_ltr_non_expanded](https://github.com/user-attachments/assets/b63bf625-0d37-4304-9ba5-af017c197b15)
|
![after_ltr_expanded](https://github.com/user-attachments/assets/6a95c9b7-e343-4e7e-93ae-f18de6d38a2e)
|
![after_rtl_not_expanded](https://github.com/user-attachments/assets/8a93b08b-fcf2-45a9-8f5a-390133c0aec4)
|
![after_rtl_expanded](https://github.com/user-attachments/assets/5cbdffd4-3943-44cc-98d9-fa470e11b942)
|

</details>

This improves the usability and accessibility of text selection controls
for users of RTL languages.


Fixes #59306 

---

## 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
2025-06-25 21:00:49 +00:00
Valentin Vignal
a5a3ab3f92
Fix Radio's painters (#170321)
While working on https://github.com/flutter/flutter/issues/168787 as a
follow-up of https://github.com/flutter/flutter/pull/169415, I noticed
that the tests introduced in
https://github.com/flutter/flutter/pull/169415 were incorrect. However,
because of the way the `Radio` implements `paint` and reuses 1 painter,
it was not possible to properly assert the paints in the test.

This PR fixes it

## 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
2025-06-25 19:25:50 +00:00
ash2moon
c9537a5509
Add back "Use live region in error text input decorator for Android #165531" (#168992)
Partly of https://github.com/flutter/flutter/issues/165510

⤴️ Parent PR: https://github.com/flutter/flutter/pull/169685 ( Merged)
⤴️ Parent PR (refactor): https://github.com/flutter/flutter/pull/170618
( Merged)

Re-lands https://github.com/flutter/flutter/pull/165531
The PR was originally reverted due to an issue with an internal Google
test. I added a new test case under `input_decorator_test.dart` which
does something similar to prevent the regression. All other code is the
same as https://github.com/flutter/flutter/pull/165531.

The easiest way to review this would probably be to just check the [diff
after the first
commit](cb5647c393)
to see the changes I made. To check if the reland commit is the same, it
might be best to just [compare solely that
commit](9bd8d5689b)
against the [original
PR](https://github.com/flutter/flutter/pull/165531/files).

## 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
2025-06-25 19:12:23 +00:00
gaaclarke
091f0ff99e
License cpp jun24 (#171088)
additions:
- root package files need a header
- added ci step
- performance increases (executes in like 15s now)
- added README.md to the data directory
- cleaned up --v=1 log

## 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
2025-06-25 18:29:57 +00:00
jcheng
c103588ed5
feat: Add constraints to the AlertDialog and SimpleDialog (#169327)
close: https://github.com/flutter/flutter/issues/169326

## 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-06-25 17:26:10 +00:00
Ben Konyi
b6ea64bee4
[ Tool ] Report Android x86 target devices as unsupported (#170282) 2025-06-25 16:44:07 +00:00
Ben Konyi
1ec94f9572
[ Widget Previews ] Use monospace fonts when displaying stack traces (#171167)
**Example:**
<img width="1149" alt="image"
src="https://github.com/user-attachments/assets/fc2a43a9-7622-479e-bca5-957b9d32d0e7"
/>
2025-06-25 16:15:13 +00:00
Ben Konyi
5959600e16
[ Widget Previews ] Support projects containing libraries with part files (#171027)
Reworked the dependency model to be library based instead of script
based in order to support libraries spanning multiple scripts.

Also refactored test logic to improve maintainability and simply writing
tests against the `PreviewDetector`.
2025-06-25 16:00:10 +00:00
engine-flutter-autoroll
e197ed2ac9
Roll Packages from d9d3191ea6cf to 5963ecdb2dbc (2 revisions) (#171163)
d9d3191ea6...5963ecdb2d

2025-06-24 43054281+camsim99@users.noreply.github.com
[camera_android_camerax] Force new `Surface` for each `SurfaceRequest`
(flutter/packages#9360)
2025-06-24 48065222+MsYoda@users.noreply.github.com
[google_maps_flutter_web] Fix no effect behavior of cameraTargetBounds
option on web (flutter/packages#9153)

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-06-25 16:00:09 +00:00
Jason Simmons
2773c0c8e1
Log stack traces from exceptions thrown by devicelab test tasks (#171165) 2025-06-25 15:52:59 +00:00
Mouad Debbar
6e68383f79
Revert "Move web_long_running_tests_{1,5}_5 to bringup." (#171100)
Reverts flutter/flutter#171026

These tasks have been consistently
[green](https://flutter-dashboard.appspot.com/#/build?taskFilter=Linux+web_long_running_tests_&repo=flutter&branch=master&showBringup=true)
since https://github.com/flutter/flutter/pull/170939. Let's take them
out of bringup.

Closes https://github.com/flutter/flutter/issues/171025
2025-06-25 14:49:39 +00:00
Bruno Leroux
e9d8e93e53
Add missing M3 tests for InputDecoration.isDense (#171058)
## Description

This PR adds missing M3 tests for `InputDecoration.isDense`.

## Related Issue

Related to https://github.com/flutter/flutter/pull/168981

## Tests

Adds 4 tests.
2025-06-25 08:07:20 +00:00
Gray Mackall
47c6e40802
Add Android specific sub-step to validate the Android sdk path has no spaces (#170829)
The android sdk cannot have spaces in it 

<img width="704" alt="Screenshot 2025-06-18 at 11 41 12 AM"
src="https://github.com/user-attachments/assets/2d78599d-8417-4af6-8bc8-f9037f4aab01"
/>


Add a validation step that it doesn't as it currently blocks building an
app bundle (as we need the apkanalyzer now, after the debug symbol
changes).

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

---------

Co-authored-by: Gray Mackall <mackall@google.com>
2025-06-25 00:16:17 +00:00
Loïc Sharma
5706259791
Update foundation library to export internal (#170563)
In the Flutter framework, only the `foundation` library is allowed to
import `package:meta`. If other parts of the Flutter framework want to
use `package:meta`, they must do so through the `foundation` library by
exporting the desired `package:meta` member. This requirement is
enforced through `dev/bots/analyze.dart`
[here](https://github.com/flutter/flutter/blob/master/dev/bots/analyze.dart#L2749-L2750).

This exports the `internal` attribute so that it can be used by the
Flutter framework. This change was split off from
https://github.com/flutter/flutter/pull/168437 as it might cause
problems in google3 if there is code that imports both
`package:meta/meta.dart` and `package:flutter/foundation.dart`.

I will get a test exemption.

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

## 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
2025-06-24 23:05:23 +00:00
Matan Lurey
3bc69cb262
Remove stale references to Release-process.md and conductor (#171046)
Closes https://github.com/flutter/flutter/issues/169780.

Renamed references to `conductor`, and removed `Release-process.md`
which was an out of date copy of internal documentation that did not
offer much (other than being another place to look, but simultaneously
not very useful).
2025-06-24 22:28:04 +00:00
gaaclarke
14bee0273a
License cpp jun23 (#171047)
Additions:
- There are no runtime exceptions now.
- There are some cases that are ignored for now where there wasn't clear
action on how to resolve them.
- Adds a script and license file that will be run by ci.
- Switched the excluded file to relative paths.

## 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
2025-06-24 21:51:19 +00:00