84067 Commits

Author SHA1 Message Date
engine-flutter-autoroll
838d2ddaba
Roll Skia from 32591be9cd3b to 55d98def951d (2 revisions) (#168440)
https://skia.googlesource.com/skia.git/+log/32591be9cd3b..55d98def951d

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

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC
jimgraham@google.com,kjlubick@google.com,robertphillips@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-05-07 05:39:09 +00:00
Chris Bracken
4af869e8d3
macOS: trailing closures for FlutterRunLoop.perform* (#168415)
Support trailing closure syntax in FlutterRunLoop perform methods. This
allows us to write Swift code like:

```
FlutterRunLoop.mainLoop.perform(withDelay: delay) {
  // code.
}
```

This also matches the ordering used in NSRunLoop/RunLoop:
*
https://developer.apple.com/documentation/foundation/runloop/perform(inmodes:block:)?language=objc
*
https://developer.apple.com/documentation/foundation/runloop/perform(inmodes:block:)

Follow-up to flutter/flutter#168174.

No tests since this is just a method rename.

Issue: https://github.com/flutter/flutter/issues/144791

## 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-05-07 04:27:30 +00:00
engine-flutter-autoroll
1d9bec83d7
Roll Fuchsia Linux SDK from SOlRUoAtzxSsarx-6... to _GJje-N2Jk51qtBs6... (#168434)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter
Please CC jimgraham@google.com,zra@google.com on the revert to ensure
that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-05-07 02:56:27 +00:00
Chris Bracken
e89c3927c2
iOS/macOS: Consistent Flutter copyright headers (#168390)
A long time ago, back after the fork from Chromium, we updated all
Chromium BSD copyright notices to Flutter. We did this in the engine,
but not in the buildroot. After the monorepo merge, we've now got a mix.
This corrects Chromium copyright notices for iOS/macOS files only, and
adds a missing copyright header.

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

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

<!-- 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-05-07 00:09:28 +00:00
Jason Simmons
dce18b6fd9
Capture errors when running flutter_tools in the entrypoint_dart_registrant devicelab test (#168411)
See https://github.com/flutter/flutter/issues/168405
2025-05-06 23:43:07 +00:00
MarkZ
7aa6e1b86f
Extending timeouts for DDC macrobenchmarks (#168409)
Dart2JS runs these benchmarks in ~12 min, so it's unsurprising that DDC
takes ~3x longer. It turns out the tests just take forever to run on the
test infra (minutes locally on Macbook Pro). One benchmark in particular
takes 8+ minutes (`bench_material3_components`).
2025-05-06 23:41:08 +00:00
engine-flutter-autoroll
eed2d77269
Roll Skia from 36d1445ad00b to 32591be9cd3b (1 revision) (#168421)
https://skia.googlesource.com/skia.git/+log/36d1445ad00b..32591be9cd3b

2025-05-06 nicolettep@google.com [graphite] Perform flush when going
from using texture copies to reading as input

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC
jimgraham@google.com,kjlubick@google.com,robertphillips@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-05-06 23:36:54 +00:00
Justin McCandless
cdc7ed506b
Ignore pointer on the outgoing route (#168425)
When going back with FadeForwardsPageTransition, this PR makes it
possible to interact with the incoming page before the transition has
finished.

| Before | After |
| --- | --- |
| <video
src="https://github.com/user-attachments/assets/fc2b18cf-b0a3-4be8-9360-361bcfe4a7e0"
/> |<video
src="https://github.com/user-attachments/assets/faaa42fb-9d7a-48df-9012-e99569244db3"
/> |


Fixes https://github.com/flutter/flutter/issues/168424
2025-05-06 23:36:52 +00:00
Jackson Gardner
51ff96b9ac
[skwasm] Dispose underlying picture recorder when ending recording. (#168384)
The picture recorder doesn't have an explicit disposal function, so
instead we should dispose it when `endRecording` is called.

This addresses https://github.com/flutter/flutter/issues/168190
2025-05-06 22:30:24 +00:00
Chinmay Garde
acae343489
[Impeller] libImpeller: Expose access to conservative path bounds. (#168402)
Fixes https://github.com/flutter/flutter/issues/165909
2025-05-06 20:36:09 +00:00
engine-flutter-autoroll
949286ea89
Roll Skia from 5cf5d0ff46d9 to 36d1445ad00b (1 revision) (#168401)
https://skia.googlesource.com/skia.git/+log/5cf5d0ff46d9..36d1445ad00b

2025-05-06 dloehr@google.com Make sure inline static symbols in headers
are visible

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC
jimgraham@google.com,kjlubick@google.com,robertphillips@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-05-06 20:32:20 +00:00
Kostia Sokolovskyi
c781b31320
Add height and width aspects to MediaQuery. (#167829)
<!--
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
-->

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

### Description
- Adds `widthOf`, `maybeWidthOf`, `heightOf`, `maybeHeightOf` functions
to `MediaQuery`
- Adds tests for newly added functions

## 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-05-06 19:35:13 +00:00
engine-flutter-autoroll
ed447e5868
Roll Packages from e064b0400657 to e800da7bccd9 (2 revisions) (#168392)
e064b04006...e800da7bcc

2025-05-06 43054281+camsim99@users.noreply.github.com
[video_player_android] Modify to use `handlesCropAndRotation` to detect
the `SurfaceTexture` Impeller backend (flutter/packages#9107)
2025-05-06 stuartmorgan@google.com [various] Update READMEs of
discontinued packages (flutter/packages#9203)

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-05-06 19:05:47 +00:00
Matan Lurey
a401c5ddde
Add bin/internal/last_engine_commit.sh and tests. (#168387)
Towards https://github.com/flutter/flutter/issues/168273.

Once merged, the recipes branch (specifically `release_packager.py`) can
use this as a lint.

/cc @reidbaker
2025-05-06 19:04:18 +00:00
Victoria Ashworth
397d3e1185
Update mac_ios tests to run on either arm64 or x86 (#168341)
We have more arm64 bots than x86, but most of our tests are on
`mac_ios`, which is filtered to `x86`. This PR removes that filter and
allows tests to run on either arch.

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

## 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-05-06 18:16:01 +00:00
engine-flutter-autoroll
862ce5a986
Roll Skia from 889c5b52227c to 5cf5d0ff46d9 (3 revisions) (#168378)
https://skia.googlesource.com/skia.git/+log/889c5b52227c..5cf5d0ff46d9

2025-05-06 nicolettep@google.com [graphite] Align comment documentation
style for Caps
2025-05-06 robertphillips@google.com Split ChromePrecompileTest's
utilities out into their own file
2025-05-06 bungeman@google.com [pdf] Must add all reserved references

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC
jimgraham@google.com,kjlubick@google.com,robertphillips@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-05-06 17:41:10 +00:00
engine-flutter-autoroll
a3a41226e5
Roll Skia from 646573154de6 to 889c5b52227c (1 revision) (#168363)
https://skia.googlesource.com/skia.git/+log/646573154de6..889c5b52227c

2025-05-06 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from c60d98cef658 to 3540a326ec84 (7 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC
jimgraham@google.com,kjlubick@google.com,robertphillips@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-05-06 10:19:27 +00:00
engine-flutter-autoroll
b4ffba46fc
Roll Skia from 65fd10118ec2 to 646573154de6 (3 revisions) (#168360)
https://skia.googlesource.com/skia.git/+log/65fd10118ec2..646573154de6

2025-05-06 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
SwiftShader from 9dd03f2e4b03 to 093b4d82a49a (1 revision)
2025-05-06 syoussefi@google.com Reland "Load Vulkan dynamic state entry
points"
2025-05-06 syoussefi@google.com [graphite][vulkan] Replace `memset` with
`= {}`

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,robertphillips@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-05-06 07:53:37 +00:00
jcheng
c02d22d8ad
feat(SwitchListTile): ensure that 'isThreeLine' can be configured through the theme. (#166820)
This PR is a continuation of
[165481](https://github.com/flutter/flutter/pull/165481)

Related items also include:
[RadioListTile](https://github.com/flutter/flutter/pull/166964),
[CheckboxListTile](https://github.com/flutter/flutter/pull/166826)

## 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-05-06 05:25:32 +00:00
Kevin Moore
d80c390dc3
[tool] Refactor WebTemplate to be immutable (#168201)
This flows better. No uncertainty about calling the substitutions
function more than once, etc.
2025-05-06 03:28:25 +00:00
John "codefu" McDole
429d7e886a
Upload android-arm64-release treemap to known location (#168349)
fixes: #136011

Logs should now be locate:
* gs://flutter_logs/flutter/_SHA_/android_release_arm64/sizes/
*
https://storage.googleapis.com/flutter_logs/flutter/_SHA_/android_release_arm64/sizes/index.html
2025-05-06 02:05:36 +00:00
jcheng
dfd0a3cb5f
feat(RadioListTile):ensure that 'isThreeLine' can be configured through the (#166964)
This PR is a continuation of
[165481](https://github.com/flutter/flutter/pull/165481)

Related items also include:
[SwitchListTile](https://github.com/flutter/flutter/pull/166820),
[CheckboxListTile](https://github.com/flutter/flutter/pull/166826)

## Pre-launch Checklist

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

---------

Co-authored-by: Tong Mu <dkwingsmt@users.noreply.github.com>
2025-05-06 01:47:26 +00:00
engine-flutter-autoroll
0d2ee2c49c
Roll Fuchsia Linux SDK from hjXORaFgiSd6QjK3D... to SOlRUoAtzxSsarx-6... (#168347)
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-05-06 00:00:57 +00:00
Qun Cheng
826d065919
Revert "Wire up MenuAnchor, MenuBar, MenuItem-related widgets to aria roles (#165596)" (#168339)
This reverts commit 417f47fda55e5ef0505a84ca9ce558ac287a5d25.

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

## 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-05-05 23:57:33 +00:00
jesswrd
9cd0c083c7
Bumping framework Template Defaults to Android 16 (API 36) (#166464)
Updating framework to Android 16 (API 36). This involves updating
template versions to:

`compilesdk` 36
AGP 8.9.1
gradle  8.11.1

They are the recommended minimum versions outlined in the android docs
[here](https://developer.android.com/build/releases/gradle-plugin).

Note: I will bump `targetsdk` in a different PR. Infra changes may be
necessary when bumping `targetsdk`, so rolling it back would be easier
if the change is in a separate PR.

Partially Addresses https://github.com/flutter/flutter/issues/163071

## 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-05-05 23:46:34 +00:00
engine-flutter-autoroll
da6cfc79e0
Roll Skia from c0404ac7ea67 to 65fd10118ec2 (3 revisions) (#168346)
https://skia.googlesource.com/skia.git/+log/c0404ac7ea67..65fd10118ec2

2025-05-05
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-05-05
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-05-05 robertphillips@google.com Fix ChromePrecompileTest for Intel
Macs

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,robertphillips@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-05-05 23:32:28 +00:00
Chris Bracken
2ae0dd195d
macOS: Support writing Swift in the macOS embedder (#168174)
Enables the `swift` tool in the gn mac toolchain and wires up support
for Swift `source_set` targets. Ports `FlutterRunLoop` to Swift.

* Adds `//flutter/build/config/mac:compiler` config that sets up
`swiftflags` for the `swift` tool in the toolchain for macOS, and adds
it to the default configs on `is_mac` builds.

* Adds `mac_swift_lib_paths` in
`engine/src/build/config/apple/apple_sdk.gni` which holds the path of
Swift shared libraries for macOS targets. This is within the appropriate
`macosx` SDK directory within Xcode.

Finally, this code adds Swift code to the embedder and embedder tests as
proof of concept and to prevent regressions. This ports `FlutterRunLoop`
to Swift in order to verify Objective-C imports of Swift via the
bridging header.

Issue: https://github.com/flutter/flutter/issues/144791

## 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-05-05 21:19:24 +00:00
Jason Simmons
da738f3142
Copy Dart SDK _internal/vm/bin sources into the sky_engine package (#168238)
Fixes https://github.com/flutter/flutter/issues/168004
2025-05-05 20:38:52 +00:00
MarkZ
f794a58262
Using headless=new for Chrome macrobenchmarks (#168256)
My newly added DDC macrobenchmarks tests have been timing out on the
test infra. It turns out that `headless` Chrome is significantly slower
than headful Chrome (reasons unknown, but perhaps related to hardware
acceleration). Using `--headless=new` instead of `flutter run`'s
headless flag (which uses the old headless mode) makes my local runs
significantly (10x+) faster.

*This time for sure*
2025-05-05 20:38:51 +00:00
engine-flutter-autoroll
2ef49e7735
Roll Dart SDK from a1e1e2770c1e to 8dc0ecee5adc (1 revision) (#168338)
https://dart.googlesource.com/sdk.git/+log/a1e1e2770c1e..8dc0ecee5adc

2025-05-05 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-97.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-05-05 20:37:08 +00:00
Jason Simmons
0f769d3e21
Check for duplicate archive paths in the engine build configuration JSON files (#168248)
The intent is to catch issues like
https://github.com/flutter/flutter/issues/168180 where multiple builders
are uploading artifacts to the same paths on cloud storage.
2025-05-05 20:30:20 +00:00
Elliott Brooks
78a2a3fa67
[Widget Inspector] Add on-device button for changing default "tap" behavior (#167677)
Fixes https://github.com/flutter/flutter/issues/166118

Adds a second button to the on-device inspector that allows a developer
to temporarily disable the default "tap triggers widget selection"
behavior without fully exiting out of widget selection mode. Fixes an
issue where enabling/disabling widget selection is destructive for some
app set-ups, causing the developer's app to lose state.

## Demo


![new_widget_selection_gif](https://github.com/user-attachments/assets/4f2e96fe-2478-4254-8fe5-4023598f1a5e)

## Material screenshots

### Dark mode

<img width="130" alt="Screenshot 2025-04-23 at 12 22 41 PM"
src="https://github.com/user-attachments/assets/e643fd26-6bcb-43a2-a718-191e1831345f"
/>

<img width="113" alt="Screenshot 2025-04-23 at 12 22 48 PM"
src="https://github.com/user-attachments/assets/5ac81455-64f0-4f07-9b36-b8fd498a9669"
/>

### Light mode

<img width="105" alt="Screenshot 2025-04-23 at 12 21 46 PM"
src="https://github.com/user-attachments/assets/49c67f6f-7d90-4758-83e9-ed8bf5505bae"
/>

<img width="108" alt="Screenshot 2025-04-23 at 12 21 55 PM"
src="https://github.com/user-attachments/assets/aeca0178-872d-441e-ae5f-e9b469d83d60"
/>

## Cupertino screenshots

<img width="399" alt="Screenshot 2025-04-22 at 2 21 46 PM"
src="https://github.com/user-attachments/assets/0ad45cee-15cf-45af-9fa0-c0955296aa29"
/>

### Dark mode

<img width="134" alt="Screenshot 2025-04-23 at 12 20 19 PM"
src="https://github.com/user-attachments/assets/9b34a6c2-5308-465e-b842-0fb180d25865"
/>

<img width="123" alt="Screenshot 2025-04-23 at 12 20 26 PM"
src="https://github.com/user-attachments/assets/7c601831-91c8-440e-98ae-070444574ff9"
/>


### Light mode

<img width="106" alt="Screenshot 2025-04-22 at 2 21 38 PM"
src="https://github.com/user-attachments/assets/517839d5-25d8-42e7-a9b9-f35a77725afc"
/>

<img width="103" alt="Screenshot 2025-04-22 at 2 21 55 PM"
src="https://github.com/user-attachments/assets/390f0b0f-1a9b-4880-b686-fabe102fe7b6"
/>
2025-05-05 19:58:23 +00:00
MarkZ
2e455eb59a
Adding utf-8 encoding to hello world's html template (#168162)
Found this while running `hello_world` with web hot reload. DDC's new
module system expects 'utf-8' encoding.
2025-05-05 19:42:24 +00:00
Reid Baker
bd130eaf53
Update goldens.dart error to point to moved file (#168319)
No issue, found while debugging goldens. 

The file path referenced does not exist. I think the replacement file is
the correct one because it referenced the image that appear related.


https://github.com/search?q=repo%3Aflutter%2Fflutter%20dev%2Ftools%2Fandroid_engine_test%2FREADME.md&type=code

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
2025-05-05 19:09:25 +00:00
Jackson Gardner
2b5ef64fc4
Skwasm heavy (#166619)
This produces a build of Skwasm that works on Firefox and Safari. This
means we use `SkAnimatedImage` for animated gifs and webps and use
builtin ICU data in Skia.

I have unit test suites for Safari and Firefox with dart2wasm and both
`ui` and `engine` test sets. However, there are a few issues with
running these on CI:
* Safari+dart2wasm doesn't work yet until the CI bots are upgraded to
macOS 15, so these have been disabled on CI for now (but you can run the
unit test suite locally).
* Firefox+ui doesn't work because our Linux bots have no GPU and
therefore no WebGL2 support, so that one is disabled. Firefox+dart2wasm
with the `engine` suite is enabled on CI though.

I did make some changes to the host page for our unit test harness so
that Safari actually works though. Even though we're not running on CI,
you can still run locally if you have macOS 15.
2025-05-05 17:56:26 +00:00
Jason Simmons
018c6d44df
Manual roll of Dart from 5c535a368799 to a1e1e2770c1e (#168317) 2025-05-05 17:38:12 +00:00
engine-flutter-autoroll
fa0c0e08a0
Roll Skia from 9e23a55870e9 to c0404ac7ea67 (1 revision) (#168321)
https://skia.googlesource.com/skia.git/+log/9e23a55870e9..c0404ac7ea67

2025-05-05 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from d4c83ace2cdc to c60d98cef658 (7 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC
jsimmons@google.com,kjlubick@google.com,robertphillips@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-05-05 17:32:32 +00:00
Sebastine Odeh
7326addb6a
Cupertino sheet MediaQuery values (#168041)
<!--
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
-->

There's an issue with the Cupertino sheet route in the current stable
version of Flutter. However, it was partly fixed in master. This PR
addresses passing the appropriate bottom padding values to the page
content, which ensures widgets placed in Safe Areas are laid out
correctly.

Before

![image](https://github.com/user-attachments/assets/614c9c56-2aeb-4471-a48b-05337cbe9089)

After

![image](https://github.com/user-attachments/assets/643d05b8-298f-4f33-9004-ca8b6de5f5a1)

Fixes [#167943](https://github.com/flutter/flutter/issues/167943)

## 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-05-05 17:15:34 +00:00
Gray Mackall
ce4aae7fad
Change FGP unit test expect to match on process result instead of exit code (#168278)
Change FGP unit test `expect` to match on process result instead of exit
code. Should give actionable logs on failure.

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

Co-authored-by: Gray Mackall <mackall@google.com>
2025-05-05 17:08:14 +00:00
Jim Graham
c1775a78a7
[Impeller] Use StrokeParameters anywhere stroke is described (#168276)
https://github.com/flutter/flutter/pull/168125 introduced
StrokeParameters to hold all of the stroke-related values, but was only
used in the rendering code. We now use it across Impeller to describe
stroke decorations.
2025-05-05 16:55:23 +00:00
engine-flutter-autoroll
cfa98599e9
Roll Packages from afa43aea03d5 to e064b0400657 (2 revisions) (#168314)
afa43aea03...e064b04006

2025-05-05 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump io.mockk:mockk from 1.14.0 to 1.14.2 in
/packages/shared_preferences/shared_preferences_android/android in the
test-dependencies group across 1 directory (flutter/packages#9201)
2025-05-02 63247997+jmiller-pwi@users.noreply.github.com
[flutter_adaptive_scaffold] allow users to override navigation rail
padding from AdaptiveScaffold constructor (flutter/packages#8433)

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-05-05 16:08:27 +00:00
Ben Konyi
3d0c18b550
[ Widget Preview ] Add typedefs, replace height and width with size (#168063)
Addresses some comments from
[flutter.dev/go/widget-previews-architecture](flutter.dev/go/widget-previews-architecture).
2025-05-05 15:51:14 +00:00
engine-flutter-autoroll
7e9462cdcd
Roll Skia from a72f57a515d5 to 9e23a55870e9 (2 revisions) (#168295)
https://skia.googlesource.com/skia.git/+log/a72f57a515d5..9e23a55870e9

2025-05-04 skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com
Update SKP version
2025-05-03
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC
jsimmons@google.com,kjlubick@google.com,robertphillips@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-05-05 15:08:11 +00:00
Qun Cheng
14c45d944e
Revert "Fix hit-testing order in semantics (#167522)" (#168235)
This reverts commit d9cbff29bca75c8e1cf6a9fe24da44857de9445f.

Fixes https://github.com/flutter/flutter/issues/168164
2025-05-05 01:28:40 +00:00
engine-flutter-autoroll
16e11dbc49
Roll Fuchsia Linux SDK from UVdwr2sfg9MUYIC2S... to hjXORaFgiSd6QjK3D... (#168286)
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-05-04 21:21:33 +00:00
yim
bdb36c50d2
Fix the incorrect position of SliverTree child nodes. (#167928)
Run the code below:
```dart
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';

void main() => runApp(const MaterialApp(home: MyApp()));

class MyApp extends StatefulWidget {
  const MyApp({super.key});

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  final GlobalKey _key = GlobalKey();
  final GlobalKey _childNodeKey = GlobalKey();

  late final List<TreeSliverNode<GlobalKey>> tree = [
    TreeSliverNode<GlobalKey>(_key, expanded: true, children: [
      TreeSliverNode<GlobalKey>(_childNodeKey),
    ]),
  ];

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: CustomScrollView(
        slivers: [
          TreeSliver(
            tree: tree,
            indentation: TreeSliverIndentationType.custom(40),
            treeRowExtentBuilder: (node, dimensions) => 40,
            treeNodeBuilder: (context, node, animationStyle) {
              return Container(
                key: node.content as Key,
                color: node.content == _key ? Colors.blue : Colors.green,
              );
            },
          ),
        ],
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: () {
          final RenderBox rb = _childNodeKey.currentContext!.findRenderObject() as RenderBox;
          print(rb.localToGlobal(Offset.zero));
        },
        child: const Icon(Icons.add),
      ),
    );
  }
}
```
Get the screen:
![Screenshot 2025-04-28 at 22 51
50](https://github.com/user-attachments/assets/1b80a044-81ba-4338-b476-e6a726dd4c84)

When the `floatingActionButton` is clicked, it should print the position
of the green `Container`. The expected result is `Offset(40.0, 40.0)`,
but the actual result is `Offset(0.0, 40.0)`. `hitTest` also produces
incorrect results. This PR fixes the issue.



- [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-05-03 14:07:32 +00:00
engine-flutter-autoroll
c36748ff48
Roll Fuchsia Linux SDK from vqWDpBRU-9GJgmjRr... to UVdwr2sfg9MUYIC2S... (#168261)
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-05-03 07:42:30 +00:00
Jim Graham
619c02f2a0
[Impeller] Fill/StrokePathGeometry use geom objects as path sources (#168125)
When basic rendering operations end up in a "general case" situation in
Impeller, it converts the basic shape into a path and calls `DrawPath`.
But, the creation of the path is expensive and all the mechanisms behind
drawing a path now only need a `PathSource` object which can replay the
path to them.

We now have explicit lightweight path source generators which can feed
the path drawing operations directly from the source data without having
to create a full `impeller::Path` object.
2025-05-03 00:06:37 +00:00
Nick Sparks
bc0d3289cb
InputDecorator - animate between transparent hoverColor and hoverColor (#168244)
<!--
Thanks for filing a pull request!
Reviewers are typically assigned within a week of filing a request.
To learn more about code review, see our documentation on Tree Hygiene:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
-->

As described in https://github.com/flutter/flutter/issues/155169,
TextFields with hoverColor set can have an issue where they flicker as
the mouse enters and exits their bounds.

_BorderContainerState uses a 15ms animation to transition between
non-hovered and hovered states. Part of this animation is a ColorTween
between Colors.transparent and a given hoverColor. Critically,
Colors.transparent is transparent black. On high refresh rate displays
(any display with faster than 60z), this can result in a frame being
rendered where the TextField fill color is a dark, semi-transparent
version of hoverColor.

The immediate solution to this is to animate between hoverColor and a
hoverColor with alpha 0.

Before:
https://github.com/user-attachments/assets/01d62c6a-015d-4dc7-9897-7c3a75ca8aa0
After:
https://github.com/user-attachments/assets/ff51a5b2-ba4a-4508-a111-4c915d31ac46

Fixes https://github.com/flutter/flutter/issues/155169
## 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: Nick Sparks <6109599+nsparks@users.noreply.github.com>
2025-05-02 23:34:04 +00:00
Justin McCandless
9f42991d77
MediaQuery picks up view data changes (#166498)
This fixes a bug in MediaQuery's update logic and removes some
now-unnecessary workaround code.

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

Discovered in
https://github.com/flutter/flutter/pull/165354#discussion_r1999849170
2025-05-02 23:32:32 +00:00