85553 Commits

Author SHA1 Message Date
engine-flutter-autoroll
36ea2bdeab
Roll Fuchsia Linux SDK from _zS92klQ4fiwoImf3... to pulsQbHjgvxS4Z1DQ... (#169849)
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 codefu@google.com,zra@google.com on the revert to ensure that
a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-06-02 10:22:19 +00:00
Bruno Leroux
0b3ba809cc
Revert "Fix NavigationBar indicator overlay color (#164484)" (#169497)
## Description

This PR reverts the change from [Fix NavigationBar indicator overlay
color](https://github.com/flutter/flutter/pull/164484) as it leads to
several regressions.

The change was very small: replacing a Container (which obscured the
overlay) with an Ink. Unfortunately this leads to some rendering issues
which seem related to the Ink painting not being fully in sync with the
animation logic implemented by `NavigationIndicator`.
I investigated this but did not find an obvious solution. So I would
prefer to revert https://github.com/flutter/flutter/pull/164484 as the
issue it fixed has less impact than the regression.
cc @justinmc for review and also in case you have some clue about why an
Ink would cause such problems compared to a Container.

## Related Issue

Fixes [[Flutter 3.32.0] Active NavigationBar item not selected when
switching items
programmatically](https://github.com/flutter/flutter/issues/169249)
Fixes [NavigationDrawer active indicator offset with
SvgPicture](https://github.com/flutter/flutter/issues/169436)
Fixes
https://github.com/flutter/flutter/pull/164484#issuecomment-2910505630

Reopens https://github.com/flutter/flutter/issues/163871
2025-06-02 08:00:46 +00:00
engine-flutter-autoroll
8b22f67c85
Roll Fuchsia Linux SDK from hRlf4HyRVtQia9RMG... to _zS92klQ4fiwoImf3... (#169823)
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 codefu@google.com,zra@google.com on the revert to ensure that
a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-06-01 05:37:31 +00:00
Jim Graham
8e44cc2bcf
[Impeller] Fix rotated CircleGeometry coverage (#169743)
Fixes https://github.com/flutter/flutter/issues/169710

CircleGeometry bounds were incorrect under rotation, worst at 45
degrees.
2025-05-31 21:22:13 +00:00
engine-flutter-autoroll
0a6e4a6de6
Roll Fuchsia Linux SDK from 0CZI-EGv7NDSolQsj... to hRlf4HyRVtQia9RMG... (#169805)
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 codefu@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-31 03:23:26 +00:00
gaaclarke
677e562560
[ios]: Warning for FlutterAppDelegate.window.rootViewController in launch functions (#169166)
fixes https://github.com/flutter/flutter/issues/169218

## 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: Victoria Ashworth <15619084+vashworth@users.noreply.github.com>
2025-05-31 00:16:20 +00:00
Kevin Moore
bcfb87134b
[web] Pass the same JS flags to both stages of the compiler (#169730)
Fixes https://github.com/flutter/flutter/issues/169714
2025-05-31 00:14:31 +00:00
auto-submit[bot]
99f74987aa
Reverts "Remove legacy platforms in .ci.yaml with 0 usages. (#169783)" (#169799)
<!-- start_original_pr_link -->
Reverts: flutter/flutter#169783
<!-- end_original_pr_link -->
<!-- start_initiating_author -->
Initiated by: gaaclarke
<!-- end_initiating_author -->
<!-- start_revert_reason -->
Reason for reverting: breaks `Linux ci_yaml flutter roller`
https://ci.chromium.org/ui/p/flutter/builders/prod/Linux%20ci_yaml%20flutter%20roller/19333/overview
<!-- end_revert_reason -->
<!-- start_original_pr_author -->
Original PR Author: matanlurey
<!-- end_original_pr_author -->

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

<!-- start_revert_body -->
This change reverts the following previous change:
No description provided.
<!-- end_revert_body -->

Co-authored-by: auto-submit[bot] <flutter-engprod-team@google.com>
2025-05-30 23:35:47 +00:00
Jim Graham
1709d3aafc
[Impeller] Directly tessellate arc operations (#169402)
Currently arcs are rendered by creating/allocating a Path and using the
path rendering code. We now directly tessellate most arcs (all filled
arcs and any stroked arcs that avoid "use_center" and "round caps")
using the most efficient mechanism to place the necessary vertices into
the host buffers.
2025-05-30 22:53:44 +00:00
chunhtai
3c28bb7a24
Removes elevation and thickness from semantics r2 (#169382)
<!--
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
-->

same as https://github.com/flutter/flutter/pull/168703, but previous pr
seems bugged github

## 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-30 21:57:30 +00:00
Jonah Williams
6dd8814489
[Impeller] disable vivante from using impeller gles/vulkan. (#169760)
Fixes https://github.com/flutter/flutter/issues/167850
2025-05-30 21:52:42 +00:00
John "codefu" McDole
19460811e2
feat: experimental tool tests workflow (attempt 2) (#169768)
- remote repo: set upstream and get tags (flutter tool reqs)
 - pull request to flutter: checkout the PR, not the merge commit
 - local runs: update utils.dart to safely call terminal width

Now `act -W .github/workflows/tool-test-general.yml` works locally on
the command line.

Future improvements:
- Offer another way to set the "version" rather than tags; this causes a
longer checkout time.
- Multi-proc the tests and use as many cores as possible?
- Solve for packages downloading?

3.5 minutes isn't terrible.
2025-05-30 21:39:02 +00:00
Jonah Williams
291a689a10
[Impeller] document reverse-y requirement for ImageFilter.shader (#169761)
Otherwise things are upside down.
2025-05-30 21:14:51 +00:00
Matan Lurey
11bf180af0
Remove legacy platforms in .ci.yaml with 0 usages. (#169783) 2025-05-30 21:05:18 +00:00
gaaclarke
3d8fa621c1
[Reland3] Implements UISceneDelegate dynamically w/ FlutterLaunchEngine (#169276) (#169365)
## **BREAKING CHANGE**

Adopting Apple's UISceneDelegate protocol shifts the initialization
order of apps. For the common cases we've made sure they will work
without change. The one case that will require a change is any app that
in `-[UIApplicateDelegate didFinishLaunchingWithOptions:]` assumes that
`UIApplicationDelegate.window.rootViewController` is a
`FlutterViewController` instance. Users should follow the [migration
guide](https://docs.google.com/document/d/16WsqYbANmhupw-gxGPQPZ9B3yz1YBIviS-N1UyIQNSE/edit?tab=t.0#heading=h.txry2otwqko3)
to update that usage.

## Changes since revert
It's been rebased onto the FlutterPluginRegistrant PR which was used for
migration. The dynamic selection of the UISceneDelegate has been
removed, instead there is a flutter tool migration to the Info.plist.

## Description
fixes: https://github.com/flutter/flutter/issues/167267

design doc:


https://docs.google.com/document/d/1ZfcQOs-UKRa9jsFG84-MTFeibZTLKCvPQLxF2eskx44/edit?tab=t.0

relands https://github.com/flutter/flutter/pull/168396 
relands https://github.com/flutter/flutter/pull/168914
relands https://github.com/flutter/flutter/pull/169276

## 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-30 20:57:40 +00:00
engine-flutter-autoroll
40f1695bef
Roll Skia from f34be67e8a6b to 815ec432f549 (14 revisions) (#169779)
https://skia.googlesource.com/skia.git/+log/f34be67e8a6b..815ec432f549

2025-05-30 bungeman@google.com [gn] Allow libpng and rust png to build
together
2025-05-30 michaelludwig@google.com [graphite] Fix unclamped matrix
color filters with negative values
2025-05-30 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from d3140371858b to af59becc8906 (3 revisions)
2025-05-30 mike@reedtribe.org Temp work-around for graphite-dawn-mali
crasher
2025-05-30 michaelludwig@google.com [graphite] Use float for colorspace
xform parameters
2025-05-30 mike@reedtribe.org Use SkSpan in the public API
2025-05-30
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-05-30 kjlubick@google.com Reland "[rust png] Make
`SkTypeface_fontations.cpp` agnostic to PNG decoder"
2025-05-30 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from d2a2ceb52656 to d3140371858b (9 revisions)
2025-05-30 kjlubick@google.com Make CodeSize.+NoPatch ignore symlinks
that don't exist
2025-05-30 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from e7118451f513 to 20b08f95e5b3 (9 revisions)
2025-05-30 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from f53bc591dafd to 91043600f711 (25 revisions)
2025-05-29 sam@gentoo.org skcms: support two attributes with GCC
2025-05-29 robertphillips@google.com [graphite] Add Precompile
RE_LinearEffect PaintOptions

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 codefu@google.com,kjlubick@google.com,nicolettep@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-30 20:01:13 +00:00
Jason Simmons
d8baa77b38
Revert "fix: update experiment to use different setup (#169728)" and "feat: experimental workflow for Linux tool-tests-general (#169706)" (#169770)
The Linux_tool-tests-general check is causing errors on PRs such as
Dart->engine rolls (example:
https://github.com/flutter/flutter/pull/169763)
2025-05-30 18:10:53 +00:00
Matan Lurey
088d1bd62a
Switch to Linux orchestrators for Windows releasers. (#168941)
Towards https://github.com/flutter/flutter/issues/168934.

/cc @reidbaker as release engineer

/cc @zanderso (we talked about this offline)
2025-05-30 16:52:23 +00:00
Jason Simmons
0b02682934
Roll expat to 8e49998f (#169707)
This matches the version currently used by Skia.

Fixes https://github.com/flutter/flutter/issues/169620
2025-05-30 16:31:13 +00:00
stuartmorgan-g
8132e18285
Remove discontinued packages from issue template (#169666)
These six packages have been discontinued:
https://github.com/flutter/flutter/issues/162960
2025-05-30 10:35:39 +00:00
Matan Lurey
92879427fc
Update Experimental-Branch.md (#169721)
It's no longer a "bit of a hack", it's just a permanent hack ;)

(We look for branches with recent commits instead)
2025-05-30 04:26:24 +00:00
John "codefu" McDole
351718d10b
fix: update experiment to use different setup (#169728)
Use android-actions/setup-android even if its more verbose.
2025-05-30 03:08:34 +00:00
engine-flutter-autoroll
3b87537bbe
Roll Fuchsia Linux SDK from WvRLeTv2ocKsPOdrq... to 0CZI-EGv7NDSolQsj... (#169717)
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 codefu@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-30 01:22:36 +00:00
John "codefu" McDole
033b32123f
feat: experimental workflow for Linux tool-tests-general (#169706)
Demonstrates running Linux tool-tests-general running on workflows.

Can be run locally using ACT: `gh act --workflows
".github/workflows/tool-test-general.yml" --secret-file "" --var-file ""
--input-file "" --eventpath ""` - except this works only in VSCode since
tty isn't attached.
2025-05-30 00:16:48 +00:00
engine-flutter-autoroll
e8706558cd
Roll Skia from 191ef95dbe54 to f34be67e8a6b (3 revisions) (#169697)
https://skia.googlesource.com/skia.git/+log/191ef95dbe54..f34be67e8a6b

2025-05-29
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-05-29 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 58febb14bdad to d2a2ceb52656 (4 revisions)
2025-05-29 kjlubick@google.com Make PDF and XPS devices provide a CPU
recorder

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 codefu@google.com,kjlubick@google.com,nicolettep@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-30 00:13:55 +00:00
Justin McCandless
1677233f4c
Don't show SystemContextMenu for SelectableText (#169238)
Goes back to using the Flutter-drawn context menu for SelectableText.
Currently, SystemContextMenu requires an active text input connection to
work. This snuck in because SelectableText is based on EditableText.

Fixes https://github.com/flutter/flutter/issues/169001
2025-05-30 00:13:53 +00:00
LouiseHsu
538cf22b63
Add missing localization generation for widgets (#169695)
Adds missing localization generation for widget translations
I ran into this issue when I was trying to generate files for
https://github.com/flutter/flutter/pull/169150/files, and found out the
files were being generated for cupertino and material but not widgets.

## 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-30 00:10:04 +00:00
Justin McCandless
4cc47e8d52
IOSSystemContextMenuItem.toString to Diagnosticable (#169705)
The IOSSystemContextMenuItem should mixin Diagnosticable instead of
overriding toString.

Fixes https://github.com/flutter/flutter/issues/169696
2025-05-30 00:10:02 +00:00
Jackson Gardner
27787515e9
Merge changelog from 3.32.1. (#169713)
This just updates the changelog from the 3.32.1 stable hotfix release.
2025-05-30 00:10:01 +00:00
Matan Lurey
cfd7c9cbfa
Mark Linux web_tool_tests as bringup due to being 10%+ flaky (#169716)
See https://github.com/flutter/flutter/issues/169574.
2025-05-29 23:31:00 +00:00
Jonah Williams
7e99b7f8b3
[Impeller] let drawImage nine use porter duff optimization. (#169611)
Fixes https://github.com/flutter/flutter/issues/169492

Currently we apply a color filter nine times for the drawImageNine
calls, which is very expensive. We can do the same porterduff
optimization we did for flame for drawImage nine by allowing the porter
duff shader to specify a strict src rect.

### Before


![flutter_04](https://github.com/user-attachments/assets/006c89ad-14a6-4387-9bfb-f6be357f43d6)

### After


![flutter_03](https://github.com/user-attachments/assets/e058d86e-7f1a-4708-bb40-8746bb9199e4)
2025-05-29 22:08:29 +00:00
Matan Lurey
b6b1ae52ab
Better null-safe implementation of AssetTransformerEntry. (#169645)
Some small cleanups I had stashed while looking at
https://github.com/flutter/flutter/issues/168629.
2025-05-29 21:53:36 +00:00
Justin McCandless
e315c070c8
Clean up references to deprecated onPop method in docs (#169700)
onPop is deprecated but was mentioned in the docs. I've put its
replacement onPopWithResult in its place. Also, there was one
unterminated square bracket that I've fixed.
2025-05-29 21:50:20 +00:00
Loïc Sharma
279f19161f
Let tests mock the list of feature flags (#169140)
This moves the tool's `allFeatures` global to
`FeatureFlags.allFeatures`.

In the future, this will be used by tests to mock the list of feature
flags and replace them with test flags in various states. See:
https://github.com/flutter/flutter/pull/168437

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

## Pre-launch Checklist

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

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

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-05-29 20:40:34 +00:00
fewling
f182421dd2
Add header and footer support to NavigationDrawer (#168005)
<!--
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
-->
## Description

This PR attempts to add header and footer for `NavigationDrawer` widget
as shown below:

![sample](https://github.com/user-attachments/assets/f3adefe9-7c4e-4169-a72b-d5beffc7b73a)

## Issues are fixed by this PR

- #127621 
- #135750 (partially)

## 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-29 20:33:26 +00:00
Kishan Rathore
df29894372
Feat: Add opaque, isActive, isFirst, popDisposition aspects for ModalRoute (#167324)
Feat: Add opaque, isActive, isFirst, popDisposition aspects for
ModalRoute
fixes: #167058 
fixes: #162009 

## 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-29 20:03:21 +00:00
Chinmay Garde
09c7f4fa5b
[Impeller] libImpeller: Allow setting ellipses. (#169610)
Fixes https://github.com/flutter/flutter/issues/168750

<img width="1136" alt="Screenshot 2025-05-28 at 11 41 24 AM"
src="https://github.com/user-attachments/assets/d421783b-9e04-46e1-aa0c-236c3f546e11"
/>
2025-05-29 19:39:20 +00:00
engine-flutter-autoroll
ed68dd8c22
Roll Skia from 58f43e55f1ba to 191ef95dbe54 (8 revisions) (#169686)
https://skia.googlesource.com/skia.git/+log/58f43e55f1ba..191ef95dbe54

2025-05-29 lukasza@chromium.org Reland "[rust png] Round-trip
`kOpaque_SkAlphaType` when encoding".
2025-05-29 kjlubick@google.com Revert "[rust png] Make
`SkTypeface_fontations.cpp` agnostic to PNG decoder"
2025-05-29 kjlubick@google.com Make Bazel boilerplate presubmit platform
dependent
2025-05-29 mike@reedtribe.org Remove pathops dependency
2025-05-29 mike@reedtribe.org More uses for DirectBlit
2025-05-29 lehoangquyen@chromium.org graphite: Add internalMSAATileSize
option to ContextOptions
2025-05-29 bungeman@google.com [pdf] Artifact types and subtypes are
names
2025-05-29 kjlubick@google.com [rust png] Make
`SkTypeface_fontations.cpp` agnostic to PNG decoder

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 codefu@google.com,kjlubick@google.com,nicolettep@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-29 19:23:20 +00:00
Nicholas Shahan
422d8d2dad
[tests] Increase linux timeout and skip on others (#169627)
With this change the web.shard test suite runs all existing tests on all
platforms with the version of the web debug builds that is the flutter
tools default (does not support stateful hot reload).

The linux bot configuration will also run some of the tests using the
new web debug build (supports stateful hot reload). The timeout has been
increased for this configuration to allow the additional tests to run to
completion.

The mac and windows configurations skip all tests for the new web debug
builds.

In the future the new build output will become the flutter tools default
and the balance of where the tests tests are run will flip until the
ability to opt out of the new build output is removed.

This change is not ideal because we are still not fully testing all
features with the two versions of the web debug builds that are
available to users. If given the opportunity we should add additional
bot configurations to run all the tests with the output that supports
stateful hot reload.

Fixes: https://github.com/flutter/flutter/issues/169304
Issue: https://github.com/flutter/flutter/issues/169634
2025-05-29 19:00:57 +00:00
Victoria Ashworth
fe1c9d61a7
Validate build configuration during Xcode build phase (#169395)
You can run iOS/macOS Flutter apps through either the Flutter CLI or
Xcode. However, it's often required to first run the Flutter CLI to
generate required files and settings. Some of these settings/files (like
dev dependencies) are specific to the build mode. However, you can
change the build mode through Xcode too. When you change the build mode
through Xcode, the Flutter-generated files and setting may not be
correct.

This PR checks if the current build mode matches the one last used by
the Flutter CLI. If it doesn't, it'll print a warning like this:

![Screenshot 2025-05-23 at 5 14
58 PM](https://github.com/user-attachments/assets/47d15cc4-f05d-4034-8be6-67f37828aa61)

If the build action is `install`, which indicates the app is being built
for distribution, this will print as an error and fail the build:

![Screenshot 2025-05-23 at 5 16
12 PM](https://github.com/user-attachments/assets/339b65bd-6425-4595-b26b-a60c722bbcf9)


## 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-05-29 19:00:56 +00:00
René Kilczan
ae11f77f20
Fix the "Missing ExternalProject for :" error (#168403)
Fix the "Missing ExternalProject for :" error

This fixes #168296

## 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-29 17:51:19 +00:00
Kevin Moore
a7bab0fe86
[web] Pass the same optimization level to both stages of JS compiler (#169642)
Ensures that late variables names are cleaned up

Fixes https://github.com/flutter/flutter/issues/134423
2025-05-29 17:35:29 +00:00
Renzo Olivares
c6fe412e9a
Re-enable SelectableRegion web tests (#169541)
This change re-enables some `SelectableRegion` tests now that
https://github.com/flutter/flutter/issues/125582 has been closed.

## Pre-launch Checklist

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

---------

Co-authored-by: Renzo Olivares <roliv@google.com>
2025-05-29 17:30:32 +00:00
Gray Mackall
0d349d7843
[reland] Make build_android_host_app_with_module_aar build using an aar (#169311)
Relands https://github.com/flutter/flutter/pull/169171. I needed to copy
the configuration from the FGP that respects the `engine.realm` file if
it exists.

Link to passing run on last commit, when using a local engine:
https://ci.chromium.org/ui/p/flutter/builders/try/Linux%20build_android_host_app_with_module_aar/8596/overview

Link to failure before the fix: 

https://ci.chromium.org/ui/p/flutter/builders/try/Linux%20build_android_host_app_with_module_aar/8505/overview

## Pre-launch Checklist

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

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

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

---------

Co-authored-by: Gray Mackall <mackall@google.com>
2025-05-29 17:06:51 +00:00
engine-flutter-autoroll
2a821a70de
Roll Packages from 5743798ede97 to 44630668aec6 (5 revisions) (#169674)
5743798ede...44630668ae

2025-05-29 15619084+vashworth@users.noreply.github.com Allow tests to
use macOS 14 or 15.5 (flutter/packages#9328)
2025-05-29 sokolovskyi.konstantin@gmail.com [camera_web] Remove mocktail
dependency. (flutter/packages#9195)
2025-05-28 engine-flutter-autoroll@skia.org Roll Flutter from
4372bfbc6c23 to 0e536eb9fe4b (27 revisions) (flutter/packages#9334)
2025-05-28 robert.odrowaz@leancode.pl [camera_avfoundation]
Implementation swift migration - part 3.5 (flutter/packages#9254)
2025-05-28 15619084+vashworth@users.noreply.github.com
[webview_flutter_wkwebview] Fix `testNilRequest` test for macOS 15.5
(flutter/packages#9330)

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-29 16:41:49 +00:00
Ben Konyi
f582fcbb04
Roll customer_testing to 7f55026290e721fc648d3811664bbf3abca911d5 (#169671) 2025-05-29 15:53:08 +00:00
engine-flutter-autoroll
fdc8c20d0d
Roll Skia from 274d78ef2666 to 58f43e55f1ba (1 revision) (#169669)
https://skia.googlesource.com/skia.git/+log/274d78ef2666..58f43e55f1ba

2025-05-29 ccameron@chromium.org skcms_TFType: Add default to switch
statements

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 codefu@google.com,kjlubick@google.com,nicolettep@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-29 14:56:57 +00:00
Jason Simmons
8abf4e7a54
[Impeller] Maintain a global map of each context's currently active thread-local command pools (#169548)
The Impeller Vulkan back end creates a thread-local map of contexts to
CommandPoolVK instances for each thread that uses Vulkan. This allows a
thread to obtain the CommandPoolVK that is currently in use for a given
context.

When a context is shut down, the Vulkan resources used by each thread's
local CommandPoolVK for that context must be freed. To do this,
CommandPoolVK maintains a global map of CommandPoolVK instances.

Prior to this PR Impeller was appending to the context's pool list in
the global map each time a new CommandPoolVK was created. In the
original implementation this worked because Impeller was only creating
one CommandPoolVK per thread for a given context.

However, CommandPoolVK later adopted a recycling scheme where each frame
creates a new CommandPoolVK instance that acquires a Vulkan command pool
from the CommandPoolRecyclerVK. So inserting every CommandPoolVK into
the global map will cause the global map to grow unbounded.

This PR changes the structure of the global map. The global map will now
associate each context with a map of thread IDs to the CommandPoolVK
that is currently placed in the thread's local storage. When a thread
calls CommandPoolRecyclerVK::Dispose to clear its thread-local
CommandPoolVK for a context, the corresponding entry is also removed
from the global map.

Fixes https://github.com/flutter/flutter/issues/169208
2025-05-29 14:27:10 +00:00
stuartmorgan-g
5df6008ec7
Update triage for new team-devexp (#169668)
Adds the new `team-devexp` to the flowchart, and updates references to
`d: devtools` to reflect that it's now `a: devtools`.
2025-05-29 14:27:06 +00:00
Mouad Debbar
8b18dde77f
Reduce some CI timeouts (#169512)
- `Linux docs_test`: Has been running consistently under 25m, while
timeout was set at 90m.
- `Linux coverage`: Has been running consistently under 1.2h (~75m),
while timeout was set at 120m.
2025-05-29 13:35:15 +00:00