30415 Commits

Author SHA1 Message Date
engine-flutter-autoroll
b4ffba46fc
Roll Skia from 65fd10118ec2 to 646573154de6 (3 revisions) (#168360)
https://skia.googlesource.com/skia.git/+log/65fd10118ec2..646573154de6

2025-05-06 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
SwiftShader from 9dd03f2e4b03 to 093b4d82a49a (1 revision)
2025-05-06 syoussefi@google.com Reland "Load Vulkan dynamic state entry
points"
2025-05-06 syoussefi@google.com [graphite][vulkan] Replace `memset` with
`= {}`

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC
jsimmons@google.com,kjlubick@google.com,robertphillips@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-06 07:53:37 +00:00
John "codefu" McDole
429d7e886a
Upload android-arm64-release treemap to known location (#168349)
fixes: #136011

Logs should now be locate:
* gs://flutter_logs/flutter/_SHA_/android_release_arm64/sizes/
*
https://storage.googleapis.com/flutter_logs/flutter/_SHA_/android_release_arm64/sizes/index.html
2025-05-06 02:05:36 +00:00
engine-flutter-autoroll
0d2ee2c49c
Roll Fuchsia Linux SDK from hjXORaFgiSd6QjK3D... to SOlRUoAtzxSsarx-6... (#168347)
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 jsimmons@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-06 00:00:57 +00:00
Chris Bracken
2ae0dd195d
macOS: Support writing Swift in the macOS embedder (#168174)
Enables the `swift` tool in the gn mac toolchain and wires up support
for Swift `source_set` targets. Ports `FlutterRunLoop` to Swift.

* Adds `//flutter/build/config/mac:compiler` config that sets up
`swiftflags` for the `swift` tool in the toolchain for macOS, and adds
it to the default configs on `is_mac` builds.

* Adds `mac_swift_lib_paths` in
`engine/src/build/config/apple/apple_sdk.gni` which holds the path of
Swift shared libraries for macOS targets. This is within the appropriate
`macosx` SDK directory within Xcode.

Finally, this code adds Swift code to the embedder and embedder tests as
proof of concept and to prevent regressions. This ports `FlutterRunLoop`
to Swift in order to verify Objective-C imports of Swift via the
bridging header.

Issue: https://github.com/flutter/flutter/issues/144791

## 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-05 21:19:24 +00:00
Jason Simmons
da738f3142
Copy Dart SDK _internal/vm/bin sources into the sky_engine package (#168238)
Fixes https://github.com/flutter/flutter/issues/168004
2025-05-05 20:38:52 +00:00
engine-flutter-autoroll
2ef49e7735
Roll Dart SDK from a1e1e2770c1e to 8dc0ecee5adc (1 revision) (#168338)
https://dart.googlesource.com/sdk.git/+log/a1e1e2770c1e..8dc0ecee5adc

2025-05-05 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-97.0.dev

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-05-05 20:37:08 +00:00
Jason Simmons
0f769d3e21
Check for duplicate archive paths in the engine build configuration JSON files (#168248)
The intent is to catch issues like
https://github.com/flutter/flutter/issues/168180 where multiple builders
are uploading artifacts to the same paths on cloud storage.
2025-05-05 20:30:20 +00:00
Jackson Gardner
2b5ef64fc4
Skwasm heavy (#166619)
This produces a build of Skwasm that works on Firefox and Safari. This
means we use `SkAnimatedImage` for animated gifs and webps and use
builtin ICU data in Skia.

I have unit test suites for Safari and Firefox with dart2wasm and both
`ui` and `engine` test sets. However, there are a few issues with
running these on CI:
* Safari+dart2wasm doesn't work yet until the CI bots are upgraded to
macOS 15, so these have been disabled on CI for now (but you can run the
unit test suite locally).
* Firefox+ui doesn't work because our Linux bots have no GPU and
therefore no WebGL2 support, so that one is disabled. Firefox+dart2wasm
with the `engine` suite is enabled on CI though.

I did make some changes to the host page for our unit test harness so
that Safari actually works though. Even though we're not running on CI,
you can still run locally if you have macOS 15.
2025-05-05 17:56:26 +00:00
Jason Simmons
018c6d44df
Manual roll of Dart from 5c535a368799 to a1e1e2770c1e (#168317) 2025-05-05 17:38:12 +00:00
Jim Graham
c1775a78a7
[Impeller] Use StrokeParameters anywhere stroke is described (#168276)
https://github.com/flutter/flutter/pull/168125 introduced
StrokeParameters to hold all of the stroke-related values, but was only
used in the rendering code. We now use it across Impeller to describe
stroke decorations.
2025-05-05 16:55:23 +00:00
engine-flutter-autoroll
16e11dbc49
Roll Fuchsia Linux SDK from UVdwr2sfg9MUYIC2S... to hjXORaFgiSd6QjK3D... (#168286)
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 jsimmons@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-04 21:21:33 +00:00
engine-flutter-autoroll
c36748ff48
Roll Fuchsia Linux SDK from vqWDpBRU-9GJgmjRr... to UVdwr2sfg9MUYIC2S... (#168261)
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 jsimmons@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-03 07:42:30 +00:00
Jim Graham
619c02f2a0
[Impeller] Fill/StrokePathGeometry use geom objects as path sources (#168125)
When basic rendering operations end up in a "general case" situation in
Impeller, it converts the basic shape into a path and calls `DrawPath`.
But, the creation of the path is expensive and all the mechanisms behind
drawing a path now only need a `PathSource` object which can replay the
path to them.

We now have explicit lightweight path source generators which can feed
the path drawing operations directly from the source data without having
to create a full `impeller::Path` object.
2025-05-03 00:06:37 +00:00
sigmundch
8cffc5a881
[dyn_modules] enable ddm builds in the merge queue (#168233)
This changes the ddm builds to be part of the merge queue so they are
available on every commit and can be used for internal testing.

To be honest, I can't recall the meaning of bringup, but I updated it
together with backfill to match what I see in the other ci
configurations. Let me know if those changes still make sense or if we
should do something else here.

cc @jiahaog @jtmcdole 

b/393719931


## 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].
- [ ] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

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

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

Co-authored-by: Sigmund Cherem < 2049220+sigmundch@users.noreply.github.com>
2025-05-02 22:17:01 +00:00
Victoria Ashworth
071f62d937
Add engine build mode to Flutter and FlutterMacOS framework Info.plist (#168024)
This PR adds the build mode (debug, profile, release) to the
Flutter.framework, FlutterMacOS.framework, and FlutterEmbedder.framework
Info.plist.

It also adds the engine version to the FlutterMacOS.framework
Info.plist. The engine version is already in the Flutter.framework one.

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

## 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-02 20:39:50 +00:00
Chris Bracken
da166e8586
Remove availability checks for iOS 13, macOS 10.15 (#168157)
Flutter now builds with a minimum deployment target of iOS 13 and macOS
10.15, so these are no longer necessary.

Issue: https://github.com/flutter/flutter/issues/167735
Issue: https://github.com/flutter/flutter/issues/167745

## 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-02 20:25:23 +00:00
engine-flutter-autoroll
0c6b9bca07
Roll Skia from 00e00c9d9720 to a72f57a515d5 (6 revisions) (#168232)
https://skia.googlesource.com/skia.git/+log/00e00c9d9720..a72f57a515d5

2025-05-02 cairno@google.com [Ganesh] Add path to partially support
RenderDoc with SurfaceFlinger on Android.
2025-05-02 kylechar@google.com graphite: Enable SSBOs for Dawn/Vulkan
2025-05-02 michaelludwig@google.com Revert "[graphite] Lift solid color
shader expressions"
2025-05-02 jvanverth@google.com [graphite] Fix blur fallback for Android
shadows.
2025-05-02 aleksbgbg@google.com Add support for
VK_EXT_pipeline_creation_cache_control
2025-05-02 aleksbgbg@google.com Add a maxSize parameter to
storeVkPipelineCacheData

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-05-02 19:56:52 +00:00
Mouad Debbar
f454856afc
[WebParagraph] Initial wiring for the experimental WebParagraph implementation (#167763)
In this PR:
- `felt build --experimental-webparagraph` builds a 3rd variant of
CanvasKit to be used for `WebParagraph`.
- `felt test --suite=chrome-dart2js-experimental-webparagraph-ui` runs
`test/ui/` tests against `WebParagraph`.
- `felt test --suite=chrome-dart2js-experimental-webparagraph-ui` runs
Chrome with the extra flag:
    - `--enable-experimental-web-platform-features`

In the future:
- Upgrade to Chrome@133.0.6943.53 or above.
- Actual implementation and tests of WebParagraph coming in
https://github.com/flutter/flutter/pull/167559
- Run the `chrome-dart2js-experimental-webparagraph-ui` suite in CI.
- Trim the new experimental build of CK to realize the reduction in
size.
2025-05-02 16:51:13 +00:00
engine-flutter-autoroll
c795935606
Roll Skia from b63705f0539f to f5cdbf60704a (4 revisions) (#168199)
https://skia.googlesource.com/skia.git/+log/b63705f0539f..f5cdbf60704a

2025-05-02 zzyiwei@google.com Revert "Load Vulkan dynamic state entry
points"
2025-05-02
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-05-01 thomsmit@google.com [graphite] Fix ARM speculative vertex
execution bug.
2025-05-01
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 bungeman@google.com,jsimmons@google.com,kjlubick@google.com on
the revert to ensure that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-05-02 06:08:27 +00:00
Chris Bracken
e7d3223c61
macOS: Delete unused FlutterRenderBackingStore (#168159)
All usages of this code were removed in
ed9d9bf372ba9ebd97446fb8a8f8b03f0f42986a during the great macOS renderer
refactor of 2022.

## Pre-launch Checklist

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

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

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-05-02 03:12:07 +00:00
engine-flutter-autoroll
27006f6e95
Roll Fuchsia Linux SDK from uRZ63_whHk5Gt6MSM... to vqWDpBRU-9GJgmjRr... (#168187)
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 jsimmons@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-02 02:15:40 +00:00
John "codefu" McDole
41a5cbdf70
Slimpeller can stomp on gcs binary bits ☠️ (#168178)
Binaries for the Android Slimpeller build were being uploaded to the
same paths as regular Android builds. This race condition leads to
artifacts.zip being incorrect.

fyi: @jonahwilliams
2025-05-02 01:00:36 +00:00
Jason Simmons
78161a03ea
[Windows] Ensure that the simulated raster thread finishes before returning from FlutterWindowsViewTest tests (#168171)
These tests were flaking because the thread that calls
FlutterWindowsView::OnFramePresented could still be running after the
test exits and deletes the view.
2025-05-01 23:29:59 +00:00
Matan Lurey
1134d4b47b
Remove engine tests kvm=1 as unnecessary. (#168106)
Related to https://github.com/flutter/flutter/issues/168087, but not
related to release build orchestrators.

Presubmit (in theory) proved this is safe to land.
2025-05-01 23:13:54 +00:00
Jim Graham
9d927caaaf
New geometry class to directly stroke rectangles (#168038)
Impeller's rectangle stroking was previously re-dispatching to
`DrawPath` due to a lack of a specific `Geometry` sub-class that can
directly generate the geometry of a stroked rectangle. We now do the
vertex generation directly.
2025-05-01 23:03:07 +00:00
Siva
6dc16e8d0b
Manual Roll Dart SDK from 8fe61b2d428b to 5c535a368799 (#168122)
https://dart.googlesource.com/sdk.git/+log/8fe61b2d428b..5c535a368799

2025-04-30
[dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com](mailto:dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com)
Version 3.9.0-76.0.dev
2025-04-30
[dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com](mailto:dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com)
Version 3.9.0-75.0.dev
2025-04-30
[dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com](mailto:dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com)
Version 3.9.0-74.0.dev
2025-04-30
[dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com](mailto:dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com)
Version 3.9.0-73.0.dev
2025-04-29
[dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com](mailto:dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com)
Version 3.9.0-72.0.dev
2025-04-29
[dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com](mailto:dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com)
Version 3.9.0-71.0.dev
2025-04-29
[dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com](mailto:dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com)
Version 3.9.0-70.0.dev
2025-04-29
[dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com](mailto:dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com)
Version 3.9.0-69.0.dev
2025-04-29
[dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com](mailto:dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com)
Version 3.9.0-68.0.dev
2025-04-29
[dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com](mailto:dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com)
Version 3.9.0-67.0.dev
2025-04-28
[dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com](mailto:dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com)
Version 3.9.0-66.0.dev
2025-04-28
[dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com](mailto:dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com)
Version 3.9.0-65.0.dev
2025-04-28
[dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com](mailto:dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com)
Version 3.9.0-64.0.dev
2025-05-01 21:26:50 +00:00
Jason Simmons
c3e02128c3
[Impeller] Use the stroke width in the coverage calculation for CircleGeometry (#168030) 2025-05-01 21:18:25 +00:00
engine-flutter-autoroll
32d8182490
Roll Skia from aaf863936c1b to 87fbf970569b (4 revisions) (#168165)
https://skia.googlesource.com/skia.git/+log/aaf863936c1b..87fbf970569b

2025-05-01 syoussefi@google.com [vulkan] Clean up feature checks
2025-05-01 jamesgk@google.com [graphite] Lift solid color shader
expressions
2025-05-01 robertphillips@google.com [graphite] Clean up
ChromePrecompileTest
2025-05-01 robertphillips@google.com [graphite] Update Chrome Precompile
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 bungeman@google.com,jsimmons@google.com,kjlubick@google.com on
the revert to ensure that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-05-01 20:33:15 +00:00
Matan Lurey
e7a4ef0d8a
Only build and download Fuchsia artifacts on master (#168154)
Closes https://github.com/flutter/flutter/issues/168089.

/cc @zanderso
2025-05-01 19:06:32 +00:00
engine-flutter-autoroll
e2b220b683
Roll Skia from d945cbcbbb58 to aaf863936c1b (1 revision) (#168151)
https://skia.googlesource.com/skia.git/+log/d945cbcbbb58..aaf863936c1b

2025-05-01 nicolettep@google.com [graphite] Fix some
CanUseHardwareBlending logic

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-05-01 17:07:08 +00:00
auto-submit[bot]
fe60a2b0b7
Reverts "Remove linux_fuchsia builds from release_build: "true". (#168094)" (#168146)
<!-- start_original_pr_link -->
Reverts: flutter/flutter#168094
<!-- end_original_pr_link -->
<!-- start_initiating_author -->
Initiated by: matanlurey
<!-- end_initiating_author -->
<!-- start_revert_reason -->
Reason for reverting: I guess it is used.
<!-- end_revert_reason -->
<!-- start_original_pr_author -->
Original PR Author: matanlurey
<!-- end_original_pr_author -->

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

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

These builds are not required in the MQ/part of `beta` or `stable`
branches, and are not requested by the Flutter CLI.

Notably, this deletes the line instead of `release_build: "false"`,
because that is broken:
https://github.com/flutter/flutter/issues/168088.
<!-- end_revert_body -->

Co-authored-by: auto-submit[bot] <flutter-engprod-team@google.com>
2025-05-01 13:33:26 +00:00
Matan Lurey
11c3067620
Remove release_build: "false" which is interpreted as true due to a recipes bug. (#168098)
Mitigates https://github.com/flutter/flutter/issues/168088.

The non-existence of `properties: release_build: "true"` is the same
thing as `false`.

I'll fix the recipe, but this is better for now.

/cc @sigmundch for FYI.
2025-05-01 05:20:39 +00:00
Matan Lurey
1a1d00516f
Remove linux_fuchsia builds from release_build: "true". (#168094)
Closes https://github.com/flutter/flutter/issues/168089.

These builds are not required in the MQ/part of `beta` or `stable`
branches, and are not requested by the Flutter CLI.

Notably, this deletes the line instead of `release_build: "false"`,
because that is broken:
https://github.com/flutter/flutter/issues/168088.
2025-05-01 04:42:57 +00:00
engine-flutter-autoroll
259e8a432b
Roll Skia from 8905c603ba16 to be4cf4d010f7 (11 revisions) (#168115)
https://skia.googlesource.com/skia.git/+log/8905c603ba16..be4cf4d010f7

2025-04-30 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
skottie-base from 8262f8d1506b to 375561920728
2025-04-30 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
debugger-app-base from a5a06e3903f7 to 7f477239b384
2025-04-30 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
jsfiddle-base from 6047456f77fc to 552d94229577
2025-04-30 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
shaders-base from 800235d48433 to 3a63c1930823
2025-04-30
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-04-30 nscobie@google.com Add more failure logging to Ganesh's
SkSurfaces::WrapAndroidHardwareBuffer
2025-04-30 nicolettep@google.com [graphite] Consolidate determination of
final blending method
2025-04-30 syoussefi@google.com Load Vulkan dynamic state entry points
2025-04-30
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-04-30 borenet@google.com [infra] Update recipe dependencies
2025-04-30 jamesgk@google.com [graphite] Lift coord normalization shader
expressions

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-05-01 04:28:36 +00:00
Chris Bracken
4c5d0de983
macOS: Update minimum macOS version to 10.15 (#168101)
This updates the Flutter minimum macOS version from 10.14 to 10.15 adds
a migrator for existing apps, and updates our own examples, tests, and
benchmark apps to 10.15. A follow-up patch will drop macOS 10.15
`@available` checks in the embedder.

This is required in order to use Swift in the embedder and not need to
bundle the Swift runtime libs in every app that uses Flutter. Swift
stable ABI was introduced in macOS 10.14.4.

As of March 2025, usage of macOS 10.14 is approximately 1.2~1.8%
depending on source of statistics, see example public usage data here:
https://gs.statcounter.com/macos-version-market-share/desktop/worldwide

This patch makes the following changes:
1. Updates mac_deployment_target from 12.0 to 13.0.
2. Changes templates to `MACOSX_DEPLOYMENT_TARGET`, `MinimumOSVersion`,
and Podfile `platform :osx` to 10.15.
3. Adds migrator for Podfile part to migrate `platform :osx, '10.14'` ->
`platform :osx, '10.15'`
4. Compiles with `-mmacosx-version-min=10.15`
5. Runs the migrator on all example apps and integration tests.
6. Updates examples, tests to macOS 10.15 deployment target

Issue: https://github.com/flutter/flutter/issues/167745

## 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-01 04:02:25 +00:00
chunhtai
b47c298320
Removes semantics role search box (#167290)
<!--
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
-->

it is replaced by textfield with SemanticsInputType.search

## 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-04-30 23:53:20 +00:00
engine-flutter-autoroll
c04202faf6
Roll Fuchsia Linux SDK from RlQprtM7XbYtyrgDz... to uRZ63_whHk5Gt6MSM... (#168060)
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 jsimmons@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-04-30 18:46:55 +00:00
Matej Knopp
fffe394cdd
[Linux] Merge UI And Platform thread (#162671)
Disabled by default, to enable use
`fl_dart_project_get_ui_thread_policy`:
```cpp
  g_autoptr(FlDartProject) project = fl_dart_project_new();
  fl_dart_project_set_ui_thread_policy(project, FL_UI_THREAD_POLICY_RUN_ON_PLATFORM_THREAD);
```

With this PR, the UI isolate now runs on platform thread, which allows
for synchronous calls to Gtk, as well as synchronous calls from Gtk to
Flutter. For example something like this is now possible:

```dart
typedef GtkWindow = Pointer<Void>;

void setWindowPosition() {
  final library = DynamicLibrary.executable();
  // Hypothetical function to get pointer to GtkWindow
  final getMainWindow = library
      .lookupFunction<GtkWindow Function(), GtkWindow Function()>(
        'get_main_window',
      );
  final gtkWindowResize = library.lookupFunction<
    Void Function(GtkWindow, Int32, Int32),
    void Function(GtkWindow, int, int)
  >('gtk_window_resize');
  final window = getMainWindow();
  gtkWindowResize(window, 200, 200);
}
```

## 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-04-30 08:53:09 +00:00
Loïc Sharma
3cc51e90ca
[Windows] Improve et's error if gclient has never been run (#167956)
Mirrors et's shell error here:


69da944f9e/engine/src/flutter/bin/et (L55-L58)
2025-04-30 03:14:16 +00:00
Jason Simmons
83a94d9055
Declare both Mac and iOS build arguments in apple_sdk.gni (#168025)
Without this the Flutter GN wrapper script warns about undeclared
variables.
2025-04-30 03:14:16 +00:00
engine-flutter-autoroll
3109beb68d
Roll Skia from 25bba45c7b25 to 799cfd39b501 (6 revisions) (#168023)
https://skia.googlesource.com/skia.git/+log/25bba45c7b25..799cfd39b501

2025-04-29 nicolettep@google.com [graphite] Pass in correct size value
to shader data encoding
2025-04-29 jmbetancourt@google.com [skcapture] add missing capture
canvas destructor implementation
2025-04-29 robertphillips@google.com [graphite] Add ability to rein in
gradient Precompilation over-generation
2025-04-29 bungeman@google.com Re-train Chromebook jobs
2025-04-29 bungeman@google.com Fix chromebook.py build args
2025-04-29 michaelludwig@google.com [graphite] Clamp quantized mask blur
values to 1/32

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 bungeman@google.com,jsimmons@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-04-30 00:59:40 +00:00
sigmundch
f88cde1e01
[dyn_modules] simplify CI now that dart2bytecode is prebuilt by default (#167851)
This makes a couple changes to the ddm bots:

* removes the host configuration: now the DartSDK has dart2bytecode
included by default, so we no longer need to build a custom host. None
of the ddm flags were necessary on the host-build except for that tool.
* removes the `--no-prebuilt-dart-sdk` from the target builds: turns out
this was not needed because all artifacts that require building with
`--dart-dynamic-modules` were not part of the dart sdk, but built by the
flutter bot already. That includes the runtime (libflutter.so) and
gen_snapshot.

Note: the change to the Dart SDK has landed, but not rolled yet. It
should be OK, however, to land the two changes out of order.

b/393719931

cc @zanderso - FYI
cc @jiahaog - note this PR will require an internal change to fetch the
bytecode compiler from the default host going forward

## 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].
- [ ] I signed the [CLA].
- [X] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

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

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

Co-authored-by: Sigmund Cherem < 2049220+sigmundch@users.noreply.github.com>
2025-04-29 23:43:56 +00:00
Jason Simmons
3131d5a826
Roll Skia to 25bba45c7b25 (#168012)
Requires some updates to golden images that are now encoded differently
due to changes in Skia's PNG codec.

See
https://skia.googlesource.com/skia/+/25bba45c7b253ed3a735ae6c6d32173fbf5cc9e7
2025-04-29 21:37:26 +00:00
Camille Simon
6c15c4587f
[Android] Implement setting sensitive content, take 2 (#167815)
> [!NOTE]  
> This PR lands https://github.com/flutter/flutter/pull/158473 (closed
due to confusing git-isms). Please see that PR for all comments and
discussion on landing this feature.

### Overview
Implements setting content sensitivity on Android via a new widget
called `SensitiveContent` that currently will only function on Android.

### How it's implemented
There are three different content sensitivity levels:
[`autoSensitive`](https://developer.android.com/reference/android/view/View#CONTENT_SENSITIVITY_AUTO),
[`sensitive`](https://developer.android.com/reference/android/view/View#CONTENT_SENSITIVITY_SENSITIVE),
[`notSensitive`](https://developer.android.com/reference/android/view/View#CONTENT_SENSITIVITY_NOT_SENSITIVE).
All except `autoSensitive` behave as their Android counterpart level
behaves (see links on the levels); for Flutter, `autoSensitive` will
behave the same as `notSensitive` though it is implemented as if it
works (see https://github.com/flutter/flutter/issues/160879 for more
details.

In any given Flutter view, each `SensitiveContent` widget sets a content
sensitivity level and there may be multiple `SensitiveContent` widgets
in the widget tree at a time, but only the most severe content
sensitivity level in the tree will be maintained in order to ensure
secure content remains obscured during screen projection. This means
that even widgets that are not visible may still impact the overall
content sensitivity of the entire Flutter view (see
https://github.com/flutter/flutter/issues/160051 for more details).

Under the hood, the implementation uses method channels. Theoretically,
this could cause a delay in setting the content sensitivity level and a
Flutter view being obscured during screen projection on time, so we will
investigate using JNIgen in the future (see
https://github.com/flutter/flutter/issues/160050 for more details). Over
the method channel, the framework will send a Flutter view ID and
content sensitivity level to the engine to set the expected content
sensitivity level for the view.

### Timeline

#### Required for feature shipping
- Land this PR with the method channel implementation of content
sensitivity.

#### Short-term follow up tasks
- Ensure every `FlutterView` has a unique ID for the native
`SensitiveContentPlugin` to identify them by:
https://github.com/flutter/flutter/pull/162685
- Add `SensitiveContent` widget to relevant Flutter widgets:
https://github.com/flutter/flutter/issues/167302

#### Long-term follow up tasks
- Convert this PR to use JNIgen:
https://github.com/flutter/flutter/issues/160050. Verify no frames are
dropped, revealing sensitive content during media projection:
https://github.com/flutter/flutter/issues/164820.

#### Stretch goals
- Make the `SensitiveContent` widget sensitive to the visibility of
child widgets: https://github.com/flutter/flutter/issues/160051
- Implement `autoSensitivity` mode:
https://github.com/flutter/flutter/issues/160879
- Investigate backwards compatibility for APIs < 35:
https://github.com/flutter/flutter/issues/159208

### Open questions
- ~Is it okay to hard-code the `FlutterActivity` and `FlutterFragment`
view IDs? Does this impact add-to-app in any way? I assume we would need
extenders of those classes to use a different view ID than the hardcoded
one.~ Approach not used.
- ~Should we expose `autoSensitive` for now? If so, what behavior should
it have?~ Exposing `autoSensitive` as if it works.

### One way to test this PR (rough steps)
1. Create a Flutter app that has some number of `SensitiveContent`
widgets.
9. Run the app on an emulator/device that runs API 35 and has the Google
meets app downloaded.
10. Start a Google meets meeting and screen share (works with full
screen and single app mode).
11. Join the Google meets meeting from another device and witness a
blacked out screen if content has been marked sensitive.

## 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-04-29 20:58:29 +00:00
Narek Malkhasyan
9eddcb7ba4
Deprecated methods that call setStatusBarColor, setNavigationBarColor, setNavigationBarDividerColor (#165737)
Added @deprecated annotation and explanation to methods that use these
methods: setStatusBarColor, setNavigationBarColor,
setNavigationBarDividerColor

This PR partially addresses #165327

---------

Co-authored-by: Reid Baker <1063596+reidbaker@users.noreply.github.com>
Co-authored-by: Camille Simon <43054281+camsim99@users.noreply.github.com>
Co-authored-by: Camille Simon <camillesimon@google.com>
2025-04-29 19:13:23 +00:00
engine-flutter-autoroll
ae80d692ee
Roll Fuchsia Linux SDK from dtMOzWwcSUe3z6-1c... to RlQprtM7XbYtyrgDz... (#167981)
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 jsimmons@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-04-29 09:27:19 +00:00
Chinmay Garde
f9f6953ef7
Revert "[Impeller] Make incremental builds faster when tinkering on the compiler." (#167965)
Reverts flutter/flutter#167492

Makes things slower if the sources are newer than the outputs.
2025-04-29 04:25:30 +00:00
Chris Bracken
b0e52e51f7
Add ConnectionCollection and Swift test (#167962)
This rewrites the ConnectionCollection C++ class and its test to Swift.
This ensures we're successfully able to write/run XCTests written in
Swift.

It also adds new tests for ConnectionCollection:
* Verifies connection IDs are > 0.
* Verifies connection IDs are unique.
* Verifies the IDs of error connections are as specified.

## 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-04-29 03:07:22 +00:00
Jonah Williams
e7e4fa56cc
[Impeller] report application version info as 2.0 (#167961)
Update the reported engine so we can distinguish 3.27 engines from
(eventually) newer engines.
2025-04-29 00:52:26 +00:00
engine-flutter-autoroll
b261c51609
Roll Skia from f64ea333611d to 33e56395c03a (4 revisions) (#167963)
https://skia.googlesource.com/skia.git/+log/f64ea333611d..33e56395c03a

2025-04-28 robertphillips@google.com [graphite] Add ability to reduce
Image and YUVImage Precompile combinations
2025-04-28 jmbetancourt@google.com [skcapture] add a capturing canvas to
enable dynamic skia-wide canvas recordings
2025-04-28 nscobie@google.com Move SkGainmapShader::Make overload
definition out of header
2025-04-28 nscobie@google.com Rename SkEmbossMaskFilter::EmbossLight
back to SkEmbossMaskFilter::Light

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-04-28 23:29:15 +00:00