Skip to content

Conversation

@koji-1009
Copy link
Contributor

@koji-1009 koji-1009 commented Dec 8, 2024

ref #93404, comment and comment.

Added a process to call ui.Codec's dispose.
With this change, HtmlBlobCodec's dispose will be called in Safari when using CanvasKit, and revokeObjectURL will be executed as expected.

If this fix looks good, I will open the #161481 to remove the AlearmClock from the BrowserImageDecoder.

Pre-launch Checklist

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

@github-actions github-actions bot added the framework flutter/packages/flutter repository. See also f: labels. label Dec 8, 2024
@koji-1009 koji-1009 force-pushed the fix/dispose_codec branch 3 times, most recently from feb5cb0 to 4586bf5 Compare December 9, 2024 13:17
@koji-1009 koji-1009 marked this pull request as ready for review December 10, 2024 02:51
@flutter-dashboard
Copy link

Golden file changes have been found for this pull request. Click here to view and triage (e.g. because this is an intentional change).

If you are still iterating on this change and are not ready to resolve the images on the Flutter Gold dashboard, consider marking this PR as a draft pull request above. You will still be able to view image results on the dashboard, commenting will be silenced, and the check will not try to resolve itself until marked ready for review.

For more guidance, visit Writing a golden file test for package:flutter.

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing.

Changes reported for pull request #159945 at sha e4b0360

@flutter-dashboard flutter-dashboard bot added the will affect goldens Changes to golden files label Dec 17, 2024
@koji-1009
Copy link
Contributor Author

koji-1009 commented Dec 18, 2024

As far as I read the code, there are no rules for ui.Codec's dispose process.
There is a process to dispose the codec when the process fails as follows. However, there is no process to dispose the codec when the process succeeds.

https://github.com/flutter/engine/blob/3.27.1/lib/web_ui/lib/painting.dart#L702

The BrowserImageDecoder caches the decoder and does not expect to be called dipose from outside as long as the process succeeds. On the other hand, HtmlImageElementCodec expects that dispose will be called when processing is complete to prevent leaks.

https://github.com/flutter/engine/blob/3.27.1/lib/web_ui/lib/src/engine/image_decoder.dart#L29
https://github.com/flutter/engine/blob/3.27.1/lib/web_ui/lib/src/engine/html_image_element_codec.dart#L15

If dispose is called externally when the process fails, it seems better that dispose be called when the process succeeds as well. There are no rules regarding dispose in ui.Codec, so even if the dispose method is properly implemented, there is still a leak.

@goderbauer
Copy link
Member

FYI @polina-c maybe the Codec object is one that could benefit from leak tracking? See also the issues linked from the PR description.

return;
}

_codec!.dispose();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should document on the MultiFrameImageStreamCompleter that it takes over ownership of the Codec that was passed in and will dispose it if it is done with it.

