85044 Commits

Author SHA1 Message Date
Moritz
5b94ea2326 Data assets
Refiling of #169273, which itself is a rebase of #159675

This PR adds bundling support for the experimental dart data asset
feature: Dart packages with hooks can now emit data assets which the
flutter tool will bundle.

It relies on flutter's existing asset bundling mechanism (e.g. entries
in AssetManifest.json, DevFS syncing in reload/restart, ...).

The support is added under an experimental flag (similar to the existing
native assets experimental flag).

Also, kNativeAssets is removed to also bundle data assets on flutter
build bundle.

The chrome sandbox is disabled as per #165664.

- [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-07-14 16:32:25 +02:00
engine-flutter-autoroll
63f471185f
Roll Fuchsia Linux SDK from xQlbHCUI33kDvkew8... to qw0YTtPhosk3-rr4h... (#172076)
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 chinmaygarde@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-07-13 12:12:37 +00:00
Alexander Aprelev
1e85c8f7cc
Roll dart sdk to 3.9.0-333.0.dev (#172052)
Changes since last dart roll:
```
3ad640094c3 (tag: 3.9.0-333.0.dev) Version 3.9.0-333.0.dev
a706ea8a9b5 Remove left-over debugging code that saved files to disk.
c47a8b0adaa [vm/shared] Restore fast-path for RunWithStoppedMutators.
3e462c1343f [vm,dyn_modules] Support external/native methods in bytecode
e69b7eafcaa [co19] Roll co19 to a5d7b62b78dd9278c30a44cb2d22b8870b360a0e
cb5aed532f1 (tag: 3.9.0-332.0.dev) Version 3.9.0-332.0.dev
15a00898af8 Add the ability to copy pipes using File.Copy
08e5a2d5281 (tag: 3.9.0-331.0.dev) Version 3.9.0-331.0.dev
c87169ef1a2 Remove InfoDeclarationStore.
d6c4707b938 Elements. Remove InterfaceElementImpl.lookUpInheritedMethod()
279b379ef92 Elements. Replace FragmentImpl.nameOffset with firstTokenOffset.
14bb2be360d [ddc] Optimize building type environments at runtime
7e4fca78a87 [changelog] Clean up recent changelog entries
f3d9d5e6868 (tag: 3.9.0-330.0.dev) Version 3.9.0-330.0.dev
313fd866d1f [deps] rev http, i18n, tools, web
895413f982f [analyzer] Add special case for bool.fromEnvironment('dart.library.js_interop')
5ce3cd24d20 [ddc] Fix hot reload test runner ternary.
9737e0c8530 analyzer: Simplify the sealed supertype check
3220f9b511f (tag: 3.9.0-329.0.dev) Version 3.9.0-329.0.dev
b207705bd58 [dart2wasm] Update interop specializers to live in library with specialized member.
83d862217e5 Bump pub to c3e50919d11896f014cb971e1776d00a0e2d18b3
```

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

*Replace this paragraph with a description of what this PR is changing
or adding, and why. Consider including before/after screenshots.*

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

*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-07-13 04:04:34 +00:00
engine-flutter-autoroll
35f197f1e5
Roll Fuchsia Linux SDK from 8aoEy1hp2a9HI1pt-... to xQlbHCUI33kDvkew8... (#172060)
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 chinmaygarde@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-07-12 10:18:38 +00:00
Tong Mu
dcae0c4ca0
Add RSuperellipse support to Web (global cache) (#171489)
This PR adds `RSuperellipse` support to Web, so that these ops will
actually draw `RSuperellipse`s instead of falling back to `RRect`s,
except for platform views.
* (I was told in some earlier comments that RSuperellipses should fall
back to RRects for platform views but I can't remember where for now. If
reviewers think otherwise I can implement them right away or make this a
TODO in the future.)

The `RSuperellipse`s are drawn after being converted to paths. The
algorithm is nothing new, but already used in
`round_superellipse_param.cc`.

For performance optimization, `RSuperellipse`s that have uniform radii
will have their paths cached in a global cache after offset
normalization.

This PR does not add any new public APIs. (Although, I'm planning to
also implement this to the main `dart:ui` in the future to support
non-Impeller-nor-Web platforms, which will need
`RSuperellipse.toPathOffset` public.)

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

## 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-07-12 05:43:32 +00:00
Jing Shao
c381cc52e5
Fix grammar: Change 'A' to 'An' before IOSSystemContextMenuItemData (#172019)
<!--
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
-->

This PR fixes a grammar issue in the documentation comments for
`IOSSystemContextMenuItemData` subclasses in `text_input.dart`.

Follow-up to #170969.

*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

- [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].
- [ ] 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-07-12 02:42:40 +00:00
Jason Simmons
82e82a9fd9
Manual roll Dart to b21dca1b89ff (#172038)
Includes a roll of the native package that introduces the
native_test_helpers package.

See
https://dart.googlesource.com/sdk/+/28c833c669ed9cebda54d8291be147a2a6bd50dd
2025-07-11 23:55:19 +00:00
engine-flutter-autoroll
789a4be32a
Roll Skia from 2ea2ba09ef85 to 92354f64e37f (1 revision) (#172039)
https://skia.googlesource.com/skia.git/+log/2ea2ba09ef85..92354f64e37f

2025-07-11 michaelludwig@google.com [graphite] Add more
resource/recorder tracking for 407062399

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
chinmaygarde@google.com,kjlubick@google.com,thomsmit@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-07-11 23:55:19 +00:00
zhongliugo
7015afcc41
Fix CheckedPopupMenuItem semantics to use menuItemCheckbox role with checked state (#171749)
Description
This PR fixes an accessibility issue where CheckedPopupMenuItem was not
properly announcing its checked state to screen readers.

Before

https://github.com/user-attachments/assets/b1785522-eea4-4fc3-9a9a-1872615838c0

After
Demo app: https://checked-0707.web.app/

https://github.com/user-attachments/assets/a8083c0b-11c8-4e93-bd71-842dfe5fa344

Issues Fixed
This PR fixes https://github.com/flutter/flutter/issues/171463. 

Breaking Changes
None.

## 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-07-11 22:04:23 +00:00
gaaclarke
f351ac4ec0
adds gemini.md to engine and licenses_cpp (#172022)
Adds gemini.md files for the engine and the license checker.

I've checked that this unlocks gemini cli development loops for the
license checker. We'll see how this will scale across such a huge
project.

## 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-07-11 21:10:48 +00:00
Loïc Sharma
595bf3fd08
[Web] Implement disabling interactive selection (#171935)
This updates Flutter Web to ignore copy/paste/selections if
`enableInteractiveSelection` is `false` in a text field.

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

## Scenarios tested

1. Click/tap on text: cursor should not move.
2. Double click/tap on text: text should not be selected
3. Triple click/tap on text: text should not be selected
4. Move cursor back (`Left arrow`): cursor should move back
5. Move cursor forward (`Right arrow`): cursor should move forward
8. Select previous word (`Shift+Left arrow`): text should not be
selected, cursor moves to previous word
9. Select previous word (`Shift+Right arrow`): text should not be
selected, cursor moves the next word
7. Select all shortcut (`Ctrl+A` or `Apple+A`): text should not be
selected. ⚠️ With this fix, Flutter Web moves the cursor to the end of
the text field.
8. Copy shortcut (`Ctrl+C` or `Apple+C`): clipboard should not be
updated
9. Paste shortcut (`Ctrl+V` or `Apple+V`): clipboard should not be
pasted
10. Right-click > Copy: clipboard should not be updated
11. Right-click > Paste: clipboard should not be pasted

## Browsers tested

macOS: Chrome, Firefox, Safari

## Example app

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

void main() {
  runApp(
    MaterialApp(
      home: Scaffold(
        body: SafeArea(
          child: TextField(
            enableInteractiveSelection: false,
          ),
        ),
      ),
    ),
  );
}
```

## 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-07-11 20:45:59 +00:00
Loïc Sharma
5154d16d1f
[tool] Make google3 have to override feature flags (#171933)
_⚠️ Landing this is blocked until: 1)
https://critique.corp.google.com/cl/781275353 lands and 2) google3 is
updated to add the new feature flag introduced in
https://github.com/flutter/flutter/pull/171903._

Currently, google3's `Google3Features` extends `FeatureFlags`. As a
result, google3 automatically gets the same feature flag values as in
Flutter.

This makes Flutter's feature flag values abstract, thereby requiring
that google3's `Google3Features` must explicitly set each feature flag's
value.

Discussion that motivated this change:
https://github.com/flutter/flutter/pull/171797
Internal CL: https://critique.corp.google.com/cl/781275353
Part of: https://github.com/flutter/flutter/issues/167668

## Pre-launch Checklist

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

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

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-07-11 20:42:08 +00:00
gaaclarke
95d5dc37db
License cpp 710 (#171989)
No big code changes, just data updates. We are down to about 100 missing
copyrights.

## 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-07-11 20:35:38 +00:00
ash2moon
00724d194a
add content description to tooltip-only nodes for android (#171541)
Fixes [171071](https://github.com/flutter/flutter/issues/171071)

This PR conditionally adds the content description to nodes that rely on
tooltips to convey meaningful information. Some nodes such as Calendar
Date Picker's chevron left and right icons to change months do not
announce the text because the only meaningful semantic information is
the tooltip. On platforms other than Android, "Button, Next Month" is
properly announced. On Android, this is not announced on the focus
event. This PR adds the content description to replicate the logic used
in other platforms only if the developer did not set a special content
description ahead of time.

## 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-07-11 20:30:25 +00:00
Hannah Jin
2a3b048a53
[Web a11y]Update table cell to use LabelRepresentation.sizedSpan (#172013)
fix: https://github.com/flutter/flutter/issues/171991

for a table cell leaf node
LabelRepresentation.ariaLabel will be ignored, 
LabelRepresentation.domText can focus on the text but the rect is wrong,
LabelRepresentation.sizedSpan works very well,

## 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-07-11 19:46:17 +00:00
Ben Konyi
1709c884aa
[ Tool ] Enable omit_obvious_*_types and specify_nonobvious_*_types lints (#172018)
Sources under `packages/flutter_tools/` aren't accessible to the average
Flutter user by navigating through sources from their projects, so it
doesn't need to be as explicitly verbose with types for readability
purposes. The `always_specify_types` lint results in extremely verbose
code within the tool which adds little value.

This change disables `always_specify_types` in favor of a new set of
lints that aim to reduce verbosity by removing obvious types while also
maintaining readability in cases where variable types otherwise wouldn't
be obvious:

  - `omit_obvious_local_variable_types`
  - `omit_obvious_property_types`
  - `specify_nonobvious_local_variable_types`
  - `specify_nonobvious_property_types`
2025-07-11 19:32:57 +00:00
zhongliugo
ac6211aece
Add SemanticsLabelBuilder for Accessible Label Concatenation (#171683)
## Description

Please check comment:
https://github.com/flutter/flutter/pull/171040#issuecomment-3014250567.

This PR adds `SemanticsLabelBuilder`, a new utility class for creating
accessible concatenated labels with proper text direction handling and
spacing. Currently, developers manually concatenate semantic labels
using string interpolation, which is error-prone and leads to
accessibility issues like missing spaces, incorrect text direction for
RTL languages. The new builder provides automatic spacing, Unicode
bidirectional text embedding for mixed LTR/RTL content.

### Before (error-prone manual concatenation):
```dart
//  Missing space
String label = "$firstName$lastName";  // "JohnDoe"

String englishText = "Welcome";  
String arabicText = "مرحبا";     // Arabic "Hello"

// Manual Concatenation (WITHOUT Unicode embedding):
aria-label="Welcome 欢迎 مرحبا स्वागत है to our global app"
// Problem: Arabic does not have proper text direction handling
```

### After (automatic and accessible):

Demo app after the change: https://label-0702.web.app/

```dart
// Automatic spacing and text direction handling
final label = (SemanticsLabelBuilder()
  ..addPart(firstName)
  ..addPart(lastName)).build();
// Result: "John Doe" with proper aria-label generation

// SemanticsLabelBuilder (WITH Unicode embedding):
aria-label="Welcome 欢迎 [U+202B]مرحبا[U+202C] स्वागत है to our global app"
//  Result: Arabic has proper text direction handling
```

## Issues Fixed

This fixes https://github.com/flutter/flutter/issues/162094. 

This PR addresses the general accessibility problem of error-prone
manual label concatenation that affects screen reader users. While not
fixing a specific filed issue, it provides a robust solution for the
common pattern of building complex semantic labels that are critical for
accessibility compliance, particularly for multilingual applications and
complex UI components like contact cards, dashboards, and e-commerce
listings.

## Breaking Changes

No breaking changes were made. This is a purely additive API that
doesn't modify existing behavior or require any migration.

## Key Features Added

- **SemanticsLabelBuilder**: Main builder class for concatenating text
parts
- **Automatic spacing**: Configurable separators with intelligent empty
part handling
- **Text direction support**: Unicode bidirectional embedding for
RTL/LTR mixed content

## Example Usage

```dart
// Basic usage
final label = (SemanticsLabelBuilder()
  ..addPart('Contact')
  ..addPart('John Doe')
  ..addPart('Phone: +1-555-0123')).build();
// Result: "Contact John Doe Phone: +1-555-0123"

// Custom separator
final label = (SemanticsLabelBuilder(separator: ', ')
  ..addPart('Name: Alice')
  ..addPart('Status: Online')).build();
// Result: "Name: Alice, Status: Online"

// Multilingual support
final label = (SemanticsLabelBuilder(textDirection: TextDirection.ltr)
  ..addPart('Welcome', textDirection: TextDirection.ltr)
  ..addPart('مرحبا', textDirection: TextDirection.rtl)
  ..addPart('to our app')).build();
// Result: "Welcome ‫مرحبا‬ to our app" (with proper RTL embedding)
```
```

## 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-07-11 19:06:26 +00:00
Victoria Ashworth
23b81a714d
Run tests on either macOS 14 or 15 (#171076)
In preparation of upgrading the remaining bots to macOS 15, allow tests
to use any version of macOS 14 or 15.

## 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-07-11 18:21:08 +00:00
engine-flutter-autoroll
43161d4b95
Roll Skia from db1a5550c848 to 2ea2ba09ef85 (1 revision) (#172017)
https://skia.googlesource.com/skia.git/+log/db1a5550c848..2ea2ba09ef85

2025-07-11 michaelludwig@google.com [graphite] Add option to simulate
errors during InsertRecording

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
chinmaygarde@google.com,kjlubick@google.com,thomsmit@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-07-11 18:03:24 +00:00
Tong Mu
dcf22d1650
[Cupertino] Make some widgets no longer use RSuperellipse (#171830)
This PR reverts a few widgets back from
https://github.com/flutter/flutter/pull/167784, so that they draw
`RRect` instead of `RSuperellipse`. These shapes are either too small to
make a difference between the two shapes, or indifferent at all. After
observing how costly RSuperellipses are on Web, I decided that this is a
good compromise.

## Pre-launch Checklist

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

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

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

---------

Co-authored-by: Bobbie-Ware <107526026+Bobbie-Ware@users.noreply.github.com>
2025-07-11 17:36:16 +00:00
Jason Simmons
2c7ab86ea6
Detach the resource context from the IO thread only if the shell's IO manager is no longer being used by any other spawned shells (#171554)
The shell had been calling PlatformView::ReleaseResourceContext every
time a shell instance shuts down in order to clear the EGL context from
the IO thread.
But there may be other spawned shells that are also using the same IO
manager and IO task runner. If the task that calls
ReleaseResourceContext runs after the other shells call
CreateResourceContext, then the IO thread will be left without an EGL
context. That will cause errors in operations like image decoding that
need to invoke OpenGL ES APIs on the IO thread.

See https://github.com/flutter/flutter/issues/171213
2025-07-11 16:48:09 +00:00
gaaclarke
3e9ab91e39
Started querying the app state for the gpu disabled sync switch (#171785)
Started querying the app state for the gpu disabled sync switch when
starting an engine without a view controller

fixes https://github.com/flutter/flutter/issues/166668

Testing: Integration test is not possible since it would require
manipulation of the operating system and killing / restoring the app.
Unit tests would require executing in the background or mocking out
background detection which is pretty contrived and will complicate
engine initialization. The simple cases will be covered with integration
tests like the wide gamut devicelab tests which loads an image at
startup and grabs a screenshot of it.

## 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 `///`).
- [ ] 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-07-11 16:03:42 +00:00
gaaclarke
cb4bedd58e
License_cpp 7/02 (#171558)
A lot of data updates. The big change here is allowing more than one
license to hit in a LICENSE file as long as they don't overlap.

After this change we are at 957 LICENSE copyrights, 943 LICENSE_CPP
copyrights. There seems to be 175 missing copyrights still from
LICENSE_CPP.

## 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-07-11 16:02:50 +00:00
Kostia Sokolovskyi
fa4a2c1098
[web] Refactor clipboard. (#171427)
Closes https://github.com/flutter/flutter/issues/48581
Closes https://github.com/flutter/flutter/issues/157484

### Description
This PR refactors the clipboard implementation in the web engine.

- Enables `ClipboardAPI*` strategies for all browsers
- Adds check for `format` in `getDataMethodCall` to match
implementations on other platforms

975f6d8bef/engine/src/flutter/shell/platform/android/io/flutter/plugin/platform/PlatformPlugin.java (L554)
975f6d8bef/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterPlatformPlugin.mm (L410)

- Removes `ExecCommand*` strategies
- Removes deprecated `execCommand` method from `DomDocument`

The demo app with refactored clipboard is available at:
https://flutter-clipboard-playground.web.app

## 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-07-11 15:48:32 +00:00
Matan Lurey
d49370c230
Require 64-bit Windows (#171925)
Closes https://github.com/flutter/flutter/issues/62559.

We already do, but now we'll fail eagerly with a reasonable error
message.

Open to another way of doing this.
2025-07-11 15:27:12 +00:00
Mouad Debbar
255e8c20a0
Run hot_reload_with_asset_web_test.dart on Mac/Windows (#171280)
Part of https://github.com/flutter/flutter/issues/171276
2025-07-11 15:09:07 +00:00
engine-flutter-autoroll
1c5e046d33
Roll Skia from da7e3eae7c2b to db1a5550c848 (2 revisions) (#171999)
https://skia.googlesource.com/skia.git/+log/da7e3eae7c2b..db1a5550c848

2025-07-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from ba8b1ec2a10a to 2748c19e00fd (7 revisions)
2025-07-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from ec2a04cc9535 to 68fa81690837 (8 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
chinmaygarde@google.com,kjlubick@google.com,thomsmit@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-07-11 10:38:39 +00:00
engine-flutter-autoroll
4e2ccf4fe8
Roll Skia from 26571c3b1771 to da7e3eae7c2b (2 revisions) (#171997)
https://skia.googlesource.com/skia.git/+log/26571c3b1771..da7e3eae7c2b

2025-07-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia
Infra from c4debb111e10 to 59d3a3511b5d (11 revisions)
2025-07-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 3e4d34bfa361 to 5e97ca13797b (6 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
chinmaygarde@google.com,kjlubick@google.com,thomsmit@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-07-11 08:24:27 +00:00
engine-flutter-autoroll
5b00c3b41a
Roll Skia from 34a40032ff0a to 26571c3b1771 (1 revision) (#171995)
https://skia.googlesource.com/skia.git/+log/34a40032ff0a..26571c3b1771

2025-07-11
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
chinmaygarde@google.com,kjlubick@google.com,thomsmit@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-07-11 06:14:44 +00:00
engine-flutter-autoroll
dfe7a2a97d
Roll Fuchsia Linux SDK from lO64ePNEGrGzs-MFC... to 8aoEy1hp2a9HI1pt-... (#171993)
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 chinmaygarde@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-07-11 05:22:07 +00:00
Pranav
f081135637
Remove redundant ThemeData(useMaterial3: true) from tests (#171569)
Reference Link
https://github.com/flutter/flutter/pull/168441#discussion_r2178859272

This PR removes explicit ThemeData(useMaterial3: true) assignments from
test files. Since useMaterial3 now defaults to true in Flutter, these
lines are no longer necessary and can be safely omitted.

**Why?**  

- Keeps test code clean and up-to-date with current Flutter defaults.
- Prevents confusion for contributors who may think this setting is
still required.
2025-07-10 23:58:20 +00:00
jesswrd
b3cd06dd47
[Android 16] Updated linux_android_emu to a 36 AVD in framework CI (#169121)
Experimented with and monitored for flakiness using a 36 emulator for
`linux_android_emu_unstable`. After >= 200 commits, it looks like this
test target is stable. Since we have confirmed the 36 emulator for
`linux_android_emu_unstable` is stable, we can update the
`linux_android_emu` to use the same emulator.

Update: Ran into API 36 emulator issue where multiple platform view
modes fail [here](https://github.com/flutter/flutter/issues/170024) that
breaks integration tests under the `android_engine_vulkan_tests` test
target. To continue with the Android 16 AVD update, the
`android_engine_vulkan_tests` test target is now using configurations
from the newly created platform property
`linux_android_emu_vulkan_stable`, which is configured to use an API 35
AVD. `linux_android_emu` is updated to use a API 36 AVD. All test
targets using the linux_android_emu platform property configurations
will use an API 36 AVD.

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

---------

Co-authored-by: Reid Baker <1063596+reidbaker@users.noreply.github.com>
2025-07-10 22:48:08 +00:00
Jing Shao
cc968cae8b
[iOS] Add Live Text option to system context menu (#170969)
<!--
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
-->

**Live Text (OCR) button disappeared from text field menus on iOS after
the Secure Paste M2 update. This PR adds it back.**

**Fixes #169781**

Note: This is a draft PR for initial review. Still need to add tests or
split to framework and engine

## 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].
- [ ] 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-07-10 22:32:31 +00:00
engine-flutter-autoroll
464373078d
Roll Skia from dc3da09ca905 to 34a40032ff0a (1 revision) (#171982)
https://skia.googlesource.com/skia.git/+log/dc3da09ca905..34a40032ff0a

2025-07-10 fmalita@google.com [pathbuilder] Faster assignment (and
SkPath constructor)

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
chinmaygarde@google.com,kjlubick@google.com,thomsmit@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-07-10 21:14:28 +00:00
Pedro Massango
753dbac882
feat: Expose FocusNode of FocusTraversalGroup (#171979)
Expose the focus node of `FocusTraversalGroup` so customers can listen
to focus changes of its descendants.

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

## 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].
- [ ] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
2025-07-10 21:10:37 +00:00
Alex Medinsh
94265c52b3
CupertinoDatePicker and CupertinoTimerPicker new onChanged behavior (#170793)
This PR adds the new `changeReportingBehavior` parameter to
`CupertinoDatePicker` and `CupertinoTimerPicker`.

Continuation of https://github.com/flutter/flutter/pull/170202
Fixes https://github.com/flutter/flutter/issues/92644
## 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-07-10 19:52:26 +00:00
Jason Simmons
ad3ac3b02d
Manual roll Dart SDK from 8d69b07b9d9d to 07ea3aaaadf0 (32 revisions) (#171969)
https://dart.googlesource.com/sdk.git/+log/8d69b07b9d9d..07ea3aaaadf0

2025-07-09 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-327.0.dev
2025-07-09 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-326.0.dev
2025-07-09 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-325.0.dev
2025-07-09 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-324.0.dev
2025-07-09 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-323.0.dev
2025-07-09 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-322.0.dev
2025-07-09 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-321.0.dev
2025-07-08 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-320.0.dev
2025-07-08 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-319.0.dev
2025-07-08 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-318.0.dev
2025-07-08 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-317.0.dev
2025-07-07 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-316.0.dev
2025-07-07 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-315.0.dev
2025-07-05 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-314.0.dev
2025-07-04 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-313.0.dev
2025-07-04 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-312.0.dev
2025-07-04 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-311.0.dev
2025-07-04 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-310.0.dev
2025-07-03 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-309.0.dev
2025-07-03 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-308.0.dev
2025-07-03 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-307.0.dev
2025-07-03 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-306.0.dev
2025-07-03 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-305.0.dev
2025-07-03 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-304.0.dev
2025-07-02 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-303.0.dev
2025-07-02 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-302.0.dev
2025-07-02 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-301.0.dev
2025-07-02 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-300.0.dev
2025-07-02 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-299.0.dev
2025-07-02 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-298.0.dev
2025-07-01 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-297.0.dev
2025-07-01 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-296.0.dev
2025-07-01 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-295.0.dev
2025-07-01 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-294.0.dev

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

---------

Co-authored-by: engine-flutter-autoroll <engine-flutter-autoroll@skia.org>
2025-07-10 18:50:41 +00:00
Kishan Rathore
07aaa8f2aa
Style: Rename pageBuilder with builder in showCupertinoSheet (#170625)
Style: Rename pageBuilder with builder in showCupertinoSheet
fixes: #169831

## 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-07-10 18:22:01 +00:00
engine-flutter-autoroll
d78fc7d940
Roll Skia from bdb8bfcde7f3 to dc3da09ca905 (3 revisions) (#171971)
https://skia.googlesource.com/skia.git/+log/bdb8bfcde7f3..dc3da09ca905

2025-07-10 kjlubick@google.com Fix compile errors in Graphite's Vello
code
2025-07-10 robertphillips@google.com [graphite] Remove trampoline
functions from Precompilation tests
2025-07-10 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 9af2a11b445f to 3e4d34bfa361 (3 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
chinmaygarde@google.com,kjlubick@google.com,thomsmit@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-07-10 18:16:09 +00:00
Kishan Rathore
c2da729144
Feat: Add foreground color for cupertino button (#170898)
Feat: Add foreground color for cupertino button
fixes: #169507 

## Pre-launch Checklist

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

---------

Co-authored-by: Tong Mu <dkwingsmt@users.noreply.github.com>
2025-07-10 18:06:06 +00:00
engine-flutter-autoroll
b948aa1350
Roll Skia from 0fef076beec3 to bdb8bfcde7f3 (34 revisions) (#171964)
Roll Skia from 0fef076beec3 to bdb8bfcde7f3 (34 revisions)

https://skia.googlesource.com/skia.git/+log/0fef076beec3..bdb8bfcde7f3

2025-07-10 michaelludwig@google.com [graphite] Improve no-op scissor
handling
2025-07-10 kjlubick@google.com Revert "Delete GN support for building
for fuchsia"
2025-07-10 lehoangquyen@chromium.org GraphiteDawn: Use
@interpolate(flat, either) for BlitWithDraw pipeline
2025-07-10 nicolettep@google.com [graphite] DrawShadow optimizations
2025-07-10 kjlubick@google.com Temporarily remove Radeon Macbook Pro
Tests from CQ
2025-07-10 kjlubick@google.com Enforce IWYU on more graphite files
2025-07-10 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from ce289330b0b8 to ec2a04cc9535 (11 revisions)
2025-07-10 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
SwiftShader from be6ed66fa563 to c1f7fbbec4e1 (1 revision)
2025-07-10 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia
Infra from 86bd00388c3e to c4debb111e10 (7 revisions)
2025-07-10 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from de887f5d1721 to ba8b1ec2a10a (20 revisions)
2025-07-10
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-07-10 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from c91d04c5a3ae to 9af2a11b445f (8 revisions)
2025-07-10 thomsmit@google.com Add upper limit to Triangulator contour
counts
2025-07-09 michaelludwig@google.com [graphite] Add Shape::isFloodFill()
helper
2025-07-09 robertphillips@google.com [graphite] Upstream Android
Mourimap changes
2025-07-09 fmalita@google.com Remove SkClipStack use in GrAppliedClip.h
2025-07-09 kjlubick@google.com Remove old flags in skia.gni
2025-07-09 kjlubick@google.com Remove uses of deprecated no-args
makeRasterImage
2025-07-09 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from e573f4bc7407 to c91d04c5a3ae (4 revisions)
2025-07-09
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-07-09 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from 825b40622cf2 to ce289330b0b8 (5 revisions)
2025-07-09 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia
Infra from 743562b36d09 to 86bd00388c3e (15 revisions)
2025-07-09 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from d7b31b22748d to de887f5d1721 (17 revisions)
2025-07-08 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 242b87cc5bcc to e573f4bc7407 (6 revisions)
2025-07-08 borenet@google.com [infra] skia-cdn has moved to
skia-world-readable
2025-07-08 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll
Dawn from 0275c582a080 to d7b31b22748d (11 revisions)
2025-07-08 michaelludwig@google.com [graphite] Define inner bounds for
draws when combing with clip stack
2025-07-08 xing.xu@intel.com GraphiteDawn: Use dawn partial resolve
feature on D3D11
2025-07-08 robertphillips@google.com [graphite] Add a PaintOptions
Builder
2025-07-08
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-07-08 michaelludwig@google.com [graphite] Add debugging members for
ResourceCache usage
2025-07-08 kjlubick@google.com Delete GN support for building for
fuchsia
2025-07-08 kjlubick@google.com Generate graphite.gni from BUILD.bazel
2025-07-08 thomsmit@google.com [graphite] Add more DrawAtlas test
coverage

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
chinmaygarde@google.com,kjlubick@google.com,thomsmit@google.com on the
revert to ensure that a human
is aware of the problem.

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

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
...
2025-07-10 16:02:40 +00:00
Mouad Debbar
cbe78368ee
Run stateless_stateful_hot_reload_web_test.dart on Mac/Windows (#171283)
Part of https://github.com/flutter/flutter/issues/171276
2025-07-10 15:38:33 +00:00
Kostia Sokolovskyi
43657f3baa
[web] Add frame number support. (#171592)
Fixes https://github.com/flutter/flutter/issues/170972

### Description
- Adds `frameData` with `frameNumber` value to `FrameService`
- Adds non-mock `frameData` to `EngineFlutterWindow` and
`EnginePlatformDispatcher`
- Adds `frameNumber` value to `FrameTimingRecorder`'s recorded timings

## 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-07-10 12:43:30 +00:00
yim
8f34ca20ca
Fix the hitTest issue of reversed SliverMainAxisGroup. (#171073)
Fixes: #170999
Fixes: #171121

## 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
2025-07-10 03:17:13 +00:00
engine-flutter-autoroll
9a016fb924
Roll Fuchsia Linux SDK from 0-xqmXWc4cXzw3tfe... to lO64ePNEGrGzs-MFC... (#171937)
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 chinmaygarde@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-07-10 03:15:40 +00:00
Robert Ancell
78e111f5a0
Refactor compositor classes (#171414)
Present frames directly to each view, which maintains its own
compositor.
This simplifies the compositor so it doesn't need to maintain a map from
views to buffers.
2025-07-10 02:55:07 +00:00
Matan Lurey
596b149f52
Give an actionable error to flutter_test.*tap of a RenderSliver (#171930)
Closes https://github.com/flutter/flutter/issues/67743.
2025-07-10 01:16:26 +00:00
yim
3ed1ca72e1
Fix the issue with SliverMainAxisGroups growing in the reverse direction during layout. (#171005)
Fixes: #170991

## 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
2025-07-10 00:55:05 +00:00
gaaclarke
01f7007a3f
Adds a MCP server for working with the engine (#171738)
WIP this just adds a few commands and sets up the work for others to
build off of.

Blatant omissions:
1) ~~integration with the engine dart monorepo workspace~~
1) ~~brings in `mcp_dart` dependency (it has an MIT license but is very
new)~~
1) CI testing integration (unless there is some magic that crawls
through the repo and calls them)
1) provide progress notifications and compilation errors to the client
when building
1) `et run`
1) `et 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.
- [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-07-09 23:38:22 +00:00
Matt Boetger
189a5db70b
Use Async SurfaceHolder Callback to remove need for setting alpha workaround (#171398)
We can rely on the SurfaceHolder.Callback2 method,
surfaceRedrawNeededAsync to properly signal the below Surface that
rendering of the frame is done, and the Surface can be finished drawing.
This removes the need to set the alpha to prevent the blank surface from
being rendered before the engine is done.

Fixes: #140246

## 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-07-09 23:02:11 +00:00