30561 Commits

Author SHA1 Message Date
Sigurd Meldgaard
071069046b
gclient sync only run pub get in workspace root folders (#169134)
`pub get` will resolve the entire workspace, so there is no reason to
run it for each package.

Co-authored-by: Matan Lurey <matanlurey@users.noreply.github.com>
2025-06-03 07:15:40 +00:00
engine-flutter-autoroll
7e30df2225
Roll Skia from 815ec432f549 to 818475fbfc2d (24 revisions) (#169905)
https://skia.googlesource.com/skia.git/+log/815ec432f549..818475fbfc2d

2025-06-03
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-06-03 syoussefi@google.com [graphite][vulkan] Fix missing
self-dependency on older ARM
2025-06-02
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-06-02 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 9e8d374fef19 to 1f5c4a08fa11 (14 revisions)
2025-06-02 syoussefi@google.com [graphite][vulkan] Fix use of
VK_EXT_rasterization_order...
2025-06-02 mike@reedtribe.org use SkSpan in SkTypeface API
2025-06-02 mike@reedtribe.org Offer faster version of mapping 1 point
2025-06-02 kjlubick@google.com Use mutex instead of SkOnce in
SkImageFilterCache
2025-06-02 syoussefi@google.com [vulkan] Apply RelaxedPrecision to
special intrinsics
2025-06-02 michaelludwig@google.com [graphite] Don't apply scissor rect
to DrawParams::transformedShapeBounds()
2025-06-02 danieldilan@google.com [skif] Remove forcing to 8888
colortype for RasterBackend
2025-06-02 syoussefi@google.com [vulkan] Apply RelaxedPrecision to
functions
2025-06-02 aswolfers@google.com Revert "Add BGRA format support"
2025-06-02 zengyonghust@gmail.com Fix the syntax error of mixed
semicolons and commas in interfaceBlock.
2025-06-02 syoussefi@google.com [graphite][vulkan] Fix advanced blend
feature check
2025-06-02 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 4f644057b5f0 to 9e8d374fef19 (1 revision)
2025-06-02 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from 20b08f95e5b3 to b13592770666 (4 revisions)
2025-06-02 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from 91043600f711 to ea66c0fa309f (16 revisions)
2025-06-01 skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com
Update SKP version
2025-05-31 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from e4bb9d29351f to 4f644057b5f0 (1 revision)
2025-05-31 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from af59becc8906 to e4bb9d29351f (11 revisions)
2025-05-30 robertphillips@google.com [graphite] Add
Android/YCbCr-specific Precompile RE_LinearEffect PaintOptions
2025-05-30 fmalita@google.com Add pathops.gni stub
2025-05-30 mike@reedtribe.org don't run if we're not rendering

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-06-03 03:51:40 +00:00
ash2moon
694600a9f8
Add announce support to the engine (#169685)
Partly of https://github.com/flutter/flutter/issues/165510

⤵️ Child PR: https://github.com/flutter/flutter/pull/168992

Partly re-lands https://github.com/flutter/flutter/pull/165531
The PR was originally reverted due to an issue with an internal Google
test. I split re-land PR into two separate ones so that we can
individually revert in case it fails again.

## Pre-launch Checklist

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

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

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-06-03 00:26:11 +00:00
richardexfo
5c4edc244f
Fix Linux OpenGL compositor on ARM driver (#166753)
Fix Linux OpenGL compositor on ARM driver.
Add "ARM" to the list of drivers unsupported by the gl_framebuffer_blit
based rendering.

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


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

<!-- 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: Robert Ancell <robert.ancell@canonical.com>
2025-06-03 00:20:08 +00:00
Robert Ancell
a79827a310
Support software rendering on Linux (#166307)
This can be enabled by setting the environment variable
FLUTTER_LINUX_RENDERER=software.
    
The purpose is to be able to test Flutter OpenGL Linux issues by running
you app in this mode. In the future this could be enhanced to
automatically switch to software if OpenGL support is not available.

Fixes https://github.com/flutter/flutter/issues/151389
2025-06-02 22:34:08 +00:00
Sam Rawlins
406199ca71
Change lint ignore comment to use unawaited (#169622)
I believe using `unawaited` is the more idiomatic way to escape the
`unawaited_futures` rule.

The specific motivation here is that we are going to change the offset
at which this lint rule reports. In this case it will report at
`.catchError` instead of `imgElement!`. So we could either move the `//
ignore` comment, or switch to `unawaited`.

## Pre-launch Checklist

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

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

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-06-02 19:52:29 +00:00
Jason Simmons
fd75ddef5c
[Impeller] Fix flakes in the CommandPoolRecyclerVKTest suite (#169785)
The vector of API calls returned by GetMockVulkanFunctions is not thread
safe. The tests need to wait for the the background thread used by
CommandPoolRecyclerVK to finish reclaiming resources before checking for
mock Vulkan calls.
2025-06-02 18:31:59 +00:00
Kaylee Lubick
a874605eb9
Use explicit FontConfig SkFontMgr factory (#169533)
In http://review.skia.org/987597, Skia is deprecating the 1 argument
version of `SkFontMgr_New_FontConfig`

This updates Flutter to explicitly use the FreeType version of
SkFontScanner.

## Pre-launch Checklist

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

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

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-06-02 18:31:59 +00:00
jesswrd
f927d28d2f
Updated AVD dependency in Engine CI (#169124)
Updated the Chromium and CI avd dependency to one compatible with
Android 16 (API 36). Used the same CI AVD as the one used in framework
CI.

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

## Pre-launch Checklist

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

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

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-06-02 18:31:59 +00:00
Koji Wakamiya
d064c95c10
[Web][Engine] Update MediaQuery in response to semanticsEnabled (#166836)
fix https://github.com/flutter/flutter/issues/134980

Calling
`EnginePlatformDispatcher.instance.invokeOnAccessibilityFeaturesChanged();`
after `EnginePlatformDispatcher.instance.configuration =
newConfiguration` to notify update configuration event to `MediaQuery`.

before


https://github.com/user-attachments/assets/89969cc7-f9fa-4ac0-8ce0-d026d5676f27

after


https://github.com/user-attachments/assets/8a284d42-e344-4039-8569-8567956326b7

<details>

<summary>Example Code</summary>

```dart
import 'package:flutter/material.dart';
import 'package:flutter/semantics.dart';

void main() {
  runApp(const MaterialApp(home: MyHomePage()));
}

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

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            ElevatedButton(
              onPressed: () {
                SemanticsBinding.instance.ensureSemantics();
              },
              child: const Text('Enable a11y'),
            ),
            const SizedBox(height: 24),
            ElevatedButton(
              onPressed: () {
                ScaffoldMessenger.of(context).showSnackBar(
                  SnackBar(
                    content: const Text('Should stay visible'),
                    action: SnackBarAction(label: 'Action', onPressed: () {}),
                  ),
                );
              },
              child: const Text('Show snackbar'),
            ),
            const SizedBox(height: 24),
            Text(
              'MediaQuery.accessibleNavigationOf(context): ${MediaQuery.accessibleNavigationOf(context)}',
            ),
            Text(
              'SemanticsBinding.instance.semanticsEnabled: ${SemanticsBinding.instance.semanticsEnabled}',
            ),
            Text(
              'SemanticsBinding.instance.platformDispatcher.semanticsEnabled: ${SemanticsBinding.instance.platformDispatcher.semanticsEnabled}',
            ),
            Text(
              'SemanticsBinding.instance.accessibilityFeatures: ${SemanticsBinding.instance.accessibilityFeatures}',
            ),
          ],
        ),
      ),
    );
  }
}
```

</details>

## 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: chunhtai <47866232+chunhtai@users.noreply.github.com>
Co-authored-by: Mouad Debbar <mouad.debbar@gmail.com>
2025-06-02 13:58:26 +00:00
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
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
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
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
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
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
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
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
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
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
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
engine-flutter-autoroll
9c89a8fff9
Roll Skia from cc7963935d9d to 274d78ef2666 (21 revisions) (#169665)
https://skia.googlesource.com/skia.git/+log/cc7963935d9d..274d78ef2666

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 ANGLE
from 2a18fdbf4c8c to e7118451f513 (18 revisions)
2025-05-29 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 8888289eb6d9 to 58febb14bdad (6 revisions)
2025-05-29 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from 0dc9ec06d441 to f53bc591dafd (28 revisions)
2025-05-29 syoussefi@google.com [vulkan] Switch to VK_EXT_debug_utils
2025-05-29
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-05-28
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-05-28
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-05-28 danieldilan@google.com Add bounds check to onDrawPoints for
ganesh Device
2025-05-28 bungeman@google.com [gn] Remove msvc env setting
2025-05-28 michaelludwig@google.com [graphite] Separate HSL and regular
color matrix filter shaders
2025-05-28 kainino@chromium.org [graphite] Handle Dawn breaking change
in QueueWorkDoneCallback
2025-05-28
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-05-28 kjlubick@google.com Rename SkRecorder::Type::kRaster -> kCPU
2025-05-28 thomsmit@google.com [graphite] Add test for static vertices
padding.
2025-05-28 lukasza@google.com Revert "[rust png] Round-trip
`kOpaque_SkAlphaType` when encoding."
2025-05-28
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-05-28 syoussefi@google.com [graphite][vulkan] Prepare for more
extensive property queries
2025-05-28 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 9b8253ba5637 to 8888289eb6d9 (8 revisions)
2025-05-28 kjlubick@google.com Fix integer overflow in SkSL RP code
2025-05-28 lukasza@chromium.org [rust png] Round-trip
`kOpaque_SkAlphaType` when encoding.

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 12:39:26 +00:00
Nate Biggs
f5f9f351f0
Add dynamic module loader to flutter wasm entrypoint script. (#169313)
Adds support for loading dynamic module files to the Flutter wasm
entrypoint script. The Dart SDK already tries to import this function
when dynamic modules are enabled.

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

---------

Co-authored-by: Nate Biggs <natebiggs@google.com>
2025-05-28 21:47:17 +00:00
Chinmay Garde
2180d9fe80
[Impeller] Update FAQ for WebGPU/Dawn. (#169616)
From the thread on the insiders channel.
2025-05-28 21:36:28 +00:00
Jonah Williams
af3627ac2b
[Impeller] acquire the gpu sync switch when flush stored GPU tasks. (#169596)
Potential fix for https://github.com/flutter/flutter/issues/166668

See:

*
https://github.com/flutter/flutter/blob/master/engine/src/flutter/impeller/renderer/backend/metal/context_mtl.mm#L429
*
5d013c73ba/engine/src/flutter/fml/synchronization/sync_switch.cc (L41)

We don't hold the sync switch lock when we flush tasks. So if we start
flushing then immediately go to the background, then we might execute
while backgrounded.
2025-05-28 21:28:17 +00:00
engine-flutter-autoroll
3e8b531b18
Roll Fuchsia Linux SDK from nC9hLWjYVlChDTEPh... to WvRLeTv2ocKsPOdrq... (#169604)
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-28 20:15:10 +00:00
John "codefu" McDole
a5b51dbf22
Engine tests kvm=1 is required for some fuchsia (#169614)
Undoes some changes from #168106 as these tests are looking for a KVM
specifically for hardware accelerating the emulators. Tests are timing
out as "infra failures" and making the tree go red.

> KVM path /dev/kvm does not exist. Running without acceleration;
emulator will be extremely slow and may not establish a connection with
ffx in the allotted time.
2025-05-28 19:57:47 +00:00
Victoria Ashworth
6a15533bf0
Allow tests to use macOS 15.5 (#169536)
Part of https://github.com/flutter/flutter/issues/167824

## 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-28 15:55:00 +00:00
gaaclarke
0e536eb9fe
Introduces FlutterPluginRegistrant protocol. (#169399)
design doc:
https://docs.google.com/document/d/1ZfcQOs-UKRa9jsFG84-MTFeibZTLKCvPQLxF2eskx44/edit?tab=t.0
issue: https://github.com/flutter/flutter/issues/167267

This provides the proper long term API for registering plugins in lieu
of `application:didFinishLaunching:withOptions:` no longer being a
viable place.

## 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-28 15:31:30 +00:00
engine-flutter-autoroll
a975302a8d
Roll Skia from 92311f2ba0b7 to 82d326fc2148 (1 revision) (#169552)
https://skia.googlesource.com/skia.git/+log/92311f2ba0b7..82d326fc2148

2025-05-27 danieldilan@google.com Implement drawBlurredRRect for Ganesh

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-28 03:05:25 +00:00
engine-flutter-autoroll
b885d6cbfc
Roll Skia from 044f58f78a73 to 92311f2ba0b7 (9 revisions) (#169542)
https://skia.googlesource.com/skia.git/+log/044f58f78a73..92311f2ba0b7

2025-05-27 sharaks@google.com Merge 1 release note into RELEASE_NOTES.md
2025-05-27 sharaks@google.com Update Skia milestone to 139
2025-05-27
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-05-27 syoussefi@google.com [vulkan] Update Skia's own Vulkan
headers to v1.4.313.0
2025-05-27 michaelludwig@google.com [graphite] Use CoverBoundsRenderStep
for pixel-aligned drawImageRect calls
2025-05-27 michaelludwig@google.com Revert "[vulkan] Apply
RelaxedPrecision to special intrinsics"
2025-05-27 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from d18d20e2f8cd to 9b8253ba5637 (2 revisions)
2025-05-27 kjlubick@google.com Make clang-format recognize (ignore)
.json files
2025-05-27 michaelludwig@google.com [graphite][vk] Don't requery RP
granularity in beginRenderPass

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-28 00:20:25 +00:00
engine-flutter-autoroll
5855b18782
Roll Skia from 443f5257f382 to 044f58f78a73 (16 revisions) (#169530)
https://skia.googlesource.com/skia.git/+log/443f5257f382..044f58f78a73

2025-05-27 michaelludwig@google.com [vk] Add macros to log all vulkan
commands to console
2025-05-27 michaelludwig@google.com Revert "[vulkan] Apply
RelaxedPrecision to functions"
2025-05-27 jamesgk@google.com [graphite] Add a todo for the
kTextureSample dst read enum
2025-05-27 borenet@google.com [SkPathBuilder] Add generalized addPath
method
2025-05-27 nicolettep@google.com [graphite] Add Vulkan lazy memory
allocation fallback
2025-05-27 michaelludwig@google.com [nanobench] Disable warmup when
explicit loop count is requested
2025-05-27 jreck@google.com Add libskia_skcms to Android.bp
2025-05-27 syoussefi@google.com [ganesh][gl] Avoid
GL_ANGLE_base_vertex_base_instance
2025-05-27 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from ec4d8f8e4d3f to 2a18fdbf4c8c (5 revisions)
2025-05-27 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from 30e8f3c65d17 to 0dc9ec06d441 (7 revisions)
2025-05-27 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from d5a5fd31a4fe to d18d20e2f8cd (6 revisions)
2025-05-26 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from bf024288c340 to d5a5fd31a4fe (1 revision)
2025-05-26
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-05-26 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from 3cf7a60476f5 to ec4d8f8e4d3f (11 revisions)
2025-05-26 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
SwiftShader from f70c1194c173 to a8133cbb3c89 (1 revision)
2025-05-26 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from 65e89ee3bd4c to 30e8f3c65d17 (11 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 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-27 19:39:26 +00:00
engine-flutter-autoroll
184835f7d8
Roll Fuchsia Linux SDK from 5mpmPsuD8rpeiJizT... to nC9hLWjYVlChDTEPh... (#169498)
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-27 16:41:07 +00:00
zhongliugo
768932e972
Split hint from label and expose it via aria-description or aria-describedby (#169157)
**Summary**
This PR improves web accessibility in Flutter by separating hint from
label in the semantics engine and exposing them via ARIA attributes. The
hint is set using aria-description (or aria-describedby as a fallback
for browsers that do not support aria-description).

**Details**
Hint separation:
The hint is exposed via aria-description if supported, or via
aria-describedby with a hidden node as a fallback.
Browser compatibility:
Uses feature detection to choose between aria-description and
aria-describedby.
Test coverage:
Added/updated tests to verify correct ARIA attribute behavior and
fallback logic.

**How to verify**
All relevant tests pass (semantics_test.dart, semantics_text_test.dart).

**Motivation**
This change brings Flutter web closer to accessibility best practices
and ARIA standards, improving the experience for users of assistive
technologies.

**Before/After Change**
before: https://before-change-hint.web.app/
after: https://after-change-hint.web.app/ 
after(fallback to aria-describedby):
https://after-change-hint-fallback.web.app/

**Issues fixed**
https://github.com/flutter/flutter/issues/162140

**Note**
Some focus-related tests (e.g., incrementable sends focus events) are
failing, but these failures are also present on the main branch and are
unrelated to the ARIA label/hint changes in this PR.


## 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: Mouad Debbar <mouad.debbar@gmail.com>
2025-05-27 15:50:18 +00:00
engine-flutter-autoroll
8e76fb2946
Roll Dart SDK from d811152316e4 to 6aeb798bdbe2 (2 revisions) (#169478)
https://dart.googlesource.com/sdk.git/+log/d811152316e4..6aeb798bdbe2

2025-05-26 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-172.0.dev
2025-05-26 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-171.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-26 22:41:33 +00:00
engine-flutter-autoroll
51b9d60a34
Roll Dart SDK from 7dab9bffe1f7 to d811152316e4 (1 revision) (#169473)
https://dart.googlesource.com/sdk.git/+log/7dab9bffe1f7..d811152316e4

2025-05-26 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-170.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-26 17:33:32 +00:00
jacobsimionato
1a8e8fb3f0
Fix wrong path in 'archives' for release mode iOS DDM artifacts. (#169448)
This is intended to fix a bug where DDM iOS builds were not working in
release mode and failing at runtime with an error like:
```
Failed to find snapshot at /private/var/containers/Bundle/Application/CA6AA16E-2C5E-4C1F-A650-E48AC9AC68BD/my_app.app/Frameworks/ios.framework/ios.assets/kernel_blob.bin:
Error Domain=NSCocoaErrorDomain Code=260 "The file “kernel_blob.bin” couldn’t be opened because there is no such file."
UserInfo={NSURL=kernel_blob.bin -- 
file:///private/var/containers/Bundle/Application/CA6AA16E-2C5E-4C1F-A650-E48AC9AC68BD/my_app.app/Frameworks/ios.framework/ios.assets/, NSFilePath=/private/var/containers/Bundle/Application/CA6AA16E-2C5E-4C1F-A650-E48AC9AC68BD/my_app.app/Frameworks/ios.framework/ios.assets/kernel_blob.bin, NSUnderlyingError=0x302f3b480 {Error Domain=NSPOSIXErrorDomain Code=2 "No such file or directory"}}
```

I think what was happening is the Google internal build infra was trying
to create a release mode app with no kernel_blob.bin etc, but it
actually contained a flutter.so built for debug mode which was expecting
to find kernel_blob.bin.

See internal bug b/419694561 for full context.
2025-05-26 07:44:06 +00:00
engine-flutter-autoroll
528b7dd423
Roll Fuchsia Linux SDK from -eo2JqnJBauuGSzoW... to 5mpmPsuD8rpeiJizT... (#169446)
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 jonahwilliams@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-26 06:16:08 +00:00
engine-flutter-autoroll
1430fc8e8d
Roll Fuchsia Linux SDK from XtPp9bBW49iDJ0wbA... to -eo2JqnJBauuGSzoW... (#169424)
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 jonahwilliams@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-25 03:59:26 +00:00
engine-flutter-autoroll
9071137811
Roll Dart SDK from 0a6b16a55b9e to 7dab9bffe1f7 (1 revision) (#169406)
https://dart.googlesource.com/sdk.git/+log/0a6b16a55b9e..7dab9bffe1f7

2025-05-24 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-169.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 07:42:37 +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