if (_codec == null) {
// codec was disposed during getNextFrame
return;
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The life cycle of the codec in this class is kinda unclear and it is hard to follow. For example, how can getNextFrame cause the disposal of the codec? Can we simplify the life cycle to make it easier to reason about to avoid future bugs?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This behavior is tested in the “Decoding does not crash when disposed” test case. If a listener is removed during decoding and the listeners are empty, _maybeDispose() is executed and the codec is disposed.

testWidgets('Decoding does not crash when disposed', (WidgetTester tester) async {

The codec lifecycle is confusing. Now that the codec is a mutable property, it needs to be checked after asynchronous work.

@goderbauer
Copy link
Member

This PR will also have to be rebased to tip of tree to adhere to the new formatting style.

@goderbauer
Copy link
Member

@koji-1009 Have you looked at the failing golden tests (see bot comment above)? Those seem unexpected...

@koji-1009 koji-1009 force-pushed the fix/dispose_codec branch 3 times, most recently from 1cd60c1 to 3148700 Compare December 28, 2024 08:46
@koji-1009 koji-1009 marked this pull request as draft December 28, 2024 08:57
@flutter-dashboard
Copy link

This pull request has been changed to a draft. The currently pending flutter-gold status will not be able to resolve until a new commit is pushed or the change is marked ready for review again.

For more guidance, visit Writing a golden file test for package:flutter.

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing.

@koji-1009
Copy link
Contributor Author

Repsitry was in the process of transitioning to mono-repo, so work was suspended.
I did not expect golden test to fail. I will push the fixes in order and check where golden test starts to fail.

@polina-c
Copy link
Contributor

polina-c commented Jan 3, 2025

FYI @polina-c maybe the Codec object is one that could benefit from leak tracking? See also the issues linked from the PR description.

@goderbauer, yes, it looks it will.

Will make it happen as soon as monorepo lands: #161132

@github-actions github-actions bot added the engine flutter/engine related. See also e: labels. label Jan 3, 2025
@koji-1009
Copy link
Contributor Author

koji-1009 commented Jan 3, 2025

I am thinking of separating PR to add codec.dispose() to benchmarks, golden tests, etc. In particular, since the golden test was an unexpected fail, I intend to investigate while reducing the scope of the change.

Also, the process of BrowserImageDecoder caching the decoder would be unnecessary if codec.dispose() is called correctly. I would like to leave this discussion outside the scope of this PR, as #127548 seems appropriate for this discussion.


Please let me know if I should prioritize fixing the benchmark or golden test before merging this PR.

What I would like to do with this PR is to resolve the ui.Codec dispose issue before the HTML renderer is removed. wasm is not available in Safari. Therefore, I would like to avoid a situation where the HTML renderer is removed before this problem is resolved.


I created several PRs.

@koji-1009 koji-1009 marked this pull request as ready for review January 3, 2025 14:41
@koji-1009 koji-1009 mentioned this pull request Jan 3, 2025
9 tasks
@koji-1009 koji-1009 force-pushed the fix/dispose_codec branch 2 times, most recently from ac777e3 to 2eeb167 Compare January 4, 2025 00:49
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 12, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 12, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 12, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 12, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 13, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 13, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 13, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 14, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 14, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 14, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 14, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 14, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 15, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 15, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 16, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 16, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 17, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 17, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 17, 2025
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Feb 17, 2025
Roll Flutter from 892f9c1 to e8f34a9 (71 revisions)

flutter/flutter@892f9c1...e8f34a9

2025-02-12 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Roll Skia from f31c733c86c4 to 25937c31f153 (2 revisions) (#163127)" (flutter/flutter#163133)
2025-02-12 [email protected] Roll Skia from f31c733c86c4 to 25937c31f153 (2 revisions) (flutter/flutter#163127)
2025-02-12 [email protected] Update .ci.yaml to support Fuchsia cherrypick branches (flutter/flutter#163000)
2025-02-12 [email protected] Roll Skia from 6f17f2ebb2e5 to f31c733c86c4 (1 revision) (flutter/flutter#163112)
2025-02-12 [email protected] Roll Skia from a9dbb2479c26 to 6f17f2ebb2e5 (2 revisions) (flutter/flutter#163109)
2025-02-12 [email protected] [devicelab] dont strip symbols in platform views layout test. (flutter/flutter#163101)
2025-02-12 [email protected] [Impeller] mirror tile mode requires highp for Adreno. (flutter/flutter#163066)
2025-02-12 [email protected] Roll Skia from 5b56d9a91633 to a9dbb2479c26 (6 revisions) (flutter/flutter#163100)
2025-02-12 [email protected] Roll Dart SDK from d9d7f103b6b7 to fcef25f18e4d (3 revisions) (flutter/flutter#163098)
2025-02-12 [email protected] Generate a correct `.flutter-plugin-dependencies` file for iOS/macOS projects (flutter/flutter#162834)
2025-02-12 [email protected] Remove unsound artifacts, remove `*Sound` qualifier. (flutter/flutter#163015)
2025-02-12 [email protected] [Impeller] libImpeller: Add support for Metal and Vulkan rendering. (flutter/flutter#161547)
2025-02-11 [email protected] Marks Mac_benchmark basic_material_app_macos__compile to be flaky (flutter/flutter#162365)
2025-02-11 [email protected] Roll pub packages (flutter/flutter#163083)
2025-02-11 [email protected] Adds hasSelectedState parameter to matchesSemantics for migration (flutter/flutter#163014)
2025-02-11 [email protected] fix: Dispose codec after completing frame creation (flutter/flutter#159945)
2025-02-11 [email protected] [ios][secure_paste]show menu item based on info sent from framework (flutter/flutter#161103)
2025-02-11 [email protected] Update conductor to support monorepos (flutter/flutter#161704)
2025-02-11 [email protected] [Android] fix hcpp tapping, again, and add test. (flutter/flutter#163035)
2025-02-11 [email protected] Add new builder for experiment with dynamic modules. (flutter/flutter#162855)
2025-02-11 [email protected] Roll vulkan-deps to 9edf248c597b (flutter/flutter#162549)
2025-02-11 [email protected] Adds dialog and alertdialog role (flutter/flutter#162692)
2025-02-11 [email protected] Roll Dart SDK from 99789828cc95 to d9d7f103b6b7 (12 revisions) (flutter/flutter#163060)
2025-02-11 [email protected] [ Widget Preview ] Cleanup PreviewDetector code (flutter/flutter#163050)
2025-02-11 [email protected] Fix `SkiaException` -> `TestFailure`, add tests. (flutter/flutter#163054)
2025-02-11 [email protected] [Android] fix hcpp overlay layer intersection. (flutter/flutter#163024)
2025-02-11 [email protected] [ Widget Preview ] Update generated scaffold project to include early preview rendering (flutter/flutter#162847)
2025-02-11 [email protected] [Embedder] Implement merged platform and UI thread (flutter/flutter#162944)
2025-02-11 [email protected] [Android] Remove overlay when platform views are removed from screen. (flutter/flutter#162908)
2025-02-11 [email protected] Roll Dart to 3.8.0-76.0.dev (flutter/flutter#162913)
2025-02-11 [email protected] [Android] add HCPP platform views benchmark and integration test. (flutter/flutter#163018)
2025-02-11 [email protected] Roll Skia from 8c377e8bedd2 to 5b56d9a91633 (9 revisions) (flutter/flutter#163021)
2025-02-11 [email protected] Try golden-testing on a Mokey (`bringup: true`), retry on an emulator (flutter/flutter#163029)
2025-02-11 [email protected] Fix Linux keyboard support for AltGr (flutter/flutter#162495)
2025-02-11 [email protected] Update gen_keycodes output to new engine location. (flutter/flutter#162479)
2025-02-10 [email protected] [Android] add runtime flag to determine if HCPP is supported. (flutter/flutter#163004)
2025-02-10 [email protected] [iOS][Engine] Fix view removal process for AutofillContextAction.cancel (flutter/flutter#160653)
2025-02-10 [email protected] Re-land #162644: Remove `--verbose` from devicelab task executions. (flutter/flutter#163017)
2025-02-10 [email protected] Include device lab version for how to run test (flutter/flutter#163010)
2025-02-10 [email protected] Change the default optimization level to `-O2` for wasm in release mode. (flutter/flutter#162917)
2025-02-10 [email protected] [web] robustify safaridriver launch sequence (flutter/flutter#162919)
2025-02-10 [email protected] Return more eagerly when toggling service extensions (flutter/flutter#162774)
2025-02-10 [email protected] Fix doc reference typos (flutter/flutter#162893)
2025-02-10 [email protected] Roll Skia from 180ed4fc263d to 8c377e8bedd2 (4 revisions) (flutter/flutter#162998)
2025-02-10 [email protected] FYI matanlurey (does not require review, but probably should) on dev/test infra. (flutter/flutter#162642)
2025-02-10 [email protected] [Impeller] rrect_blur: scale max radius clamp by transform (flutter/flutter#161238)
...
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 20, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 20, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 21, 2025
github-merge-queue bot pushed a commit that referenced this pull request Jun 5, 2025
PR derived from #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 <[email protected]>
androidseb pushed a commit to androidseb/packages that referenced this pull request Jun 8, 2025
Roll Flutter from 892f9c1 to e8f34a9 (71 revisions)

flutter/flutter@892f9c1...e8f34a9

2025-02-12 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Roll Skia from f31c733c86c4 to 25937c31f153 (2 revisions) (#163127)" (flutter/flutter#163133)
2025-02-12 [email protected] Roll Skia from f31c733c86c4 to 25937c31f153 (2 revisions) (flutter/flutter#163127)
2025-02-12 [email protected] Update .ci.yaml to support Fuchsia cherrypick branches (flutter/flutter#163000)
2025-02-12 [email protected] Roll Skia from 6f17f2ebb2e5 to f31c733c86c4 (1 revision) (flutter/flutter#163112)
2025-02-12 [email protected] Roll Skia from a9dbb2479c26 to 6f17f2ebb2e5 (2 revisions) (flutter/flutter#163109)
2025-02-12 [email protected] [devicelab] dont strip symbols in platform views layout test. (flutter/flutter#163101)
2025-02-12 [email protected] [Impeller] mirror tile mode requires highp for Adreno. (flutter/flutter#163066)
2025-02-12 [email protected] Roll Skia from 5b56d9a91633 to a9dbb2479c26 (6 revisions) (flutter/flutter#163100)
2025-02-12 [email protected] Roll Dart SDK from d9d7f103b6b7 to fcef25f18e4d (3 revisions) (flutter/flutter#163098)
2025-02-12 [email protected] Generate a correct `.flutter-plugin-dependencies` file for iOS/macOS projects (flutter/flutter#162834)
2025-02-12 [email protected] Remove unsound artifacts, remove `*Sound` qualifier. (flutter/flutter#163015)
2025-02-12 [email protected] [Impeller] libImpeller: Add support for Metal and Vulkan rendering. (flutter/flutter#161547)
2025-02-11 [email protected] Marks Mac_benchmark basic_material_app_macos__compile to be flaky (flutter/flutter#162365)
2025-02-11 [email protected] Roll pub packages (flutter/flutter#163083)
2025-02-11 [email protected] Adds hasSelectedState parameter to matchesSemantics for migration (flutter/flutter#163014)
2025-02-11 [email protected] fix: Dispose codec after completing frame creation (flutter/flutter#159945)
2025-02-11 [email protected] [ios][secure_paste]show menu item based on info sent from framework (flutter/flutter#161103)
2025-02-11 [email protected] Update conductor to support monorepos (flutter/flutter#161704)
2025-02-11 [email protected] [Android] fix hcpp tapping, again, and add test. (flutter/flutter#163035)
2025-02-11 [email protected] Add new builder for experiment with dynamic modules. (flutter/flutter#162855)
2025-02-11 [email protected] Roll vulkan-deps to 9edf248c597b (flutter/flutter#162549)
2025-02-11 [email protected] Adds dialog and alertdialog role (flutter/flutter#162692)
2025-02-11 [email protected] Roll Dart SDK from 99789828cc95 to d9d7f103b6b7 (12 revisions) (flutter/flutter#163060)
2025-02-11 [email protected] [ Widget Preview ] Cleanup PreviewDetector code (flutter/flutter#163050)
2025-02-11 [email protected] Fix `SkiaException` -> `TestFailure`, add tests. (flutter/flutter#163054)
2025-02-11 [email protected] [Android] fix hcpp overlay layer intersection. (flutter/flutter#163024)
2025-02-11 [email protected] [ Widget Preview ] Update generated scaffold project to include early preview rendering (flutter/flutter#162847)
2025-02-11 [email protected] [Embedder] Implement merged platform and UI thread (flutter/flutter#162944)
2025-02-11 [email protected] [Android] Remove overlay when platform views are removed from screen. (flutter/flutter#162908)
2025-02-11 [email protected] Roll Dart to 3.8.0-76.0.dev (flutter/flutter#162913)
2025-02-11 [email protected] [Android] add HCPP platform views benchmark and integration test. (flutter/flutter#163018)
2025-02-11 [email protected] Roll Skia from 8c377e8bedd2 to 5b56d9a91633 (9 revisions) (flutter/flutter#163021)
2025-02-11 [email protected] Try golden-testing on a Mokey (`bringup: true`), retry on an emulator (flutter/flutter#163029)
2025-02-11 [email protected] Fix Linux keyboard support for AltGr (flutter/flutter#162495)
2025-02-11 [email protected] Update gen_keycodes output to new engine location. (flutter/flutter#162479)
2025-02-10 [email protected] [Android] add runtime flag to determine if HCPP is supported. (flutter/flutter#163004)
2025-02-10 [email protected] [iOS][Engine] Fix view removal process for AutofillContextAction.cancel (flutter/flutter#160653)
2025-02-10 [email protected] Re-land #162644: Remove `--verbose` from devicelab task executions. (flutter/flutter#163017)
2025-02-10 [email protected] Include device lab version for how to run test (flutter/flutter#163010)
2025-02-10 [email protected] Change the default optimization level to `-O2` for wasm in release mode. (flutter/flutter#162917)
2025-02-10 [email protected] [web] robustify safaridriver launch sequence (flutter/flutter#162919)
2025-02-10 [email protected] Return more eagerly when toggling service extensions (flutter/flutter#162774)
2025-02-10 [email protected] Fix doc reference typos (flutter/flutter#162893)
2025-02-10 [email protected] Roll Skia from 180ed4fc263d to 8c377e8bedd2 (4 revisions) (flutter/flutter#162998)
2025-02-10 [email protected] FYI matanlurey (does not require review, but probably should) on dev/test infra. (flutter/flutter#162642)
2025-02-10 [email protected] [Impeller] rrect_blur: scale max radius clamp by transform (flutter/flutter#161238)
...
FMorschel pushed a commit to FMorschel/packages that referenced this pull request Jun 9, 2025
Roll Flutter from 892f9c1 to e8f34a9 (71 revisions)

flutter/flutter@892f9c1...e8f34a9

2025-02-12 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Roll Skia from f31c733c86c4 to 25937c31f153 (2 revisions) (#163127)" (flutter/flutter#163133)
2025-02-12 [email protected] Roll Skia from f31c733c86c4 to 25937c31f153 (2 revisions) (flutter/flutter#163127)
2025-02-12 [email protected] Update .ci.yaml to support Fuchsia cherrypick branches (flutter/flutter#163000)
2025-02-12 [email protected] Roll Skia from 6f17f2ebb2e5 to f31c733c86c4 (1 revision) (flutter/flutter#163112)
2025-02-12 [email protected] Roll Skia from a9dbb2479c26 to 6f17f2ebb2e5 (2 revisions) (flutter/flutter#163109)
2025-02-12 [email protected] [devicelab] dont strip symbols in platform views layout test. (flutter/flutter#163101)
2025-02-12 [email protected] [Impeller] mirror tile mode requires highp for Adreno. (flutter/flutter#163066)
2025-02-12 [email protected] Roll Skia from 5b56d9a91633 to a9dbb2479c26 (6 revisions) (flutter/flutter#163100)
2025-02-12 [email protected] Roll Dart SDK from d9d7f103b6b7 to fcef25f18e4d (3 revisions) (flutter/flutter#163098)
2025-02-12 [email protected] Generate a correct `.flutter-plugin-dependencies` file for iOS/macOS projects (flutter/flutter#162834)
2025-02-12 [email protected] Remove unsound artifacts, remove `*Sound` qualifier. (flutter/flutter#163015)
2025-02-12 [email protected] [Impeller] libImpeller: Add support for Metal and Vulkan rendering. (flutter/flutter#161547)
2025-02-11 [email protected] Marks Mac_benchmark basic_material_app_macos__compile to be flaky (flutter/flutter#162365)
2025-02-11 [email protected] Roll pub packages (flutter/flutter#163083)
2025-02-11 [email protected] Adds hasSelectedState parameter to matchesSemantics for migration (flutter/flutter#163014)
2025-02-11 [email protected] fix: Dispose codec after completing frame creation (flutter/flutter#159945)
2025-02-11 [email protected] [ios][secure_paste]show menu item based on info sent from framework (flutter/flutter#161103)
2025-02-11 [email protected] Update conductor to support monorepos (flutter/flutter#161704)
2025-02-11 [email protected] [Android] fix hcpp tapping, again, and add test. (flutter/flutter#163035)
2025-02-11 [email protected] Add new builder for experiment with dynamic modules. (flutter/flutter#162855)
2025-02-11 [email protected] Roll vulkan-deps to 9edf248c597b (flutter/flutter#162549)
2025-02-11 [email protected] Adds dialog and alertdialog role (flutter/flutter#162692)
2025-02-11 [email protected] Roll Dart SDK from 99789828cc95 to d9d7f103b6b7 (12 revisions) (flutter/flutter#163060)
2025-02-11 [email protected] [ Widget Preview ] Cleanup PreviewDetector code (flutter/flutter#163050)
2025-02-11 [email protected] Fix `SkiaException` -> `TestFailure`, add tests. (flutter/flutter#163054)
2025-02-11 [email protected] [Android] fix hcpp overlay layer intersection. (flutter/flutter#163024)
2025-02-11 [email protected] [ Widget Preview ] Update generated scaffold project to include early preview rendering (flutter/flutter#162847)
2025-02-11 [email protected] [Embedder] Implement merged platform and UI thread (flutter/flutter#162944)
2025-02-11 [email protected] [Android] Remove overlay when platform views are removed from screen. (flutter/flutter#162908)
2025-02-11 [email protected] Roll Dart to 3.8.0-76.0.dev (flutter/flutter#162913)
2025-02-11 [email protected] [Android] add HCPP platform views benchmark and integration test. (flutter/flutter#163018)
2025-02-11 [email protected] Roll Skia from 8c377e8bedd2 to 5b56d9a91633 (9 revisions) (flutter/flutter#163021)
2025-02-11 [email protected] Try golden-testing on a Mokey (`bringup: true`), retry on an emulator (flutter/flutter#163029)
2025-02-11 [email protected] Fix Linux keyboard support for AltGr (flutter/flutter#162495)
2025-02-11 [email protected] Update gen_keycodes output to new engine location. (flutter/flutter#162479)
2025-02-10 [email protected] [Android] add runtime flag to determine if HCPP is supported. (flutter/flutter#163004)
2025-02-10 [email protected] [iOS][Engine] Fix view removal process for AutofillContextAction.cancel (flutter/flutter#160653)
2025-02-10 [email protected] Re-land #162644: Remove `--verbose` from devicelab task executions. (flutter/flutter#163017)
2025-02-10 [email protected] Include device lab version for how to run test (flutter/flutter#163010)
2025-02-10 [email protected] Change the default optimization level to `-O2` for wasm in release mode. (flutter/flutter#162917)
2025-02-10 [email protected] [web] robustify safaridriver launch sequence (flutter/flutter#162919)
2025-02-10 [email protected] Return more eagerly when toggling service extensions (flutter/flutter#162774)
2025-02-10 [email protected] Fix doc reference typos (flutter/flutter#162893)
2025-02-10 [email protected] Roll Skia from 180ed4fc263d to 8c377e8bedd2 (4 revisions) (flutter/flutter#162998)
2025-02-10 [email protected] FYI matanlurey (does not require review, but probably should) on dev/test infra. (flutter/flutter#162642)
2025-02-10 [email protected] [Impeller] rrect_blur: scale max radius clamp by transform (flutter/flutter#161238)
...
vashworth added a commit to vashworth/flutter that referenced this pull request Jun 9, 2025
commit 1b9502b007d01e1cc79dd86fc3300061522803a5
Author: Kostia Sokolovskyi <[email protected]>
Date:   Mon Jun 9 17:01:53 2025 +0200

    Add debugOverridePlatformViewRegistry to HtmlElementView test. (#170163)
    - Adds `debugOverridePlatformViewRegistry` usage to `HtmlElementView`
    tests
    - Removes private `debugOverridePlatformViewRegistry` from
    `_html_element_view_web.dart`

    - [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 `///`).
    - [ ] 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

commit e9e989bef3de34cd8d2b24215f76bfb660aa544a
Author: engine-flutter-autoroll <[email protected]>
Date:   Sat Jun 7 07:45:31 2025 -0400

    Roll Dart SDK from f8e88f6ce02a to c26e7ca44805 (1 revision) (#170198)

    https://dart.googlesource.com/sdk.git/+log/f8e88f6ce02a..c26e7ca44805

    2025-06-07 [email protected]
    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 [email protected],[email protected] 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

commit 2eec076321fb4ea99a461fd18e540e7ed110eb2c
Author: engine-flutter-autoroll <[email protected]>
Date:   Fri Jun 6 19:40:24 2025 -0400

    Roll Dart SDK from 239174405ad0 to f8e88f6ce02a (14 revisions) (#170182)

    https://dart.googlesource.com/sdk.git/+log/239174405ad0..f8e88f6ce02a

    2025-06-06 [email protected]
    Version 3.9.0-210.0.dev
    2025-06-06 [email protected]
    Version 3.9.0-209.0.dev
    2025-06-06 [email protected]
    Version 3.9.0-208.0.dev
    2025-06-06 [email protected]
    Version 3.9.0-207.0.dev
    2025-06-06 [email protected]
    Version 3.9.0-206.0.dev
    2025-06-05 [email protected]
    Version 3.9.0-205.0.dev
    2025-06-05 [email protected]
    Version 3.9.0-204.0.dev
    2025-06-05 [email protected]
    Version 3.9.0-203.0.dev
    2025-06-05 [email protected]
    Version 3.9.0-202.0.dev
    2025-06-04 [email protected]
    Version 3.9.0-201.0.dev
    2025-06-04 [email protected]
    Version 3.9.0-200.0.dev
    2025-06-04 [email protected]
    Version 3.9.0-199.0.dev
    2025-06-04 [email protected]
    Version 3.9.0-198.0.dev
    2025-06-03 [email protected]
    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 [email protected],[email protected] 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

commit f4bd508c28a92f2e85422f454cf1a393eebed843
Author: Koji Wakamiya <[email protected]>
Date:   Sat Jun 7 08:36:16 2025 +0900

    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

    https://github.com/flutter/flutter/blob/bd1ebf2e1498bd022808f8b237654ce42ae537be/engine/src/flutter/lib/ui/painting.dart#L2484-L2504

    https://github.com/flutter/flutter/blob/bd1ebf2e1498bd022808f8b237654ce42ae537be/engine/src/flutter/lib/ui/painting.dart#L2541-L2558

    web_ui

    https://github.com/flutter/flutter/blob/bd1ebf2e1498bd022808f8b237654ce42ae537be/engine/src/flutter/lib/web_ui/lib/painting.dart#L640-L679

    - [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 <[email protected]>

commit 7769f98c33c5858bd7fca6f914374f2d01bd4e9b
Author: Hannah Jin <[email protected]>
Date:   Fri Jun 6 16:17:20 2025 -0700

    [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

    - [ ] 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

commit 14472b4aed42a9ab23a8ee640323448d4dc8d89d
Author: Zachary Anderson <[email protected]>
Date:   Fri Jun 6 15:57:26 2025 -0700

    Reland workflow cache (#170111)

    Put the Android SDK and pub cache under the workflow's workspace
    directory instead of the worker's `$HOME` directory. In order to avoid
    the pub cache and Android SDK being nested inside of the Flutter
    checkout, this change also moves the Flutter checkout to a subdirectory
    of the workspace directory called `flutter`.

    ---------

    Co-authored-by: John "codefu" McDole <[email protected]>

commit ea83a6a072990acc34c482d8e90f4d2bef713344
Author: zhongliugo <[email protected]>
Date:   Fri Jun 6 15:15:18 2025 -0700

    Fix VoiceOver tab activation by adding tappable behavior to SemanticTab (#170076)
    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.
    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
    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
    - 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
    Added unit test that verifies:
    - Tabs with tap actions receive the `flt-tappable` DOM attribute
    - SemanticTab properly integrates with the existing tappable behavior
    system
    This PR addresses GitHub Issue #169279, which reports that VoiceOver
    doesn't allow users to click tabs in Flutter web applications.

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

commit 8caedde6cc2cc847ee31f98b9d394d97aa2ae968
Author: Jason Simmons <[email protected]>
Date:   Fri Jun 6 15:12:09 2025 -0700

    Redirect the output of the "pub upgrade" command run by bin/flutter to stderr (#170174)

    The dev/bots/analyze.dart script is now running "flutter pub deps
    --json" to query packages in the Flutter workspace (see
    https://github.com/flutter/flutter/pull/169556)

    analyze.dart is capturing the stdout of that bin/flutter command and
    expecting the output to contain only JSON. If the flutter_tools snapshot
    needs to be rebuilt, then the output of the pub command invoked by the
    rebuild should not show up in stdout.

commit 39ce6155300cec9808570b8dc7fd5df5f1635a1a
Author: Qun Cheng <[email protected]>
Date:   Fri Jun 6 14:51:08 2025 -0700

    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

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

commit ce058e0be0d82198227c3d2adeb8881c4e763059
Author: Alex Medinsh <[email protected]>
Date:   Sat Jun 7 00:21:15 2025 +0300

    Trigger `CupertinoPicker` haptics in the middle of the item (#169670)

    Towards https://github.com/flutter/flutter/issues/169606

    This PR only fixes the haptic behaviour of `CupertinoPicker`, which now
    triggers only when passing the middle of the item. Haptic feedback is
    now also not trigger when tapping on an item to scroll to.

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

commit 631ab1729ada1835fc61037da06c54f4a50af0db
Author: engine-flutter-autoroll <[email protected]>
Date:   Fri Jun 6 15:49:35 2025 -0400

    Roll Skia from c810c9ba87fe to 910070084066 (29 revisions) (#170165)

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

    2025-06-06 [email protected] use SkSpan in SkMatrix API
    2025-06-06 [email protected] [graphite][vulkan] Minimize graphics
    pipeline key
    2025-06-06 [email protected] [graphite][vulkan] Use vertex input
    dynamic state
    2025-06-06 [email protected] don't define SK_SUPPORT_UNSPANNED_API: it
    is in SkTypes.h
    2025-06-06 [email protected] static bounds methods
    2025-06-06 [email protected] [vulkan] Fix feature checks for YCbCr's
    chroma filter
    2025-06-06 [email protected] [vulkan] Apply RelaxedPrecision to
    texture/atomic intrinsics
    2025-06-06 [email protected] Revert "[graphite] Fix clamping bug on
    Intel UHD 630."
    2025-06-06 [email protected] 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 [email protected] Roll Skia
    Infra from 8b4c1b14163e to 3bbfa4528971 (9 revisions)
    2025-06-06 [email protected] Roll
    SwiftShader from b62ac8aa106b to 11dc1b167af4 (2 revisions)
    2025-06-06 [email protected] Roll Dawn
    from f8d7c6eea2f0 to 63ca6919b752 (19 revisions)
    2025-06-06 [email protected] [graphite][vulkan] Optimize
    sample-count-support check
    2025-06-06 [email protected] Roll skcms
    from e12ef7c0da42 to 1915b4d7ccd3 (1 revision)
    2025-06-05 [email protected] Roll
    vulkan-deps from 0dbc05833984 to 1c3b39ad6dc0 (3 revisions)
    2025-06-05 [email protected] 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 [email protected] Revert "[graphite] Use HW blends for
    kPlus on unorm texture formats"
    2025-06-05 [email protected] Remove support for iOS12
    2025-06-05 [email protected] Revert "Support GL texture for BGRA8
    format"
    2025-06-05 [email protected] [graphite] Fix clamping bug on Intel UHD
    630.
    2025-06-05 [email protected] [graphite] Disable
    DynamicVerticesPaddingTest
    2025-06-05 [email protected] Recommend persistent default install
    location for Android NDK
    2025-06-05 [email protected] Revert "[png] Simplify extra endian
    transform for SkPngEncode"
    2025-06-05 [email protected] Implement drawCoverageMask for
    SkBitmapDevice
    2025-06-05 [email protected] Fix resource loading in Android apks
    2025-06-05 [email protected] [infra] Add jobs for MacOS 11
    2025-06-05 [email protected] 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 [email protected],[email protected],[email protected]
    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

commit b5c1bbef587a7d02290301357b7ef89d11028ba1
Author: Victor Sanni <[email protected]>
Date:   Fri Jun 6 12:18:19 2025 -0700

    Align persistent nav bar leading widget (#170095)

    | Before | After |
    | --- | --- |
    | <img width="381" alt="before leading"
    src="https://github.com/user-attachments/assets/ffd22324-75a4-4ff8-a06c-87f9148c198c"
    /> | <img width="381" alt="after leading"
    src="https://github.com/user-attachments/assets/36a1cd49-856b-462f-b321-6a016ffed382"
    /> |

    Fixes [CupertinoNavigationBar leading is too
    high](https://github.com/flutter/flutter/issues/18536)

commit 8a41339418df9943583e72029813ea76d33587bf
Author: Kevin Moore <[email protected]>
Date:   Fri Jun 6 14:10:51 2025 -0500

    [engine/web] Migrate many things to switch expressions (#170096)

commit c958e8313c782ea1df62b384a5dc85a2db5f747b
Author: auto-submit[bot] <98614782+auto-submit[bot]@users.noreply.github.com>
Date:   Fri Jun 6 17:58:16 2025 +0000

    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] <[email protected]>

commit 894fbf6d5323bf0e6fcd3b1170eef932f646cec5
Author: Daco Harkes <[email protected]>
Date:   Fri Jun 6 19:30:54 2025 +0200

    [native assets] Roll dependencies (#169920)

    Roll to deps published today.

commit 48c6ef247df6150059b058b28212ccb4138eaf78
Author: Mouad Debbar <[email protected]>
Date:   Fri Jun 6 13:16:11 2025 -0400

    Make DDC tests run on linux only (#170155)

    I had previously allowed these tests to run on Mac and Windows
    (https://github.com/flutter/flutter/pull/169860). But it turns out they
    are flaky on those platforms too. So let's mark them back as linux-only.

commit d3170f4a966431cd74ada0f57f205e41c72b058f
Author: Jenn Magder <[email protected]>
Date:   Fri Jun 6 09:58:09 2025 -0700

    Remove deprecated Objective-C iOS app create template (#169547)

    Remove Objective-C template for new apps. Existing apps won't be
    impacted.

    Keep Objective-C templates for plugins, though their example apps will
    be Swift instead. See
    https://github.com/flutter/flutter/issues/148586#issuecomment-2121323676

    Move `templates/app/ios-swift.tmpl` to `templates/app/ios.tmpl`.

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

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

commit a11524896eaecaa2a6a44c14cdb65aa31492e479
Author: Jackson Gardner <[email protected]>
Date:   Fri Jun 6 09:27:08 2025 -0700

    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.

commit ed275039e174b0916816a2889f21bad54a61af56
Author: Kostia Sokolovskyi <[email protected]>
Date:   Fri Jun 6 18:14:19 2025 +0200

    [web] Allow overriding platformViewRegistry for testing. (#170144)

    Closes https://github.com/flutter/flutter/issues/170143
    - Adds `debugOverridePlatformViewRegistry` function to allow
    `platformViewRegistry` overriding in tests
    - Adds tests for the new functionality

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

commit 4ffa9852f9f07f0279fc3da0a1b7dfea184226fd
Author: engine-flutter-autoroll <[email protected]>
Date:   Fri Jun 6 11:42:25 2025 -0400

    Roll Packages from ecba2dbf07ee to 974f1522ee03 (6 revisions) (#170146)

    https://github.com/flutter/packages/compare/ecba2dbf07ee...974f1522ee03

    2025-06-06 [email protected] [camera_avfoundation]
    Implementation swift migration - part 4 (flutter/packages#9219)
    2025-06-05 [email protected] [go_router_builder] Use a mixin
    instead of an extension (flutter/packages#9275)
    2025-06-05 [email protected] Roll Flutter master to 8b18dde7
    (flutter/packages#9387)
    2025-06-05 [email protected]
    [camera_android_camerax] Fixes premature garbage collection of native
    objects when app is under memory pressure (flutter/packages#9287)
    2025-06-05 [email protected]
    [google_maps_flutter_platform_interface] Add a new zIndexInt param to
    marker and deprecate zIndex (flutter/packages#9372)
    2025-06-05 [email protected]
    [camera_android_camerax] Java style improvements (flutter/packages#9234)

    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/flutter-packages-flutter-autoroll
    Please CC [email protected] 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

commit 09405e87d819691e787ae95cc7f4297338e5f6d2
Author: auto-submit[bot] <98614782+auto-submit[bot]@users.noreply.github.com>
Date:   Thu Jun 5 23:40:26 2025 +0000

    Reverts "Add caching to the tool test workflow (#169858)" (#170100)

    <!-- start_original_pr_link -->
    Reverts: flutter/flutter#169858
    <!-- end_original_pr_link -->
    <!-- start_initiating_author -->
    Initiated by: jtmcdole
    <!-- end_initiating_author -->
    <!-- start_revert_reason -->
    Reason for reverting: https://github.com/flutter/flutter/issues/170099

    Apparently the cache isn't restored correctly?
    <!-- end_revert_reason -->
    <!-- start_original_pr_author -->
    Original PR Author: zanderso
    <!-- end_original_pr_author -->

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

    <!-- start_revert_body -->
    This change reverts the following previous change:
    No description provided.
    <!-- end_revert_body -->

    Co-authored-by: auto-submit[bot] <[email protected]>

commit de805531741f9b9a56b7ee65bafa37b502be788d
Author: Koji Wakamiya <[email protected]>
Date:   Fri Jun 6 07:07:24 2025 +0900

    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.

    - [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 <[email protected]>

commit 317be1f6813ee420b916a57a1cc08a85fcc9ab27
Author: Zachary Anderson <[email protected]>
Date:   Thu Jun 5 15:03:56 2025 -0700

    Add caching to the tool test workflow (#169858)

    Co-authored-by: John "codefu" McDole <[email protected]>

commit cfc9e3e1be24bd1cda836c3248681c9b2cb08a3d
Author: Kate Lovett <[email protected]>
Date:   Thu Jun 5 15:31:24 2025 -0500

    Update triage page (#170084)

    This PR reflects the rolling of go_router triage into framework triage:
    - removes go_router team from triage docs
    - Updates the framework triage links
    - The incoming issue link was broken, pulling the wrong subset due to
    `p: go_router`
      - Added PR link for framework owned PRs in flutter/packages

    I am following up with the triage team to remove the team-go_router
    labels and reroute them to team-framework.

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

commit 2c9d898e2f01ccea157d559181d4acaa82388200
Author: Koji Wakamiya <[email protected]>
Date:   Fri Jun 6 04:58:50 2025 +0900

    [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" /> |

    - [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 <[email protected]>

commit 7f26571eb13a0e4a8a2d4a36b4038ed71d34ce70
Author: Srujan Gaddam <[email protected]>
Date:   Thu Jun 5 10:24:08 2025 -0700

    Add connectedApps listener before we launch the browser (#170010)

    Related to https://github.com/flutter/flutter/issues/169574

    There's a race condition where we currently might listen for the
    connected app after the stream has already sent the app. That would make
    the app wait forever. This avoids that by registering the listener
    before the browser even launches to make sure that the stream can't
    possibly send a connected app before we get to listen to it.

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

    ---------

    Co-authored-by: Mouad Debbar <[email protected]>

commit 63980cb25ba5b70122f2814406989eb5fa8ef5a1
Author: flutter-pub-roller-bot <[email protected]>
Date:   Thu Jun 5 09:34:27 2025 -0700

    Roll pub packages (#170066)

    This PR was generated by `flutter update-packages --force-upgrade`.

commit 4469c5e4db3e6203c0bab2ad0b1b44df4cdc0d07
Author: Matan Lurey <[email protected]>
Date:   Thu Jun 5 09:33:45 2025 -0700

    Release validation: Check `bin/internal/engine.version` in presubmit (#170018)

    Closes https://github.com/flutter/flutter/issues/170012.

    Note that this won't immediately apply to 3.32, but only for future
    branches from `master`.

commit 92c55f06e01ecd2b7dd46f9a6bbae5d5f418f394
Author: engine-flutter-autoroll <[email protected]>
Date:   Thu Jun 5 12:29:41 2025 -0400

    Roll Skia from 14bdc9e0a8ee to c810c9ba87fe (28 revisions) (#170064)

    https://skia.googlesource.com/skia.git/+log/14bdc9e0a8ee..c810c9ba87fe

    2025-06-05 [email protected] Fix typo in legacy SkPath::Polygon
    2025-06-05 [email protected] Roll
    vulkan-deps from f14d47636e83 to 0dbc05833984 (4 revisions)
    2025-06-05 [email protected] Roll ANGLE
    from 88ea74bfbc55 to ef31b3ed1c0e (4 revisions)
    2025-06-05 [email protected] Roll Skia
    Infra from 1a29d4378c5a to 8b4c1b14163e (4 revisions)
    2025-06-05 [email protected] Roll
    SwiftShader from a8133cbb3c89 to b62ac8aa106b (2 revisions)
    2025-06-05 [email protected] 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 [email protected] [graphite][vulkan] Use extended dynamic
    state
    2025-06-05 [email protected] Use SkSpan in SkDevice/SkDraw drawPoints
    2025-06-04 [email protected] [graphite] Use HW blends for kPlus
    on unorm texture formats
    2025-06-04 [email protected] 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 [email protected] [vulkan] Fix minFilter vs chromaFilter
    matching for YCbCr
    2025-06-04 [email protected] Roll
    vulkan-deps from a6136634622e to f14d47636e83 (6 revisions)
    2025-06-04 [email protected] Use SkSpan in Path API
    2025-06-04 [email protected] [graphite] Add padding test for
    drawPass-time vertices uploads
    2025-06-04 [email protected] [png] Simplify extra endian transform
    for SkPngEncode
    2025-06-04 [email protected] Add missing include
    2025-06-04 [email protected] [graphite] Add missing string include
    2025-06-04 [email protected] No longer claim support for macOS 10.15
    2025-06-04 [email protected] Roll skcms
    from df82c365f7be to e12ef7c0da42 (1 revision)
    2025-06-04 [email protected] Use SkSpan in SkRect::setBounds
    2025-06-04 [email protected] 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 [email protected] 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 [email protected],[email protected],[email protected]
    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

commit 817fa9701467feaa8ac7bb4d4446548b983fcaba
Author: Mouad Debbar <[email protected]>
Date:   Thu Jun 5 12:10:14 2025 -0400

    Combine expression evaluation tests to reduce testing time (#169860)

    Each `flutter run` invocation is expensive (time- and memory-wise). Each
    invocation also launches its own Chrome instance.

    This PR is attempting to minimize the number of launches by combining
    tests that need the same `flutter run` configuration into a single test.
    That way, we are reusing a single instance to do many checks, instead of
    launching a new instance for each check.

    Currently, I did this for expression evaluation tests, which cut their
    runtime in half on my local machine.

    This PR aims to help with issues like
    https://github.com/flutter/flutter/issues/169574 and
    https://github.com/flutter/flutter/issues/169304.

    Closes https://github.com/flutter/flutter/issues/110879

commit 736053538b14ed730d5c9937cb794983afef2f4f
Author: engine-flutter-autoroll <[email protected]>
Date:   Thu Jun 5 11:53:21 2025 -0400

    Roll Packages from 2bac766c5853 to ecba2dbf07ee (1 revision) (#170061)

    https://github.com/flutter/packages/compare/2bac766c5853...ecba2dbf07ee

    2025-06-04 [email protected] Bump create_all_packages_command
    CompileSdk to 36 (flutter/packages#9293)

    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/flutter-packages-flutter-autoroll
    Please CC [email protected] 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

commit 121caa68d6c1326e75fd4e42f8c5ad5e318311c7
Author: Jason Simmons <[email protected]>
Date:   Thu Jun 5 07:41:16 2025 -0700

    Make ImageFilter::equals a static method and fix the name in its FFI annotation (#170023)

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

commit 6e738ee3929f60e3fd373a06eb9fe6f6da4eb4cb
Author: flutter-pub-roller-bot <[email protected]>
Date:   Wed Jun 4 20:53:33 2025 -0700

    Roll pub packages (#170042)

    This PR was generated by `flutter update-packages --force-upgrade`.

commit 6be019ba259ee6e97a62b8d25cabc2077755554d
Author: flutter-pub-roller-bot <[email protected]>
Date:   Wed Jun 4 19:03:10 2025 -0700

    Roll pub packages (#170040)

    This PR was generated by `flutter update-packages --force-upgrade`.

commit ad585c1e8d85841ace73c7ccc0e4d3f1b4b5c4da
Author: engine-flutter-autoroll <[email protected]>
Date:   Wed Jun 4 21:57:35 2025 -0400

    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 [email protected],[email protected] 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

commit 1af0c06704a04fb338e3f9e7fee51ddfe542b7b1
Author: Jason Simmons <[email protected]>
Date:   Wed Jun 4 17:36:07 2025 -0700

    Move the check for Git in the PATH into the top level Windows flutter.bat script (#169794)

    The check for Git was originally in flutter.bat but was removed by
    https://github.com/flutter/flutter/commit/b84bfa35264385a897e6d85d039eae0ea6ba90ab
    in order to improve performance.

    It was later brought back in
    https://github.com/flutter/flutter/commit/bc4fc5ffb98478340b53c097d83245582b776940.
    However, that change added it to a subroutine in shared.bat. If Git is
    not found then shared.bat would exit the shell process to stop retries
    of the subroutine.

    This PR moves the check back into flutter.bat and exits the script
    without quitting the shell.

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

commit 824868f5d1e6c091a5df23d3628407e75149e1da
Author: auto-submit[bot] <98614782+auto-submit[bot]@users.noreply.github.com>
Date:   Wed Jun 4 23:15:26 2025 +0000

    Reverts "Data assets (#169273)" (#170034)

    <!-- start_original_pr_link -->
    Reverts: flutter/flutter#169273
    <!-- end_original_pr_link -->
    <!-- start_initiating_author -->
    Initiated by: jason-simmons
    <!-- end_initiating_author -->
    <!-- start_revert_reason -->
    Reason for reverting: seeing flakes of `dart_data_asset_test.dart`

    CI runs for various PRs got errors in the `tool_integration_tests`
    shards. The errors occurred on multiple platforms (Linux, Mac, and
    Windows).

    Affected PRs include: https://github.com/flutter/flutter/pull/170022,
    https://github.com/flutter/flutter/pull/169995

    LUCI log of an error:
    https://ci.chromium.org/ui/p/flutter/builders/try/Windows%20t
    <!-- end_revert_reason -->
    <!-- start_original_pr_author -->
    Original PR Author: mosuem
    <!-- end_original_pr_author -->

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

    <!-- start_revert_body -->
    This change reverts the following previous change:
    Refiling of #164094, which itself is a rebase of #159675

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

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

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

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

    The chrome sandbox is disabled as per #165664.

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

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

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

    <!-- end_revert_body -->

    Co-authored-by: auto-submit[bot] <[email protected]>

commit e094c18882ad0e3382351a1e906cc928611ba4de
Author: Camille Simon <[email protected]>
Date:   Wed Jun 4 15:21:22 2025 -0700

    Merge `CHANGELOG` from 3.32.2 (#170028)

    Adds `CHANGELOG` updates from the 3.32.2 stable hotfix release.

    - [ ] 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

commit 27d9c0ff2beee1f9005fc2d8a7f5702267470094
Author: Ben Konyi <[email protected]>
Date:   Wed Jun 4 16:21:20 2025 -0400

    [ Widget Previews ] Add support for localizations in widget previews (#169229)

    This change adds a new `localizations` property to the `Preview`
    annotation, which takes a callback that returns a
    `PreviewLocalizationsData` object. This class contains the same
    localization properties that can be provided to `WidgetsApp` and other
    similar widgets.

    This change also refactors much of the localization resolution logic
    into a shared `LocalizationsResolver` class to allow for localization
    resolution to be done in the widget preview scaffold on a per-preview
    basis.

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

commit 94e9a2ca8d1737ec9b79c00b9f2c003bb6926a4e
Author: Ben Konyi <[email protected]>
Date:   Wed Jun 4 16:17:27 2025 -0400

    [ Tool ] Fix failed VSCode version lookup on Linux (#169949)

    VSCode installations on Linux appear to place the packages.json file at
    `$VSCODE_INSTALL/resources/app/package.json` rather than at the expected
    `$VSCODE_INSTALL/Resources/app/package.json`, causing the VSCode version
    to not be reported correctly on Linux.

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

commit d3e8dc3df9e81778c6d8db44d0dd095249fbf0d9
Author: LongCatIsLooong <[email protected]>
Date:   Wed Jun 4 13:09:33 2025 -0700

    Make _layoutBoundary a boolean 2 (#169958)

    https://github.com/flutter/flutter/pull/169638, without the more risky
    changes. I'll try to fix the g3 failures and land #169638 later.

    - [ ] 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
    …
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

engine flutter/engine related. See also e: labels. framework flutter/packages/flutter repository. See also f: labels. platform-web Web applications specifically will affect goldens Changes to golden files

Projects

Development

Successfully merging this pull request may close these issues.

5 participants