85553 Commits

Author SHA1 Message Date
auto-submit[bot]
5bdd0beed2
Reverts "add run_gradle_lock_files_check.dart for new PR's that modify gradle files (#169245)" (#170770)
<!-- start_original_pr_link -->
Reverts: flutter/flutter#169245
<!-- end_original_pr_link -->
<!-- start_initiating_author -->
Initiated by: matanlurey
<!-- end_initiating_author -->
<!-- start_revert_reason -->
Reason for reverting: Increased the time of the test task
`gradle_java8_compile_test` from about 5 minutes per run to over 30m,
which hits the timeout causing tree failures.


https://ci.chromium.org/ui/p/flutter/builders/luci.flutter.prod/Linux%20gradle_java8_compile_test
<!-- end_revert_reason -->
<!-- start_original_pr_author -->
Original PR Author: ash2moon
<!-- end_original_pr_author -->

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

<!-- start_revert_body -->
This change reverts the following previous change:
This commit checks if there have been any changes to the gradle files
and if gradle lock files need updating. If so, it will alert then PR
owner to update their PR with the new gradle lock file.s

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

Example test run:
https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8712427303492230593/+/u/run_gradle_java8_compile_test/stdout?format=raw

This was added as an existing test under Linux gradle_java8_compile_test
because benchmarking results showed on average about 3min 30s to run on
my local M2 Mac. SInce it is not > 10min to run, placing it inside an
existing test case was ideal.

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

<!-- end_revert_body -->

Co-authored-by: auto-submit[bot] <flutter-engprod-team@google.com>
2025-06-17 23:59:28 +00:00
gaaclarke
b1af493964
Started bridging the scene delegate to the lifecycle delegate for shortcuts (#170180)
testing: There integration tests in the plugins repo.
fixes: https://github.com/flutter/flutter/issues/169928

## 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-17 22:57:31 +00:00
Jonah Williams
85824038d0
[ui] npot display_list allocation. (#170447)
Split off of https://github.com/flutter/flutter/pull/168019/

Worst case allocation performance for dl is fairly bad as we end up
copying the data many more times than something like an STL vector
would. At the cost of more memory usage, we can improve the case where
the display list grows quite large.
2025-06-17 22:06:32 +00:00
Kevin Moore
55f5aed6e4
Prefer .of over .from (#170750)
Often faster in cases where the types match

There SHOULD be a lint: https://github.com/dart-lang/sdk/issues/58359
2025-06-17 18:37:11 +00:00
chunhtai
19428451b3
Fix RawGestureDetector semantics (#170549)
<!--
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
-->

fixes https://github.com/flutter/flutter/issues/170348

The root cause is the RawGestureDetector doesn't call individual ontap
method with correct position. A previous refactor to cupertinoButton
remove the onTap, but instead using the individual tap method to
register the click and surfaced this issue

## Pre-launch Checklist

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

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

<!-- 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-17 18:15:55 +00:00
Runar Heggset
a0c8bd4c3a
Use correct type for filterIdentifier (#170343)
<!--
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
-->

After upgrading to v3.32.2 from v3.29.2 I encountered this issue while
building our app with `flutter build apk --split-per-abi`

```
FAILURE: Build failed with an exception.

* Where:
Build file '/<redacted>/android/build.gradle' line: 13

* What went wrong:
A problem occurred evaluating root project 'android'.
> A problem occurred configuring project ':app'.
   > java.lang.NullPointerException: output.getFilter(com.and…antOutput.FilterType.ABI) must not be null

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.

BUILD FAILED in 1s
```

This seems to be caused by enabling universalApk and splits at the same
time. Here's a snippet from our `build.gradle`:

```
android {
    ...

    splits {
        abi {
            enable true
            reset()
            include 'arm64-v8a', 'armeabi-v7a', "x86_64"
            universalApk true
        }
    }

    buildTypes {
        release {
            signingConfig signingConfigs.release
            ndk {
                abiFilters 'arm64-v8a', 'armeabi-v7a', 'x86_64'
            }
        }
    }
}
```

## 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-17 18:12:18 +00:00
Matan Lurey
e496ad5ea7
Remove and inline license_header.txt (#170475)
Towards https://github.com/flutter/flutter/issues/169780.
2025-06-17 18:06:55 +00:00
ash2moon
22dc6b6566
add run_gradle_lock_files_check.dart for new PR's that modify gradle files (#169245)
This commit checks if there have been any changes to the gradle files
and if gradle lock files need updating. If so, it will alert then PR
owner to update their PR with the new gradle lock file.s

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

Example test run:
https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8712427303492230593/+/u/run_gradle_java8_compile_test/stdout?format=raw

This was added as an existing test under Linux gradle_java8_compile_test
because benchmarking results showed on average about 3min 30s to run on
my local M2 Mac. SInce it is not > 10min to run, placing it inside an
existing test case was ideal.

## 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-17 17:25:14 +00:00
engine-flutter-autoroll
eaad9f44e2
Roll Dart SDK from 4fad61257b29 to b32559bca3cc (3 revisions) (#170746)
https://dart.googlesource.com/sdk.git/+log/4fad61257b29..b32559bca3cc

2025-06-17 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-241.0.dev
2025-06-17 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-240.0.dev
2025-06-17 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-239.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
2025-06-17 17:21:26 +00:00
Kevin Chisholm
2d5987027d
[release] Sync stable changelog to master (#170691)
Introduce an action that is triggered when there is a push to
CHANGELOG.md on the stable branch, signifying that a release was
conducted, then update CHANGELOG.md on master to reflect these changes.
2025-06-17 15:59:21 +00:00
engine-flutter-autoroll
d9c64f4d29
Roll Packages from 03a6abbedabb to 25d4fa425508 (5 revisions) (#170743)
03a6abbeda...25d4fa4255

2025-06-17 22373191+Hari-07@users.noreply.github.com
[google_maps_flutter] Add a new zIndexInt param to marker and deprecate
zIndex (flutter/packages#8012)
2025-06-17 33691143+JesseRiemens@users.noreply.github.com [pigeon] Use a
const for custom type ids for gobject generated files (#156100)
(flutter/packages#9306)
2025-06-16 22373191+Hari-07@users.noreply.github.com
[google_maps_flutter_platform_(web/android/ios)] Add a new zIndexInt
param to marker and deprecate zIndex (flutter/packages#9408)
2025-06-16 jorgesarpe@gmail.com [camera_avfoundation] fix race condition
when starting image stream on iOS (flutter/packages#8733)
2025-06-16 engine-flutter-autoroll@skia.org Roll Flutter from
f79452e3f4ea to 8303a96a0a99 (21 revisions) (flutter/packages#9433)

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-17 15:48:07 +00:00
Ben Konyi
50eaf00c2d
[ Widget Preview ] Remove support for synthetic package:flutter_gen (#170602)
Follow up to https://github.com/flutter/flutter/issues/102983
2025-06-17 15:01:25 +00:00
engine-flutter-autoroll
e974d10503
Roll Skia from 8879db3b3319 to 75af9450b121 (4 revisions) (#170739)
https://skia.googlesource.com/skia.git/+log/8879db3b3319..75af9450b121

2025-06-17 danieldilan@google.com Use GetResourceAsData as fix forward
for tryjobs
2025-06-17 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from 79ec8b3400ce to dfefcbc68cc3 (3 revisions)
2025-06-17 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from 8123122b08a7 to 7f698b0f4af7 (15 revisions)
2025-06-17 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 3395378f6990 to 8d1a39bd39e4 (4 revisions)

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-06-17 14:21:28 +00:00
Ben Konyi
d4d9ca01c8
[ Tool ] Fix file path conflict introduced in https://github.com/flutter/flutter/pull/169949 (#170606)
Was causing the following warning on Git checkout:

```
warning: the following paths have collided (e.g. case-sensitive paths
on a case-insensitive filesystem) and only one from the same
colliding group is in the working tree:

  'packages/flutter_tools/test/data/vscode/application/Resources/app/package.json'
  'packages/flutter_tools/test/data/vscode/application/resources/app/package.json'
```
2025-06-17 14:13:50 +00:00
Daco Harkes
5bee4880b9
Reland "[native assets] Build dev dependencies in flutter test integration_test" (#170728)
Reland https://github.com/flutter/flutter/pull/170686.

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

Original PR in first commit. Fix in subsequent commit:

* Do process invocation of `flutter pub add` in a different way.
   Fixes: `ProcessException: %1 is not a valid Win32 application`

Reproduced locally by changing
dev/devicelab/bin/tasks/native_assets_android.dart to
`DeviceOperatingSystem.windows` and verified the `flutter pub add` call
now succeeds.

(Also, moved the add integration test into the create test project to
avoid having multiple `flutter pub get`s.)

Third time is the charm.
2025-06-17 07:58:26 +00:00
engine-flutter-autoroll
22613b764d
Roll Dart SDK from 68d7e34bdabf to 4fad61257b29 (1 revision) (#170725)
https://dart.googlesource.com/sdk.git/+log/68d7e34bdabf..4fad61257b29

2025-06-17 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-238.0.dev

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-06-17 06:38:37 +00:00
engine-flutter-autoroll
0ab468d142
Roll Fuchsia Test Scripts from xobrcSN07udKdXOq_... to IfPORaYjQ2zP4bcq-... (#170724)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-test-scripts-flutter
Please CC chrome-fuchsia-engprod@google.com,jsimmons@google.com on the
revert to ensure that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-06-17 06:16:35 +00:00
Daco Harkes
6ad9a67f59
[native assets] Switch device lab Android with Linux host to emulator (#170689)
Closes: https://github.com/flutter/flutter/issues/170682

We have emulators available on the Linux host, so switch the Android
device lab tests for native assets over to the emulator.

We don't seem to have emulators on Windows or MacOS hosts. (If we do,
they are not used in `ci.yaml`.)

We want at least one physical device test for Android with native
assets. And we want to cover all host OSes (not everything works the
same everywhere). So keep the physical device tests for the MacOS and
Windows hosts.

Should we wait with landing this until
https://github.com/flutter/flutter/issues/170529 is resolved?
2025-06-17 05:39:22 +00:00
Robert Ancell
117c60edcf
Update Linux embedder to new semantics flags API (#170497)
As changed in https://github.com/flutter/flutter/pull/167738.
2025-06-17 04:01:19 +00:00
engine-flutter-autoroll
3fee9b9814
Roll Skia from d4e426456e7d to 8879db3b3319 (10 revisions) (#170722)
https://skia.googlesource.com/skia.git/+log/d4e426456e7d..8879db3b3319

2025-06-17 lukasza@chromium.org [rust png] Allow
`startIncrementalDecode` to switch to another frame.
2025-06-16 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 5f9183df4e99 to 3395378f6990 (7 revisions)
2025-06-16 robertphillips@google.com [graphite] Disable
PaintParamsKeyTest on Release, Dawn_GLES and Dawn_Vulkan
2025-06-16 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from fdff117046ce to 79ec8b3400ce (7 revisions)
2025-06-16 michaelludwig@google.com [graphite] Don't include AA outset
in bounds when visiting clip
2025-06-16 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from 31cf85d685b9 to 8123122b08a7 (16 revisions)
2025-06-16 robertphillips@google.com [graphite] Add
DrawTypeFlags::kDropShadows
2025-06-16 robertphillips@google.com [graphite] Add new Android-specific
PaintOptions
2025-06-16 fmalita@google.com Revert "move pathops into a module"
2025-06-16 fmalita@google.com Revert "Build fixes after PathOps
relocation"

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-06-17 03:14:26 +00:00
Matan Lurey
753e961332
Replace LinkedHashMap.* with Map.*, which _is_ Linked (#170713)
Pre-work to make it easier to land
https://github.com/flutter/flutter/pull/170435.

The default `Map` constructor is and always has been a `LinkedHashMap`:

https://api.dart.dev/dart-core/Map/Map.html

This change make its easier to relax the type annotation rules in a
future PR.

/cc @eernstg
2025-06-17 02:46:22 +00:00
engine-flutter-autoroll
b42c00bca8
Roll Dart SDK from e8fda1e72d64 to 68d7e34bdabf (1 revision) (#170719)
https://dart.googlesource.com/sdk.git/+log/e8fda1e72d64..68d7e34bdabf

2025-06-16 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-237.0.dev

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-06-17 01:17:38 +00:00
auto-submit[bot]
d108234670
Reverts "Reland "[native assets] Build dev dependencies in flutter test integration_test" (#170686)" (#170718)
<!-- start_original_pr_link -->
Reverts: flutter/flutter#170686
<!-- end_original_pr_link -->
<!-- start_initiating_author -->
Initiated by: matanlurey
<!-- end_initiating_author -->
<!-- start_revert_reason -->
Reason for reverting: Broke [`Windows_mokey
native_assets_android`](https://ci.chromium.org/ui/p/flutter/builders/prod/Windows_mokey%20native_assets_android/2518/overview)
again.
<!-- end_revert_reason -->
<!-- start_original_pr_author -->
Original PR Author: dcharkes
<!-- end_original_pr_author -->

<!-- start_reviewers -->
Reviewed By: {bkonyi, matanlurey}
<!-- end_reviewers -->

<!-- start_revert_body -->
This change reverts the following previous change:
Reland https://github.com/flutter/flutter/pull/170374

Original PR in first commit. Fixes in subsequent commits:

* `flutter` is not on the `PATH` in the device lab, use `_flutterBin`
(consistent with the rest of the test).
   Fixes `flutter` not found.
* `flutter test integration_test` now does not build assets for the host
anymore. `flutter test` builds assets for the host. The `TestCommand` is
now special-case to check for `_isIntegrationTest`.
Fixes `clang++` not found. (It's the compiler for Linux, but we are
running integration tests on an Android device.)

Tests pass locally with:

```
$ cd /Users/dacoharkes/src/flutter/flutter/dev/devicelab && dart bin/test_runner.dart test -t native_assets_android
```

Note:

* The device lab tests are not run on presubmit until
https://github.com/flutter/flutter/issues/170682 is addressed.
* The emulator tests are not run at all atm:
https://github.com/flutter/flutter/issues/170529.
<!-- end_revert_body -->

Co-authored-by: auto-submit[bot] <flutter-engprod-team@google.com>
2025-06-17 00:01:48 +00:00
Renzo Olivares
fe6c9690bf
Update default selectionHeightStyle and selectionWidthStyle for EditableText (#167762)
This change updates the default `selectionHeightStyle` and
`selectionWidthStyle` for `EditableText` to more closely match the
behavior on native platforms.

```dart
/// The default value for [selectionHeightStyle].
///
/// On web platforms, this defaults to [ui.BoxHeightStyle.max].
///
/// On native platforms, this defaults to [ui.BoxHeightStyle.includeLineSpacingMiddle] for all
/// platforms.
static ui.BoxHeightStyle get defaultSelectionHeightStyle {
  if (kIsWeb) {
    return ui.BoxHeightStyle.max;
  }
  switch (defaultTargetPlatform) {
    case TargetPlatform.android:
    case TargetPlatform.fuchsia:
    case TargetPlatform.iOS:
    case TargetPlatform.linux:
    case TargetPlatform.macOS:
    case TargetPlatform.windows:
      return ui.BoxHeightStyle.includeLineSpacingMiddle;
  }
}

/// The default value for [selectionWidthStyle].
///
/// On web platforms, this defaults to [ui.BoxWidthStyle.max] for Apple platforms and
/// [ui.BoxWidthStyle.tight] for all others.
///
/// On non-web platforms, this defaults to [ui.BoxWidthStyle.max] for all
/// platforms.
static ui.BoxWidthStyle get defaultSelectionWidthStyle {
  if (kIsWeb) {
    if (defaultTargetPlatform == TargetPlatform.iOS || WebBrowserDetection.browserIsSafari) {
      return ui.BoxWidthStyle.max;
    }
    return ui.BoxWidthStyle.tight;
  }
  switch (defaultTargetPlatform) {
    case TargetPlatform.android:
    case TargetPlatform.fuchsia:
    case TargetPlatform.iOS:
    case TargetPlatform.linux:
    case TargetPlatform.macOS:
    case TargetPlatform.windows:
      return ui.BoxWidthStyle.max;
  }
}
```

## Native Selection Style Behavior

### Android Native Behavior

| Component Type | UI Framework / Component | Image |
|---|---|---|
| **Static Text** | Android TextView | <img height="400"
alt="native_android_static_textview"
src="https://github.com/user-attachments/assets/34da885c-c3d8-4ecc-baf5-65cd32850aa7"
/> |
| **Static Text** | Jetpack Compose Text | <img height="400"
alt="native_android_static_compose"
src="https://github.com/user-attachments/assets/ef916e8d-3627-4394-b5a1-aa59989ba826"
/> |
| **Static Text** | Chrome (Web) "p element" | <img height="400"
alt="android_chrome_web"
src="https://github.com/user-attachments/assets/b6537871-5d07-470b-bdee-ae0d222b2404"
/> |
| **Text Field** | Android EditText | <img height="400"
alt="native_android_textfield_edittext"
src="https://github.com/user-attachments/assets/ef91c6c3-eed0-4cf5-8b6f-182ecf8ce60b"
/> |
| **Text Field** | Jetpack Compose TextField | <img height="400"
alt="native_android_textfield_compose"
src="https://github.com/user-attachments/assets/891c28ba-66f7-4923-a1d3-839cad3b039c"
/> |

### iOS Native Behavior

| Component Type | UI Framework / Component | Image |
|---|---|---|
| **Text Field** | Native SwiftUI TextEditor | <img height="400"
alt="native_ios_texteditor"
src="https://github.com/user-attachments/assets/b99adb30-8cb3-454e-aa56-41f3cfadeeed"
/> |
| **Text Field** | Native SwiftUI TextField | <img height="400"
alt="native_ios_textfield"
src="https://github.com/user-attachments/assets/0544419b-b9a7-4641-930b-9a123f9a7720"
/> |
| **Static Text** | Safari (Web) "p element" | <img height="400"
alt="mobile_safari_web"
src="https://github.com/user-attachments/assets/6934ed80-4712-4000-bff0-4d5d2833abbe"
/> |

### macOS Native Behavior

| Component Type | UI Framework / Component | Image |
|---|---|---|
| **Static Text** | Native SwiftUI Text | <img height="400"
alt="native_macos_static_text"
src="https://github.com/user-attachments/assets/becf7690-878e-4cf1-b9d7-49725d58fd42"
/> |
| **Static Text** | Chrome (Web) "p element" | <img height="400"
alt="chrome_web"
src="https://github.com/user-attachments/assets/bf38e1c0-7bd6-42b7-8230-71b8365ac1d7"
/> |
| **Static Text** | Firefox (Web) "p element" | <img height="400"
alt="firefox_web"
src="https://github.com/user-attachments/assets/54817628-690b-4243-8bb0-0d94afaf5013"
/> |
| **Static Text** | Safari (Web) "p element" | <img height="400"
alt="safari_web"
src="https://github.com/user-attachments/assets/08ae8a6e-8ea5-4cc5-84f8-49c5f759e910"
/> |
| **Text Field** | Native SwiftUI TextEditor | <img height="400"
alt="native_macos_texteditor"
src="https://github.com/user-attachments/assets/43995c72-acf5-4ef0-99d7-faa3940b16e7"
/> |
| **Text Field** | Native SwiftUI TextField | <img
alt="native_macos_textfield"
src="https://github.com/user-attachments/assets/d5606b23-dff0-47da-a1e8-b1c71047c426"
/> |

## Flutter Selection Style Behavior

### Flutter Before Behavior

This was the behavior on all platforms before this change.

| Component Type | Behavior | Image |
|---|---|---|
| **Text Field** | Flutter TextField | <img height="400"
alt="flutter_before_text_field"
src="https://github.com/user-attachments/assets/014bfc9d-0bbe-49ee-9230-9da80addc675"
/> |
| **Static Text** | Flutter SelectableText | <img height="400"
alt="flutter_before_selectabletext"
src="https://github.com/user-attachments/assets/251956c6-4d7d-4d3e-802a-33718f30cbf3"
/> |

### Flutter Chrome After Behavior

This is the behavior on all chrome web after this change.

| Component Type | Behavior | Image |
|---|---|---|
| **Static Text** | Flutter SelectableText in Chrome | <img height="400"
alt="flutter_after_chrome_selectabletext"
src="https://github.com/user-attachments/assets/167ee998-c9c4-4367-ab77-149514fb2b15"
/> |
| **Text Field** | Flutter TextField in Chrome | <img height="400"
alt="flutter_after_chrome_textfield"
src="https://github.com/user-attachments/assets/76b123df-c818-4304-afb8-7034506e2031"
/> |

### Flutter Safari After Behavior

This is the behavior on Safari after this change. (all iOS browsers, and
Safari on macOS).

| Component Type | Behavior | Image |
|---|---|---|
| **Text Field** | Flutter TextField in Safari | <img height="400"
alt="flutter_after_safari_textfield"
src="https://github.com/user-attachments/assets/c37e80cf-d89a-43aa-baff-f32e94f39b56"
/> |
| **Static Text** | Flutter SelectableText in Safari | <img height="400"
alt="flutter_after_safari_selectabletext"
src="https://github.com/user-attachments/assets/c1a11d76-afb9-4265-af54-e20e183839e1"
/> |

### Flutter Native After Behavior

This is the behavior on native platforms after this change.

| Component Type | Behavior | Image |
|---|---|---|
| **Static Text** | Flutter SelectableText on Native platforms | <img
height="400" alt="flutter_after_native_selectabletext"
src="https://github.com/user-attachments/assets/5506eb4c-13ed-4c04-b680-9d097f20b159"
/> |
| **Text Field** | Flutter TextField on Native platforms | <img
height="400" alt="flutter_after_native_textfield"
src="https://github.com/user-attachments/assets/e65bba53-34d3-480c-9293-d597b587fe70"
/> |

Fixes #68675

## Pre-launch Checklist

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

---------

Co-authored-by: Renzo Olivares <roliv@google.com>
2025-06-16 22:30:31 +00:00
Daco Harkes
b5dbfc3a42
Reland "[native assets] Build dev dependencies in flutter test integration_test" (#170686)
Reland https://github.com/flutter/flutter/pull/170374

Original PR in first commit. Fixes in subsequent commits:

* `flutter` is not on the `PATH` in the device lab, use `_flutterBin`
(consistent with the rest of the test).
   Fixes `flutter` not found.
* `flutter test integration_test` now does not build assets for the host
anymore. `flutter test` builds assets for the host. The `TestCommand` is
now special-case to check for `_isIntegrationTest`.
Fixes `clang++` not found. (It's the compiler for Linux, but we are
running integration tests on an Android device.)

Tests pass locally with:

```
$ cd /Users/dacoharkes/src/flutter/flutter/dev/devicelab && dart bin/test_runner.dart test -t native_assets_android
```

Note:

* The device lab tests are not run on presubmit until
https://github.com/flutter/flutter/issues/170682 is addressed.
* The emulator tests are not run at all atm:
https://github.com/flutter/flutter/issues/170529.
2025-06-16 21:13:12 +00:00
gaaclarke
b0735bfa73
License cpp jun13 (#170620)
Still executing around 35s. It still doesn't match licenses against the
database. I don't expect that to add much time considering how we plan
to do it.

1) fixes the way c strings strip out comments
1) started handling LICENSE files more correctly

## 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-16 21:11:36 +00:00
greyovo
1cc9fcb587
Fix dragging scrollbar down causes unexpected behavior when scrollable has a negative minScrollExtent (#170331)
<!--
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 fixed #170246.

In the original method for calculating the thumb position based on the
offset, the minimum scroll distance was assumed to be 0 by default,
which caused the scrollbar offset fraction to be constrained between 0
and 1. However, when minScrollExtent is negative, this range is
incorrect.

Modifications are listed below:
- The valid range has been updated to be between `minScrollExtent /
scrollableExtent` and `maxScrollExtent / scrollableExtent`.
- Added corresponding test cases for this change.

## 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-16 18:40:00 +00:00
engine-flutter-autoroll
fd92fa9153
Roll Packages from c5ab57a54105 to 03a6abbedabb (1 revision) (#170681)
c5ab57a541...03a6abbeda

2025-06-16 kevmoo@users.noreply.github.com metrics_center: bump outdated
deps, prepare for release (flutter/packages#9421)

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-16 18:36:20 +00:00
Jackson Gardner
dbb105a74d
Reland lazy path and object arenas (#170303)
This PR is an attempt to reland
https://github.com/flutter/flutter/pull/168996

There were some issues that cropped up in the `web_long_running_test`
shards. However, it turns out that these tests don't actually run in
presubmit on any PR that has any engine changes, which is not ideal. I
modified the long running tests to run in presubmit, but this had issues
because apparently a big chunk of these integration tests actually are
trying to download canvaskit from CDN. I changed almost all of the tests
to use local canvaskit (which should make them more reliable and
hermetic). There is one test whose job is to actually test the CDN
itself, and I am leaving that disabled in presubmit for PRs that have
engine changes (since the engine artifacts won't be uploaded to CDN yet)
but the rest of them are all running and passing now.

Also, I fixed the underlying issue that was exposed by the long running
tests, which is that the CanvasKit path clipping stuff in the layer
visitor needs to be aware of LazyPath.
2025-06-16 18:31:10 +00:00
flutter-pub-roller-bot
a16e26fffe
Roll pub packages (#170683)
This PR was generated by `flutter update-packages --force-upgrade`.
2025-06-16 18:31:07 +00:00
Jonah Williams
5100884018
[Impeller] Removal of MSAA for intermediate render targets used in filtering. (#169692)
When drawing a full screen filter effect in an intermediate render
target, MSAA doesn't provide any AA benefit as it only anti aliases the
edges of geometry.
2025-06-16 18:29:03 +00:00
Nicholas Shahan
1155d5b65d
Prevent --web-experimental-hot-reload on web-server (#170610)
When running on the web-server device hot reload option will default to
disabled when `-d web-server` is also passed.
This is temporary until the app can start correctly with hot reload
enabled.

Issue: https://github.com/dart-lang/sdk/issues/60289
2025-06-16 18:29:02 +00:00
engine-flutter-autoroll
82b799d5ec
Roll Fuchsia Linux SDK from qRgW6vhjBdWGGopHL... to XX8LxiX10yPg8EwED... (#170659)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter
Please CC jsimmons@google.com,zra@google.com on the revert to ensure
that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-06-16 16:22:40 +00:00
engine-flutter-autoroll
efeaa9a16e
Roll Skia from f8cd9fe75f21 to d4e426456e7d (4 revisions) (#170669)
https://skia.googlesource.com/skia.git/+log/f8cd9fe75f21..d4e426456e7d

2025-06-16 danieldilan@google.com Add end to end colorspace test
2025-06-16 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 222889ea0395 to 5f9183df4e99 (12 revisions)
2025-06-16 fmalita@google.com Build fixes after PathOps relocation
2025-06-16 robertphillips@google.com [graphite] Add AnalyticClip option
to Precompile

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-06-16 16:22:39 +00:00
Mikhail Novoseltsev
1c8ce957e3
[Android] add abiFilters to Flutter Gradle Plugin (#168293)
fixes #153476 

More context in
https://github.com/flutter/flutter/issues/153476#issuecomment-2849311523
and
https://github.com/flutter/flutter/issues/153476#issuecomment-2866416786

TLDR: `abiFilters` cannot be added to templates (the original issue
proposes that) because it will break the Gradle build if the
`--splits-per-abi` option is provided:

```
Conflicting configuration : 'armeabi-v7a,arm64-v8a,x86_64' in ndk abiFilters cannot be present when splits abi filters are set : armeabi-v7a,arm64-v8a
```

In this PR, `abiFilters` is added programmatically in the Flutter Gradle
Plugin when the `splits-per-abi` option is not provided and only for
non-debuggable builds.

As stated in
https://github.com/flutter/flutter/issues/153476#issuecomment-2866416786,
`abiFilters` are actually useful in cases when a third-party dependency
is used with the `x86` variant. In other cases (such as a fresh Flutter
app project), `abiFilters` are a bit excessive, but they do no harm.

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

## 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-16 16:21:35 +00:00
Srujan Gaddam
3f2e8ba838
Set max request pool size for DDC module loader when in CI (#170565)
Possible fix for https://github.com/flutter/flutter/issues/169574

It looks like the timeouts seem to be specific to downloading scripts.
Specifically, after a certain point, we no longer download any scripts.
Lowering the number of max concurrent requests seems to avoid Chrome
timing out.

This does a refactor as well to make sure we're piping FileSystem,
Logger, and Platform into devfs_web.dart instead of relying on globals
every time. This also fixes a test issue where we were always passing
`isWindows: false` in some test cases instead of checking for the value.

## 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-16 16:21:34 +00:00
engine-flutter-autoroll
fb42702f65
Roll Dart SDK from ae721d7d5b51 to e8fda1e72d64 (1 revision) (#170662)
https://dart.googlesource.com/sdk.git/+log/ae721d7d5b51..e8fda1e72d64

2025-06-16 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-236.0.dev

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-06-16 16:18:07 +00:00
Alex Medinsh
fc7c97c146
Add DropdownButtonFormField value param test (#170518)
This PR adds a new test that verifies that the value param is only used
on initial build and when resetting the field.

Test for
https://github.com/flutter/flutter/pull/170050#issuecomment-2965486000

## 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: Bruno Leroux <bruno.leroux@gmail.com>
2025-06-16 16:18:05 +00:00
auto-submit[bot]
a33b81c3f9
Reverts "[native assets] Build dev dependencies in flutter test integration_test (#170374)" (#170673)
<!-- start_original_pr_link -->
Reverts: flutter/flutter#170374
<!-- end_original_pr_link -->
<!-- start_initiating_author -->
Initiated by: jtmcdole
<!-- end_initiating_author -->
<!-- start_revert_reason -->
Reason for reverting: "Consistently failed across all 3 executions"
<!-- end_revert_reason -->
<!-- start_original_pr_author -->
Original PR Author: dcharkes
<!-- end_original_pr_author -->

<!-- start_reviewers -->
Reviewed By: {vashworth, bkonyi}
<!-- end_reviewers -->

<!-- start_revert_body -->
This change reverts the following previous change:
Closes: https://github.com/flutter/flutter/issues/168961

This PR ensures the build hooks of `dev_dependencies` are run on
`flutter test integration_test`.

`flutter test` already builds dev dependencies. However,
`package:integration_test` is using `flutter assemble` which should not
have dev dependencies included (`flutter build` should not bundle dev
deps).

~~So, this PR adds a build define that's threaded through from `flutter
test` to `flutter assemble`. It's threaded through gradle and xcode via
`BuildInfo` and subsequently read in tool backend where it is added as
an `Environment` define. Finally it is read in the `Target` that builds
the native assets.~~

~~One quirk is `flutter run test integration_test -d flutter-tester`.
(No idea why someone would run that, but it works.) This doesn't spin up
Gradle or XCode. So the environment is set directly.~~

Edit: We use the simpler `kBuildMode` to decide whether to include the
native assets for dev dependencies.

## Testing

* The desktop OSes and `flutter-tester` are tested in
`packages/flutter_tools/test/integration.shard/isolated/native_assets_test.dart`.
* iOS simulator, device, and Android device are tested in the device
lab.
* (All tests were added to existing tests, hopefully these don't start
timing out.)

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

<!-- end_revert_body -->

Co-authored-by: auto-submit[bot] <flutter-engprod-team@google.com>
2025-06-16 15:16:49 +00:00
Daco Harkes
d9c63168c8
[native assets] Roll dependencies (#170586)
Rolls the dependencies to the once published this week.

Covered by existing integration tests.
2025-06-15 14:53:12 +00:00
Daco Harkes
02abf62968
[native assets] Build dev dependencies in flutter test integration_test (#170374)
Closes: https://github.com/flutter/flutter/issues/168961

This PR ensures the build hooks of `dev_dependencies` are run on
`flutter test integration_test`.

`flutter test` already builds dev dependencies. However,
`package:integration_test` is using `flutter assemble` which should not
have dev dependencies included (`flutter build` should not bundle dev
deps).

~~So, this PR adds a build define that's threaded through from `flutter
test` to `flutter assemble`. It's threaded through gradle and xcode via
`BuildInfo` and subsequently read in tool backend where it is added as
an `Environment` define. Finally it is read in the `Target` that builds
the native assets.~~

~~One quirk is `flutter run test integration_test -d flutter-tester`.
(No idea why someone would run that, but it works.) This doesn't spin up
Gradle or XCode. So the environment is set directly.~~

Edit: We use the simpler `kBuildMode` to decide whether to include the
native assets for dev dependencies.

## Testing

* The desktop OSes and `flutter-tester` are tested in
`packages/flutter_tools/test/integration.shard/isolated/native_assets_test.dart`.
* iOS simulator, device, and Android device are tested in the device
lab.
* (All tests were added to existing tests, hopefully these don't start
timing out.)

## 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-15 14:51:38 +00:00
engine-flutter-autoroll
e2e543dbd7
Roll Fuchsia Linux SDK from nUffQhlaVpp0P2Yl6... to qRgW6vhjBdWGGopHL... (#170638)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter
Please CC jsimmons@google.com,zra@google.com on the revert to ensure
that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-06-15 06:17:28 +00:00
Jim Graham
ba56e065a9
[Impeller] eliminate PathReceiver::PathEnd which is only used in one case (#170500)
Fixes: https://github.com/flutter/flutter/issues/169719
2025-06-14 21:01:09 +00:00
Jim Graham
c0db0332b3
[Impeller] Remove use of simple Skia objects (#170494)
Just a few remaining references to Skia types like SkScalar and
SkSize/Rect. After this most of Impeller is Skia-free except for areas
that deal with fonts, images, and the `toolkit/interop` and
`typographer` directories.
2025-06-14 20:59:37 +00:00
engine-flutter-autoroll
883a22dc54
Roll Dart SDK from 533af3e58e48 to ae721d7d5b51 (1 revision) (#170630)
https://dart.googlesource.com/sdk.git/+log/533af3e58e48..ae721d7d5b51

2025-06-14 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-235.0.dev

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-06-14 15:57:42 +00:00
Matan Lurey
d8d53ea78b
Start a dev/checks_tool directory. (#170493)
Towards https://github.com/flutter/flutter/issues/170491.
2025-06-14 15:51:26 +00:00
engine-flutter-autoroll
0f06b78ad3
Roll Fuchsia Linux SDK from lVfYTWxB0rTTuW_k3... to nUffQhlaVpp0P2Yl6... (#170623)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter
Please CC jsimmons@google.com,zra@google.com on the revert to ensure
that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-06-14 04:01:00 +00:00
engine-flutter-autoroll
edb15c5ab6
Roll Dart SDK from 1a6f6d7c6f2c to 533af3e58e48 (6 revisions) (#170622)
https://dart.googlesource.com/sdk.git/+log/1a6f6d7c6f2c..533af3e58e48

2025-06-14 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-234.0.dev
2025-06-13 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-233.0.dev
2025-06-13 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-232.0.dev
2025-06-13 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-231.0.dev
2025-06-13 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-230.0.dev
2025-06-13 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-229.0.dev

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-06-14 03:03:50 +00:00
engine-flutter-autoroll
ac6ce42d59
Roll Skia from 39fc446abf5c to f8cd9fe75f21 (2 revisions) (#170621)
https://skia.googlesource.com/skia.git/+log/39fc446abf5c..f8cd9fe75f21

2025-06-13 mike@reedtribe.org Speed up SkFont::getBounds
2025-06-13 syoussefi@google.com [vulkan] Generate more readable SPIR-V
disassembly

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-06-14 03:00:54 +00:00
Victoria Ashworth
e5d2130357
Centralizes iOS and macOS values (#170257)
Centralizes iOS and macOS hard-coded values to a new enum called
`FlutterDarwinPlatform`. This reduces hard-coded values throughout the
tool. It also adds more attributes to the `XcodeSdk` enum for the same
purpose.

Incremental change towards
https://github.com/flutter/flutter/issues/166486.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [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-13 23:49:44 +00:00