Skip to content

[pull] master from flutter:master - #13

Merged
pull[bot] merged 11 commits into
Hawthorne001:masterfrom
flutter:master
Jul 18, 2025
Merged

pull[bot] merged 11 commits into
Hawthorne001:masterfrom
flutter:master

Conversation

@pull

@pull pull Bot commented Jul 18, 2025 •

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.3)

Can you help keep this open source service alive? 💖 Please sponsor : )

justinmc and others added 11 commits July 17, 2025 18:41
A tricky bug was encountered in
https://github.com/flutter/flutter/pull/170321/files#r2138619243 where
mutating Paint caused
[paints](https://main-api.flutter.dev/flutter/flutter_test/paints.html)
to behave strangely.

Originally this PR just added something to the docs for `paints` to give
people a heads up, but now it fixes the root cause. Yak shave 🪒 .

Fixes #171194
flutter/packages@4a231ae...cb8fef6

2025-07-17 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump androidx.activity:activity from 1.9.3 to 1.10.1 in
/packages/image_picker/image_picker_android/android
(flutter/packages#8725)
2025-07-17 [email protected] [webview_flutter] Update
androidx.webkit to 1.14.0 (flutter/packages#9638)
2025-07-17 [email protected] Roll Flutter from
c2739f0 to 9c626d9 (18 revisions) (flutter/packages#9641)
2025-07-17 [email protected] Roll Flutter (stable) from
077b4a4 to d7b523b (3 revisions) (flutter/packages#9640)
2025-07-17 [email protected] Fix Gemini note wrapping
(flutter/packages#9639)
2025-07-17 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump com.google.android.gms:play-services-maps from 18.2.0
to 19.2.0 in
/packages/google_maps_flutter/google_maps_flutter_android/android
(flutter/packages#9120)
2025-07-17 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump androidx.fragment:fragment from 1.6.2 to 1.8.8 in
/packages/local_auth/local_auth_android/android (flutter/packages#9406)
2025-07-16 [email protected] [ci] Add Gemini Code Assist review
config (flutter/packages#9632)
2025-07-16 [email protected] Roll Flutter from
cc3110c to c2739f0 (15 revisions) (flutter/packages#9633)
2025-07-16 [email protected] [image_picker]
redesign example app (flutter/packages#9625)
2025-07-16 [email protected] [camera_avfoundation]
Implementation swift migration - part 7 (flutter/packages#9595)
2025-07-15 [email protected]
[webview_flutter_wkwebview] Replace Flutter method failure assertion
with nslog (flutter/packages#9587)
2025-07-15 [email protected] Roll Flutter from
a930ec1 to cc3110c (24 revisions) (flutter/packages#9631)
2025-07-15 [email protected] [webview_flutter] Add
setMixedContentMode for Android (flutter/packages#9586)
2025-07-15 [email protected] [google_sign_in] Add exception info
to migration guide (flutter/packages#9574)
2025-07-14 [email protected] [camera_android] Use
WeakReference to prevent startImageStream OOM error when main thread
hangs (#166533) (flutter/packages#9571)
2025-07-14 [email protected] [quick_actions]
Restore the appShortcutLaunchActivityAfterStarting test in
quick_actions_android (flutter/packages#9508)
2025-07-14 [email protected] Roll Flutter from
35f197f to a930ec1 (3 revisions) (flutter/packages#9624)
2025-07-14 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump com.android.tools.build:gradle from 8.9.1 to 8.11.1
in /packages/pigeon/platform_tests/test_plugin/android
(flutter/packages#9618)
2025-07-12 [email protected] Roll Flutter from
43657f3 to 35f197f (39 revisions) (flutter/packages#9602)
2025-07-11 [email protected] Replace popularity badges
(flutter/packages#9594)
2025-07-11 [email protected] [rfw] Update
test to not depend on toString() (flutter/packages#9590)
2025-07-11 [email protected] [camera_avfoundation]
Implementation swift migration - part 6 (flutter/packages#9588)
2025-07-10 [email protected] [url_launcher]
Fixes new unnecessary boolean operations warnings
(flutter/packages#9409)
2025-07-10 [email protected] [google_sign_in] Add troubleshooting
to Android README (flutter/packages#9581)
2025-07-10 [email protected] Roll Flutter from
ac12f66 to 43657f3 (25 revisions) (flutter/packages#9589)
2025-07-10 [email protected]
[go_router_builder] Update case sensitive test to `go_router` 16.0.0
(flutter/packages#9482)
2025-07-09 [email protected] [rfw] Remove the
RFW WASM example (flutter/packages#9551)
2025-07-09 [email protected] Roll Flutter (stable) from
fcf2c11 to 077b4a4 (5 revisions) (flutter/packages#9585)
2025-07-09 [email protected] Roll Flutter from
adffe24 to ac12f66 (28 revisions) (flutter/packages#9584)
2025-07-09 [email protected] [video_player] Add html 5 video poster
support (thumbnail) as a VideoPlayerWebOptions (flutter/packages#8940)

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
Text vertical alignment is a common complaint and one of the most common
causes is different type faces being used in the same paragraph (for
instance, when there's English / Arabic in the same paragraph so the
default font doesn't contain the required glyphs for some characters).

Hopefully this flag is going to make debugging alignment issues a bit
easier, and in some github issues attaching screenshots with the flag on
will be helpful for diagnosing the issue.

### What the layout boxes look like 
```dart
final testText =
    'Quick brown fox, نص, trailing spaces${" " * 100}'
    'new line at the end.\n\n\n\n';

Column([
              Text(testText, style: TextStyle(height: kTextHeightNone)),
              Text(testText, style: TextStyle(height: 1.0)),
              Text(
                testText,
                style: TextStyle(height: kTextHeightNone),
                strutStyle: StrutStyle(fontSize: 30),
              ),
])
```
<img width="410" alt="image"
src="https://github.com/user-attachments/assets/788b8089-373f-4af0-9144-306b3e755614"
/>

## 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
feat: Add `maxCount` parameter to `Badge.count` constructor

This enhancement provides the ability to specify a **dynamic maximum
limit** for the badge count, offering greater flexibility and
eliminating the reliance on hardcoded values within the widget. This
allows developers to, for example, display "99+" instead of "100" or
"9+" instead of "10", improving UI consistency and preventing overly
large numbers on badges.

---

## Description of Changes

This PR introduces a new optional parameter, `maxCount`, to the
`Badge.count` constructor. This provides a flexible way to define a
numerical upper bound for the badge display.

Key aspects of this change:
* **Dynamic Limits:** Developers can now set custom maximum values
(e.g., 9, 99, 999) that, when exceeded, will display the `maxCount`
value followed by a `+` symbol (e.g., "9+", "99+").
* **Improved UI/UX:** Prevents large, potentially overflowing numbers
from appearing on badges, maintaining visual integrity and a cleaner
user interface.
* **Reduced Hardcoding:** Centralizes the logic for maximum badge values
within the `Badge` widget itself, reducing the need for manual checks
and conditional rendering outside the widget.
* **Comprehensive Documentation:** Includes updated API documentation
for the `maxCount` parameter, clarifying its usage, behavior, and the
visual outcome when the maximum is reached.

This change aligns with Flutter's principles of providing highly
customizable and intuitive widgets.

---

## 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. (Assuming no breaking changes)
- [X] All existing and new tests are passing.

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

[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
…72043)

This PR makes platform views ignore pointer events when they're not laid
out.

Platform views register themselves for global pointer events when their
RenderBox attaches:


https://github.com/flutter/flutter/blob/9c626d9f9afa6da96433e3bfc4895492f87e0009/packages/flutter/lib/src/rendering/platform_view.dart#L370-L380

But a RenderBox that is attached is not necessarily laid out. The
problem in the issue seemed to be that a page was created offscreen
(attached and not laid out), but it still received pointer events, and
this caused errors with using `size` before layout.

This PR simply ignores pointer events when not laid out.

Fixes #83481
Adds tests for expected behavior of platform view embedding for the
unified renderer frontend.

We currently skip the tests for the renderer which doesn't yet comport
to the expected unified behavior. See [this
doc](https://docs.google.com/document/d/1-BYZO_oAOJkS_spmELqCmnPQIEUibT3Sj2GhIL3luow/edit?tab=t.0)
for an overview of the different behaviors and the expected behavior of
the unified platform view embedder.

This adds tests for #172308, a
follow-up PR will unify the platform view embedder behavior and unskip
the tests for the misbehaving renderer.

## 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
This PR was generated by `flutter update-packages --force-upgrade`.
Compositing is now done on the Flutter rendering thread and we block the
GTK rendering until the frame is generated. This no longer requires the
task runner to be involved.
@pull pull Bot locked and limited conversation to collaborators Jul 18, 2025
@pull pull Bot added the ⤵️ pull label Jul 18, 2025
@pull
pull Bot merged commit a5c93c9 into Hawthorne001:master Jul 18, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants