30613 Commits

Author SHA1 Message Date
Harry Terkelsen
f59e8e5885
[canvaskit] Manually trigger input event in text editing tests for Safari (#170022)
Manually trigger an `input` event to trigger the `handleChange` handler
in the text input element. In Safari for MacOS 15.5, this workaround is
now required.

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

## Pre-launch Checklist

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

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

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

---------

Co-authored-by: Mouad Debbar <mdebbar@google.com>
2025-06-11 17:48:41 +00:00
Jim Graham
68f39bac27
[Impeller] Avoid creating paths when rendering arcs (#170398)
We now avoid a temporary path object and feed arc paths directly to the
renderer in all `DrawArc` cases.
2025-06-11 16:02:18 +00:00
Florin Malita
d95aa4d6e2
Add SK_SUPPORT_UNSPANNED_APIS staging flag (#170139)
Skia is updating its public APIs to use spans instead of rawptr + count.

This is a temporary flag to enable the old style entry points while
clients are being updated.

## Pre-launch Checklist

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

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

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-06-11 15:59:19 +00:00
engine-flutter-autoroll
0cb0c5590d
Roll Dart SDK from 6290dfd1d88a to b569246d64bc (4 revisions) (#170430)
https://dart.googlesource.com/sdk.git/+log/6290dfd1d88a..b569246d64bc

2025-06-11 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-220.0.dev
2025-06-11 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-219.0.dev
2025-06-11 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-218.0.dev
2025-06-10 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-217.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-06-11 15:59:19 +00:00
engine-flutter-autoroll
46a225fd68
Roll Skia from 910070084066 to b78fdc3ba26b (33 revisions) (#170412)
Roll Skia from 910070084066 to b78fdc3ba26b (33 revisions)

https://skia.googlesource.com/skia.git/+log/910070084066..b78fdc3ba26b

2025-06-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from 3d47c8a32f07 to 9d27097cc7dd (14 revisions)
2025-06-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
SwiftShader from a857503547cb to 155f095a8c63 (2 revisions)
2025-06-11
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-06-10 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from d9842c624bd1 to e16ef854c44f (6 revisions)
2025-06-10 danieldilan@google.com Reland "[png] Simplify extra endian
transform for SkPngEncode"
2025-06-10 lukasza@chromium.org [rust png] Reset
`fIncrementalDecodingState` after nonrecoverable errors
2025-06-10 jreck@google.com Add host_supported to libskia_skcms
2025-06-10 syoussefi@google.com [graphite][vulkan] Disable MSAA on Intel
2025-06-10 robertphillips@google.com [graphite] Fold ColorFilters and
constant Shaders into a Solid Color
2025-06-10 mike@reedtribe.org Use SkSpan in SkTextBlob API
2025-06-10 mike@reedtribe.org Use SkSpan for dashing
2025-06-10 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from fe4617b72605 to d9842c624bd1 (5 revisions)
2025-06-10 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from 3a15fab06cff to a787766551aa (7 revisions)
2025-06-10 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia
Infra from 3c7e00b52946 to 29821d9a17ae (13 revisions)
2025-06-10 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from f3220117fc62 to 3d47c8a32f07 (12 revisions)
2025-06-09 ccameron@chromium.org HDR v2: Add no-op OOTF parameters to
sk_color_space_transform
2025-06-09 syoussefi@google.com [vulkan] Require Vulkan 1.1 in Ganesh
2025-06-09 mike@reedtribe.org Use size_t for font/typeface return values
(to match span's)
2025-06-09 syoussefi@google.com [graphite][vulkan] Use
VK_EXT_graphics_pipeline_library
2025-06-09 thomsmit@google.com Reland "[graphite] Fix clamping bug on
Intel UHD 630."
2025-06-09 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from d5d3942f4b8f to fe4617b72605 (1 revision)
2025-06-09 jreck@google.com Add dng sdk 1.4 -> 1.7.1 migration compat
2025-06-09 mike@reedtribe.org Use SkSpan in read and write buffers
2025-06-09 mike@reedtribe.org Use new span APIS (time to dogfood)
2025-06-09 skia-autoroll@skia-public.iam.gserviceaccount.com Manual Roll
vulkan-deps from 1c3b39ad6dc0 to d5d3942f4b8f (14 revisions)
2025-06-09 bungeman@google.com Remove many deprecated declarations
2025-06-09 syoussefi@google.com [vulkan] Apply RelaxedPrecision to
OpImageSampleImplicitLod
2025-06-09 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from db9624073324 to 3a15fab06cff (4 revisions)
2025-06-09 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
SwiftShader from 11dc1b167af4 to a857503547cb (1 revision)
2025-06-09 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia
Infra from 3bbfa4528971 to 3c7e00b52946 (5 revisions)
2025-06-09 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from 63ca6919b752 to f3220117fc62 (31 revisions)
2025-06-08 ccameron@chromium.org SkColorSpaceXformSteps: Start to add
support for HLG and PQ
2025-06-08 skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com
Update SKP version

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,michaelludwig@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-06-11 15:57:05 +00:00
Kaylee Lubick
b4219783bb
Use pathops module groups (#169857)
Skia is moving its [pathops code around](http://review.skia.org/999760).
In http://review.skia.org/1001216 we added a new set of filegroups to
facilitate this. This updates the BUILD.gn rules to use those new
groups.

## Pre-launch Checklist

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

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

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-06-11 14:36:04 +00:00
Harry Terkelsen
db8a64f90d
Verify old version of Python has the lib2to3 import available (#170187)
The `yapf.sh` script checks for specific "known-to-work-with-YAPF"
versions of Python to run YAPF with. On my machine, I have `python3.11`
and `python3.12` (`python3` is a symlink to `python3.12`). However, the
`python3.11` release doesn't have `lib2to3` so the YAPF script fails
with:

```
Checking Python formatting...
To fix, run `et format` or:                                                                                   

git apply <<DONE
  /usr/local/google/home/het/Projects/flutter/engine/src/flutter/tools/gn
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/usr/local/google/home/het/Projects/flutter/engine/src/flutter/third_party/yapf/yapf/__main__.py", line 16, in <module>
    import yapf
  File "/usr/local/google/home/het/Projects/flutter/engine/src/flutter/third_party/yapf/yapf/__init__.py", line 35, in <module>
    from yapf.yapflib import errors
  File "/usr/local/google/home/het/Projects/flutter/engine/src/flutter/third_party/yapf/yapf/yapflib/errors.py", line 16, in <module>
    from lib2to3.pgen2 import tokenize
ModuleNotFoundError: No module named 'lib2to3'

DONE
```

On my Ubuntu machine I cannot install `lib2to3` through normal APT
packages; `apt install python3.11-lib2to3` fails since that package has
been obsoleted. I've been able to work around this by manually editing
the `yapf.sh` script to check if `lib2to3` can be imported before using
that version of Python.

See https://github.com/flutter/flutter/issues/158384

## Pre-launch Checklist

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

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

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-06-10 22:51:57 +00:00
Jonah Williams
d1f63480c4
[engine] Reland: ensure engines spawned from an engine using dynamic rendering selection still use the dynamic surface. (#170389)
Reland of https://github.com/flutter/flutter/pull/170313

We were missing a call to android_surface->SetupImpellerSurface(); which
happened to just work before.
2025-06-10 22:07:09 +00:00
Jia Hao
32b513bbb2
Revert "Add call to Dart_NotifyDestroyed when the flutter view is des… (#170309)
…troyed. (flutter/engine#37539)"

This reverts commit 7296b2b66dac82f04ebe9017320bde81a7b5f486.

In b/422322882, we have done a small experiment on addtoapp Android,
with and without a patched engine where `Dart_NotifyDestroyed` is not
called:

1. Add a Flutter view
2. Measure memory with `adb shell dumpsys meminfo`
3. Call detach
5. Measure memory again

"Call detach" refers to the following pseudocode:

```kt
    flutterViewContainer.removeView(flutterView)
    engine.activityControlSurface.detachFromActivity()
    engine.lifecycleChannel.appIsDetached()
    flutterView!!.detachFromFlutterEngine()
```

We observed that the memory recordings with and without the patched
engine are mostly the same. @a-siva also mentioned that
7296b2b66dac82f04ebe9017320bde81a7b5f486 could be no longer needed
today.

## 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 `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

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

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-06-10 21:34:29 +00:00
auto-submit[bot]
03e445e71c
Reverts "[engine] ensure engines spawned from an engine using dynamic rendering selection still use the dynamic surface. (#170313)" (#170377)
<!-- start_original_pr_link -->
Reverts: flutter/flutter#170313
<!-- end_original_pr_link -->
<!-- start_initiating_author -->
Initiated by: jonahwilliams
<!-- end_initiating_author -->
<!-- start_revert_reason -->
Reason for reverting: broke tree
<!-- end_revert_reason -->
<!-- start_original_pr_author -->
Original PR Author: jonahwilliams
<!-- end_original_pr_author -->

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

<!-- start_revert_body -->
This change reverts the following previous change:
The fact that this landed and failed no tests originally likely
indicates we have no tests using Engine.spawn APIs. Seems bad.


Fixes https://github.com/flutter/flutter/issues/170295
<!-- end_revert_body -->

Co-authored-by: auto-submit[bot] <flutter-engprod-team@google.com>
2025-06-10 18:53:20 +00:00
Hannah Jin
cb01defdcf
[a11y] Semantics flag refactor step 2: embedder part (#167738)
issue: https://github.com/flutter/flutter/issues/166101, overall goal is
to update semantics flag to be a struct/class to support more than 32
flags.


step 1: https://github.com/flutter/flutter/pull/167421 updated
semantics_node.h and dart:ui
step 2(this PR): Update Embedder part to use a struct instead of a int
bit mask.
step 3: https://github.com/flutter/flutter/pull/167771 Update Framework
use the SemanticsFlags class instead of bitmask
step 4 https://github.com/flutter/flutter/pull/168852 Update web engine
to use the new class and update SemanticsUpdateBuilder.updateNode to
pass the new class instead of bitmask

## 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: Chris Bracken <chris@bracken.jp>
Co-authored-by: Loïc Sharma <737941+loic-sharma@users.noreply.github.com>
2025-06-10 18:11:07 +00:00
engine-flutter-autoroll
83c86873fe
Roll Dart SDK from c26e7ca44805 to 6290dfd1d88a (5 revisions) (#170363)
https://dart.googlesource.com/sdk.git/+log/c26e7ca44805..6290dfd1d88a

2025-06-10 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-216.0.dev
2025-06-10 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-215.0.dev
2025-06-10 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-214.0.dev
2025-06-09 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-213.0.dev
2025-06-09 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-212.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-06-10 18:07:08 +00:00
Jonah Williams
389f10e678
[engine] ensure engines spawned from an engine using dynamic rendering selection still use the dynamic surface. (#170313)
The fact that this landed and failed no tests originally likely
indicates we have no tests using Engine.spawn APIs. Seems bad.


Fixes https://github.com/flutter/flutter/issues/170295
2025-06-10 17:23:06 +00:00
Jonah Williams
2d30ce56fe
[engine] dont double free surface texture interop objects. (#170284)
Fixes https://github.com/flutter/flutter/issues/152459

I suspect the double free is related to
https://github.com/flutter/flutter/issues/162147 .

With the Impeller backend, the second free is performed by the reactor
and comes only after the application has returned to the foreground.
This increaases the likelyhood that we nuke a handle that is in active
use by another part of the system.

Since SurfaceTexture:: detachFromGLContext is documented as releasing
the texture, we don't need to free it at all and can "leak" it on our
side.
2025-06-10 16:25:12 +00:00
Michael Ludwig
ee0eb22cdb
Update test_vulkan_context.cc to use Vulkan 1.1 (#170351)
Skia is moving to require 1.1 as its minimum supported version instead
of 1.0.

This is part of an effort to clean up and consolidate Vulkan
initialization logic, which gets much easier with some of the extensions
that were promoted to 1.1. This is for skbug.com/422204178 and required
to roll https://skia-review.googlesource.com/c/skia/+/1002391 into
Flutter.

## Pre-launch Checklist

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

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

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-06-10 16:25:12 +00:00
gaaclarke
386f767f36
licenses_cpp: initial commit (#169105)
Initial commit for the c++ license checker.

This lays the foundation for all the technical challenges. The logic
isn't 100% what we want yet. This is a facsimile of the operations we
want to perform and currently it operates in 30s as opposed to 30m with
the old license chcker.

Included in this PR:
1) Sets up BUILD.gn
   1) Makes RE2 available to the repo.
   1) Sets up the test infrastructure (integration and unit tests).
   1) Sets up the executable.
   1) Sets up VSCode integration
1) Sets up the CI (macos builds for now)
1) Sets up logic
   1) Sets up the crawling through the tree.
   1) Sets up flex lexer for comments.
   1) Runs git subprocesses.
   1) Parses command line arguments.
1) Sets up data practices
   1) Allow/deny lists added.
   1) In memory representation of license catalog added.

## Pre-launch Checklist

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

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

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-06-10 14:07:23 +00:00
gaaclarke
85867b0911
Export FlutterSceneDelegate (#170169)
This allows people to subclass FlutterSceneDelegate. This is necessary
for many workflows like capturing launchoptions.

## Pre-launch Checklist

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

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

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-06-10 00:59:54 +00:00
gaaclarke
af6cd4e7ac
Removed the FlutterViewController.pluginRegistrant (#169995)
issue: https://github.com/flutter/flutter/issues/167267

We opted for FlutterAppDelegate.pluginRegistrant since the IBOutlets
couldn't be loaded the way we link Flutter (via a bespoke script instead
of using xcode).

## Pre-launch Checklist

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

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

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-06-09 20:44:13 +00:00
Jim Graham
b9e7ba3fe4
[Impeller] Avoid allocating path for dashed lines (#169881)
We use the new algorithmically generated `PathSource` mechanism for
generating dashed lines to avoid allocating a growable path object.
2025-06-09 20:12:00 +00:00
Jim Graham
88a889a089
[Impeller] Fix vertex allocation counts for flat curves (#170194)
The code that estimated the vertex counts for filling paths was not
taking into account that the minimum number of points allocated for a
curve segment is 1. The iteration estimates will return "don't bother to
subdivide the curve" cases as "0 subdivisions" and we estimated no
vertices would be generated. In fact, the rendering code would always
emit the final point regardless of the subdivision estimate. Other cases
that returned a value >0 were already accurate.
2025-06-09 17:25:27 +00:00
engine-flutter-autoroll
e9e989bef3
Roll Dart SDK from f8e88f6ce02a to c26e7ca44805 (1 revision) (#170198)
https://dart.googlesource.com/sdk.git/+log/f8e88f6ce02a..c26e7ca44805

2025-06-07 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-211.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
2025-06-07 11:45:31 +00:00
engine-flutter-autoroll
2eec076321
Roll Dart SDK from 239174405ad0 to f8e88f6ce02a (14 revisions) (#170182)
https://dart.googlesource.com/sdk.git/+log/239174405ad0..f8e88f6ce02a

2025-06-06 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-210.0.dev
2025-06-06 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-209.0.dev
2025-06-06 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-208.0.dev
2025-06-06 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-207.0.dev
2025-06-06 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-206.0.dev
2025-06-05 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-205.0.dev
2025-06-05 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-204.0.dev
2025-06-05 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-203.0.dev
2025-06-05 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-202.0.dev
2025-06-04 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-201.0.dev
2025-06-04 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-200.0.dev
2025-06-04 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-199.0.dev
2025-06-04 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-198.0.dev
2025-06-03 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-197.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
2025-06-06 23:40:24 +00:00
Koji Wakamiya
f4bd508c28
Dispose ImmutableBuffer at web_ui.instantiateImageCodecFromBuffer and web_ui.instantiateImageCodecWithSize (#161488)
fix https://github.com/flutter/flutter/issues/150016

Fixed `instantiateImageCodecFromBuffer` and
`instantiateImageCodecWithSize` and added tests.

doc

> The buffer will be disposed by this method once the codec has been
created, so the caller must relinquish ownership of the buffer when they
call this method.

*
https://api.flutter.dev/flutter/dart-ui/instantiateImageCodecFromBuffer.html
*
https://api.flutter.dev/flutter/dart-ui/instantiateImageCodecWithSize.html

ui


bd1ebf2e14/engine/src/flutter/lib/ui/painting.dart (L2484-L2504)

bd1ebf2e14/engine/src/flutter/lib/ui/painting.dart (L2541-L2558)

web_ui


bd1ebf2e14/engine/src/flutter/lib/web_ui/lib/painting.dart (L640-L679)

## Pre-launch Checklist

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

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

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

---------

Co-authored-by: Mouad Debbar <mdebbar@google.com>
2025-06-06 23:36:16 +00:00
Hannah Jin
7769f98c33
[a11y] Semanctis flag refactor step 4: web and updateNode (#168852)
issue: https://github.com/flutter/flutter/issues/166101, overall goal is
to update semantics flag to be a struct/class to support more than 32
flags.

step 1: https://github.com/flutter/flutter/pull/167421 Update
semantics_node.h and dart:ui
step 2: https://github.com/flutter/flutter/pull/167738 Update Embedder
part to use a struct instead of a int bit mask.
step 3: https://github.com/flutter/flutter/pull/167771 Update Framework
use the SemanticsFlags class instead of bitmask
step 4 (this PR) Update web engine to use the new class and update
SemanticsUpdateBuilder.updateNode to pass a list of bools instead of
bitmask

TODO:

flutter_tester
use the SemanticsFlags class instead of bitmask


[apicheck_test.dart](https://github.com/flutter/flutter/pull/167421/files#diff-69aefaacf1041f639974044962123bfae0756ce86032ac1f26256099425d7a5a)
Add this test back

## 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-06-06 23:17:20 +00:00
zhongliugo
ea83a6a072
Fix VoiceOver tab activation by adding tappable behavior to SemanticTab (#170076)
## Description
This pull request fixes VoiceOver tab activation by adding tappable
behavior to the SemanticTab class in the Flutter web engine. The fix
ensures that tabs can be properly activated using assistive technology
commands like VoiceOver's ctrl-option-space, making tab navigation fully
accessible for screen reader users.

## Before
When using VoiceOver to navigate tabs in a Flutter web app, users were
unable to activate tabs using the standard VoiceOver activation command
(ctrl-option-space). The SemanticTab class was missing the Tappable
semantic behavior that enables assistive technology interaction, causing
screen readers to treat tabs as non-interactive elements despite having
tap handlers in the Flutter framework.

**Before behavior:**
https://tab-0605-before.web.app/
- Navigate to a tab using VoiceOver (ctrl-option-arrow)
- Attempt to activate the tab with ctrl-option-space
- Tab does not respond to activation command
- Users cannot switch between tabs using assistive technology

## After
VoiceOver and other screen reader users can now properly activate tabs
using standard assistive technology commands. Tabs respond correctly to
ctrl-option-space and other activation gestures, providing full keyboard
accessibility for tab navigation.

**After behavior:**
https://tab-0605-after.web.app/
- Navigate to a tab using VoiceOver (ctrl-option-arrow)
- Activate the tab with ctrl-option-space
- Tab switches correctly, displaying the associated tab panel
- Consistent behavior across all assistive technologies

## Changes Made
- Added `addTappable()` call to `SemanticTab` constructor in `tabs.dart`
- Added test case "tab with tap action" to verify DOM elements receive
the `flt-tappable` attribute
- Ensures tabs with `hasTap: true` are properly marked as interactive
for assistive technologies

## Testing
Added unit test that verifies:
- Tabs with tap actions receive the `flt-tappable` DOM attribute
- SemanticTab properly integrates with the existing tappable behavior
system

## Issue Fixed
This PR addresses GitHub Issue #169279, which reports that VoiceOver
doesn't allow users to click tabs in Flutter web applications.


## 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-06-06 22:15:18 +00:00
Qun Cheng
39ce615530
Add landmark roles (#168931)
This PR is to add ARIA landmark roles to `SemanticsRole`: complementary,
contentInfo, main, navigation and region.

I skipped `sectionhead` because it is an abstract role based on the [MDN
docs](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Reference/Roles/sectionhead_role#:~:text=The%20structural%20sectionhead%20role%20is%20an%20abstract%20role%20for%20the%20subclass%20roles%20that%20identify%20the%20labels%20or%20summaries%20of%20the%20sections%20they%20label.%20The%20role%20must%20not%20be%20used.)
.

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

## 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-06-06 21:51:08 +00:00
engine-flutter-autoroll
631ab1729a
Roll Skia from c810c9ba87fe to 910070084066 (29 revisions) (#170165)
https://skia.googlesource.com/skia.git/+log/c810c9ba87fe..910070084066

2025-06-06 mike@reedtribe.org use SkSpan in SkMatrix API
2025-06-06 syoussefi@google.com [graphite][vulkan] Minimize graphics
pipeline key
2025-06-06 syoussefi@google.com [graphite][vulkan] Use vertex input
dynamic state
2025-06-06 mike@reedtribe.org don't define SK_SUPPORT_UNSPANNED_API: it
is in SkTypes.h
2025-06-06 mike@reedtribe.org static bounds methods
2025-06-06 syoussefi@google.com [vulkan] Fix feature checks for YCbCr's
chroma filter
2025-06-06 syoussefi@google.com [vulkan] Apply RelaxedPrecision to
texture/atomic intrinsics
2025-06-06 thomsmit@google.com Revert "[graphite] Fix clamping bug on
Intel UHD 630."
2025-06-06 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from ef31b3ed1c0e to db9624073324 (8 revisions)
2025-06-06
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-06-06 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia
Infra from 8b4c1b14163e to 3bbfa4528971 (9 revisions)
2025-06-06 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
SwiftShader from b62ac8aa106b to 11dc1b167af4 (2 revisions)
2025-06-06 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from f8d7c6eea2f0 to 63ca6919b752 (19 revisions)
2025-06-06 syoussefi@google.com [graphite][vulkan] Optimize
sample-count-support check
2025-06-06 skia-autoroll@skia-public.iam.gserviceaccount.com Roll skcms
from e12ef7c0da42 to 1915b4d7ccd3 (1 revision)
2025-06-05 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 0dbc05833984 to 1c3b39ad6dc0 (3 revisions)
2025-06-05 syoussefi@google.com Replace bug ids with mapped ids in the
new issue tracker
2025-06-05
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-06-05 bungeman@google.com Revert "[graphite] Use HW blends for
kPlus on unorm texture formats"
2025-06-05 bungeman@google.com Remove support for iOS12
2025-06-05 aswolfers@google.com Revert "Support GL texture for BGRA8
format"
2025-06-05 thomsmit@google.com [graphite] Fix clamping bug on Intel UHD
630.
2025-06-05 thomsmit@google.com [graphite] Disable
DynamicVerticesPaddingTest
2025-06-05 nicolettep@google.com Recommend persistent default install
location for Android NDK
2025-06-05 danieldilan@google.com Revert "[png] Simplify extra endian
transform for SkPngEncode"
2025-06-05 danieldilan@google.com Implement drawCoverageMask for
SkBitmapDevice
2025-06-05 syoussefi@google.com Fix resource loading in Android apks
2025-06-05 borenet@google.com [infra] Add jobs for MacOS 11
2025-06-05 mike@reedtribe.org Use SkSpan in pathbuilder API

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brettos@google.com,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-06-06 19:49:35 +00:00
Kevin Moore
8a41339418
[engine/web] Migrate many things to switch expressions (#170096) 2025-06-06 19:10:51 +00:00
auto-submit[bot]
c958e8313c
Reverts "Lazy paths and frame object arenas (#168996)" (#170164)
<!-- start_original_pr_link -->
Reverts: flutter/flutter#168996
<!-- end_original_pr_link -->
<!-- start_initiating_author -->
Initiated by: zanderso
<!-- end_initiating_author -->
<!-- start_revert_reason -->
Reason for reverting: Failing in post submit on
web_long_running_tests_3_5
<!-- end_revert_reason -->
<!-- start_original_pr_author -->
Original PR Author: eyebrowsoffire
<!-- end_original_pr_author -->

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

<!-- start_revert_body -->
This change reverts the following previous change:
The lifecycle of `Path` objects are currently not managed by the user.
That is to say, there is no `dispose` method on path objects and
therefore no explicit way to detect when the user is done with the path
object and the native-side object can be exposed. As of right now, we
use `FinalizationRegistry` to clean up the native-side objects when the
dart-side objects are garbage collected. However, this has a number of
issues:
* Adding objects to the finalization registry actually ends up
prolonging their lifetime in V8, since the V8 garbage collector will
only collect them in a major GC and not a minor GC once they are
registered with the finalization registry. See the following Chrome bug:
https://issues.chromium.org/issues/340777103
* We can run into OOM issues where the linear memory of canvaskit/skwasm
exceeds 2GB if the collection of paths go on too long.
* Even if the paths do get collected by the GC, they often happen
infrequently enough that paths over many frames have accumulated and are
being collected all at once. This gap can often be dozens or hundreds of
frames long, and when collection does occur it is freeing a lot of paths
at once, which causes a janky frame. I have seen this take upwards of
800ms on my M1 Macbook Pro.

There are some more details in
https://github.com/flutter/flutter/issues/153678

This PR alleviates this issue by creating a `LazyPath` object. This
object is added to an arena that explicitly collects the underlying
native objects at the end of each frame. The object also tracks the API
calls made to it so that if it is actually used across a frame boundary
that we can recreate the native object if it was freed.

Running our benchmarks, this has a non-trivial performance cost to
building and using these paths (30-50% in a microbenchmark, 3-6% in a
broader full app benchmark). However, as a team we've decided that this
cost is worth it to avoid OOM issues as well as the non-deterministic
jank associated with large collections of these objects.
<!-- end_revert_body -->

Co-authored-by: auto-submit[bot] <flutter-engprod-team@google.com>
2025-06-06 17:58:16 +00:00
Jackson Gardner
a11524896e
Lazy paths and frame object arenas (#168996)
The lifecycle of `Path` objects are currently not managed by the user.
That is to say, there is no `dispose` method on path objects and
therefore no explicit way to detect when the user is done with the path
object and the native-side object can be exposed. As of right now, we
use `FinalizationRegistry` to clean up the native-side objects when the
dart-side objects are garbage collected. However, this has a number of
issues:
* Adding objects to the finalization registry actually ends up
prolonging their lifetime in V8, since the V8 garbage collector will
only collect them in a major GC and not a minor GC once they are
registered with the finalization registry. See the following Chrome bug:
https://issues.chromium.org/issues/340777103
* We can run into OOM issues where the linear memory of canvaskit/skwasm
exceeds 2GB if the collection of paths go on too long.
* Even if the paths do get collected by the GC, they often happen
infrequently enough that paths over many frames have accumulated and are
being collected all at once. This gap can often be dozens or hundreds of
frames long, and when collection does occur it is freeing a lot of paths
at once, which causes a janky frame. I have seen this take upwards of
800ms on my M1 Macbook Pro.

There are some more details in
https://github.com/flutter/flutter/issues/153678

This PR alleviates this issue by creating a `LazyPath` object. This
object is added to an arena that explicitly collects the underlying
native objects at the end of each frame. The object also tracks the API
calls made to it so that if it is actually used across a frame boundary
that we can recreate the native object if it was freed.

Running our benchmarks, this has a non-trivial performance cost to
building and using these paths (30-50% in a microbenchmark, 3-6% in a
broader full app benchmark). However, as a team we've decided that this
cost is worth it to avoid OOM issues as well as the non-deterministic
jank associated with large collections of these objects.
2025-06-06 16:27:08 +00:00
Kostia Sokolovskyi
ed275039e1
[web] Allow overriding platformViewRegistry for testing. (#170144)
Closes https://github.com/flutter/flutter/issues/170143

### Description
- Adds `debugOverridePlatformViewRegistry` function to allow
`platformViewRegistry` overriding in tests
- Adds tests for the new functionality

## Pre-launch Checklist

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

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

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-06-06 16:14:19 +00:00
Koji Wakamiya
de80553174
Remove AlarmClock from BrowserImageDecoder (#161481)
PR derived from https://github.com/flutter/flutter/pull/159945.

Since `ui.Codec` is now disposed of externally, the close processing of
the resource by AlarmClock is no longer necessary. This fix works in
combination with #159945 and is stabilized by #161132.

## Pre-launch Checklist

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

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

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

---------

Co-authored-by: Mouad Debbar <mdebbar@google.com>
2025-06-05 22:07:24 +00:00
Koji Wakamiya
2c9d898e2f
[Engine][Web] Fixed fallback font loading process (#166212)
fix https://github.com/flutter/flutter/issues/165299

Fixes a problem where the drawing does not render as expected if the
value of `maxCodePointsCovered` is greater for an unsuitable language
than for a font suitable for that language.

| before | after |
| :---:  | :---: |
| <img
src="https://github.com/user-attachments/assets/137dc021-31ce-41a7-b7a9-843abd88b738"
width="300" /> | <img
src="https://github.com/user-attachments/assets/fbfcc982-623a-4fe9-87a6-bf5bd7c88ebd"
width="300" /> |

## Pre-launch Checklist

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

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

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

---------

Co-authored-by: Mouad Debbar <mouad.debbar@gmail.com>
2025-06-05 19:58:50 +00:00
engine-flutter-autoroll
92c55f06e0
Roll Skia from 14bdc9e0a8ee to c810c9ba87fe (28 revisions) (#170064)
https://skia.googlesource.com/skia.git/+log/14bdc9e0a8ee..c810c9ba87fe

2025-06-05 fmalita@google.com Fix typo in legacy SkPath::Polygon
2025-06-05 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from f14d47636e83 to 0dbc05833984 (4 revisions)
2025-06-05 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from 88ea74bfbc55 to ef31b3ed1c0e (4 revisions)
2025-06-05 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia
Infra from 1a29d4378c5a to 8b4c1b14163e (4 revisions)
2025-06-05 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
SwiftShader from a8133cbb3c89 to b62ac8aa106b (2 revisions)
2025-06-05 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from 0b7011542a20 to f8d7c6eea2f0 (19 revisions)
2025-06-05
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-06-05
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-06-05
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-06-05
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-06-05 syoussefi@google.com [graphite][vulkan] Use extended dynamic
state
2025-06-05 mike@reedtribe.org Use SkSpan in SkDevice/SkDraw drawPoints
2025-06-04 michaelludwig@google.com [graphite] Use HW blends for kPlus
on unorm texture formats
2025-06-04 kjlubick@google.com Fix IWYU enforcement on Graphite
standalone headers
2025-06-04
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-06-04 syoussefi@google.com [vulkan] Fix minFilter vs chromaFilter
matching for YCbCr
2025-06-04 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from a6136634622e to f14d47636e83 (6 revisions)
2025-06-04 mike@reedtribe.org Use SkSpan in Path API
2025-06-04 thomsmit@google.com [graphite] Add padding test for
drawPass-time vertices uploads
2025-06-04 danieldilan@google.com [png] Simplify extra endian transform
for SkPngEncode
2025-06-04 kjlubick@google.com Add missing include
2025-06-04 thomsmit@google.com [graphite] Add missing string include
2025-06-04 bungeman@google.com No longer claim support for macOS 10.15
2025-06-04 skia-autoroll@skia-public.iam.gserviceaccount.com Roll skcms
from df82c365f7be to e12ef7c0da42 (1 revision)
2025-06-04 mike@reedtribe.org Use SkSpan in SkRect::setBounds
2025-06-04 kjlubick@google.com Get CPU Recorder from all recorders
2025-06-04
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-06-04 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from 8c75960e034a to 88ea74bfbc55 (7 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brettos@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-06-05 16:29:41 +00:00
Jason Simmons
121caa68d6
Make ImageFilter::equals a static method and fix the name in its FFI annotation (#170023)
Fixes https://github.com/flutter/flutter/issues/169936
2025-06-05 14:41:16 +00:00
engine-flutter-autoroll
ad585c1e8d
Roll Fuchsia Linux SDK from XalPPr5CNvZXHPo6O... to Dueykg3VpLT5D_jSG... (#170035)
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-06-05 01:57:35 +00:00
Siva
d271f270df
Manual roll of Dart from 6aeb798bdbe2 to 239174405ad0 (#169959)
https://dart.googlesource.com/sdk.git/+log/6aeb798bdbe2..239174405ad0


[2391744](https://dart.googlesource.com/sdk.git/+/239174405ad089da5f6063c8c002efbbd354b0b0)
[Version
3.9.0-196.0.dev](https://dart.googlesource.com/sdk.git/+/239174405ad089da5f6063c8c002efbbd354b0b0)
by Dart CI · 8 hours ago
[3.9.0-196.0.dev](https://dart.googlesource.com/sdk.git/+/refs/tags/3.9.0-196.0.dev)

[3185cce](https://dart.googlesource.com/sdk.git/+/3185cce718a437a9b93fb6d0bd2ddbaaeda49494)
[Version
3.9.0-195.0.dev](https://dart.googlesource.com/sdk.git/+/3185cce718a437a9b93fb6d0bd2ddbaaeda49494)
by Dart CI · 22 hours ago
[3.9.0-195.0.dev](https://dart.googlesource.com/sdk.git/+/refs/tags/3.9.0-195.0.dev)

[018ad19](https://dart.googlesource.com/sdk.git/+/018ad19e3efffaf7188093cad8b0868734ebfd4f)
[Elements. Make LibraryFragment not
Annotatable.](https://dart.googlesource.com/sdk.git/+/018ad19e3efffaf7188093cad8b0868734ebfd4f)
by Konstantin Shcheglov · 22 hours ago

[338a83a](https://dart.googlesource.com/sdk.git/+/338a83af8925036cbc24bd8c298d9b091513e6f6)
[Update DevTools rev to
73eadd3be6eff2ddd9c7673f855f327a80111ebb](https://dart.googlesource.com/sdk.git/+/338a83af8925036cbc24bd8c298d9b091513e6f6)
by Kenzie Davisson · 22 hours ago

[44e0d32](https://dart.googlesource.com/sdk.git/+/44e0d326a75c3ebc491c7681e1e37c842f7f2991)
[[ddc] Fix expression evaluation with
wildcards](https://dart.googlesource.com/sdk.git/+/44e0d326a75c3ebc491c7681e1e37c842f7f2991)
by Nicholas Shahan · 23 hours ago

[c008be6](https://dart.googlesource.com/sdk.git/+/c008be6c4aad70557e793254771feb0015649103)
[Elements. Remove FragmentImpl.name, pass name2 into
constructors.](https://dart.googlesource.com/sdk.git/+/c008be6c4aad70557e793254771feb0015649103)
by Konstantin Shcheglov · 23 hours ago

[e12e916](https://dart.googlesource.com/sdk.git/+/e12e9160411a79be598160d32f459f6b3a173c4c)
[Fix a bug on the diagnostic
pages](https://dart.googlesource.com/sdk.git/+/e12e9160411a79be598160d32f459f6b3a173c4c)
by Brian Wilkerson · 23 hours ago

[91ae0bf](https://dart.googlesource.com/sdk.git/+/91ae0bfbcf822535e041be22bdd929bfb1920554)
[Analyzer
DATA_VERSION++](https://dart.googlesource.com/sdk.git/+/91ae0bfbcf822535e041be22bdd929bfb1920554)
by Konstantin Shcheglov · 23 hours ago

[72ee544](https://dart.googlesource.com/sdk.git/+/72ee5445c34a0c9c6594ac9ef3ea3f84e310bdf2)
[[build] Install dartaotruntime to /usr/bin in the Debian
package.](https://dart.googlesource.com/sdk.git/+/72ee5445c34a0c9c6594ac9ef3ea3f84e310bdf2)
by Ryan Macnak · 24 hours ago

[9f0e522](https://dart.googlesource.com/sdk.git/+/9f0e5229fa1cf0769da9d84896670a2e93e229ce)
[[flow analysis] Fix layering of type promotions in
try/finally.](https://dart.googlesource.com/sdk.git/+/9f0e5229fa1cf0769da9d84896670a2e93e229ce)
by Paul Berry · 25 hours ago

[5f9c5da](https://dart.googlesource.com/sdk.git/+/5f9c5da23871fe4a232b80c91f021104755e70e0)
[[analysis_server] Dot shorthands: Find element references
tests.](https://dart.googlesource.com/sdk.git/+/5f9c5da23871fe4a232b80c91f021104755e70e0)
by Kallen Tu · 25 hours ago

[4580a03](https://dart.googlesource.com/sdk.git/+/4580a03480d62c1a178eb6563fdb8dfc813f0dc0)
[Roll dartdoc to
4ceea6b8240bf1dd9694a170368264e40c67d66b](https://dart.googlesource.com/sdk.git/+/4580a03480d62c1a178eb6563fdb8dfc813f0dc0)
by Konstantin Shcheglov · 25 hours ago

[1b310ca](https://dart.googlesource.com/sdk.git/+/1b310ca55bddb573a8287fa8f7b13dff92133a5b)
[Version
3.9.0-194.0.dev](https://dart.googlesource.com/sdk.git/+/1b310ca55bddb573a8287fa8f7b13dff92133a5b)
by Dart CI · 26 hours ago
[3.9.0-194.0.dev](https://dart.googlesource.com/sdk.git/+/refs/tags/3.9.0-194.0.dev)

[03301c9](https://dart.googlesource.com/sdk.git/+/03301c9bfb94b59f8fbd46d504ef6f7b24be16bf)
[[vm] Support assembly output for
Windows.](https://dart.googlesource.com/sdk.git/+/03301c9bfb94b59f8fbd46d504ef6f7b24be16bf)
by Ryan Macnak · 27 hours ago

[bd9ab13](https://dart.googlesource.com/sdk.git/+/bd9ab13a38aca713f981ff397f8f4e57d2a405f2)
[Remove underused exports from
analyzer.dart](https://dart.googlesource.com/sdk.git/+/bd9ab13a38aca713f981ff397f8f4e57d2a405f2)
by Sam Rawlins · 27 hours ago

[70c4bcd](https://dart.googlesource.com/sdk.git/+/70c4bcd7cbb1a446f93bc815f67eb166f8409bc1)
[linter: Clean up dead test
code](https://dart.googlesource.com/sdk.git/+/70c4bcd7cbb1a446f93bc815f67eb166f8409bc1)
by Sam Rawlins · 27 hours ago

[86341c9](https://dart.googlesource.com/sdk.git/+/86341c9b8a192733d0d2d254651f6facd1ebc240)
[[vm/gardening] Skip isolate_group_shared_send_test on
fuchsia.](https://dart.googlesource.com/sdk.git/+/86341c9b8a192733d0d2d254651f6facd1ebc240)
by Alexander Aprelev · 27 hours ago

[9fc86d9](https://dart.googlesource.com/sdk.git/+/9fc86d963caa8523ac80a3839cd6e33168c0cb24)
[Elements. Store MetadataImpl in
ElementDirectiveImpl.](https://dart.googlesource.com/sdk.git/+/9fc86d963caa8523ac80a3839cd6e33168c0cb24)
by Konstantin Shcheglov · 27 hours ago

[a5520d0](https://dart.googlesource.com/sdk.git/+/a5520d07cb978ff02d6a956315af574f501f355c)
[analyzer: Expand BlazeWorkspacePackage.isInTestDirectory to include
'testing'](https://dart.googlesource.com/sdk.git/+/a5520d07cb978ff02d6a956315af574f501f355c)
by Sam Rawlins · 28 hours ago

[ef7e045](https://dart.googlesource.com/sdk.git/+/ef7e045bfdf3b92b72b9702e268994165954de5e)
[Elements. Remove metadata3, store MetadataImpl
directly.](https://dart.googlesource.com/sdk.git/+/ef7e045bfdf3b92b72b9702e268994165954de5e)
by Konstantin Shcheglov · 28 hours ago

[36262e7](https://dart.googlesource.com/sdk.git/+/36262e7339e6180e531b699d7ca1836b277ea286)
[Revert "[dart2wasm] Remove FunctionNode dependency from
ClosureDynamicEntryGenerator"](https://dart.googlesource.com/sdk.git/+/36262e7339e6180e531b699d7ca1836b277ea286)
by Jason Simmons · 28 hours ago

[5663697](https://dart.googlesource.com/sdk.git/+/56636971dc4e38517fa55f0cb69321355c2511af)
[[test_runner] Remove nnbd mode
options.](https://dart.googlesource.com/sdk.git/+/56636971dc4e38517fa55f0cb69321355c2511af)
by Ryan Macnak · 28 hours ago

[8711f55](https://dart.googlesource.com/sdk.git/+/8711f552fd7675b87294e4b7c6217c544ee65061)
[[deps] rev ecosystem, protobuf, test, tools, webdev,
webdriver](https://dart.googlesource.com/sdk.git/+/8711f552fd7675b87294e4b7c6217c544ee65061)
by Devon Carew · 28 hours ago

[bf6ddd2](https://dart.googlesource.com/sdk.git/+/bf6ddd25c4b19795ec75bb067b83fdc370162f3a)
[[flow analysis] Do not promote to mutual
subtypes.](https://dart.googlesource.com/sdk.git/+/bf6ddd25c4b19795ec75bb067b83fdc370162f3a)
by Paul Berry · 28 hours ago

[73a85ec](https://dart.googlesource.com/sdk.git/+/73a85ec19513c46f6e6989b41d1fb3cdc79e0f61)
[Elements. Deprecate
FragmentImpl.name](https://dart.googlesource.com/sdk.git/+/73a85ec19513c46f6e6989b41d1fb3cdc79e0f61)
by Konstantin Shcheglov · 28 hours ago

[65d0d85](https://dart.googlesource.com/sdk.git/+/65d0d8581ac434f64c77fb1aae820e77dc148cc5)
[[vm/shared] Move forward_table from Isolate to
Thread.](https://dart.googlesource.com/sdk.git/+/65d0d8581ac434f64c77fb1aae820e77dc148cc5)
by Alexander Aprelev · 29 hours ago

[af0dba8](https://dart.googlesource.com/sdk.git/+/af0dba8e60e323aebd6cdd1b71b2740be9638762)
[Version
3.9.0-193.0.dev](https://dart.googlesource.com/sdk.git/+/af0dba8e60e323aebd6cdd1b71b2740be9638762)
by Dart CI · 30 hours ago
[3.9.0-193.0.dev](https://dart.googlesource.com/sdk.git/+/refs/tags/3.9.0-193.0.dev)

[df12659](https://dart.googlesource.com/sdk.git/+/df126594e9e3a3ab2b57e394ed8452f474e75505)
[[co19] Roll co19 to
3388e8e9073d57e6fdca6582568fdfa6f9a6bc61](https://dart.googlesource.com/sdk.git/+/df126594e9e3a3ab2b57e394ed8452f474e75505)
by Sergey G. Grekhov · 30 hours ago

[2565128](https://dart.googlesource.com/sdk.git/+/2565128cb0b7ca5e7d6eac321a7a83ba8494023b)
[[infra] Shard Mac AOT
builders.](https://dart.googlesource.com/sdk.git/+/2565128cb0b7ca5e7d6eac321a7a83ba8494023b)
by Ryan Macnak · 30 hours ago

[4fb105e](https://dart.googlesource.com/sdk.git/+/4fb105e7944ef99cae10b16c7309cee4e5c2f2e4)
[[build] Debian package
test.](https://dart.googlesource.com/sdk.git/+/4fb105e7944ef99cae10b16c7309cee4e5c2f2e4)
by Ryan Macnak · 31 hours ago

[5df7479](https://dart.googlesource.com/sdk.git/+/5df74796336e6c6be7e55c304fa6ce34da76fa96)
[Reorganize the status/diagnostic
pages](https://dart.googlesource.com/sdk.git/+/5df74796336e6c6be7e55c304fa6ce34da76fa96)
by Brian Wilkerson · 31 hours ago

[c006202](https://dart.googlesource.com/sdk.git/+/c006202dc6d314d9f7d035cef2c15ad11335d7de)
[[vm,dyn_modules] Convert function type args to instance type args when
allocating an object in constructor
tear-off](https://dart.googlesource.com/sdk.git/+/c006202dc6d314d9f7d035cef2c15ad11335d7de)
by Alexander Markov · 31 hours ago

[16cde58](https://dart.googlesource.com/sdk.git/+/16cde58fa2ba7b04fce7f0c0c532216540698797)
[Version
3.9.0-192.0.dev](https://dart.googlesource.com/sdk.git/+/16cde58fa2ba7b04fce7f0c0c532216540698797)
by Dart CI · 34 hours ago
[3.9.0-192.0.dev](https://dart.googlesource.com/sdk.git/+/refs/tags/3.9.0-192.0.dev)

[d004127](https://dart.googlesource.com/sdk.git/+/d0041273c5800d08167231e3427e2344346e7796)
[[cfe] Implement getter-setter-error for extension
types](https://dart.googlesource.com/sdk.git/+/d0041273c5800d08167231e3427e2344346e7796)
by Chloe Stefantsova · 34 hours ago

[fd9960f](https://dart.googlesource.com/sdk.git/+/fd9960f3247980084f4e097d9453c952cc8475e5)
[[cfe] Create declarations directly in
_PropertyPreBuilder](https://dart.googlesource.com/sdk.git/+/fd9960f3247980084f4e097d9453c952cc8475e5)
by Johnni Winther · 36 hours ago

[1117dce](https://dart.googlesource.com/sdk.git/+/1117dce94d05eac5d9606e9d0f62e9ceb7c2e69e)
[[model] Mark erroneously initialized optional parameters as
such](https://dart.googlesource.com/sdk.git/+/1117dce94d05eac5d9606e9d0f62e9ceb7c2e69e)
by Chloe Stefantsova · 2 days ago

[c21beef](https://dart.googlesource.com/sdk.git/+/c21beef54e1fcaf6159aee2367a2fb995eaddf97)
[remove unused
import](https://dart.googlesource.com/sdk.git/+/c21beef54e1fcaf6159aee2367a2fb995eaddf97)
by Jake Macdonald · 2 days ago

[5d2e1ef](https://dart.googlesource.com/sdk.git/+/5d2e1ef0dcd32b143aac8b15d49250d84bd5abeb)
[Version
3.9.0-191.0.dev](https://dart.googlesource.com/sdk.git/+/5d2e1ef0dcd32b143aac8b15d49250d84bd5abeb)
by Dart CI · 2 days ago
[3.9.0-191.0.dev](https://dart.googlesource.com/sdk.git/+/refs/tags/3.9.0-191.0.dev)

[ce6e968](https://dart.googlesource.com/sdk.git/+/ce6e9685dff28d412c05bf66f925395100fdd9ed)
[Bump the github-actions group with 2
updates](https://dart.googlesource.com/sdk.git/+/ce6e9685dff28d412c05bf66f925395100fdd9ed)
by dependabot[bot] · 2 days ago

[745b0c7](https://dart.googlesource.com/sdk.git/+/745b0c732820a45fc3a097c640c4ac60b3ef51d6)
[Version
3.9.0-190.0.dev](https://dart.googlesource.com/sdk.git/+/745b0c732820a45fc3a097c640c4ac60b3ef51d6)
by Dart CI · 4 days ago
[3.9.0-190.0.dev](https://dart.googlesource.com/sdk.git/+/refs/tags/3.9.0-190.0.dev)

[c349670](https://dart.googlesource.com/sdk.git/+/c3496701e4ad0f8ec26050982aab860d25bbe8f3)
[Roll Fuchsia SDK from 28.20250519.5.1 to
28.20250528.4.1](https://dart.googlesource.com/sdk.git/+/c3496701e4ad0f8ec26050982aab860d25bbe8f3)
by DEPS Autoroller · 4 days ago

[a14c305](https://dart.googlesource.com/sdk.git/+/a14c3059e957c7085a762bb84d92c7df52811135)
[Roll Fuchsia Test Scripts from L6SMsr0eTyQlN6KR4... to
DG11ez0PRGu8loi2m...](https://dart.googlesource.com/sdk.git/+/a14c3059e957c7085a762bb84d92c7df52811135)
by DEPS Autoroller · 4 days ago

[3f2a696](https://dart.googlesource.com/sdk.git/+/3f2a6963fb1f3cd31cb797e8f04e335a08e75ca9)
[[dart2js] Improve algorithm for condition
targets](https://dart.googlesource.com/sdk.git/+/3f2a6963fb1f3cd31cb797e8f04e335a08e75ca9)
by Stephen Adams · 4 days ago

[bafa801](https://dart.googlesource.com/sdk.git/+/bafa80177f1a9a2cafc2b7a028595b5cfeb6229d)
[Version
3.9.0-189.0.dev](https://dart.googlesource.com/sdk.git/+/bafa80177f1a9a2cafc2b7a028595b5cfeb6229d)
by Dart CI · 4 days ago
[3.9.0-189.0.dev](https://dart.googlesource.com/sdk.git/+/refs/tags/3.9.0-189.0.dev)

[d34f769](https://dart.googlesource.com/sdk.git/+/d34f769deb34ab5dbda0a03f17c15d7c6f18f88e)
[Roll gn from ebc8f16ca7b0 to
afd24ed11bc5](https://dart.googlesource.com/sdk.git/+/d34f769deb34ab5dbda0a03f17c15d7c6f18f88e)
by DEPS Autoroller · 4 days ago

[85ccbe6](https://dart.googlesource.com/sdk.git/+/85ccbe6d8d13c6e036446f9d9c1664e639044a41)
[[dart2js] `late final` initialized instance field getters are
idempotent](https://dart.googlesource.com/sdk.git/+/85ccbe6d8d13c6e036446f9d9c1664e639044a41)
by Stephen Adams · 4 days ago

[28fc6346](https://dart.googlesource.com/sdk.git/+/28fc6346eb4f71674441afac45797516d627feb8)
[analyzer: Move RuleContext and RuleContextUnit to public
API](https://dart.googlesource.com/sdk.git/+/28fc6346eb4f71674441afac45797516d627feb8)
by Sam Rawlins · 4 days ago

[2c0fad2](https://dart.googlesource.com/sdk.git/+/2c0fad24ffc13cc3e573410f1015676fafd565ae)
[Normalize the diagnostic
pages](https://dart.googlesource.com/sdk.git/+/2c0fad24ffc13cc3e573410f1015676fafd565ae)
by Brian Wilkerson · 4 days ago

[b45d25b](https://dart.googlesource.com/sdk.git/+/b45d25ba1e1726f316d5d753e29d6551267a0776)
[Elements. Print MethodElementImpl references in text
expectations.](https://dart.googlesource.com/sdk.git/+/b45d25ba1e1726f316d5d753e29d6551267a0776)
by Konstantin Shcheglov · 4 days ago

[63aa736](https://dart.googlesource.com/sdk.git/+/63aa736da20821f23fcadfe9dbafe49705695f64)
[Elements. Add reference to MethodElementImpl, write
it.](https://dart.googlesource.com/sdk.git/+/63aa736da20821f23fcadfe9dbafe49705695f64)
by Konstantin Shcheglov · 4 days ago

[9507d7a](https://dart.googlesource.com/sdk.git/+/9507d7a05ecf218d4e50700cb634edace930db01)
[Version
3.9.0-188.0.dev](https://dart.googlesource.com/sdk.git/+/9507d7a05ecf218d4e50700cb634edace930db01)
by Dart CI · 4 days ago
[3.9.0-188.0.dev](https://dart.googlesource.com/sdk.git/+/refs/tags/3.9.0-188.0.dev)

[55a2089](https://dart.googlesource.com/sdk.git/+/55a2089034e757c339a5bf01845505758e4f78b0)
[Add a test for
hasPublishedDocs](https://dart.googlesource.com/sdk.git/+/55a2089034e757c339a5bf01845505758e4f78b0)
by Brian Wilkerson · 4 days ago

[2b59598](https://dart.googlesource.com/sdk.git/+/2b59598defdbbcc7e06d507ad74cf225c615d6b5)
[Display message scheduler information on the diagnostic
pages](https://dart.googlesource.com/sdk.git/+/2b59598defdbbcc7e06d507ad74cf225c615d6b5)
by Brian Wilkerson · 4 days ago

[d49cd3c](https://dart.googlesource.com/sdk.git/+/d49cd3c552afa222ed1cbbee85a8d50d725902e7)
[[dart2js] Track, rather than compute,
`isCallOnInterceptor`](https://dart.googlesource.com/sdk.git/+/d49cd3c552afa222ed1cbbee85a8d50d725902e7)
by Stephen Adams · 4 days ago

[74f74d7](https://dart.googlesource.com/sdk.git/+/74f74d71578b01495cf40a6f5d7b561787806d92)
[[analysis_server] Dot shorthands: Document highlights
tests.](https://dart.googlesource.com/sdk.git/+/74f74d71578b01495cf40a6f5d7b561787806d92)
by Kallen Tu · 4 days ago

[e724547](https://dart.googlesource.com/sdk.git/+/e7245478926551fac327ac9abbc01aad53eb74a8)
[Elements. Deprecate Annotatable.metadata2, use 'metadata'
instead.](https://dart.googlesource.com/sdk.git/+/e7245478926551fac327ac9abbc01aad53eb74a8)
by Konstantin Shcheglov · 4 days ago

[8f9cab4](https://dart.googlesource.com/sdk.git/+/8f9cab444059fa84df8eed6eb61c7727c7b70f92)
[[analysis_server] Dot shorthands: Go to type definition
tests.](https://dart.googlesource.com/sdk.git/+/8f9cab444059fa84df8eed6eb61c7727c7b70f92)
by Kallen Tu · 4 days ago

[f18bd99](https://dart.googlesource.com/sdk.git/+/f18bd99230b56cbe77e3e7742908c895c48ec93f)
[[DAS] Fixes comment references for enum
constants](https://dart.googlesource.com/sdk.git/+/f18bd99230b56cbe77e3e7742908c895c48ec93f)
by FMorschel · 4 days ago

[5a6d0cf](https://dart.googlesource.com/sdk.git/+/5a6d0cf4feb4768c0b4dae34df55dc8762d01cf5)
[Version
3.9.0-187.0.dev](https://dart.googlesource.com/sdk.git/+/5a6d0cf4feb4768c0b4dae34df55dc8762d01cf5)
by Dart CI · 4 days ago
[3.9.0-187.0.dev](https://dart.googlesource.com/sdk.git/+/refs/tags/3.9.0-187.0.dev)

[c98a91f](https://dart.googlesource.com/sdk.git/+/c98a91f182d813b5b4a141bfa0b1093f0f7eb435)
[Elements. Rename Element2Extension.metadata to
metadataAnnotations.](https://dart.googlesource.com/sdk.git/+/c98a91f182d813b5b4a141bfa0b1093f0f7eb435)
by Konstantin Shcheglov · 4 days ago

[d2252b1](https://dart.googlesource.com/sdk.git/+/d2252b1fd6c95d4a7a2a748c3ccc14a65082d20a)
[[dyn_modules] Add option to dump detailed dynamic
interface](https://dart.googlesource.com/sdk.git/+/d2252b1fd6c95d4a7a2a748c3ccc14a65082d20a)
by Alexander Markov · 4 days ago

[70dd226](https://dart.googlesource.com/sdk.git/+/70dd22696b09ac21b5c09774434b496eda071097)
[Version
3.9.0-186.0.dev](https://dart.googlesource.com/sdk.git/+/70dd22696b09ac21b5c09774434b496eda071097)
by Dart CI · 4 days ago
[3.9.0-186.0.dev](https://dart.googlesource.com/sdk.git/+/refs/tags/3.9.0-186.0.dev)

[804c6bb](https://dart.googlesource.com/sdk.git/+/804c6bbd84b03d79bb71ec94e3c93b5afeb6a107)
[[test_runner] Remove duplicate "allowed values" help, use
package:args's allowed value help
feature](https://dart.googlesource.com/sdk.git/+/804c6bbd84b03d79bb71ec94e3c93b5afeb6a107)
by Ömer Ağacan · 5 days ago

[111af5a](https://dart.googlesource.com/sdk.git/+/111af5a62b5d3b851b2dc561bea001c1f32d63c0)
[Version
3.9.0-185.0.dev](https://dart.googlesource.com/sdk.git/+/111af5a62b5d3b851b2dc561bea001c1f32d63c0)
by Dart CI · 5 days ago
[3.9.0-185.0.dev](https://dart.googlesource.com/sdk.git/+/refs/tags/3.9.0-185.0.dev)

[5dec261](https://dart.googlesource.com/sdk.git/+/5dec261948add3c1cc720f0f47c7d7b499298201)
[Fix test group name for sound flow
analysis.](https://dart.googlesource.com/sdk.git/+/5dec261948add3c1cc720f0f47c7d7b499298201)
by Paul Berry · 5 days ago

[fa9712b](https://dart.googlesource.com/sdk.git/+/fa9712b13722d948852f172d5e29df6ba3bd3fb7)
[Version
3.9.0-184.0.dev](https://dart.googlesource.com/sdk.git/+/fa9712b13722d948852f172d5e29df6ba3bd3fb7)
by Dart CI · 5 days ago
[3.9.0-184.0.dev](https://dart.googlesource.com/sdk.git/+/refs/tags/3.9.0-184.0.dev)

[0467dfc](https://dart.googlesource.com/sdk.git/+/0467dfc43458e03624d93dba35e819a462f2def9)
[Bump ai to
2a5eb30492c4231624ae954e93aa1491e4aca84f](https://dart.googlesource.com/sdk.git/+/0467dfc43458e03624d93dba35e819a462f2def9)
by Jake Macdonald · 5 days ago

[605170d](https://dart.googlesource.com/sdk.git/+/605170dae33d0de700880ee1af9386a1b7c7951b)
[Version
3.9.0-183.0.dev](https://dart.googlesource.com/sdk.git/+/605170dae33d0de700880ee1af9386a1b7c7951b)
by Dart CI · 5 days ago
[3.9.0-183.0.dev](https://dart.googlesource.com/sdk.git/+/refs/tags/3.9.0-183.0.dev)

[09dc185](https://dart.googlesource.com/sdk.git/+/09dc185bd53ac7858222d23a2b3945afa936814e)
[Elements. Use combineSignatureTypes() for inheritance
inference.](https://dart.googlesource.com/sdk.git/+/09dc185bd53ac7858222d23a2b3945afa936814e)
by Konstantin Shcheglov · 5 days ago

[009a619](https://dart.googlesource.com/sdk.git/+/009a6194b35be6cb67d8d714fefc8ad1757639ff)
[[analysis_server] Dot shorthands: Call hierarchy changes and
tests.](https://dart.googlesource.com/sdk.git/+/009a6194b35be6cb67d8d714fefc8ad1757639ff)
by Kallen Tu · 5 days ago

[b999c90](https://dart.googlesource.com/sdk.git/+/b999c900f37abab66c04cabd9cd67560d8d5bfef)
[Version
3.9.0-182.0.dev](https://dart.googlesource.com/sdk.git/+/b999c900f37abab66c04cabd9cd67560d8d5bfef)
by Dart CI · 5 days ago
[3.9.0-182.0.dev](https://dart.googlesource.com/sdk.git/+/refs/tags/3.9.0-182.0.dev)

[b980788](https://dart.googlesource.com/sdk.git/+/b980788bf9ab4c3bf2844b8ca3bf2d1725934b0e)
[[test_runner] Use 'line' progress indicator by default when stdout is
not a
terminal](https://dart.googlesource.com/sdk.git/+/b980788bf9ab4c3bf2844b8ca3bf2d1725934b0e)
by Ömer Ağacan · 5 days ago

[41ac971](https://dart.googlesource.com/sdk.git/+/41ac971d8a35ad3745e32d8cf423f261129f5df9)
[analyzer: rename Lint*Context
classes](https://dart.googlesource.com/sdk.git/+/41ac971d8a35ad3745e32d8cf423f261129f5df9)
by Sam Rawlins · 5 days ago

[e4cac29](https://dart.googlesource.com/sdk.git/+/e4cac2901a65ee69a3b52fde107312bca1f5c61d)
[Bump ai to
cf7d67f1e653cc9d8988ff0dc549eb7c357c3ef9](https://dart.googlesource.com/sdk.git/+/e4cac2901a65ee69a3b52fde107312bca1f5c61d)
by Jake Macdonald · 5 days ago

[b085dd5](https://dart.googlesource.com/sdk.git/+/b085dd53f405c30b90f47b619278f5596b18ac3d)
[analyzer: Simplify some FileAnalysis
usage](https://dart.googlesource.com/sdk.git/+/b085dd53f405c30b90f47b619278f5596b18ac3d)
by Sam Rawlins · 5 days ago

[1d26804](https://dart.googlesource.com/sdk.git/+/1d268045c0ed151be4c89ba68f2dc3a47b8c1cae)
[[dart2wasm] Fix param info lookup to match signature lookup
logic.](https://dart.googlesource.com/sdk.git/+/1d268045c0ed151be4c89ba68f2dc3a47b8c1cae)
by Nate Biggs · 5 days ago

[31607cc](https://dart.googlesource.com/sdk.git/+/31607cc56a0e09b60e614f8160899b723aa16915)
[Elements. Write more ElementImpl as references, not as
fragments.](https://dart.googlesource.com/sdk.git/+/31607cc56a0e09b60e614f8160899b723aa16915)
by Konstantin Shcheglov · 5 days ago

[23c6ee8](https://dart.googlesource.com/sdk.git/+/23c6ee82c84b66f691f375bfa2582df889c668c7)
[Version
3.9.0-181.0.dev](https://dart.googlesource.com/sdk.git/+/23c6ee82c84b66f691f375bfa2582df889c668c7)
by Dart CI · 6 days ago
[3.9.0-181.0.dev](https://dart.googlesource.com/sdk.git/+/refs/tags/3.9.0-181.0.dev)

[b414df2](https://dart.googlesource.com/sdk.git/+/b414df224a0c41f820103b33a9f0e48ecca9fd5f)
[[DEPS] Update web
engines](https://dart.googlesource.com/sdk.git/+/b414df224a0c41f820103b33a9f0e48ecca9fd5f)
by Nicholas Shahan · 6 days ago

[632ae99](https://dart.googlesource.com/sdk.git/+/632ae99037de7867351917ba299e983531860e34)
[Version
3.9.0-180.0.dev](https://dart.googlesource.com/sdk.git/+/632ae99037de7867351917ba299e983531860e34)
by Dart CI · 6 days ago
[3.9.0-180.0.dev](https://dart.googlesource.com/sdk.git/+/refs/tags/3.9.0-180.0.dev)

[25d5721](https://dart.googlesource.com/sdk.git/+/25d57216e9a5846da7100a35af2527f6de8e032d)
[Bump tools to
a0dda7e50bcd99fd3be8512cf546d872ba39e046](https://dart.googlesource.com/sdk.git/+/25d57216e9a5846da7100a35af2527f6de8e032d)
by Devon Carew · 6 days ago

[560bb8e](https://dart.googlesource.com/sdk.git/+/560bb8e0aab5e1934aec2461a03f66f3b5d55eca)
[[analysis_server] Dot shorthands: Go to definition
tests.](https://dart.googlesource.com/sdk.git/+/560bb8e0aab5e1934aec2461a03f66f3b5d55eca)
by Kallen Tu · 6 days ago

[676df8b](https://dart.googlesource.com/sdk.git/+/676df8b25813bd13a9f9aecd1cb35c66a7e2741f)
[Elements. Remove
PrefixElementImpl.](https://dart.googlesource.com/sdk.git/+/676df8b25813bd13a9f9aecd1cb35c66a7e2741f)
by Konstantin Shcheglov · 6 days ago

[eba91c50](https://dart.googlesource.com/sdk.git/+/eba91c5045d612a6cbca7b5ae4e62388a07980e4)
[analyzer: Move RuleState into the public
API](https://dart.googlesource.com/sdk.git/+/eba91c5045d612a6cbca7b5ae4e62388a07980e4)
by Sam Rawlins · 6 days ago

[25b54e2](https://dart.googlesource.com/sdk.git/+/25b54e2d82cc0d21eb2344bfa446ce4cda301edb)
[Version
3.9.0-179.0.dev](https://dart.googlesource.com/sdk.git/+/25b54e2d82cc0d21eb2344bfa446ce4cda301edb)
by Dart CI · 6 days ago
[3.9.0-179.0.dev](https://dart.googlesource.com/sdk.git/+/refs/tags/3.9.0-179.0.dev)

[34c5794](https://dart.googlesource.com/sdk.git/+/34c5794fffcf87068990b87bee03cc05783f6a76)
[Elements. Make FragmentOrMember implement
Fragment.](https://dart.googlesource.com/sdk.git/+/34c5794fffcf87068990b87bee03cc05783f6a76)
by Konstantin Shcheglov · 6 days ago

[9d22935](https://dart.googlesource.com/sdk.git/+/9d229350636b942f068ea38adb59b213499fc541)
[Elements. Rename ElementOrMember to
FragmentOrMember.](https://dart.googlesource.com/sdk.git/+/9d229350636b942f068ea38adb59b213499fc541)
by Konstantin Shcheglov · 6 days ago

[b117e10](https://dart.googlesource.com/sdk.git/+/b117e10703df065c13c612d6cf3e6132c2e6e39e)
[Elements. Remove
InterfaceFragmentImpl.instantiateImpl()](https://dart.googlesource.com/sdk.git/+/b117e10703df065c13c612d6cf3e6132c2e6e39e)
by Konstantin Shcheglov · 6 days ago

[5af6310](https://dart.googlesource.com/sdk.git/+/5af6310f9c8faa9d4123a615e3aba4f6e2b4b9e4)
[Elements. Use named formal parameters for FragmentImpl
constructors.](https://dart.googlesource.com/sdk.git/+/5af6310f9c8faa9d4123a615e3aba4f6e2b4b9e4)
by Konstantin Shcheglov · 6 days ago

[cde11c1](https://dart.googlesource.com/sdk.git/+/cde11c1005c6711af8959f00d205c16caafec396)
[CQ. Make a couple of methods return void, remove unawaited() for
them.](https://dart.googlesource.com/sdk.git/+/cde11c1005c6711af8959f00d205c16caafec396)
by Konstantin Shcheglov · 6 days ago

[0787d1e](https://dart.googlesource.com/sdk.git/+/0787d1eeece46a2d5f139e0a1390040735e9b7e0)
[Use a more structured response type for `ConnectedApp.getVmServices`
API](https://dart.googlesource.com/sdk.git/+/0787d1eeece46a2d5f139e0a1390040735e9b7e0)
by Kenzie Davisson · 6 days ago

[ebef427](https://dart.googlesource.com/sdk.git/+/ebef427bc563a052f72b536a452d660a852a2371)
[[vm] Remove dead
VerifyCanonicalVisitor.](https://dart.googlesource.com/sdk.git/+/ebef427bc563a052f72b536a452d660a852a2371)
by Ryan Macnak · 6 days ago

[2ecc1ee](https://dart.googlesource.com/sdk.git/+/2ecc1ee8e8b951caf595be17d0e34b090634260a)
[Close open file descriptors that are not needed during process spawn or
exec.](https://dart.googlesource.com/sdk.git/+/2ecc1ee8e8b951caf595be17d0e34b090634260a)
by asiva · 6 days ago

[3959470](https://dart.googlesource.com/sdk.git/+/395947051e064efb75f6b914edfa66b95252ff33)
[[linter] Improve correction message for
discarded_futures.](https://dart.googlesource.com/sdk.git/+/395947051e064efb75f6b914edfa66b95252ff33)
by Paul Berry · 6 days ago

[1806e4c](https://dart.googlesource.com/sdk.git/+/1806e4ce65701d3165a405d90f7d32b976bac072)
[[ddc] Use direct cast methods for primitive
casts](https://dart.googlesource.com/sdk.git/+/1806e4ce65701d3165a405d90f7d32b976bac072)
by Nicholas Shahan · 6 days ago

[2b5b551](https://dart.googlesource.com/sdk.git/+/2b5b551cfbcea199714d0b46c5edd4c2cd52e644)
[Fine. Record InstanceElement.fields/getters/setters
access.](https://dart.googlesource.com/sdk.git/+/2b5b551cfbcea199714d0b46c5edd4c2cd52e644)
by Konstantin Shcheglov · 6 days ago

[3033393](https://dart.googlesource.com/sdk.git/+/3033393fe6f2f99c212ed3b6b47e1d34ba4fb1e2)
[Bump ai to
47fa2fcf476a905b316282d9351e4ed063755ead](https://dart.googlesource.com/sdk.git/+/3033393fe6f2f99c212ed3b6b47e1d34ba4fb1e2)
by Jake Macdonald · 6 days ago

[bfc8faa](https://dart.googlesource.com/sdk.git/+/bfc8faabb8278bbc689e1f78b1c26e5962776113)
[CodeGen. Document GenerateNodeProperty.
#2](https://dart.googlesource.com/sdk.git/+/bfc8faabb8278bbc689e1f78b1c26e5962776113)
by Konstantin Shcheglov · 6 days ago

[6b29fb0](https://dart.googlesource.com/sdk.git/+/6b29fb01e6492677891922388ded1ac631f02588)
[Version
3.9.0-178.0.dev](https://dart.googlesource.com/sdk.git/+/6b29fb01e6492677891922388ded1ac631f02588)
by Dart CI · 6 days ago
[3.9.0-178.0.dev](https://dart.googlesource.com/sdk.git/+/refs/tags/3.9.0-178.0.dev)

[525b67a](https://dart.googlesource.com/sdk.git/+/525b67a9fe6e6c04fd343af1ff4cf647356b4b6e)
[Enable discarded_futures lint in analyzer and
_fe_analyzer_shared.](https://dart.googlesource.com/sdk.git/+/525b67a9fe6e6c04fd343af1ff4cf647356b4b6e)
by Paul Berry · 6 days ago

[53ecbfd](https://dart.googlesource.com/sdk.git/+/53ecbfd9991af13b134240d621c62294cdf9d919)
[[dyn_modules] Do not add dart:core as callable by
default](https://dart.googlesource.com/sdk.git/+/53ecbfd9991af13b134240d621c62294cdf9d919)
by Alexander Markov · 6 days ago

[8023313](https://dart.googlesource.com/sdk.git/+/802331361fb7358bbf9379450e40207030170af6)
[[dartfuzz] Add missing build
target.](https://dart.googlesource.com/sdk.git/+/802331361fb7358bbf9379450e40207030170af6)
by Ryan Macnak · 6 days ago

[b061f91](https://dart.googlesource.com/sdk.git/+/b061f911f9af5fa585fdedff2cf46c77089b8d43)
[[vm] Fix dynamic module
build.](https://dart.googlesource.com/sdk.git/+/b061f911f9af5fa585fdedff2cf46c77089b8d43)
by Ryan Macnak · 6 days ago

[f214457](https://dart.googlesource.com/sdk.git/+/f21445710b4efd6da8740f6af6b5251be086490d)
[[cfe] Add
Fragment.uriOffset](https://dart.googlesource.com/sdk.git/+/f21445710b4efd6da8740f6af6b5251be086490d)
by Johnni Winther · 6 days ago

[b3a04fa](https://dart.googlesource.com/sdk.git/+/b3a04fac5c22bf4732e859930a022014abfcdbc6)
[Version
3.9.0-177.0.dev](https://dart.googlesource.com/sdk.git/+/b3a04fac5c22bf4732e859930a022014abfcdbc6)
by Dart CI · 6 days ago
[3.9.0-177.0.dev](https://dart.googlesource.com/sdk.git/+/refs/tags/3.9.0-177.0.dev)

[57b8c4b](https://dart.googlesource.com/sdk.git/+/57b8c4b93ec2cc2a8e71774aba7bfbb252821109)
[Update changelog on main with 3.8.1
entries](https://dart.googlesource.com/sdk.git/+/57b8c4b93ec2cc2a8e71774aba7bfbb252821109)
by Ivan Inozemtsev · 6 days ago

[b184889](https://dart.googlesource.com/sdk.git/+/b1848895b8069772ce64199ff9ce73b81c07ed66)
[[model] Add makAsErroneous to ConstructorDeclaration and
encodings](https://dart.googlesource.com/sdk.git/+/b1848895b8069772ce64199ff9ce73b81c07ed66)
by Chloe Stefantsova · 6 days ago

[aa0f0e1](https://dart.googlesource.com/sdk.git/+/aa0f0e1acaf2e4a9ad1ef02d57956301881546e1)
[[cfe] Remove
MemberBuilder.isConflictingSetter](https://dart.googlesource.com/sdk.git/+/aa0f0e1acaf2e4a9ad1ef02d57956301881546e1)
by Johnni Winther · 7 days ago

[0045c0e](https://dart.googlesource.com/sdk.git/+/0045c0e1c6837ee636af4f9495ef5ed570c3a4e3)
[[dart2wasm] Remove FunctionNode dependency from
ClosureDynamicEntryGenerator](https://dart.googlesource.com/sdk.git/+/0045c0e1c6837ee636af4f9495ef5ed570c3a4e3)
by Ömer Ağacan · 7 days ago

[2fc0c8b](https://dart.googlesource.com/sdk.git/+/2fc0c8bf0824ee65dcb03cb7591649189a07c823)
[[dart2wasm] Some refactorings of the
compiler](https://dart.googlesource.com/sdk.git/+/2fc0c8bf0824ee65dcb03cb7591649189a07c823)
by Martin Kustermann · 7 days ago

[adb179c](https://dart.googlesource.com/sdk.git/+/adb179ced0bebde1e15f34bf5c212e584a555144)
[Version
3.9.0-176.0.dev](https://dart.googlesource.com/sdk.git/+/adb179ced0bebde1e15f34bf5c212e584a555144)
by Dart CI · 7 days ago
[3.9.0-176.0.dev](https://dart.googlesource.com/sdk.git/+/refs/tags/3.9.0-176.0.dev)

[ac2fc57](https://dart.googlesource.com/sdk.git/+/ac2fc57446abe56b6f94f9940c355c871385678e)
[[cfe] Combine getter/setter and final field/setter into one property
builder](https://dart.googlesource.com/sdk.git/+/ac2fc57446abe56b6f94f9940c355c871385678e)
by Johnni Winther · 7 days ago

[b5e12ec](https://dart.googlesource.com/sdk.git/+/b5e12ecafffeb27332ba761605da0e26d247fff0)
[Replace use of NodeLocator2 in
CorrectionProducer](https://dart.googlesource.com/sdk.git/+/b5e12ecafffeb27332ba761605da0e26d247fff0)
by Brian Wilkerson · 7 days ago

[4bb760d](https://dart.googlesource.com/sdk.git/+/4bb760d8375ea25d0516e7b8719c8ee4c4b71ad3)
[Version
3.9.0-175.0.dev](https://dart.googlesource.com/sdk.git/+/4bb760d8375ea25d0516e7b8719c8ee4c4b71ad3)
by Dart CI · 7 days ago
[3.9.0-175.0.dev](https://dart.googlesource.com/sdk.git/+/refs/tags/3.9.0-175.0.dev)

[797b076](https://dart.googlesource.com/sdk.git/+/797b076edb212d1eb26b10051f0c51c603523497)
[Check for visisbility only once when adding completions for element
members.](https://dart.googlesource.com/sdk.git/+/797b076edb212d1eb26b10051f0c51c603523497)
by Keerti Parthasarathy · 7 days ago

[19992d8](https://dart.googlesource.com/sdk.git/+/19992d86c0997288f02133716c1ab94371759fc6)
[Version
3.9.0-174.0.dev](https://dart.googlesource.com/sdk.git/+/19992d86c0997288f02133716c1ab94371759fc6)
by Dart CI · 7 days ago
[3.9.0-174.0.dev](https://dart.googlesource.com/sdk.git/+/refs/tags/3.9.0-174.0.dev)

[a4e0a0b](https://dart.googlesource.com/sdk.git/+/a4e0a0b3f8fcc362b895a801ed9125172fcff190)
[[build] Pass -Zxz to dh_builddeb instead of
dpkg-buildpackage.](https://dart.googlesource.com/sdk.git/+/a4e0a0b3f8fcc362b895a801ed9125172fcff190)
by Ryan Macnak · 7 days ago

[323b247](https://dart.googlesource.com/sdk.git/+/323b247ba96fdc4843645d7e13e34b27d00b0831)
[[build] Explicitly build the Debian package using xz
compression.](https://dart.googlesource.com/sdk.git/+/323b247ba96fdc4843645d7e13e34b27d00b0831)
by Ryan Macnak · 7 days ago

[93ddc95](https://dart.googlesource.com/sdk.git/+/93ddc95051548f11f7ae1c7733789b390188f987)
[Bump dartdoc to
8e6a95c4aba8def4ef01ccc600b3a3cfb8f3cb9e](https://dart.googlesource.com/sdk.git/+/93ddc95051548f11f7ae1c7733789b390188f987)
by Devon Carew · 7 days ago

[786b6c5](https://dart.googlesource.com/sdk.git/+/786b6c5612860740105a09d536f6801ff59f74d9)
[[dartfuzz] Extend VM flag fuzzing to dartfuzz and
iso-stress.](https://dart.googlesource.com/sdk.git/+/786b6c5612860740105a09d536f6801ff59f74d9)
by Ryan Macnak · 7 days ago

[f8f2227](https://dart.googlesource.com/sdk.git/+/f8f22279f120f4fe6577561e183cd4a5f2888ceb)
[Version
3.9.0-173.0.dev](https://dart.googlesource.com/sdk.git/+/f8f22279f120f4fe6577561e183cd4a5f2888ceb)
by Dart CI · 7 days ago
[3.9.0-173.0.dev](https://dart.googlesource.com/sdk.git/+/refs/tags/3.9.0-173.0.dev)

[012d84a](https://dart.googlesource.com/sdk.git/+/012d84a821859a29bc63239cbb6f171db8f578ea)
[Fine. Record requesting the whole
interface.](https://dart.googlesource.com/sdk.git/+/012d84a821859a29bc63239cbb6f171db8f578ea)
by Konstantin Shcheglov · 7 days ago

[e2fdf18](https://dart.googlesource.com/sdk.git/+/e2fdf18b66ba7da09f60f9d91966a86d7e38f827)
[[dart2js] Refine types based on test with late
sentinel](https://dart.googlesource.com/sdk.git/+/e2fdf18b66ba7da09f60f9d91966a86d7e38f827)
by Stephen Adams · 7 days ago

[8955223](https://dart.googlesource.com/sdk.git/+/89552236ffb3c60bd2bdcc8a1c68d3d5c441214f)
[[analyzer] Dot shorthands: Infer type parameters in constructor
tearoffs.](https://dart.googlesource.com/sdk.git/+/89552236ffb3c60bd2bdcc8a1c68d3d5c441214f)
by Kallen Tu · 7 days ago

[785b38e](https://dart.googlesource.com/sdk.git/+/785b38ed5b38b5e822f49f5c1d5a0367e3d3f7fa)
[Convert remove-dead-code to use
nodeCovering](https://dart.googlesource.com/sdk.git/+/785b38ed5b38b5e822f49f5c1d5a0367e3d3f7fa)
by Brian Wilkerson · 7 days ago

[b916392](https://dart.googlesource.com/sdk.git/+/b9163920083e1415bf925aab7bf57dc99073f50a)
[[vm] Move handle check after barrier in CompileFunction runtime
entry.](https://dart.googlesource.com/sdk.git/+/b9163920083e1415bf925aab7bf57dc99073f50a)
by Ryan Macnak · 7 days ago

[18aa7d3](https://dart.googlesource.com/sdk.git/+/18aa7d3678fd9fa8ffd4e2e8cdf23582a3c14474)
[[vm] Refactor runtime
entries.](https://dart.googlesource.com/sdk.git/+/18aa7d3678fd9fa8ffd4e2e8cdf23582a3c14474)
by Ryan Macnak · 7 days ago

[d2c0f0a](https://dart.googlesource.com/sdk.git/+/d2c0f0ae16383564d0307dfad579c2c9e0a2d82e)
[[analysis_server] Support folding try/catch/finally
blocks](https://dart.googlesource.com/sdk.git/+/d2c0f0ae16383564d0307dfad579c2c9e0a2d82e)
by Danny Tuppeny · 7 days ago

[33daa43](https://dart.googlesource.com/sdk.git/+/33daa43c861a800f0cb80a95506a1ac4127ffc64)
[CodeGen. Document
GenerateNodeProperty.](https://dart.googlesource.com/sdk.git/+/33daa43c861a800f0cb80a95506a1ac4127ffc64)
by Konstantin Shcheglov · 7 days ago

[77dd4fb3](https://dart.googlesource.com/sdk.git/+/77dd4fb3eaf086e393e73f126bd9bfe29f08d047)
[Fine. Remove library self-dependency from
'instances'.](https://dart.googlesource.com/sdk.git/+/77dd4fb3eaf086e393e73f126bd9bfe29f08d047)
by Konstantin Shcheglov · 7 days ago

[4a64532](https://dart.googlesource.com/sdk.git/+/4a64532ace049bdf6559a0330ff693326e124acc)
[Fine. Match type parameters of
InstanceItem(s).](https://dart.googlesource.com/sdk.git/+/4a64532ace049bdf6559a0330ff693326e124acc)
by Konstantin Shcheglov · 7 days ago

[5047e68](https://dart.googlesource.com/sdk.git/+/5047e6895fbc6b0e25ea07e45e6438ff15f8c476)
[[dds/dap] Handle parsing stack frames that contain dots in
paths](https://dart.googlesource.com/sdk.git/+/5047e6895fbc6b0e25ea07e45e6438ff15f8c476)
by Danny Tuppeny · 7 days ago

[d828c36](https://dart.googlesource.com/sdk.git/+/d828c36cec4da9e39a862ea786debb83eeab4320)
[Add a `dart mcp-server` command per
go/dart-mcp-server-release-plan.](https://dart.googlesource.com/sdk.git/+/d828c36cec4da9e39a862ea786debb83eeab4320)
by Jake Macdonald · 7 days ago

[f3a4e5b](https://dart.googlesource.com/sdk.git/+/f3a4e5bc548fa6d950600418b44b01421d6b73ad)
[Fine. Record InstanceElement.methods
access.](https://dart.googlesource.com/sdk.git/+/f3a4e5bc548fa6d950600418b44b01421d6b73ad)
by Konstantin Shcheglov · 7 days ago

[03515b4](https://dart.googlesource.com/sdk.git/+/03515b472e883f71e8a730da454ed5dc4e610956)
[[analyzer] Dot shorthands: Update
indexing.](https://dart.googlesource.com/sdk.git/+/03515b472e883f71e8a730da454ed5dc4e610956)
by Kallen Tu · 7 days ago

[15f49c9d](https://dart.googlesource.com/sdk.git/+/15f49c9da0f62c840c4425254870d06db69eba58)
[[deps] rev
tools](https://dart.googlesource.com/sdk.git/+/15f49c9da0f62c840c4425254870d06db69eba58)
by Danny Tuppeny · 7 days ago

[e3fe1c3](https://dart.googlesource.com/sdk.git/+/e3fe1c36f376358e012ee9b09258dab6210a99ce)
[Issue 60791. Don't add elements without names to exported
references.](https://dart.googlesource.com/sdk.git/+/e3fe1c36f376358e012ee9b09258dab6210a99ce)
by Konstantin Shcheglov · 7 days ago

[6b53073](https://dart.googlesource.com/sdk.git/+/6b53073eae118baec4fd5b9c9b6e8cf743df1587)
[Reland "[vm, gen_snapshot] Add app-aot-macho-dylib option for AOT
snapshots."](https://dart.googlesource.com/sdk.git/+/6b53073eae118baec4fd5b9c9b6e8cf743df1587)
by Tess Strickland · 7 days ago

[38ea3a8](https://dart.googlesource.com/sdk.git/+/38ea3a8f5e930ee77a0ff407cdbbec0629d22faa)
[Revert "[vm, gen_snapshot] Add app-aot-macho-dylib option for AOT
snapshots."](https://dart.googlesource.com/sdk.git/+/38ea3a8f5e930ee77a0ff407cdbbec0629d22faa)
by Tess Strickland · 8 days ago
2025-06-04 17:18:59 +00:00
engine-flutter-autoroll
0064fbaf11
Roll Skia from a0d16825479f to 14bdc9e0a8ee (4 revisions) (#169969)
https://skia.googlesource.com/skia.git/+log/a0d16825479f..14bdc9e0a8ee

2025-06-04 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia
Infra from 2b4238da8672 to 1a29d4378c5a (6 revisions)
2025-06-04 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from b1b8f1daa836 to a6136634622e (7 revisions)
2025-06-04 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from 3667b9e854fa to 0b7011542a20 (28 revisions)
2025-06-04 michaelludwig@google.com [graphite] Avoid scissor rect state
changes when possible

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brettos@google.com,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-06-04 08:36:40 +00:00
Chris Bracken
d28f3aff1b
Clean up EmbedderExternalViewEmbedder creation (#169962)
When creating an EmbedderExternalViewController, we were returning a
std::pair of the newly created instance and a bool, where the bool
indicated whether creation was successful or not. When true, creation
was unsuccessful and we should halt the engine launch. When false,
creation was successful and we should continue the engine launch.

Instead, we now return fml::StatusOr. When not StatusOr::ok(), we halt
engine launch, otherwise we continue.

No tests changed since this is a minor cleanup with no semantic change.

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

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

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-06-04 05:44:27 +00:00
Hannah Jin
afd5927b36
Fix typos: canvakit--> canvaskit (#169868)
<!--
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-06-03 23:39:28 +00:00
Tong Mu
a686424995
[Impeller] Use StrokePathSourceGeometry to stroke RoundSuperellipse (#169704)
This PR creates a new class, `StrokeRoundSuperellipseGeometry`, which
reuses the `StrokePathSourceGeometry` class to stroke rounded
superellipses.

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

Filling is unchanged. I could have used `FillPathSourceGeometry` for
non-uniform filling just like RRect, but I've decided not to after some
experimentation, mostly because the `RoundSuperellipseGeometry` class
wouldn't be simplified from uniformity as much as we hope for. This
might be worthwhile if one day we move the filling code to `Tessellator`
(just like `FilledRoundRect`), which reuses much existing code. But
that's out of the scope for now.

## 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-06-03 23:27:21 +00:00
engine-flutter-autoroll
0419508637
Roll Skia from 75e4351f88e7 to 7bfaadb5168b (6 revisions) (#169957)
https://skia.googlesource.com/skia.git/+log/75e4351f88e7..7bfaadb5168b

2025-06-03 lukasza@chromium.org [rust png] Remove
`SKIA_FIX_CRBUG_419011374` define from Skia.
2025-06-03 bungeman@google.com Roll FreeType from deef6d2a to 1518bc83
(13 commits)
2025-06-03 mike@reedtribe.org Use SkSpan in SkFont API
2025-06-03 mike@reedtribe.org Reapply "use SkSpan in SkTypeface API"
2025-06-03 kainino@chromium.org [graphite] Handle Dawn breaking change
moving Compat limits to extension
2025-06-03 kjlubick@google.com Remove destructor calls on shutdown for
static local variables

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brettos@google.com,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-06-03 22:52:13 +00:00
Ben Konyi
51eef3db10
Remove Observatory build rules and remaining references from the engine (#169945)
Work towards https://github.com/dart-lang/sdk/issues/50233

FYI @a-siva
2025-06-03 21:09:30 +00:00
engine-flutter-autoroll
2d9977c14e
Roll Skia from 221cf8c9886d to 75e4351f88e7 (4 revisions) (#169944)
https://skia.googlesource.com/skia.git/+log/221cf8c9886d..75e4351f88e7

2025-06-03 bungeman@google.com Roll FreeType from 702e4a1d to deef6d2a
(28 commits)
2025-06-03 kjlubick@google.com Remove unused static local variable
2025-06-03 mike@reedtribe.org Revert "use SkSpan in SkTypeface API"
2025-06-03 kjlubick@google.com Address clang-tidy suggestion in SkCanvas

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brettos@google.com,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-06-03 18:12:03 +00:00
Ryan Macnak
8ff75be550
[fuchsia] Use the system loader instead of Dart_LoadELF_Fd. (#169534)
Native crash reporting and debugging will work better when they know
about the library.

This removes the only user of Dart_LoadELF_Fd.
2025-06-03 17:55:14 +00:00
Matan Lurey
5f7f3d0217
Remove .flutter-plugins, no longer generated, from .gitignore. (#169896)
Towards https://github.com/flutter/flutter/pull/169894.
2025-06-03 17:33:26 +00:00
Chinmay Garde
d2e4017f81
Add support for arm64 QNX toolchains. (#168699)
The pattern is similar to the recently added WASM (and previously NACL)
toolchains.

The major change is the engines use of functions that became constexpr
in C++26 (such as
[sqrt](https://en.cppreference.com/w/cpp/numeric/math/sqrt)) as if they
were already constexpr. I have attempted to keep the linkage the same
and am investigating how to enable this form of checking with our own
toolchain.
2025-06-03 16:13:12 +00:00
Koji Wakamiya
03dbf1a99c
[Web][Engine] Fix composingBaseOffset and composingExtentOffset value when input japanese text (#161593)
fix https://github.com/flutter/flutter/issues/159671

When entering Japanese text and operating `shift + ← || → || ↑ || ↓`
while composing a character, `setSelectionRange` set (0,0) and the
composing text is disappeared. For this reason, disable shit + arrow
text shortcuts on web platform.

### Movie

fixed


https://github.com/user-attachments/assets/ad0bd199-92a5-4e1f-9f26-0c23981c013d

master branch


https://github.com/user-attachments/assets/934f256e-189b-4916-bb91-a49be60f17b3

## Pre-launch Checklist

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

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

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

---------

Co-authored-by: Mouad Debbar <mouad.debbar@gmail.com>
2025-06-03 15:02:06 +00:00
engine-flutter-autoroll
7e811caed4
Roll Fuchsia Linux SDK from pulsQbHjgvxS4Z1DQ... to XalPPr5CNvZXHPo6O... (#169923)
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-06-03 13:44:06 +00:00
Littlegnal
20c9acd0de
Fix .xcodeproj file name in Setting-up-the-Engine-development-environment.md (#168814)
The `.xcodeproj` file name should be `flutter_engine.xcodeproj` when
compiled with the most recent code.

## Pre-launch Checklist

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

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

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