85553 Commits

Author SHA1 Message Date
Ahmed Elsayed
064f6d1509
Fix DropdownButtonFormField focusing when replacing FocusNode (#166645)
fixes #166642

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

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

## Pre-launch Checklist

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

---------

Co-authored-by: Tong Mu <dkwingsmt@users.noreply.github.com>
2025-06-11 18:50:54 +00:00
Loïc Sharma
16422f3c82
Add CupertinoRadio widget of the week video (#170027)
Co-authored-by: Victor Sanni <victorsanniay@gmail.com>
2025-06-11 18:49:41 +00:00
Kishan Rathore
e765ed43a5
Docs: Update docs for suffix icon interaction behaviour (#169828)
Docs: Update docs for suffix icon interaction behaviour
fixes: #167713 

## 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-11 18:49:40 +00:00
Ben Konyi
b9a99683ae
[ Widget Preview ] Don't try to load previews with compile-time errors (#170262)
This change reworks how preview detection is performed to allow for
identifying libraries which contain compile-time errors or transitive
dependencies with compile-time errors.

Previously, introducing a compile-time error into a preview containing
library's dependency chain would result in the preview environment no
longer being updated due to a failed compilation during hot reload.
Users would first need to know to fix the compilation error before being
able to make updates to previews.

With this change, the preview detector builds and maintains a dependency
graph, propagating errors from libraries to their upstream dependencies.
If a file containing a preview would fail to compile, it is no longer
inserted into the widget preview environment. In its place, an error
message is displayed informing the user that there's a compilation error
in a library that needs to be fixed first.

This change needs some follow up work to create a proper UI for
displaying the compilation error messaging, batch processing of bulk
file system operations (e.g., directory deletion) to avoid performance
issues, and some refactoring.

Work towards #166430
2025-06-11 17:57:15 +00:00
Harry Terkelsen
f59e8e5885
[canvaskit] Manually trigger input event in text editing tests for Safari (#170022)
Manually trigger an `input` event to trigger the `handleChange` handler
in the text input element. In Safari for MacOS 15.5, this workaround is
now required.

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

## 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: Mouad Debbar <mdebbar@google.com>
2025-06-11 17:48:41 +00:00
Tirth
b97eca7e91
Tiny clean-up in triage docs (#170429)
<!--
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
-->

In #170084, this little change was missed

## 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].
- [ ] 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-11 17:29:59 +00:00
flutter-pub-roller-bot
6abfad4633
Roll pub packages (#170444)
This PR was generated by `flutter update-packages --force-upgrade`.
2025-06-11 17:28:25 +00:00
Jim Graham
68f39bac27
[Impeller] Avoid creating paths when rendering arcs (#170398)
We now avoid a temporary path object and feed arc paths directly to the
renderer in all `DrawArc` cases.
2025-06-11 16:02:18 +00:00
Bruno Leroux
d6b2a95215
Fix date picker calendar tap targets (portrait mode) (#169163)
## Description

This PR fixes the touch target (and Semantic bounds) for day buttons
shown in the date picker calendar mode.
To do so it changes the dialog size and buttons padding to conform to
the M3 spec, see
https://m3.material.io/components/date-pickers/specs#2d53890e-a08f-4c63-a0d9-abd9e95b4245

### Before


![image](https://github.com/user-attachments/assets/22f906b9-bd95-4996-852e-bc2df4247364)

### After


![image](https://github.com/user-attachments/assets/83fd37e2-2cd1-454d-a13d-f2dcc3220e3b)

## Related Issue

Fixes [DateTimePicker date buttons fail touch target size accessibility
checks](https://github.com/flutter/flutter/issues/158325)

## Tests

Adds 1 test.

## Implementation choice

This PR targets only M3 and portrait mode:
- M3 because M2 dialog picker was not designed to be accessible (day
buttons are 40 pixels).
- Portrait mode only, because there are no specification for the
landscape mode and existing implementations (Google Calendar, Compose)
vary. I will open a separate issue to discuss a possible solution for
landscape mode.
2025-06-11 16:00:50 +00:00
Florin Malita
d95aa4d6e2
Add SK_SUPPORT_UNSPANNED_APIS staging flag (#170139)
Skia is updating its public APIs to use spans instead of rawptr + count.

This is a temporary flag to enable the old style entry points while
clients are being updated.

## 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 `///`).
- [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-11 15:59:19 +00:00
engine-flutter-autoroll
0cb0c5590d
Roll Dart SDK from 6290dfd1d88a to b569246d64bc (4 revisions) (#170430)
https://dart.googlesource.com/sdk.git/+log/6290dfd1d88a..b569246d64bc

2025-06-11 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-220.0.dev
2025-06-11 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-219.0.dev
2025-06-11 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-218.0.dev
2025-06-10 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-217.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-11 15:59:19 +00:00
engine-flutter-autoroll
46a225fd68
Roll Skia from 910070084066 to b78fdc3ba26b (33 revisions) (#170412)
Roll Skia from 910070084066 to b78fdc3ba26b (33 revisions)

https://skia.googlesource.com/skia.git/+log/910070084066..b78fdc3ba26b

2025-06-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from 3d47c8a32f07 to 9d27097cc7dd (14 revisions)
2025-06-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
SwiftShader from a857503547cb to 155f095a8c63 (2 revisions)
2025-06-11
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-06-10 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from d9842c624bd1 to e16ef854c44f (6 revisions)
2025-06-10 danieldilan@google.com Reland "[png] Simplify extra endian
transform for SkPngEncode"
2025-06-10 lukasza@chromium.org [rust png] Reset
`fIncrementalDecodingState` after nonrecoverable errors
2025-06-10 jreck@google.com Add host_supported to libskia_skcms
2025-06-10 syoussefi@google.com [graphite][vulkan] Disable MSAA on Intel
2025-06-10 robertphillips@google.com [graphite] Fold ColorFilters and
constant Shaders into a Solid Color
2025-06-10 mike@reedtribe.org Use SkSpan in SkTextBlob API
2025-06-10 mike@reedtribe.org Use SkSpan for dashing
2025-06-10 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from fe4617b72605 to d9842c624bd1 (5 revisions)
2025-06-10 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from 3a15fab06cff to a787766551aa (7 revisions)
2025-06-10 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia
Infra from 3c7e00b52946 to 29821d9a17ae (13 revisions)
2025-06-10 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from f3220117fc62 to 3d47c8a32f07 (12 revisions)
2025-06-09 ccameron@chromium.org HDR v2: Add no-op OOTF parameters to
sk_color_space_transform
2025-06-09 syoussefi@google.com [vulkan] Require Vulkan 1.1 in Ganesh
2025-06-09 mike@reedtribe.org Use size_t for font/typeface return values
(to match span's)
2025-06-09 syoussefi@google.com [graphite][vulkan] Use
VK_EXT_graphics_pipeline_library
2025-06-09 thomsmit@google.com Reland "[graphite] Fix clamping bug on
Intel UHD 630."
2025-06-09 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from d5d3942f4b8f to fe4617b72605 (1 revision)
2025-06-09 jreck@google.com Add dng sdk 1.4 -> 1.7.1 migration compat
2025-06-09 mike@reedtribe.org Use SkSpan in read and write buffers
2025-06-09 mike@reedtribe.org Use new span APIS (time to dogfood)
2025-06-09 skia-autoroll@skia-public.iam.gserviceaccount.com Manual Roll
vulkan-deps from 1c3b39ad6dc0 to d5d3942f4b8f (14 revisions)
2025-06-09 bungeman@google.com Remove many deprecated declarations
2025-06-09 syoussefi@google.com [vulkan] Apply RelaxedPrecision to
OpImageSampleImplicitLod
2025-06-09 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from db9624073324 to 3a15fab06cff (4 revisions)
2025-06-09 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
SwiftShader from 11dc1b167af4 to a857503547cb (1 revision)
2025-06-09 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia
Infra from 3bbfa4528971 to 3c7e00b52946 (5 revisions)
2025-06-09 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from 63ca6919b752 to f3220117fc62 (31 revisions)
2025-06-08 ccameron@chromium.org SkColorSpaceXformSteps: Start to add
support for HLG and PQ
2025-06-08 skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com
Update SKP version

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

...
2025-06-11 15:57:05 +00:00
Kaylee Lubick
b4219783bb
Use pathops module groups (#169857)
Skia is moving its [pathops code around](http://review.skia.org/999760).
In http://review.skia.org/1001216 we added a new set of filegroups to
facilitate this. This updates the BUILD.gn rules to use those new
groups.

## 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 `///`).
- [ 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-11 14:36:04 +00:00
flutter-pub-roller-bot
4067b941d8
Roll pub packages (#170399)
This PR was generated by `flutter update-packages --force-upgrade`.
2025-06-10 23:38:27 +00:00
Harry Terkelsen
db8a64f90d
Verify old version of Python has the lib2to3 import available (#170187)
The `yapf.sh` script checks for specific "known-to-work-with-YAPF"
versions of Python to run YAPF with. On my machine, I have `python3.11`
and `python3.12` (`python3` is a symlink to `python3.12`). However, the
`python3.11` release doesn't have `lib2to3` so the YAPF script fails
with:

```
Checking Python formatting...
To fix, run `et format` or:                                                                                   

git apply <<DONE
  /usr/local/google/home/het/Projects/flutter/engine/src/flutter/tools/gn
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/usr/local/google/home/het/Projects/flutter/engine/src/flutter/third_party/yapf/yapf/__main__.py", line 16, in <module>
    import yapf
  File "/usr/local/google/home/het/Projects/flutter/engine/src/flutter/third_party/yapf/yapf/__init__.py", line 35, in <module>
    from yapf.yapflib import errors
  File "/usr/local/google/home/het/Projects/flutter/engine/src/flutter/third_party/yapf/yapf/yapflib/errors.py", line 16, in <module>
    from lib2to3.pgen2 import tokenize
ModuleNotFoundError: No module named 'lib2to3'

DONE
```

On my Ubuntu machine I cannot install `lib2to3` through normal APT
packages; `apt install python3.11-lib2to3` fails since that package has
been obsoleted. I've been able to work around this by manually editing
the `yapf.sh` script to check if `lib2to3` can be imported before using
that version of Python.

See https://github.com/flutter/flutter/issues/158384

## 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-10 22:51:57 +00:00
Jason Simmons
3f99c8d192
Use "flutter pub get" to resolve packages when building the docs snippets tool (#170381)
"flutter pub get" should be used instead of "dart pub get" for packages
within the Flutter pub workspace.

This was causing issues for some runs of the docs_test builder on CI.

(example:
https://ci.chromium.org/ui/p/flutter/builders/try/Linux%20docs_test/68448/overview)
2025-06-10 22:51:23 +00:00
Jonah Williams
d1f63480c4
[engine] Reland: ensure engines spawned from an engine using dynamic rendering selection still use the dynamic surface. (#170389)
Reland of https://github.com/flutter/flutter/pull/170313

We were missing a call to android_surface->SetupImpellerSurface(); which
happened to just work before.
2025-06-10 22:07:09 +00:00
Jia Hao
32b513bbb2
Revert "Add call to Dart_NotifyDestroyed when the flutter view is des… (#170309)
…troyed. (flutter/engine#37539)"

This reverts commit 7296b2b66dac82f04ebe9017320bde81a7b5f486.

In b/422322882, we have done a small experiment on addtoapp Android,
with and without a patched engine where `Dart_NotifyDestroyed` is not
called:

1. Add a Flutter view
2. Measure memory with `adb shell dumpsys meminfo`
3. Call detach
5. Measure memory again

"Call detach" refers to the following pseudocode:

```kt
    flutterViewContainer.removeView(flutterView)
    engine.activityControlSurface.detachFromActivity()
    engine.lifecycleChannel.appIsDetached()
    flutterView!!.detachFromFlutterEngine()
```

We observed that the memory recordings with and without the patched
engine are mostly the same. @a-siva also mentioned that
7296b2b66dac82f04ebe9017320bde81a7b5f486 could be no longer needed
today.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] 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-10 21:34:29 +00:00
likir09
f01d7e9291
fix: set versionCodeOverride when split-per-abi is specified (#169816)
Fix: set versionCodeOverride when using --split-per-abi during flutter
build
fixes: #169790

## 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-10 21:06:20 +00:00
John "codefu" McDole
45efd04bc9
fix: Skip native assets build test (flaky, takes 15m+) (#170383)
fixes #170382, which is timing out at 6% flakey
2025-06-10 20:47:51 +00:00
Flutter GitHub Bot
3c02bf1613
Marks Linux web_benchmarks_ddc to be unflaky (#167631)
<!-- meta-tags: To be used by the automation script only, DO NOT MODIFY.
{
  "name": "Linux web_benchmarks_ddc"
}
-->
The test has been passing for [50 consecutive
runs](https://data.corp.google.com/sites/flutter_infra_metrics_datasite/flutter_check_test_flakiness_status_dashboard/?p=BUILDER_NAME:%22Linux%20web_benchmarks_ddc%22).
This test can be marked as unflaky.

Co-authored-by: Mouad Debbar <mdebbar@google.com>
2025-06-10 20:46:52 +00:00
Flutter GitHub Bot
838f672f25
Marks Linux web_benchmarks_ddc_hot_reload to be unflaky (#168807)
<!-- meta-tags: To be used by the automation script only, DO NOT MODIFY.
{
  "name": "Linux web_benchmarks_ddc_hot_reload"
}
-->
The test has been passing for [50 consecutive
runs](https://data.corp.google.com/sites/flutter_infra_metrics_datasite/flutter_check_test_flakiness_status_dashboard/?p=BUILDER_NAME:%22Linux%20web_benchmarks_ddc_hot_reload%22).
This test can be marked as unflaky.

Co-authored-by: Mouad Debbar <mdebbar@google.com>
2025-06-10 20:43:18 +00:00
auto-submit[bot]
03e445e71c
Reverts "[engine] ensure engines spawned from an engine using dynamic rendering selection still use the dynamic surface. (#170313)" (#170377)
<!-- start_original_pr_link -->
Reverts: flutter/flutter#170313
<!-- end_original_pr_link -->
<!-- start_initiating_author -->
Initiated by: jonahwilliams
<!-- end_initiating_author -->
<!-- start_revert_reason -->
Reason for reverting: broke tree
<!-- end_revert_reason -->
<!-- start_original_pr_author -->
Original PR Author: jonahwilliams
<!-- end_original_pr_author -->

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

<!-- start_revert_body -->
This change reverts the following previous change:
The fact that this landed and failed no tests originally likely
indicates we have no tests using Engine.spawn APIs. Seems bad.


Fixes https://github.com/flutter/flutter/issues/170295
<!-- end_revert_body -->

Co-authored-by: auto-submit[bot] <flutter-engprod-team@google.com>
2025-06-10 18:53:20 +00:00
Hannah Jin
cb01defdcf
[a11y] Semantics flag refactor step 2: embedder part (#167738)
issue: https://github.com/flutter/flutter/issues/166101, overall goal is
to update semantics flag to be a struct/class to support more than 32
flags.


step 1: https://github.com/flutter/flutter/pull/167421 updated
semantics_node.h and dart:ui
step 2(this PR): Update Embedder part to use a struct instead of a int
bit mask.
step 3: https://github.com/flutter/flutter/pull/167771 Update Framework
use the SemanticsFlags class instead of bitmask
step 4 https://github.com/flutter/flutter/pull/168852 Update web engine
to use the new class and update SemanticsUpdateBuilder.updateNode to
pass the new class instead of bitmask

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

---------

Co-authored-by: Chris Bracken <chris@bracken.jp>
Co-authored-by: Loïc Sharma <737941+loic-sharma@users.noreply.github.com>
2025-06-10 18:11:07 +00:00
engine-flutter-autoroll
83c86873fe
Roll Dart SDK from c26e7ca44805 to 6290dfd1d88a (5 revisions) (#170363)
https://dart.googlesource.com/sdk.git/+log/c26e7ca44805..6290dfd1d88a

2025-06-10 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-216.0.dev
2025-06-10 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-215.0.dev
2025-06-10 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-214.0.dev
2025-06-09 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-213.0.dev
2025-06-09 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-212.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-10 18:07:08 +00:00
Matan Lurey
70a780548d
Remove pubspec.lock files for flutter_tools and widget_preview_scaffold. (#170364)
Closes https://github.com/flutter/flutter/issues/170264.

I believe these files were _accidentally_ introduced in
https://github.com/flutter/flutter/pull/168662, as part of the
`workspace`-ifying of `flutter/flutter`; these two packages are _not_
part of the workspace, and there is special logic in
`bin/internal/shared.sh` (i.e. the entrypoint to `flutter`) that expects
this file to be updated:


2d30ce56fe/bin/internal/shared.sh (L131)

We can revisit this if the pub team has advice on what to do; for now
helps the periodic failures described in
https://github.com/flutter/flutter/issues/170264.
2025-06-10 18:07:08 +00:00
Jonah Williams
389f10e678
[engine] ensure engines spawned from an engine using dynamic rendering selection still use the dynamic surface. (#170313)
The fact that this landed and failed no tests originally likely
indicates we have no tests using Engine.spawn APIs. Seems bad.


Fixes https://github.com/flutter/flutter/issues/170295
2025-06-10 17:23:06 +00:00
Jonah Williams
2d30ce56fe
[engine] dont double free surface texture interop objects. (#170284)
Fixes https://github.com/flutter/flutter/issues/152459

I suspect the double free is related to
https://github.com/flutter/flutter/issues/162147 .

With the Impeller backend, the second free is performed by the reactor
and comes only after the application has returned to the foreground.
This increaases the likelyhood that we nuke a handle that is in active
use by another part of the system.

Since SurfaceTexture:: detachFromGLContext is documented as releasing
the texture, we don't need to free it at all and can "leak" it on our
side.
2025-06-10 16:25:12 +00:00
Michael Ludwig
ee0eb22cdb
Update test_vulkan_context.cc to use Vulkan 1.1 (#170351)
Skia is moving to require 1.1 as its minimum supported version instead
of 1.0.

This is part of an effort to clean up and consolidate Vulkan
initialization logic, which gets much easier with some of the extensions
that were promoted to 1.1. This is for skbug.com/422204178 and required
to roll https://skia-review.googlesource.com/c/skia/+/1002391 into
Flutter.

## 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.
- [ ] 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-10 16:25:12 +00:00
gaaclarke
8483f1a766
Updated templates to avoid the LaunchEngine (#169998)
## 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-10 14:09:14 +00:00
gaaclarke
386f767f36
licenses_cpp: initial commit (#169105)
Initial commit for the c++ license checker.

This lays the foundation for all the technical challenges. The logic
isn't 100% what we want yet. This is a facsimile of the operations we
want to perform and currently it operates in 30s as opposed to 30m with
the old license chcker.

Included in this PR:
1) Sets up BUILD.gn
   1) Makes RE2 available to the repo.
   1) Sets up the test infrastructure (integration and unit tests).
   1) Sets up the executable.
   1) Sets up VSCode integration
1) Sets up the CI (macos builds for now)
1) Sets up logic
   1) Sets up the crawling through the tree.
   1) Sets up flex lexer for comments.
   1) Runs git subprocesses.
   1) Parses command line arguments.
1) Sets up data practices
   1) Allow/deny lists added.
   1) In memory representation of license catalog added.

## 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-10 14:07:23 +00:00
Valentin Vignal
b086fe7b79
Add backgroundColor to Radio (#169415)
Part of https://github.com/flutter/flutter/issues/168787

Adds `backgroundColor` property to `Radio`

This code sample is now possible:

<details>

<summary>Example</summary>

```dart
// Copyright 2014 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

import 'package:flutter/material.dart';

void main() {
  runApp(const MyWidget());
}

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

  @override
  State<MyWidget> createState() => _MyWidgetState();
}

class _MyWidgetState extends State<MyWidget> {
  bool? _value;

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: Column(
          children: <Widget>[
            Radio<bool>(
              value: true,
              groupValue: _value,
              toggleable: true,
              onChanged: (bool? value) {
                setState(() {
                  // Toggle the value when the radio button is pressed
                  _value = value;
                });
              },
              activeColor: Colors.red,
              fillColor: MaterialStateProperty.resolveWith<Color>((Set<MaterialState> states) {
                if (states.contains(MaterialState.selected)) {
                  return Colors.green;
                }
                return Colors.blue; // Default color when not selected
              }),
              backgroundColor: MaterialStateProperty.resolveWith<Color>((
                Set<MaterialState> states,
              ) {
                if (states.contains(MaterialState.selected)) {
                  return Colors.orange.withOpacity(0.5);
                }
                return Colors.purple.withOpacity(0.5); // Default background color when not selected
              }),
            ),
            Radio<bool>(
              value: false,
              groupValue: _value,
              toggleable: true,
              onChanged: (bool? value) {
                setState(() {
                  // Toggle the value when the radio button is pressed
                  _value = value;
                });
              },
            ),
          ],
        ),
      ),
    );
  }
}
```
</details>


https://github.com/user-attachments/assets/d1a9d422-89f6-4b28-bb6c-add6ead13a21




## 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-10 01:38:08 +00:00
gaaclarke
85867b0911
Export FlutterSceneDelegate (#170169)
This allows people to subclass FlutterSceneDelegate. This is necessary
for many workflows like capturing launchoptions.

## 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-10 00:59:54 +00:00
gaaclarke
af6cd4e7ac
Removed the FlutterViewController.pluginRegistrant (#169995)
issue: https://github.com/flutter/flutter/issues/167267

We opted for FlutterAppDelegate.pluginRegistrant since the IBOutlets
couldn't be loaded the way we link Flutter (via a bespoke script instead
of using xcode).

## 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-09 20:44:13 +00:00
Jim Graham
b9e7ba3fe4
[Impeller] Avoid allocating path for dashed lines (#169881)
We use the new algorithmically generated `PathSource` mechanism for
generating dashed lines to avoid allocating a growable path object.
2025-06-09 20:12:00 +00:00
chunhtai
60cbfb76a2
Fixes inputDecoration sibling explicit child not included in semantic… (#170079)
…s tree

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

## 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-09 20:10:46 +00:00
Victoria Ashworth
89c91b8386
Remove lldb warnings (#169673)
The LLDB requirement is no longer pressing, so remove warnings for now.

## 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-09 20:09:25 +00:00
Victoria Ashworth
56d4b7bd35
Invalidate build target when new output file is added (#170253)
Build targets are re-run when invalidated. This PR changes it so when a
new output file is added to the expected output files, the build target
will be invalidated and re-run.

This PR also changes `canSkip` to an async call.

These changes are needed for
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-09 17:42:52 +00:00
Jim Graham
88a889a089
[Impeller] Fix vertex allocation counts for flat curves (#170194)
The code that estimated the vertex counts for filling paths was not
taking into account that the minimum number of points allocated for a
curve segment is 1. The iteration estimates will return "don't bother to
subdivide the curve" cases as "0 subdivisions" and we estimated no
vertices would be generated. In fact, the rendering code would always
emit the final point regardless of the subdivision estimate. Other cases
that returned a value >0 were already accurate.
2025-06-09 17:25:27 +00:00
Kostia Sokolovskyi
1b9502b007
Add debugOverridePlatformViewRegistry to HtmlElementView test. (#170163)
### Description
- Adds `debugOverridePlatformViewRegistry` usage to `HtmlElementView`
tests
- Removes private `debugOverridePlatformViewRegistry` from
`_html_element_view_web.dart`

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

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-09 15:01:53 +00:00
engine-flutter-autoroll
e9e989bef3
Roll Dart SDK from f8e88f6ce02a to c26e7ca44805 (1 revision) (#170198)
https://dart.googlesource.com/sdk.git/+log/f8e88f6ce02a..c26e7ca44805

2025-06-07 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-211.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 chinmaygarde@google.com,dart-vm-team@google.com on the revert
to ensure that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-06-07 11:45:31 +00:00
engine-flutter-autoroll
2eec076321
Roll Dart SDK from 239174405ad0 to f8e88f6ce02a (14 revisions) (#170182)
https://dart.googlesource.com/sdk.git/+log/239174405ad0..f8e88f6ce02a

2025-06-06 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-210.0.dev
2025-06-06 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-209.0.dev
2025-06-06 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-208.0.dev
2025-06-06 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-207.0.dev
2025-06-06 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-206.0.dev
2025-06-05 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-205.0.dev
2025-06-05 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-204.0.dev
2025-06-05 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-203.0.dev
2025-06-05 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-202.0.dev
2025-06-04 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-201.0.dev
2025-06-04 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-200.0.dev
2025-06-04 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-199.0.dev
2025-06-04 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-198.0.dev
2025-06-03 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-197.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 chinmaygarde@google.com,dart-vm-team@google.com on the revert
to ensure that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-06-06 23:40:24 +00:00
Koji Wakamiya
f4bd508c28
Dispose ImmutableBuffer at web_ui.instantiateImageCodecFromBuffer and web_ui.instantiateImageCodecWithSize (#161488)
fix https://github.com/flutter/flutter/issues/150016

Fixed `instantiateImageCodecFromBuffer` and
`instantiateImageCodecWithSize` and added tests.

doc

> The buffer will be disposed by this method once the codec has been
created, so the caller must relinquish ownership of the buffer when they
call this method.

*
https://api.flutter.dev/flutter/dart-ui/instantiateImageCodecFromBuffer.html
*
https://api.flutter.dev/flutter/dart-ui/instantiateImageCodecWithSize.html

ui


bd1ebf2e14/engine/src/flutter/lib/ui/painting.dart (L2484-L2504)

bd1ebf2e14/engine/src/flutter/lib/ui/painting.dart (L2541-L2558)

web_ui


bd1ebf2e14/engine/src/flutter/lib/web_ui/lib/painting.dart (L640-L679)

## 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: Mouad Debbar <mdebbar@google.com>
2025-06-06 23:36:16 +00:00
Hannah Jin
7769f98c33
[a11y] Semanctis flag refactor step 4: web and updateNode (#168852)
issue: https://github.com/flutter/flutter/issues/166101, overall goal is
to update semantics flag to be a struct/class to support more than 32
flags.

step 1: https://github.com/flutter/flutter/pull/167421 Update
semantics_node.h and dart:ui
step 2: https://github.com/flutter/flutter/pull/167738 Update Embedder
part to use a struct instead of a int bit mask.
step 3: https://github.com/flutter/flutter/pull/167771 Update Framework
use the SemanticsFlags class instead of bitmask
step 4 (this PR) Update web engine to use the new class and update
SemanticsUpdateBuilder.updateNode to pass a list of bools instead of
bitmask

TODO:

flutter_tester
use the SemanticsFlags class instead of bitmask


[apicheck_test.dart](https://github.com/flutter/flutter/pull/167421/files#diff-69aefaacf1041f639974044962123bfae0756ce86032ac1f26256099425d7a5a)
Add this test back

## 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-06 23:17:20 +00:00
Zachary Anderson
14472b4aed
Reland workflow cache (#170111)
Put the Android SDK and pub cache under the workflow's workspace
directory instead of the worker's `$HOME` directory. In order to avoid
the pub cache and Android SDK being nested inside of the Flutter
checkout, this change also moves the Flutter checkout to a subdirectory
of the workspace directory called `flutter`.

---------

Co-authored-by: John "codefu" McDole <codefu@google.com>
2025-06-06 22:57:26 +00:00
zhongliugo
ea83a6a072
Fix VoiceOver tab activation by adding tappable behavior to SemanticTab (#170076)
## Description
This pull request fixes VoiceOver tab activation by adding tappable
behavior to the SemanticTab class in the Flutter web engine. The fix
ensures that tabs can be properly activated using assistive technology
commands like VoiceOver's ctrl-option-space, making tab navigation fully
accessible for screen reader users.

## Before
When using VoiceOver to navigate tabs in a Flutter web app, users were
unable to activate tabs using the standard VoiceOver activation command
(ctrl-option-space). The SemanticTab class was missing the Tappable
semantic behavior that enables assistive technology interaction, causing
screen readers to treat tabs as non-interactive elements despite having
tap handlers in the Flutter framework.

**Before behavior:**
https://tab-0605-before.web.app/
- Navigate to a tab using VoiceOver (ctrl-option-arrow)
- Attempt to activate the tab with ctrl-option-space
- Tab does not respond to activation command
- Users cannot switch between tabs using assistive technology

## After
VoiceOver and other screen reader users can now properly activate tabs
using standard assistive technology commands. Tabs respond correctly to
ctrl-option-space and other activation gestures, providing full keyboard
accessibility for tab navigation.

**After behavior:**
https://tab-0605-after.web.app/
- Navigate to a tab using VoiceOver (ctrl-option-arrow)
- Activate the tab with ctrl-option-space
- Tab switches correctly, displaying the associated tab panel
- Consistent behavior across all assistive technologies

## Changes Made
- Added `addTappable()` call to `SemanticTab` constructor in `tabs.dart`
- Added test case "tab with tap action" to verify DOM elements receive
the `flt-tappable` attribute
- Ensures tabs with `hasTap: true` are properly marked as interactive
for assistive technologies

## Testing
Added unit test that verifies:
- Tabs with tap actions receive the `flt-tappable` DOM attribute
- SemanticTab properly integrates with the existing tappable behavior
system

## Issue Fixed
This PR addresses GitHub Issue #169279, which reports that VoiceOver
doesn't allow users to click tabs in Flutter web applications.


## 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-06 22:15:18 +00:00
Jason Simmons
8caedde6cc
Redirect the output of the "pub upgrade" command run by bin/flutter to stderr (#170174)
The dev/bots/analyze.dart script is now running "flutter pub deps
--json" to query packages in the Flutter workspace (see
https://github.com/flutter/flutter/pull/169556)

analyze.dart is capturing the stdout of that bin/flutter command and
expecting the output to contain only JSON. If the flutter_tools snapshot
needs to be rebuilt, then the output of the pub command invoked by the
rebuild should not show up in stdout.
2025-06-06 22:12:09 +00:00
Qun Cheng
39ce615530
Add landmark roles (#168931)
This PR is to add ARIA landmark roles to `SemanticsRole`: complementary,
contentInfo, main, navigation and region.

I skipped `sectionhead` because it is an abstract role based on the [MDN
docs](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Reference/Roles/sectionhead_role#:~:text=The%20structural%20sectionhead%20role%20is%20an%20abstract%20role%20for%20the%20subclass%20roles%20that%20identify%20the%20labels%20or%20summaries%20of%20the%20sections%20they%20label.%20The%20role%20must%20not%20be%20used.)
.

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

## 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-06 21:51:08 +00:00
Alex Medinsh
ce058e0be0
Trigger CupertinoPicker haptics in the middle of the item (#169670)
Towards https://github.com/flutter/flutter/issues/169606

This PR only fixes the haptic behaviour of `CupertinoPicker`, which now
triggers only when passing the middle of the item. Haptic feedback is
now also not trigger when tapping on an item to scroll to.

## 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-06 21:21:15 +00:00
engine-flutter-autoroll
631ab1729a
Roll Skia from c810c9ba87fe to 910070084066 (29 revisions) (#170165)
https://skia.googlesource.com/skia.git/+log/c810c9ba87fe..910070084066

2025-06-06 mike@reedtribe.org use SkSpan in SkMatrix API
2025-06-06 syoussefi@google.com [graphite][vulkan] Minimize graphics
pipeline key
2025-06-06 syoussefi@google.com [graphite][vulkan] Use vertex input
dynamic state
2025-06-06 mike@reedtribe.org don't define SK_SUPPORT_UNSPANNED_API: it
is in SkTypes.h
2025-06-06 mike@reedtribe.org static bounds methods
2025-06-06 syoussefi@google.com [vulkan] Fix feature checks for YCbCr's
chroma filter
2025-06-06 syoussefi@google.com [vulkan] Apply RelaxedPrecision to
texture/atomic intrinsics
2025-06-06 thomsmit@google.com Revert "[graphite] Fix clamping bug on
Intel UHD 630."
2025-06-06 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from ef31b3ed1c0e to db9624073324 (8 revisions)
2025-06-06
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-06-06 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia
Infra from 8b4c1b14163e to 3bbfa4528971 (9 revisions)
2025-06-06 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
SwiftShader from b62ac8aa106b to 11dc1b167af4 (2 revisions)
2025-06-06 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from f8d7c6eea2f0 to 63ca6919b752 (19 revisions)
2025-06-06 syoussefi@google.com [graphite][vulkan] Optimize
sample-count-support check
2025-06-06 skia-autoroll@skia-public.iam.gserviceaccount.com Roll skcms
from e12ef7c0da42 to 1915b4d7ccd3 (1 revision)
2025-06-05 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 0dbc05833984 to 1c3b39ad6dc0 (3 revisions)
2025-06-05 syoussefi@google.com Replace bug ids with mapped ids in the
new issue tracker
2025-06-05
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-06-05 bungeman@google.com Revert "[graphite] Use HW blends for
kPlus on unorm texture formats"
2025-06-05 bungeman@google.com Remove support for iOS12
2025-06-05 aswolfers@google.com Revert "Support GL texture for BGRA8
format"
2025-06-05 thomsmit@google.com [graphite] Fix clamping bug on Intel UHD
630.
2025-06-05 thomsmit@google.com [graphite] Disable
DynamicVerticesPaddingTest
2025-06-05 nicolettep@google.com Recommend persistent default install
location for Android NDK
2025-06-05 danieldilan@google.com Revert "[png] Simplify extra endian
transform for SkPngEncode"
2025-06-05 danieldilan@google.com Implement drawCoverageMask for
SkBitmapDevice
2025-06-05 syoussefi@google.com Fix resource loading in Android apks
2025-06-05 borenet@google.com [infra] Add jobs for MacOS 11
2025-06-05 mike@reedtribe.org Use SkSpan in pathbuilder API

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brettos@google.com,chinmaygarde@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-06 19:49:35 +00:00