85553 Commits

Author SHA1 Message Date
Victor Sanni
16e5318e26
Correct calculation for CupertinoTextSelectionToolbar vertical position (#169308)
[Size CupertinoTextSelectionToolbar to
children](https://github.com/flutter/flutter/pull/133386) made a slight
mistake when calculating if the toolbar should be above or below the
text field.

Doubling the toolbar arrow height in the `_isAbove `calculation added a
buffer of its height (7.0) within which the toolbar would be positioned
below the text but have its arrow still pointing downwards. This is why
[I was only able to reproduce the bug within a 7.0 height
range](https://github.com/flutter/flutter/issues/154812#issuecomment-2774094819).

| Before | After | 
| --- | --- |
| <img width="377" alt="toolbar pos before"
src="https://github.com/user-attachments/assets/11f63cf3-f352-4232-8230-f04da89b0b4c"
/> | <img width="377" alt="toolbar pos after"
src="https://github.com/user-attachments/assets/4a48c3bd-158e-468e-9c67-af125c7856a7"
/> |

<details>
<summary>Sample code</summary>

```dart
import 'package:flutter/cupertino.dart';

void main() => runApp(const TextSelectionToolbarApp());

class TextSelectionToolbarApp extends StatelessWidget {
  const TextSelectionToolbarApp({super.key});

  @override
  Widget build(BuildContext context) {
    return CupertinoApp(
      home: const CupertinoPageScaffold(
        child: SafeArea(
          child: ColoredBox(
            color: Color(0x11ff0000),
            child: Padding(
              padding: EdgeInsets.symmetric(vertical: 56.0, horizontal: 8.0),
              child: Column(
                children: [
                  CupertinoTextField(),
                ],
              ),
            ),
          ),
        ),
      ),
    );
  }
}

```

</details>


Fixes [Cupertino Text Selection Toolbar has wrong
position](https://github.com/flutter/flutter/issues/154812)
2025-05-24 04:23:06 +00:00
Victor Sanni
3df4a3c6a5
Baseline-align CupertinoTextField placeholder (#166952)
| Before | After | 
| --- | --- |
| <img width="348" alt="non baseline aligned placeholder"
src="https://github.com/user-attachments/assets/62f779cc-1d16-41f3-92f8-a2de16a04895"
/> | <img width="348" alt="baseline aligned placeholder"
src="https://github.com/user-attachments/assets/e43d200f-ef47-4d10-a74a-a2c6998b44f5"
/> |


Fixes [Can't align placeholder of CupertinoTextField with min lines to
top](https://github.com/flutter/flutter/issues/138794)
2025-05-24 04:23:06 +00:00
engine-flutter-autoroll
ea3cebd26d
Roll Dart SDK from 8354914ef97b to 0a6b16a55b9e (3 revisions) (#169403)
https://dart.googlesource.com/sdk.git/+log/8354914ef97b..0a6b16a55b9e

2025-05-24 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-168.0.dev
2025-05-23 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-167.0.dev
2025-05-23 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-166.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,jonahwilliams@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-24 02:43:07 +00:00
Ben Konyi
b2b4fb5cbf
Start removing Observatory support and references (#169216)
This change removes references to Observatory, including:

 - Deprecated flags
 - Deprecated embedder APIs
 - Outdated documentation
 - Documentation instances where "VM service" should have been used
 - Incorrectly named tests / directories

As a part of this change, `--serve-observatory` is no longer a valid
flag.

Observatory is still available for now via the `_serveObservatory` RPC,
but will be removed in a follow up PR once we've prepared for breakages
in G3.

Work towards https://github.com/dart-lang/sdk/issues/50233

FYI @a-siva
2025-05-24 00:00:30 +00:00
engine-flutter-autoroll
16fabc7b58
Roll Skia from f42bb59753fe to 0834eea9de33 (3 revisions) (#169393)
https://skia.googlesource.com/skia.git/+log/f42bb59753fe..0834eea9de33

2025-05-23 syoussefi@google.com [vulkan] Apply RelaxedPrecision to
functions
2025-05-23 syoussefi@google.com [vulkan] Apply RelaxedPrecision to
special intrinsics
2025-05-23 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from a4af0bcda127 to fa392b2f4964 (1 revision)

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 jonahwilliams@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-05-23 22:53:18 +00:00
engine-flutter-autoroll
8bebea6ddf
Roll Skia from 956fd8b14e22 to f42bb59753fe (2 revisions) (#169379)
https://skia.googlesource.com/skia.git/+log/956fd8b14e22..f42bb59753fe

2025-05-23 kjlubick@google.com Expand some SkImage APIs to take an
SkRecorder
2025-05-23 syoussefi@google.com [graphite][vulkan] Use
VK_EXT_rasterization_order_attachment_access

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 jonahwilliams@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-05-23 20:24:28 +00:00
Tong Mu
ea1c1bae8f
[Engine] Fast blurring algorithm for RSuperellipse (#169187)
This PR adds a fast blurring algorithm for `RSuperellipse`s with uniform
corner radius, similar to `AttemptDrawBlurredRRect`.

Fixes https://github.com/flutter/flutter/issues/163893. Fixes
https://github.com/flutter/flutter/issues/167366.

This approximate algorithm is implemented by adding additional
retraction to RRect's algorithm. Since they share most the logic, much
effort is made to ensure reasonable code share.

I've also built a playground test `RoundSuperellipseShadowComparison` to
compare the effect between the fast algorithm and the bruteforce
algorithm, and added a macrobenchmark "rsuperellipse_blur".

### Result

The following video shows the reproduction app from
https://github.com/flutter/flutter/issues/167366, which shows much
better framerate on RSE after the PR, almost the same as RRect. (I've
verified that it was much worse without the PR.)


https://github.com/user-attachments/assets/5433af91-c0a1-4b15-9161-cf2280543e27

The following video shows the `RoundSuperellipseShadowComparison`
playground, which compares the fast algorithm (left) against the
bruteforce algorithm (right).

* Pay attention to the cases with small but non zero sigma. They should
be of almost the same shape as those with zero sigma, which skips the
blurring altogether. With this algorithm, the difference between the two
cases are about 1~2 pixel at most.


https://github.com/user-attachments/assets/e26d2d8f-d29e-4db8-9c20-67103d77891c

The following images compare macrobenchmarks "rrect_blur" against the
new "rsuperellipse_blur". (Notice that the avg frame time fluctuates a
lot but at least it shows that they're on par.)

<img width="389" alt="image"
src="https://github.com/user-attachments/assets/67cf4b10-f13f-4e55-bdfd-35d358617f38"
/>

<img width="365" alt="image"
src="https://github.com/user-attachments/assets/6869fa9c-5752-4a11-babe-b6a2d590ebc9"
/>



### Open questions
* Should I improve the code share of shader files? Currently they're not
shared mostly because I'm not sure about its gain and cost.

## 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-23 20:20:37 +00:00
Matan Lurey
82a4e3e6db
Add a page describing best CI practices for flutter-org repos (#169364)
Co-authored-by: John "codefu" McDole <codefu@google.com>
2025-05-23 18:34:05 +00:00
Mouad Debbar
db1c97a4af
Revert "Mark web_tool_tests_1_2 as bringup." (#169361)
Reverts flutter/flutter#168871

The timeout was [fixed](https://github.com/flutter/flutter/pull/169277)
and some slow tests have been
[disabled](https://github.com/flutter/flutter/pull/169305). The builder
has been consistently green for the past 20+ runs:
https://ci.chromium.org/ui/p/flutter/builders/luci.flutter.staging/Windows%20web_tool_tests_1_2

Closes https://github.com/flutter/flutter/issues/168863
2025-05-23 17:36:08 +00:00
Gray Mackall
7dd0a09767
Add changelog section for 3.32.0 and 3.32.1, and add note for ndk checking cherry pick (#169369)
Adds a note about https://github.com/flutter/flutter/pull/169289, and
also makes the sections as they didn't exist yet.

## 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.
- [ ] 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-23 17:36:04 +00:00
engine-flutter-autoroll
97e594d640
Roll Dart SDK from 085f110ecf33 to 8354914ef97b (1 revision) (#169349)
https://dart.googlesource.com/sdk.git/+log/085f110ecf33..8354914ef97b

2025-05-23 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-165.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,jonahwilliams@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-23 17:07:16 +00:00
Matan Lurey
5f99c893b3
Remove handling of the legacy .flutter-plugins file in PluginHandler.kt. (#169317)
As of https://github.com/flutter/flutter/pull/169283 it's impossible for
the `.flutter-plugins` file to exist outside of unit tests.
2025-05-23 17:02:02 +00:00
Fré Dumazy
171e272cf7
Use baseUri of WebAssetServer for reload_scripts.json (#169267)
This allows embedded Flutter Web apps, hosted on a different URL than
the host app, to hot reload the correct files.

This fixes issues mentioned in:
- https://github.com/dart-lang/sdk/issues/60776
-
https://github.com/flutter/flutter/issues/88434#issuecomment-2888413942

It specifically allows you to use hot reload when debugging an embedded
Flutter Web app, running in the spawned Chrome browser via the `-d
chrome` flag, as mentioned in
https://github.com/dart-lang/sdk/issues/60776#issuecomment-2900498970

## Result

This would result in the following `reload_scripts.json` for an embedded
Flutter web app, running on `localhost:8081`:
```json
[{
    "src": "http://localhost:8081/packages/web_hot_reload/main.dart.lib.js",
    "libraries": ["package:web_hot_reload/main.dart"]
}]
```

## Normal Flutter Web apps

This also adds the baseUri to the maps for normal Flutter Web apps, for
example:
```json
[{
    "src": "http://localhost:54609/packages/web_hot_reload/main.dart.lib.js",
    "libraries": ["package:web_hot_reload/main.dart"]
}]
```
instead of the previous:
```json
[{
    "src": "packages/web_hot_reload/main.dart.lib.js",
    "libraries": ["package:web_hot_reload/main.dart"]
}]
```

While both actually work, I'm not sure if there might be cases in which
this would have another side effect.

## 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-23 17:02:00 +00:00
auto-submit[bot]
e0c42c6e38
Reverts "Use pub workspace (#168662)" (#169357)
<!-- start_original_pr_link -->
Reverts: flutter/flutter#168662
<!-- end_original_pr_link -->
<!-- start_initiating_author -->
Initiated by: matanlurey
<!-- end_initiating_author -->
<!-- start_revert_reason -->
Reason for reverting: Broke integration tests that do not run on
presubmit:

-
https://ci.chromium.org/ui/p/flutter/builders/prod/Mac_arm64%20macos_chrome_dev_mode/8715/overview
-
https://ci.chromium.org/ui/p/flutter/builders/prod/Linux_pixel_7pro%20linux_chrome_dev_mode/7617/overview
<!-- end_revert_reason -->
<!-- start_original_pr_author -->
Original PR Author: mosuem
<!-- end_original_pr_author -->

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

<!-- start_revert_body -->
This change reverts the following previous change:
Switch Flutter to use pub workspaces as a preparation to unpin selected
packages.

Assumptions:

1. No packages in this repository are published to pub.dev --> We can
use `any` dependencies in most local pubspecs, as the global constraint
defines the version. An exception are the packages used outside of this
repo with an `sdk` dependency, namely `flutter_localizations`,
`flutter_test`, and `flutter`.
2. The "universes" `{flutter_tools}` and `{flutter,
flutter_localizations, flutter_goldens}` can use different packages
versions, as they are not resolved together. --> We do not need to
upgrade them in sync, we can first do one "universe", then the other.

Based on these assumptions, we use
https://github.com/mosuem/pubspec_merger.dart to merge all packages in
the `flutter` universe into a top-level pub workspace.

The `flutter` and `flutter_tools` workspaces being separate also ensures
that changes to `flutter` will not inadvertently break `flutter_tools`,
with not-so-nice consequences for our users which would be unable to run
`flutter upgrade`.

There is a third "top-level" pubspec besides `./pubspec.yaml` and
`packages/flutter_tools/pubspec.yaml`, namely
`packages/flutter_tools/.../widget_preview_scaffold/pubspec.yaml`. This
is an artifact due to it living under `flutter_tools`, so it can't be
part of the `./pubspec.yaml` workspace. Moving it would be a larger
change, and out of the scope of this PR.

This required a rewrite of the update-packages tool, but the main
functionality stays the same, as well as the argument names, to ensure a
seamless transition.

## Pre-launch Checklist

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

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

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

<!-- end_revert_body -->

Co-authored-by: auto-submit[bot] <flutter-engprod-team@google.com>
2025-05-23 16:00:19 +00:00
Moritz
9a1dc1bd96
Use pub workspace (#168662)
Switch Flutter to use pub workspaces as a preparation to unpin selected
packages.

Assumptions:

1. No packages in this repository are published to pub.dev --> We can
use `any` dependencies in most local pubspecs, as the global constraint
defines the version. An exception are the packages used outside of this
repo with an `sdk` dependency, namely `flutter_localizations`,
`flutter_test`, and `flutter`.
2. The "universes" `{flutter_tools}` and `{flutter,
flutter_localizations, flutter_goldens}` can use different packages
versions, as they are not resolved together. --> We do not need to
upgrade them in sync, we can first do one "universe", then the other.

Based on these assumptions, we use
https://github.com/mosuem/pubspec_merger.dart to merge all packages in
the `flutter` universe into a top-level pub workspace.

The `flutter` and `flutter_tools` workspaces being separate also ensures
that changes to `flutter` will not inadvertently break `flutter_tools`,
with not-so-nice consequences for our users which would be unable to run
`flutter upgrade`.

There is a third "top-level" pubspec besides `./pubspec.yaml` and
`packages/flutter_tools/pubspec.yaml`, namely
`packages/flutter_tools/.../widget_preview_scaffold/pubspec.yaml`. This
is an artifact due to it living under `flutter_tools`, so it can't be
part of the `./pubspec.yaml` workspace. Moving it would be a larger
change, and out of the scope of this PR.

This required a rewrite of the update-packages tool, but the main
functionality stays the same, as well as the argument names, to ensure a
seamless transition.

## 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-23 15:01:19 +00:00
auto-submit[bot]
85564cbba9
Reverts "[Reland2] Implements UISceneDelegate dynamically w/ FlutterLaunchEngine (#169276)" (#169347)
<!-- start_original_pr_link -->
Reverts: flutter/flutter#169276
<!-- end_original_pr_link -->
<!-- start_initiating_author -->
Initiated by: vashworth
<!-- end_initiating_author -->
<!-- start_revert_reason -->
Reason for reverting: Causing google testing failures
<!-- end_revert_reason -->
<!-- start_original_pr_author -->
Original PR Author: gaaclarke
<!-- end_original_pr_author -->

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

<!-- start_revert_body -->
This change reverts the following previous change:
## **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. This is sometimes done to register
platform channels directly on the `FlutterViewController`. Instead users
should use the `FlutterPluginRegistry` API's to create platform channels
in `-[UIApplicateDelegate didFinishLaunchingWithOptions:]`, like
`FlutterPlugin`s do.

An example can be seen here:

https://github.com/flutter/flutter/pull/168914/files#diff-9f59c5248b58124beca7e290a57646023cda3ca024607092c6c6932606ce16ee

In extreme cases, like bespoke test harnesses, the startup logic can be
moved to `-[FlutterViewController awakeFromNib]` in a
FlutterViewController subclass.

An example can be seen here:

https://github.com/flutter/flutter/pull/169276/files#diff-dbe39c23a0a380447b90b7559a878dae8564616e0875c4ef0d9e99e02b91adac

## Changes since revert
I changed the init in `//dev/integration_tests/external_textures` from
the UIApplicationDelegate to the FlutterViewController's awakeFromNib.
This is a more appropriate place for initialization post-UISceneDelegate
since it avoids the launch engine altogether. I tried avoiding to make
the big change to prove we could do a small change to migrate that
project. I don't think this big refactor is indicative of what users
will experience. There was a timing assumption in the integration test
that required not using the launch engine at all.

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

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

Co-authored-by: auto-submit[bot] <flutter-engprod-team@google.com>
2025-05-23 14:59:47 +00:00
engine-flutter-autoroll
d5ae783962
Roll Skia from a01ea49f53a4 to 956fd8b14e22 (1 revision) (#169334)
https://skia.googlesource.com/skia.git/+log/a01ea49f53a4..956fd8b14e22

2025-05-23 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from 70b90f222c49 to 3cf7a60476f5 (13 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC jonahwilliams@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-05-23 11:40:20 +00:00
engine-flutter-autoroll
0d695ffeab
Roll Dart SDK from 4de10a11ceb9 to 085f110ecf33 (1 revision) (#169333)
https://dart.googlesource.com/sdk.git/+log/4de10a11ceb9..085f110ecf33

2025-05-23 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-164.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,jonahwilliams@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-23 11:20:25 +00:00
engine-flutter-autoroll
3a94ca8ed0
Roll Skia from bcc7e7fce10e to a01ea49f53a4 (1 revision) (#169329)
https://skia.googlesource.com/skia.git/+log/bcc7e7fce10e..a01ea49f53a4

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

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC jonahwilliams@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-05-23 09:14:28 +00:00
engine-flutter-autoroll
da07e08543
Roll Skia from 18b85aced9b7 to bcc7e7fce10e (3 revisions) (#169323)
https://skia.googlesource.com/skia.git/+log/18b85aced9b7..bcc7e7fce10e

2025-05-23 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from a3bfb33a777c to 65e89ee3bd4c (47 revisions)
2025-05-23 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 098e033ef69b to a4af0bcda127 (6 revisions)
2025-05-23
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC jonahwilliams@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-05-23 06:56:14 +00:00
engine-flutter-autoroll
ca01dc1824
Roll Dart SDK from 2a45b2f88a4f to 4de10a11ceb9 (2 revisions) (#169322)
https://dart.googlesource.com/sdk.git/+log/2a45b2f88a4f..4de10a11ceb9

2025-05-23 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-163.0.dev
2025-05-22 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-162.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,jonahwilliams@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-23 06:09:57 +00:00
Matan Lurey
e529d32dbf
Remove patching of package_config.json from Flutter Pub wrapper. (#169306)
This PR removes the mechanics around `generateSyntheticPackage` from
Flutter's `pub` wrapper (`DefaultPub`).

The feature it supported (`package:flutter_gen`) was deprecated (opt-in
3.29, opt-out 3.32) and is now being removed:


https://docs.flutter.dev/release/breaking-changes/flutter-generate-i10n-source

---

One integration test (`flutter_gen_test.dart`) will fail at this PR
until it is deleted in (pending)
https://github.com/flutter/flutter/pull/169283.

/cc @sigurdm yay!
2025-05-23 04:15:14 +00:00
jacobsimionato
92abd4c8b1
Add missing dart_dynamic_modules flag for iOS DDM simulator builds (#169254)
I forgot to add this flag in a previous PR. Both simulator and device
builds should have dynamic modules enabled.

We believe this missing flag is contributing to internal Google bug
b/416365135.

Co-authored-by: sigmundch <2049220+sigmundch@users.noreply.github.com>
2025-05-23 03:47:33 +00:00
engine-flutter-autoroll
fa37785946
Roll Skia from ea73ccdc1417 to 18b85aced9b7 (6 revisions) (#169315)
https://skia.googlesource.com/skia.git/+log/ea73ccdc1417..18b85aced9b7

2025-05-22
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-05-22 robertphillips@google.com [graphite] Fix Android-specific
stubs for Passthrough ColorSpace
2025-05-22 jamesgk@google.com [graphite] Avoid writing SSBO index
varying if not used
2025-05-22
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-05-22 jvanverth@google.com More GrTriangulator band-aids.
2025-05-22 cbrokaw@gmail.com [Fontations] Match FreeType backend for
autohinting selection on Android

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 jonahwilliams@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-05-23 01:43:11 +00:00
Simon Hadenius
a44675cb39
Add flag to exclude focus for hidden children in Visibility, maintainFocusability. Set maintainFocusability to false in IndexedStack (#159133)
Fixes: https://github.com/flutter/flutter/issues/114213 and is a
prerequisite for fixing:
https://github.com/flutter/flutter/issues/148405

## 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-23 01:02:18 +00:00
gaaclarke
4226470eb6
[Reland2] Implements UISceneDelegate dynamically w/ FlutterLaunchEngine (#169276)
## **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. This is sometimes done to register
platform channels directly on the `FlutterViewController`. Instead users
should use the `FlutterPluginRegistry` API's to create platform channels
in `-[UIApplicateDelegate didFinishLaunchingWithOptions:]`, like
`FlutterPlugin`s do.

An example can be seen here:

https://github.com/flutter/flutter/pull/168914/files#diff-9f59c5248b58124beca7e290a57646023cda3ca024607092c6c6932606ce16ee

In extreme cases, like bespoke test harnesses, the startup logic can be
moved to `-[FlutterViewController awakeFromNib]` in a
FlutterViewController subclass.

An example can be seen here:

https://github.com/flutter/flutter/pull/169276/files#diff-dbe39c23a0a380447b90b7559a878dae8564616e0875c4ef0d9e99e02b91adac

## Changes since revert
I changed the init in `//dev/integration_tests/external_textures` from
the UIApplicationDelegate to the FlutterViewController's awakeFromNib.
This is a more appropriate place for initialization post-UISceneDelegate
since it avoids the launch engine altogether. I tried avoiding to make
the big change to prove we could do a small change to migrate that
project. I don't think this big refactor is indicative of what users
will experience. There was a timing assumption in the integration test
that required not using the launch engine at all.

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

## 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-23 00:44:55 +00:00
engine-flutter-autoroll
c104ba2a4b
Roll Dart SDK from 8f85d89fdc23 to 2a45b2f88a4f (6 revisions) (#169312)
https://dart.googlesource.com/sdk.git/+log/8f85d89fdc23..2a45b2f88a4f

2025-05-22 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-161.0.dev
2025-05-22 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-160.0.dev
2025-05-22 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-159.0.dev
2025-05-22 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-158.0.dev
2025-05-22 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-157.0.dev
2025-05-21 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-156.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,jonahwilliams@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-23 00:29:53 +00:00
Felipe Morschel
c15a2c6c47
Removes unnecessary parentheses (#169015)
This is solely a change to allow the CL for
https://github.com/dart-lang/sdk/issues/59069 to land.

## Pre-launch Checklist

- [x] 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.
- [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].
- [ ] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
2025-05-23 00:02:01 +00:00
Danny Tuppeny
c8d620e665
Unpin test/test_core/test_api packages (#169198)
These packages were recently pinned (in
https://github.com/flutter/flutter/pull/168916) due to a bug
(https://github.com/dart-lang/test/issues/2498).

That bug was fixed and new versions of the test packages published. This
change unpins and lets them upgrade to the fixed version.
2025-05-22 23:15:08 +00:00
Tong Mu
edabadf4e3
[Engine] Fix an edge case of RoundSuperellipseParam::Contains with sharp corners (#167977)
This PR fixes an edge case where `RoundSuperellipseParam::Contains`
would incorrectly judge a point if the point is outside a sharp corner.

Although this case would have been rejected by the rect filter,
`RSuperellipse.contains` (which is called by `dart:ui`) did not use a
rect filter, causing this bug to affect Dart only. This PR also adds
rect filter to it.

## 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-22 22:40:54 +00:00
Victor Sanni
df3d1bdc3d
Replace goldens in test/cupertino/nav_bar_transition_test.dart (#169172)
Fixes [Replace golden tests in
test/cupertino/nav_bar_transition_test.dart](https://github.com/flutter/flutter/issues/169169)

Removed one of the clipping tests because it is already covered by the
other test. The tests become a little more brittle (now using type
checks etc), but no more flaky goldens.
2025-05-22 22:35:13 +00:00
engine-flutter-autoroll
4c90accdd3
Roll Skia from 13a299964c9f to ea73ccdc1417 (35 revisions) (#169303)
Roll Skia from 13a299964c9f to ea73ccdc1417 (35 revisions)

https://skia.googlesource.com/skia.git/+log/13a299964c9f..ea73ccdc1417

2025-05-22 fmalita@google.com [pathbuilder] Transform in place
2025-05-22 jvanverth@google.com Fix transform issue with shadows.
2025-05-22
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-05-22 robertphillips@google.com [graphite] Add Android-specific
BlurFilterMix PaintOption
2025-05-22 jvanverth@google.com Another attempt to fix GrTriangulator
crash.
2025-05-22 jmbetancourt@google.com add SkRecorder APIs to SkSurfaces
2025-05-22 bungeman@google.com Roll FreeType from 7172bd11 to 702e4a1d
(22 commits)
2025-05-22 jamesgk@google.com Update Viewer-on-Android build tool
versions and docs
2025-05-22 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from c785a75fcccd to 098e033ef69b (7 revisions)
2025-05-22 kjlubick@google.com Remove Ganesh GL jobs on Windows
IntelHD4400 machines
2025-05-22
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-05-21 kjlubick@google.com Make MODULE.bazel.lock updates easier for
autorollers
2025-05-21 jmbetancourt@google.com [skcapture] refactor capture canvas
out of modules
2025-05-21 jvanverth@google.com Revert "Fixed precision-loss-induced
errors in path primitive simplification algorithm"
2025-05-21 robertphillips@google.com [graphite] Add Android-specific
Kawase Precompile Pipelines
2025-05-21 robertphillips@google.com [graphite] More MouriMap
2025-05-21 thomsmit@google.com [graphite] Make
AccessPattern::kGpuOnlyCopySrc an option.
2025-05-21
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-05-21 robertphillips@google.com [graphite] Add two Android-specific
RuntimeEffect-based Precompile Options
2025-05-21 drott@chromium.org [Fontations] Roll Fontations
2025-05-21 jamesgk@google.com [graphite] Remove placeholder ES2 shader
modules
2025-05-21 kjlubick@google.com Manually Roll Dawn from be90a8f836d3 to
a3bfb33a777c (83 revisions)
2025-05-21 bungeman@google.com Remove SK_IGNORE_LINEAR_GRADIENT_INFO_FIX
2025-05-21 jamesgk@google.com [graphite] Detect duplicate snippet names
2025-05-21 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from dcbcee8ab32a to 70b90f222c49 (5 revisions)
2025-05-20 mike@reedtribe.org pass Span for points arrays
2025-05-20
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-05-20 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from b8a70a9fb67f to c785a75fcccd (1 revision)
2025-05-20 jlavrova@google.com Fixing ICU4X test
2025-05-20 bungeman@google.com Regularize offset addition in
pack4xHToMask
2025-05-20 kjlubick@google.com Manually roll vulkan-deps from
95177446886d to b8a70a9fb67f (123 revisions)
2025-05-20 danieldilan@google.com Don't read whole stream on SkWebpCodec
creation
2025-05-20 mike@reedtribe.org Specalize hair-point drawing
2025-05-20 kylechar@google.com Revert "graphite: Enable SSBOs for
Dawn/Vulkan"
2025-05-20 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from 5fd79e6a2ce8 to dcbcee8ab32a (7 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC jonahwilliams@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:
...
2025-05-22 22:26:43 +00:00
Danny Tuppeny
9ae249e0b1
Increase sub-task timeout for Mac web_tool_tests (#169307)
In my PR https://github.com/flutter/flutter/pull/169198 the Mac
web_tool_tests are timing out after around 45 minutes. The global
timeout has been set to 60 minutes but the sub-task timeout was lower.

This increases the sub-task timeout to match the global timeout (see
https://github.com/flutter/flutter/pull/169277 and
https://github.com/flutter/flutter/issues/169168).
2025-05-22 22:11:59 +00:00
Renzo Olivares
c31247a7b3
Fix crash on two finger selection gesture (#168598)
This change blocks two selection handles from being able to be dragged
simultaneously on iOS and the web, this matches the native behavior. On
native Android both handles can still be dragged simultaneously this is
the behavior observed on Google Keep/ Google Messages and Android's
EditText.

Also fixes an issue on iOS where the magnifier would not return after
hiding when double tapping and dragging to select and then dragging
outside the TextField area. The cause of this issue was because
editableText.showMagnifier decides whether to update the magnifier
position or show a new one based on whether it was visible, so when it
was hidden and we attempt to update it's position, it would try to show
a new magnifier which left the magnifier in a broken state. This change
makes editableText.showMagnifier depend on whether a magnifier exists
instead of just checking it's visibility. Similarly
editableText.hideMagnifier now does not depend on the magnifier
visibility, instead it internally (selectionOverlay.hideMagnifier)
checks if the magnifier exists.

Fixes #168578

## 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-22 21:43:54 +00:00
Matan Lurey
9528c1849e
Disable the ability to opt-out of explicit-package-dependencies. (#169283)
This feature landed opt-in in 3.29 and opt-out in 3.32:


https://docs.flutter.dev/release/breaking-changes/flutter-generate-i10n-source

In this PR, we remove the ability to use `flutter config
--no-enable-explicit-package-dependencies`, and remove all places that
opt-in to the flag (which are currently NOPs). Follow-up PRs will
refactor tests relying on the older behavior, and then finally remove
`package:flutter_gen` and the `.flutter-plugins` (legacy format) file
guarded by this flag.
2025-05-22 21:42:50 +00:00
chunhtai
8d2c9782e3
Fixes tab semantics gets dropped if the child produce a semantics node (#169233)
<!--
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/169175

the bug is due to the image widget will create it own semanitc node and
force the semantics widget in the stack to form its own node instead of
merge up. Modify the code so that it works correctly.

## 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-22 21:06:03 +00:00
Matan Lurey
64894be90a
Skip {PLAT}_web_tools_test#expression_evaluation_*_test.dart, turning tree 🔴 (#169305)
P0 filed to restore: https://github.com/flutter/flutter/issues/169304,
these tests take 20m+ on Linux docs causing timeouts.
2025-05-22 20:08:01 +00:00
Matan Lurey
bb14ef665f
Update tool-internal generateLocalizations...() to never use synthetic (flutter_gen) packages (#169285)
Essentially this PR is
`s/getSyntheticGeneratedFileContent/getGeneratedFileContent` for a
particular test suite.

Made one non-test change (`bool useSyntheticPackage = false`) that
in-practice should be a NOP, mostly so I could catch (and remove) cases
where the default argument was already being passed-in. A follow-up PR
will continue to remove the synthetic package support features (and
refactor or remove tests where necessary).
2025-05-22 18:31:35 +00:00
auto-submit[bot]
5fd7aa2ed7
Reverts "Make build_android_host_app_with_module_aar build using an aar (#169171)" (#169287)
<!-- start_original_pr_link -->
Reverts: flutter/flutter#169171
<!-- end_original_pr_link -->
<!-- start_initiating_author -->
Initiated by: gmackall
<!-- end_initiating_author -->
<!-- start_revert_reason -->
Reason for reverting: this is failing on presubmits of prs that make
engine changes, presumably due to some missing gradle configuration to
handle that special case in resolving the engine binaries.
<!-- end_revert_reason -->
<!-- start_original_pr_author -->
Original PR Author: gmackall
<!-- end_original_pr_author -->

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

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

`build_android_host_app_with_module_aar` was unfortunately not depending
on the module as an aar, but as source (something we have a different
test for, and something that you would not expect given the name of the
test 🤦 )

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

<!-- end_revert_body -->

Co-authored-by: auto-submit[bot] <flutter-engprod-team@google.com>
2025-05-22 17:26:26 +00:00
Mouad Debbar
43b6bf67e9
Increase sub-task timeout for web_tool_tests_1_2 (#169277)
For more details, @flar did a great job explaining it in
https://github.com/flutter/flutter/issues/169168.

This PR is a one-off fix for the `web_tool_tests_1_2` shard that has
been timing out and bringing the tree down with it. The shard was marked
`bringup` [here](https://github.com/flutter/flutter/pull/168871). After
increasing the sub-task timeout, let's watch it and if it becomes
consistently green, we will remove the `bringup` status.

Partial fix for https://github.com/flutter/flutter/issues/168863
(partial because I still want to remove `bringup` before I consider the
issue fixed)
2025-05-22 17:03:41 +00:00
Mohellebi abdessalem
ffe8554f4a
refactor the usage of MediaQuery.sizeOf(context).height to use the new .heightOf(context) (#168894)
Replace the usage of MediaQuery.sizeOf(context).height with
MediaQuery.hieghtOf(context)

<!-- 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-22 16:51:10 +00:00
Kevin Moore
cb3150f998
[tool] Add --no-minify flag to JS Compiler (#169102)
Also hides (behind verbose) dump info and frequency minify flags
2025-05-22 16:32:50 +00:00
Bruno Leroux
e78b434e8f
Update ButtonStyle documentation (#168062)
## Description

This PR updates `ButtonStyle.minimumSize` and `ButtonStyle.fixedSize`
documentation.

It updates the documentation in order to describe the current behavior
as it might be surprising.
I have considered changing the behavior related to
`ButtonStyle.minimumSize` but while experimenting I noticed that several
widgets in the framework (and several tests) use
`ButtonStyle.minimumSize` with the expectation that the given size is
adjusted based on the ambient visual density (and there are probably
several similar usages outside of the framework in Google and non-Google
apps).

## Related Issue

ButtonStyle.minimumSize : Fixes [minimumSize not respected properly when
visual density is not
standard](https://github.com/flutter/flutter/issues/123528)
ButtonStyle.fixedSize : Fixes [Button behaves differently in Web/Desktop
and Mobile](https://github.com/flutter/flutter/issues/85729)

## Tests

Documentation only

---------

Co-authored-by: Kate Lovett <katelovett@google.com>
2025-05-22 09:32:20 +00:00
yim
e1499da258
Fix the issue where DropdownMenu disposes of the controller. (#168541)
`DropdownMenu` should not dispose of an explicitly provided controller.
Its behavior should be similar to `TextField`.


76747c0ece/packages/flutter/lib/src/material/text_field.dart (L1262)

## Pre-launch Checklist

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

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

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

---------

Co-authored-by: Tong Mu <dkwingsmt@users.noreply.github.com>
2025-05-22 04:26:06 +00:00
Alex Medinsh
fa24a71113
Add bottomSheetScrimBuilder to Scaffold (#167335)
<!--
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
-->

Adds a new Scaffold param `bottomSheetScrimBuilder` that allows to
define a custom scrim instead of the default ModalBarrier.

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

## 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-22 04:26:06 +00:00
auto-submit[bot]
88d184dada
Reverts "[Reland] Implements UISceneDelegate dynamically w/ FlutterLaunchEngine (#168396) (#168914)" (#169250)
<!-- start_original_pr_link -->
Reverts: flutter/flutter#168914
<!-- end_original_pr_link -->
<!-- start_initiating_author -->
Initiated by: gaaclarke
<!-- end_initiating_author -->
<!-- start_revert_reason -->
Reason for reverting:
https://ci.chromium.org/ui/p/flutter/builders/prod/Mac_ios%20external_ui_integration_test_ios/16792/overview

The external texture integration test is failing. Running the host app
appeared to work but one of the driver asserts isn't working.
<!-- end_revert_reason -->
<!-- start_original_pr_author -->
Original PR Author: gaaclarke
<!-- end_original_pr_author -->

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

<!-- start_revert_body -->
This change reverts the following previous change:
## **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. This is sometimes done to register
platform channels directly on the `FlutterViewController`. Instead users
should use the `FlutterPluginRegistry` API's to create platform channels
in `-[UIApplicateDelegate didFinishLaunchingWithOptions:]`, like
`FlutterPlugin`s do.

An example can be seen here:
https://github.com/flutter/flutter/pull/168914/files#diff-9f59c5248b58124beca7e290a57646023cda3ca024607092c6c6932606ce16ee

## Changes since revert
Device lab tests have been migrated to using the FlutterPlugin API for
creating platform channels at process launch.

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

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

<!-- end_revert_body -->

Co-authored-by: auto-submit[bot] <flutter-engprod-team@google.com>
2025-05-22 03:32:21 +00:00
engine-flutter-autoroll
3fb1899377
Roll Dart SDK from 56940edd099d to 8f85d89fdc23 (6 revisions) (#169237)
https://dart.googlesource.com/sdk.git/+log/56940edd099d..8f85d89fdc23

2025-05-21 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-155.0.dev
2025-05-21 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-154.0.dev
2025-05-21 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-153.0.dev
2025-05-21 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-152.0.dev
2025-05-20 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-151.0.dev
2025-05-20 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-150.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,jonahwilliams@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-21 22:59:38 +00:00
Kyle Finlinson
b8157ceb60
Use gestureSettings.touchSlop in PrimaryPointerGestureRecognizer (#161549)
<!--
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
-->

Use `gestureSettings.touchSlop` in
`PrimaryPointerGestureRecognizer.handleEvent()` unless a non-default
value (including `null`) is specified.

This behavior will be reflected in subclasses (`TapGestureRecognizer`
and `LongPressGestureRecognizer`) and enable `GestureDetector` tap and
long-press touch slop to be configured out of the box with `MediaQuery`
instead of providing custom gesture recognizers:

```dart
// After this PR you can do this:
child: MediaQuery(
      data: MediaQuery.of(context).copyWith(
        gestureSettings: const DeviceGestureSettings(touchSlop: 64),
      ),
      child: GestureDetector(
        onTap: widget.onTap,
        child: Container(),
      ),


// instead of this:
child: RawGestureDetector(
   gestures: <Type, GestureRecognizerFactory>{
     TapGestureRecognizer: GestureRecognizerFactoryWithHandlers<TapGestureRecognizer>(
       // Without https://github.com/flutter/flutter/pull/161541, we'll actually need to make
       // our own custom TapGestureRecognizer class to expose slop parameters too.
       () => TapGestureRecognizer(preAcceptSlopTolerance: 64, postAcceptSlopTolerance: 64, onTap: onTap),
       (TapGestureRecognizer instance) {},
     ),
   },
   child: Container(),
 ),
```

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

https://github.com/flutter/flutter/issues/154215

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

## Pre-launch Checklist

- [ ] 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-21 22:59:36 +00:00
Huy
7bfcb2f66f
Normalize BottomAppBarTheme (continue) (#168966)
This is following https://github.com/flutter/flutter/pull/168586:

See
https://github.com/flutter/flutter/pull/168586#discussion_r2082606584
for the context of this.

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

Signed-off-by: huycozy <huy@nevercode.io>
2025-05-21 22:14:16 +00:00
gaaclarke
6d14eb2129
[Reland] Implements UISceneDelegate dynamically w/ FlutterLaunchEngine (#168396) (#168914)
## **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. This is sometimes done to register
platform channels directly on the `FlutterViewController`. Instead users
should use the `FlutterPluginRegistry` API's to create platform channels
in `-[UIApplicateDelegate didFinishLaunchingWithOptions:]`, like
`FlutterPlugin`s do.

An example can be seen here:
https://github.com/flutter/flutter/pull/168914/files#diff-9f59c5248b58124beca7e290a57646023cda3ca024607092c6c6932606ce16ee

## Changes since revert
Device lab tests have been migrated to using the FlutterPlugin API for
creating platform channels at process launch.

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

## 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-21 22:01:28 +00:00