Commit graph

41308 commits

Author SHA1 Message Date
yaakovschectman 14df7be3f9
Revert "Add tests for scaffold drawer and end drawer" (#150045)
Reverts flutter/flutter#149383 as it caused failure for mac
framework_tests_impeller.
2024-06-11 11:14:54 -04:00
Valentin Vignal aad70e5cdb
Add tests for scaffold drawer and end drawer (#149383)
Contributes to https://github.com/flutter/flutter/issues/130459

It adds a test for
- `examples/api/lib/material/scaffold/scaffold.drawer.0.dart`
- `examples/api/lib/material/scaffold/scaffold.end_drawer.0.dart`
2024-06-11 07:06:24 +00:00
Qun Cheng f05095e0b7
Add high-contrast theme (#149779)
This is to add a high-contrast color scheme when we turn on high-contrast mode. Fixes https://github.com/flutter/flutter/issues/149683
2024-06-11 00:31:08 +00:00
Michael Goderbauer 1b8d083ab6
Manual Pub Roll (#150025)
Supersedes https://github.com/flutter/flutter/pull/149908
2024-06-11 00:02:26 +00:00
Chris Bracken 95ba272c9c
[docs] Per-platform desktop triage instructions (#150019)
`team-desktop` has been split into `team-linux`, `team-macos`, and `team-windows`. This updates the triage instructions to cover those platforms.
2024-06-10 23:28:17 +00:00
Greg Price 56cd396433
Fix copy-paste-o in MethodChannel.invokeListMethod doc (#149976)
This sentence didn't make a lot of sense as written.  It looks like
it was probably based on the doc of invokeMapMethod, and then
incompletely adapted.  So, fix it.
2024-06-10 22:43:55 +00:00
Gray Mackall b889e3a6f7
Unpin camera_android and remove its only usage (#150017)
Fixes https://github.com/flutter/flutter/issues/146004

The `camera_android`plugin had its version pinned when it was still used in the `gradle_deprecated_settings`. It has since been [replaced](https://github.com/flutter/flutter/pull/148426) by `camera_android_camerax`, and therefore isn't used in `flutter/flutter`. So it's pin should be fine to remove.
2024-06-10 22:13:00 +00:00
chunhtai 7755edd0d1
Fixes a bug where NavigatorState.pop does not consider any possible s… (#150014)
…tate of the popped route

fixes https://github.com/flutter/flutter/issues/146938
2024-06-10 22:11:36 +00:00
auto-submit[bot] 5eaeacab3f
Reverts "Reland: [CupertinoActionSheet] Match colors to native (#149568) (#150015)" (#150021)
Reverts: flutter/flutter#150015
Initiated by: vashworth
Reason for reverting: Still failing tree on goldens
Original PR Author: dkwingsmt

Reviewed By: {chunhtai}

This change reverts the following previous change:
Relands #149568, which was reverted in https://github.com/flutter/flutter/pull/149998 due to unverified golden tests post-commit. (Honestly I don't know what happened but I guess resubmitting should resolve it.)

No code is changed.
2024-06-10 21:20:28 +00:00
Tong Mu 52df034477
Reland: [CupertinoActionSheet] Match colors to native (#149568) (#150015)
Relands #149568, which was reverted in
https://github.com/flutter/flutter/pull/149998 due to unverified golden
tests post-commit. (Honestly I don't know what happened but I guess
resubmitting should resolve it.)

No code is changed.

## 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/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[test-exempt]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#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/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
[Data Driven Fixes]:
https://github.com/flutter/flutter/wiki/Data-driven-Fixes
2024-06-10 13:17:31 -07:00
Victoria Ashworth fa30ecff8a
Temporarily run Mac_arm64 framework_tests_misc on only Mac-13 (#150009)
Temporary solution for https://github.com/flutter/flutter/issues/150008.
2024-06-10 20:07:03 +00:00
chunhtai bc0134d3d6
Fixes TextField hinttext in a11y_assessment (#150007)
b/317131589
2024-06-10 19:58:58 +00:00
Martin Kustermann c0b2645b8a
Use const bool.fromEnvironment("dart.tool.dart2wasm") to detect dart2wasm (#149996)
Dart2Wasm doesn't officially support `dart:ffi` (only a small sketchy
subset needed in flutter web engine). We have seen user reporting issues
where existing packages don't work with dart2wasm due to using
`dart.library.ffi` in `bool.fromEnvironment` or in conditional imports
and it doing the wrong thing. So we're going to make `dart.library.ffi`
`false` in the compiler.

We therefore update the code to detect whether it runs under wasm via a
new `dart.tool.dart2wasm` environment variable.

This is a preparation for the change in dart2wasm which will start
making `const bool.fromEnvironment('dart.library.ffi')` return `false`
instead of `true`.
2024-06-10 21:56:18 +02:00
engine-flutter-autoroll 03b487b246
Roll Packages from 8a2c4e499973 to e95fe4a0cd3a (3 revisions) (#149997)
8a2c4e4999...e95fe4a0cd

2024-06-07 engine-flutter-autoroll@skia.org Manual roll Flutter from 4608a89137 to fc19ecfc58 (38 revisions) (flutter/packages#6890)
2024-06-07 stuartmorgan@google.com [pigeon] Fix handling of null class args in C++ (flutter/packages#6881)
2024-06-07 eugene.makar@yandex.ru [video_player_android] Migrate ExoPlayer to ExoPlayer-Media3 1.3.1 (flutter/packages#6535)

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-06-10 19:32:39 +00:00
David Iglesias 0c2ee845fc
[web] Notify engine of handled PointerScrollEvents. (#145500)
Notifies the engine when `PointerSignalEvents` have been ignored by the framework, through the `ui.PointerData.respond` method.

This allows the web to "preventDefault" (or not) on `wheel` events.

## Issues

* Fixes (partially): https://github.com/flutter/flutter/issues/139263

## Tests

* Added tests to ensure `respond` is called at the right time, with the right value.

## Demo

* https://dit-multiview-scroll.web.app

<details>
<summary>

## Previous versions

</summary>

1. Modified `PointerScrollEvent`, not shippable.
2. Modified when events were handled, instead of the opposite.

</details>
2024-06-10 17:52:58 +00:00
Greg Price 5efb67b7c1
Cut no-longer-accurate microtask reference in finalizeTree doc (#149941)
These listeners were removed in b564b4cca (#9143).
2024-06-10 17:13:30 +00:00
Takahiro Torii 739e3bd0e8
Update hasTrailingSpaces (#149698)
This PR addresses an issue with TextPainter's caret position calculation for text containing full-width spaces. Currently, the caret position is not accurately calculated for strings with full-width spaces. To resolve this, the following changes have been made:

Corrected the logic for caret position calculation when full-width spaces are present in the text.
Added and updated test cases to ensure accurate caret position calculation.
These changes ensure that the caret position for text with full-width spaces is computed correctly.

This issue was introduced by the commit [a0a854a](a0a854a78b).

Related Issue: [#149099](https://github.com/flutter/flutter/issues/149099)
2024-06-10 16:48:11 +00:00
Mouad Debbar ee10d2fc3a
[web] Change --web-renderer default from auto to canvaskit (#149773)
- When `--web-renderer` is omitted, keep the value `null` until it later materializes to either `canvaskit` or `skwasm`.
- No more hardcoded defaults anywhere. We use `WebRendererMode.defaultForJs/defaultForWasm` instead.
- When in `--wasm` mode, the JS fallback is now `canvaskit` instead of `auto`.
- Add test for defaulting to `skwasm` when `--wasm` is enabled.

Fixes https://github.com/flutter/flutter/issues/149826
2024-06-10 16:38:09 +00:00
Jason Simmons 4e6e61dfd5
Retain the toString method for subclasses of Key in profile/release mode (#149926)
toString methods are removed in AOT builds by the optimization in https://github.com/flutter/flutter/pull/144763

This PR disables that for Key subclasses because some applications rely on the previous behavior.

Fixes https://github.com/flutter/flutter/issues/148983
2024-06-10 16:06:02 +00:00
Michael Thomsen 2d0a0237d2
Remove package:platform from issue template (#149995)
Package is being transferred to the `dart-lang` github org: https://github.com/flutter/flutter/issues/141808
2024-06-10 16:03:12 +00:00
Victoria Ashworth 8b6be37c1a
Revert "[CupertinoActionSheet] Match colors to native (#149568)" (#149998)
This reverts commit 32081aab69.

Reason for revert: Appears to be failing tests in tree
```
01:48 +2991 ~18: /Volumes/Work/s/w/ir/x/w/flutter/packages/flutter/test/cupertino/action_sheet_test.dart: Taps on a button can be slided to other buttons
 ══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
 The following SkiaException was thrown while running async test code:
 Skia Gold received an unapproved image in post-submit
 testing. Golden file images in flutter/flutter are triaged
 in pre-submit during code review for the given PR.
 Visit https://flutter-gold.skia.org/ to view and approve
 the image(s), or revert the associated change. For more
 information, visit the wiki:
 https://github.com/flutter/flutter/wiki/Writing-a-golden-file-test-for-package:flutter
 Debug information for Gold --------------------------------
 stdout: Given image with hash 601f421e3bb643f437cc12395de96152 for test
 cupertino.cupertinoActionSheet.press-drag
 Expectation for test: ce8ef79c146857d162663b1161fd6d5c (positive)
 Expectation for test: 3bb57a8782f67836c6ad3ece7f00729a (positive)
 Expectation for test: 3f8c592774caf3c760fbbd318a7dc5af (positive)
 Expectation for test: 61863f38217aa3349c239eeb49b84930 (positive)
 Expectation for test: 98af16e9b7eb3fb810b44c74bb18ffb9 (positive)
 Untriaged or negative image:
 https://flutter-gold.skia.org//detail?grouping=name%3Dcupertino.cupertinoActionSheet.press-drag%26source_type%3Dflutter&digest=601f421e3bb643f437cc12395de96152
 stderr: Test: cupertino.cupertinoActionSheet.press-drag FAIL
 result-state.json: No result file found.
 ```
2024-06-10 15:40:56 +00:00
Tong Mu 32081aab69
[CupertinoActionSheet] Match colors to native (#149568)
This PR matches the various colors of `CupertinoActionSheet` more closely with the native one. 

The following colors are changed.
* Sheet background color
* Pressed button color
* Cancel button color
* Pressed cancel button color
* Divider color
* Content text color

The resulting colors match with native one with deviation of at most 1 (in terms of 0~255 RGB).

The following are comparison (left to right: Native, Flutter after PR, Flutter current)
<img width="1295" alt="image" src="https://github.com/flutter/flutter/assets/1596656/3703a4a8-a856-42b1-9395-a6e14b1881ca">
<img width="1268" alt="image" src="https://github.com/flutter/flutter/assets/1596656/1eb9964e-41f1-414a-99ae-0a2e7da8d3fd">
_Note: The divider thickness is adjusted to `1/dpr` instead of 0.3 in both Flutter version to make them look more native, as will be proposed in https://github.com/flutter/flutter/pull/149636._

### Derivation 
All the colors are derived through color picker and calculation. The algorithm is as followed:
* Assume all colors are translucent grey colors, i.e. having the same value `x` for R, G, and B, with an alpha `a`.
* Given the barrier color is `x_B1=0` when the background is black, and `x_B2=204` when the background is white.
* Pick the target color `x_t1` when the background is black, and `x_t2` when the background is white
* Solve the following equations for `x` and `a`
```
a * x + (1-a) * x_B1 = x_t1
a * x + (1-a) * x_B2 = x_t2

a = 1 - (x_t1 - x_t2) / (x_B1 - x_B2)
x = (x_t1 - (1-a) * x_B1) / a
```

These equations use a linear model for color composition, which might not be exact, but is close enough for an accuracy of (1/255).

The full table is as follows:

<img width="1091" alt="image" src="https://github.com/flutter/flutter/assets/1596656/0fb76291-c3cc-4bb5-aefa-03ac6ac9bf1f">

* The first two columns are colors picked from XCode.
* The 3~4 columns are the colors picked from the current Flutter. Notice the deviation, which is sometimes drastic.
* The 5~6 columns are the colors picked from Flutter after this PR. The deviation is at most 1.
* The last few columns are calculation.
  * There are two rows whose calculation is based on adjusted numbers, since the original results are not accurate enough, possibly due to the linear composition.

During the calculation, I assumed these colors vary between light and dark modes, but it turns out that both modes use the same set of colors.

### Screenshots
2024-06-08 17:35:21 +00:00
auto-submit[bot] f3808422a7
Reverts "Roll Flutter Engine from 1cdbebee1901 to 45cf05f7a580 (10 revisions) (#149944)" (#149960)
Reverts: flutter/flutter#149944
Initiated by: jason-simmons
Reason for reverting: Regression affecting `integration_test/test/web_extension_test.dart`

```
  PathNotFoundException: Cannot open file, path = '/chromium/canvaskit.wasm' (OS Error: No such file or directory, errno = 2)
```

(see https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8745735238400976001/+/u/run_test.dart_for_web_long_running_tests_shard_and_subshard_1_5/stdout)

It looks like the p
Original PR Author: engine-flutter-autoroll

Reviewed By: {fluttergithubbot}

This change reverts the following previous change:

1cdbebee19...45cf05f7a5

2024-06-07 yjbanov@google.com [web] add test for inefficient overlay allocation (flutter/engine#53284)
2024-06-07 jacksongardner@google.com Update Chrome to 125. (flutter/engine#53282)
2024-06-07 skia-flutter-autoroll@skia.org Roll Dart SDK from 4b693b16eec1 to d4f17e0bf28b (1 revision) (flutter/engine#53283)
2024-06-07 jacksongardner@google.com Fixes a few issues in flutter_js (flutter/engine#53231)
2024-06-07 skia-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from aVohW_hnfDaE0smBX... to zpBZmUB_JC5AjG-f4... (flutter/engine#53279)
2024-06-07 skia-flutter-autoroll@skia.org Roll Dart SDK from 7b239d7f4578 to 4b693b16eec1 (1 revision) (flutter/engine#53277)
2024-06-07 skia-flutter-autoroll@skia.org Roll Skia from b7f51dfcc342 to ad3c9f203f4e (1 revision) (flutter/engine#53276)
2024-06-07 skia-flutter-autoroll@skia.org Roll Skia from 5fc83884a619 to b7f51dfcc342 (4 revisions) (flutter/engine#53275)
2024-06-07 jonahwilliams@google.com Revert "Widen CPU affinity set." (flutter/engine#53274)
2024-06-07 skia-flutter-autoroll@skia.org Roll Skia from e36110f8b451 to 5fc83884a619 (1 revision) (flutter/engine#53273)

Also rolling transitive DEPS:
  fuchsia/sdk/core/linux-amd64 from aVohW_hnfDaE to zpBZmUB_JC5A

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-06-08 17:05:25 +00:00
engine-flutter-autoroll f634098b3e
Roll Flutter Engine from 1cdbebee1901 to 45cf05f7a580 (10 revisions) (#149944)
1cdbebee19...45cf05f7a5

2024-06-07 yjbanov@google.com [web] add test for inefficient overlay allocation (flutter/engine#53284)
2024-06-07 jacksongardner@google.com Update Chrome to 125. (flutter/engine#53282)
2024-06-07 skia-flutter-autoroll@skia.org Roll Dart SDK from 4b693b16eec1 to d4f17e0bf28b (1 revision) (flutter/engine#53283)
2024-06-07 jacksongardner@google.com Fixes a few issues in flutter_js (flutter/engine#53231)
2024-06-07 skia-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from aVohW_hnfDaE0smBX... to zpBZmUB_JC5AjG-f4... (flutter/engine#53279)
2024-06-07 skia-flutter-autoroll@skia.org Roll Dart SDK from 7b239d7f4578 to 4b693b16eec1 (1 revision) (flutter/engine#53277)
2024-06-07 skia-flutter-autoroll@skia.org Roll Skia from b7f51dfcc342 to ad3c9f203f4e (1 revision) (flutter/engine#53276)
2024-06-07 skia-flutter-autoroll@skia.org Roll Skia from 5fc83884a619 to b7f51dfcc342 (4 revisions) (flutter/engine#53275)
2024-06-07 jonahwilliams@google.com Revert "Widen CPU affinity set." (flutter/engine#53274)
2024-06-07 skia-flutter-autoroll@skia.org Roll Skia from e36110f8b451 to 5fc83884a619 (1 revision) (flutter/engine#53273)

Also rolling transitive DEPS:
  fuchsia/sdk/core/linux-amd64 from aVohW_hnfDaE to zpBZmUB_JC5A

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-06-08 01:49:29 +00:00
Elliott Brooks 034c0d03f8
Refactor getRootWidgetSummaryTree tests in widget_inspector_test.dart (#149930) 2024-06-07 16:51:47 -07:00
Zachary Anderson 47560fac5c
Remove zanderso from TESTOWNERS (#149935)
Instead I've added @andrewkolos for tools tests and @jtmcdole for engine
tests. This doesn't mean you have to investigate and solve the issues
filed by the flake bot. Instead, an assignee is just the mechanism used
by the flake bot to ensure that the issues are triaged at the
appropriate team triage meetings.

FYI @christopherfujino
2024-06-07 16:33:46 -07:00
Hans Muller 9ce0a9e510
PinnedHeaderSliver (#143196)
A sliver that remains “pinned” to the top of the scroll view. Subsequent slivers scroll behind it. Typically the sliver is created as the first item in the list however it can be inserted anywhere and it will always stop at the top of the scroll view. When the scrolling axis is vertical, the PinnedHeaderSliver’s height is defined by its widget child. Multiple PinnedHeaderSlivers will layout one after the other, once they've scrolled to the top.

This sliver is preferable to the general purpose SliverPersistentHeader - for its relatively narrow use case - because there's no need to create a [SliverPersistentHeaderDelegate] or to predict the header's size.

Here's a [working demo in DartPad](https://dartpad.dev/?id=3b3f24c14fa201f752407a21ca9c9456).

https://github.com/flutter/flutter/assets/1377460/943f2e02-8e73-48b7-90be-61168978ff71

Related sliver utility PRs: https://github.com/flutter/flutter/pull/143538, https://github.com/flutter/flutter/pull/143325, https://github.com/flutter/flutter/pull/127340.
2024-06-07 21:27:06 +00:00
Elliott Brooks 6bdebcf58d
Fix test case in "getRootWidgetSummaryTree" test (#149923) 2024-06-07 13:20:25 -07:00
Gray Mackall 15307a9c57
Revert "Identify and re-throw our dependency checking errors in flutter.groovy (#149609)" (#149918)
This reverts commit 9d1de7b674.

Reverts due to log spam and crashing of the dependency version checker (which doesn't block the build but still isn't the desired outcome).
2024-06-07 20:07:06 +00:00
auto-submit[bot] b5697a0c6d
Reverts "Fix SegmentedButton clipping when drawing segments (#149739)" (#149927)
Reverts: flutter/flutter#149739
Initiated by: QuncCccccc
Reason for reverting: the newly-added unit test might cause the red tree
Original PR Author: TahaTesser

Reviewed By: {QuncCccccc}

This change reverts the following previous change:
fixes [`SegmentedButton` doesn't clip properly when one of the segments has `ColorFiltered`](https://github.com/flutter/flutter/issues/144990)

### Code sample

<details>
<summary>expand to view the code sample</summary> 

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

void main() => runApp(const MyApp());

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: Center(
          child: SegmentedButton<int>(
            segments: const <ButtonSegment<int>>[
              ButtonSegment<int>(
                value: 0,
                label: ColorFiltered(
                  colorFilter:
                      ColorFilter.mode(Colors.amber, BlendMode.colorBurn),
                  child: Text('Option 1'),
                ),
              ),
              ButtonSegment<int>(
                value: 1,
                label: Text('Option 2'),
              ),
            ],
            onSelectionChanged: (Set<int> selected) {},
            selected: const <int>{0},
          ),
        ),
      ),
    );
  }
}
```

</details>

### Before

![before](https://github.com/flutter/flutter/assets/48603081/b402fc51-d575-4208-8a71-f798ef2b2bf5)

### After

![after](https://github.com/flutter/flutter/assets/48603081/77a5cac2-ecef-4381-a043-dbb5c91407ec)
2024-06-07 19:30:18 +00:00
Taha Tesser fc19ecfc58
Fix SegmentedButton clipping when drawing segments (#149739)
fixes [`SegmentedButton` doesn't clip properly when one of the segments has `ColorFiltered`](https://github.com/flutter/flutter/issues/144990)

### Code sample

<details>
<summary>expand to view the code sample</summary> 

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

void main() => runApp(const MyApp());

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: Center(
          child: SegmentedButton<int>(
            segments: const <ButtonSegment<int>>[
              ButtonSegment<int>(
                value: 0,
                label: ColorFiltered(
                  colorFilter:
                      ColorFilter.mode(Colors.amber, BlendMode.colorBurn),
                  child: Text('Option 1'),
                ),
              ),
              ButtonSegment<int>(
                value: 1,
                label: Text('Option 2'),
              ),
            ],
            onSelectionChanged: (Set<int> selected) {},
            selected: const <int>{0},
          ),
        ),
      ),
    );
  }
}
```

</details>

### Before

![before](https://github.com/flutter/flutter/assets/48603081/b402fc51-d575-4208-8a71-f798ef2b2bf5)

### After

![after](https://github.com/flutter/flutter/assets/48603081/77a5cac2-ecef-4381-a043-dbb5c91407ec)
2024-06-07 18:34:24 +00:00
Zachary Anderson bb831b7a64
Shift consistently passing tests on mokey to prod (#149902)
Part of https://github.com/flutter/flutter/issues/148085
2024-06-07 16:48:11 +00:00
Polina Cherkasova 35a4933ba8
Prepare images for tests individually to enable clean up of cache. (#149693) 2024-06-07 09:30:56 -07:00
engine-flutter-autoroll 1fdb40ea95
Roll Packages from 586faa631499 to 8a2c4e499973 (8 revisions) (#149900)
586faa6314...8a2c4e4999

2024-06-06 jonahwilliams@google.com Revert "Migrate `video_player/android` from `SurfaceTexture`->`SurfaceProducer`." (flutter/packages#6882)
2024-06-06 baumths@gmail.com [two_dimensional_scrollables] Adds generics to the callbacks and builders of TreeView (flutter/packages#6864)
2024-06-06 15619084+vashworth@users.noreply.github.com Run tests on macOS 13 or 14 (flutter/packages#6877)
2024-06-06 15619084+vashworth@users.noreply.github.com Disable sandboxing directly for macOS tests (flutter/packages#6880)
2024-06-06 tarrinneal@gmail.com [pigeon] Moves all codec logic to singular custom codec (flutter/packages#6600)
2024-06-06 engine-flutter-autoroll@skia.org Roll Flutter (stable) from a14f74ff3a to 761747bfc5 (6 revisions) (flutter/packages#6878)
2024-06-06 engine-flutter-autoroll@skia.org Roll Flutter from 27e06569a1 to 4608a89137 (17 revisions) (flutter/packages#6876)
2024-06-06 15619084+vashworth@users.noreply.github.com Disable sandboxing for macOS tests in CI (flutter/packages#6866)

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-06-07 16:02:20 +00:00
engine-flutter-autoroll 538183963a
Roll Flutter Engine from 98e9393bf2e9 to 1cdbebee1901 (4 revisions) (#149899)
98e9393bf2...1cdbebee19

2024-06-07 skia-flutter-autoroll@skia.org Roll Dart SDK from accb5c25c42a to 7b239d7f4578 (1 revision) (flutter/engine#53272)
2024-06-07 skia-flutter-autoroll@skia.org Roll Skia from d2e17d341305 to e36110f8b451 (1 revision) (flutter/engine#53271)
2024-06-07 skia-flutter-autoroll@skia.org Roll Skia from 376b88815099 to d2e17d341305 (2 revisions) (flutter/engine#53270)
2024-06-07 skia-flutter-autoroll@skia.org Roll Dart SDK from 41acb19a67b5 to accb5c25c42a (1 revision) (flutter/engine#53269)

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-06-07 15:35:08 +00:00
engine-flutter-autoroll d849b91ffc
Roll Flutter Engine from 087feab9922b to 98e9393bf2e9 (1 revision) (#149875)
087feab992...98e9393bf2

2024-06-07 skia-flutter-autoroll@skia.org Roll Skia from a7ee8897c66e to 376b88815099 (1 revision) (flutter/engine#53268)

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-06-07 14:37:28 +00:00
Elliott Brooks 2be334f96c
Refactor widget_inspector_test.dart (#149850)
Work towards https://github.com/flutter/devtools/issues/7894

The Flutter DevTools team is working on a new Widget Inspector. As part of this work, we need to make adjusts to the widget inspector service API. 

This PR simply re-factors the `widget_inspector_test` in preparation for this work, to make it easier for us to modify the tests / add new tests. 

Although this PR is large (`widget_inspector_test` is over 5000 lines!!), it does not change any of the current test logic. 

Instead it:
- Moves test cases that were prefixed with "WidgetInspectorService" into the pre-existing group named "WidgetInspectorService"
- Moves tests cases in that group which were skipped with `!WidgetInspectorService.instance.isWidgetCreationTracked() // [intended] Test requires --track-widget-creation flag` into a group called "Requires flag --track-widget-creation"
- Adds two helper functions, `pumpWidgetTreeWithABC` and `findElementABC` and uses them in all test cases that were duplicating the same widget set-up.
2024-06-07 14:33:14 +00:00
Valentin Vignal dcc5361126
Add test for dropdown_menu.1.dart (#149547)
Contributes to https://github.com/flutter/flutter/issues/130459

It adds a test for
- `examples/api/lib/material/dropdown_menu/dropdown_menu.1.dart`
2024-06-07 07:13:02 +00:00
Valentin Vignal ad56b54b63
Add test for standard_fab_location.0.dart (#149225)
Contributes to https://github.com/flutter/flutter/issues/130459

It adds a test for
- `examples/api/lib/material/floating_action_button_location/standard_fab_location.0.dart`
2024-06-07 07:08:53 +00:00
Daco Harkes 2a543aa43b
[native_assets] Fix framework name deduplication (#149761)
Applies 02d5286e02 to MacOS.

I'm hoping this will fix:

* https://github.com/flutter/flutter/issues/148955
2024-06-07 07:07:08 +00:00
engine-flutter-autoroll ae47edab7a
Roll Flutter Engine from 47b15dfba1da to 087feab9922b (1 revision) (#149871)
47b15dfba1...087feab992

2024-06-07 skia-flutter-autoroll@skia.org Roll Skia from b3aedcf27979 to a7ee8897c66e (1 revision) (flutter/engine#53267)

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-06-07 05:34:14 +00:00
engine-flutter-autoroll 73152214b8
Roll Flutter Engine from 5d5e0ee9102c to 47b15dfba1da (2 revisions) (#149870)
5d5e0ee910...47b15dfba1

2024-06-07 skia-flutter-autoroll@skia.org Roll Dart SDK from ed2b917b266d to 41acb19a67b5 (1 revision) (flutter/engine#53266)
2024-06-07 skia-flutter-autoroll@skia.org Roll Skia from a42ff08f2b2e to b3aedcf27979 (1 revision) (flutter/engine#53265)

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-06-07 04:32:32 +00:00
engine-flutter-autoroll dccc26a28a
Roll Flutter Engine from fea8e51b0280 to 5d5e0ee9102c (2 revisions) (#149867)
fea8e51b02...5d5e0ee910

2024-06-06 skia-flutter-autoroll@skia.org Roll Skia from c1aae20f1c82 to a42ff08f2b2e (1 revision) (flutter/engine#53263)
2024-06-06 41930132+hellohuanlin@users.noreply.github.com Reland "[ios][platform_view] Use CAShapeLayer as the mask to avoid software rendering #53072" (flutter/engine#53256)

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-06-07 03:04:28 +00:00
engine-flutter-autoroll 2a127cbdf8
Roll Flutter Engine from 5a0a49939c64 to fea8e51b0280 (2 revisions) (#149865)
5a0a49939c...fea8e51b02

2024-06-06 skia-flutter-autoroll@skia.org Roll Dart SDK from 8e05acb354f5 to ed2b917b266d (1 revision) (flutter/engine#53262)
2024-06-06 bdero@google.com [Impeller] Round out extreme angles between curve polyline segments. (flutter/engine#53210)

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-06-07 02:06:26 +00:00
flutter-pub-roller-bot 9a654cb5da
Roll pub packages (#149864)
This PR was generated by `flutter update-packages --force-upgrade`.
2024-06-07 00:22:25 +00:00
engine-flutter-autoroll 7b83e3c15b
Roll Flutter Engine from bf1a4877da0b to 5a0a49939c64 (1 revision) (#149861)
bf1a4877da...5a0a49939c

2024-06-06 skia-flutter-autoroll@skia.org Roll Skia from 41896477ca14 to c1aae20f1c82 (3 revisions) (flutter/engine#53260)

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-06-06 23:42:25 +00:00
Ian Hickson 961c5b7d93
Remove some vestigial /*!*/ comments (#149361) 2024-06-06 23:34:00 +00:00
Jackson Gardner 5fb34b719e
Attempt to fix some web test flakiness. (#149828)
If the service is disposed when we make calls on it, we need to bubble up an exception that is understood by the callers.

This is another speculative fix for https://github.com/flutter/flutter/issues/149238.
2024-06-06 23:22:51 +00:00
Kate Lovett 01d1e74af5
Remove abi key permanently from golden file testing (#149858)
We have fiddled with this a bunch, and there is definitively no way to reliably include this, so I am removing it.

Since CI does not cover all possible values, we can't consistently look up images for local testing. We thought removing it from the look up would work fine, and it did for most tests, but there were still some that could not find an image without it.

A brief history on the abi key
- added in https://github.com/flutter/flutter/pull/143621
- disabled in https://github.com/flutter/flutter/pull/148023
- added back in https://github.com/flutter/flutter/pull/148072
  - we thought there was only an issue with alphabetizing keys
- removed from local image look up in https://github.com/flutter/flutter/pull/149696

I updated the docs page to also discuss what makes a good key and what does not based on what we learned here.
2024-06-06 23:05:52 +00:00
Tong Mu 87f68a8876
[CupertinoActionSheet] Add sliding tap gesture (#149471)
This PR implements the `CupertinoActionSheet` part of https://github.com/flutter/flutter/issues/19786. 

This PR creates a new kind of gesture "sliding tap", which can be a simple tap but also allows the user to slide to other buttons during the tap, and select the button that the slide ends in.

The following video shows the behavior on a button list (left to right: Native iOS, after PR, before PR):

https://github.com/flutter/flutter/assets/1596656/1718630d-6890-4833-908b-762332a39568

Notice:
1. When the tap starts on a button or on the content section, the gesture can slide into a button to highlight it or activate it.
2. When the user performs a quick tap on a button, the button is immediately highlighted. (Before the PR, the highlight waits until the time out of a tap gesture, causing a quick tap to not highlight anything at all.)

The following video shows the behavior when the actions section scrolls (left to right: Native iOS, after PR)

https://github.com/flutter/flutter/assets/1596656/5eb70bc1-ec25-4376-9500-2aaa12f0034b

Notice:
1. Moving left or right doesn't cancel sliding tap, but moving vertically prioritizes the scrolling.
2. Moving before the drag starts is also recognized as a sliding tap.

Also, multiple pointers interact with the button list following an algorithm of "using earliest pointer". I can't record videos about it but I've added unit tests.
2024-06-06 22:41:05 +00:00