36313 Commits

Author SHA1 Message Date
engine-flutter-autoroll
9b6945b465
Roll Flutter Engine from 93e8901490e7 to 77dfeea40e10 (1 revision) (#132389)
93e8901490...77dfeea40e

2023-08-11 skia-flutter-autoroll@skia.org Roll Dart SDK from 13317278a6fa to 83f96a990792 (1 revision) (flutter/engine#44633)

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 chinmaygarde@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-11 14:24:25 +00:00
engine-flutter-autoroll
b062b81b5b
Roll Flutter Engine from 4e532b957225 to 93e8901490e7 (1 revision) (#132381)
4e532b9572...93e8901490

2023-08-11 skia-flutter-autoroll@skia.org Roll Fuchsia Mac SDK from hdjihTvRxbNprHI9x... to 7DmdwgtGmIxyejFDl... (flutter/engine#44630)

Also rolling transitive DEPS:
  fuchsia/sdk/core/mac-amd64 from hdjihTvRxbNp to 7DmdwgtGmIxy

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 chinmaygarde@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-11 10:31:40 +00:00
engine-flutter-autoroll
496144de94
Roll Flutter Engine from 25afdb9b696d to 4e532b957225 (4 revisions) (#132376)
25afdb9b69...4e532b9572

2023-08-11 john@johnmccutchan.com Add support for HardwareBuffer backed Android Platform Views under Impeller/GLES (flutter/engine#44617)
2023-08-11 skia-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from konJQZKk2qXc276iA... to v33NyNdr6Y1sKZDze... (flutter/engine#44627)
2023-08-11 skia-flutter-autoroll@skia.org Roll Skia from 41d099099095 to 723df2275d7b (1 revision) (flutter/engine#44626)
2023-08-11 skia-flutter-autoroll@skia.org Roll Skia from f4080803ee69 to 41d099099095 (2 revisions) (flutter/engine#44624)

Also rolling transitive DEPS:
  fuchsia/sdk/core/linux-amd64 from konJQZKk2qXc to v33NyNdr6Y1s

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 chinmaygarde@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-11 09:33:20 +00:00
engine-flutter-autoroll
a491089acc
Roll Flutter Engine from da23fb0d9a1d to 25afdb9b696d (1 revision) (#132370)
da23fb0d9a...25afdb9b69

2023-08-11 skia-flutter-autoroll@skia.org Roll Skia from 88d5e1daa3ba to f4080803ee69 (1 revision) (flutter/engine#44622)

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 chinmaygarde@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-11 06:37:32 +00:00
engine-flutter-autoroll
9d3268b891
Roll Flutter Engine from acd1bc5536ef to da23fb0d9a1d (2 revisions) (#132367)
acd1bc5536...da23fb0d9a

2023-08-11 skia-flutter-autoroll@skia.org Roll Skia from b669a6cd29f7 to 88d5e1daa3ba (1 revision) (flutter/engine#44620)
2023-08-11 skia-flutter-autoroll@skia.org Roll Dart SDK from a2eac00da6b8 to 13317278a6fa (2 revisions) (flutter/engine#44618)

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 chinmaygarde@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-11 04:55:49 +00:00
engine-flutter-autoroll
dd4c8d9f09
Roll Flutter Engine from 578a8e8aabf6 to acd1bc5536ef (1 revision) (#132365)
578a8e8aab...acd1bc5536

2023-08-11 skia-flutter-autoroll@skia.org Roll Skia from b001e0a5e46f to b669a6cd29f7 (1 revision) (flutter/engine#44615)

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 chinmaygarde@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-11 03:33:30 +00:00
engine-flutter-autoroll
653187668a
Roll Flutter Engine from 18a71c031f5f to 578a8e8aabf6 (1 revision) (#132364)
18a71c031f...578a8e8aab

2023-08-11 matanlurey@users.noreply.github.com Update `examples/**` to provide `--local-engine-host`. (flutter/engine#44610)

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 chinmaygarde@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-11 02:12:34 +00:00
Matan Lurey
a7997f606e
Update dev/devicelab/** to provide --local-engine-host. (#132342)
Partial work towards https://github.com/flutter/flutter/issues/132245.

I have to admit I don't totally understand what I've updated, or whether
there are more integration points needed.
2023-08-10 17:25:30 -07:00
engine-flutter-autoroll
978461c54e
Roll Flutter Engine from b019ac62f21f to 18a71c031f5f (2 revisions) (#132347)
b019ac62f2...18a71c031f

2023-08-10 chris@bracken.jp [shell] Add references to VsyncWaiter docs (flutter/engine#44607)
2023-08-10 skia-flutter-autoroll@skia.org Roll Skia from b6492f5ce8c3 to b001e0a5e46f (1 revision) (flutter/engine#44606)

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 chinmaygarde@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-10 23:50:09 +00:00
engine-flutter-autoroll
67ded4b080
Roll Flutter Engine from 16b01b98af20 to b019ac62f21f (1 revision) (#132341)
16b01b98af...b019ac62f2

2023-08-10 skia-flutter-autoroll@skia.org Roll Fuchsia Mac SDK from SoKcmsZ5H8uHJXV1S... to hdjihTvRxbNprHI9x... (flutter/engine#44600)

Also rolling transitive DEPS:
  fuchsia/sdk/core/mac-amd64 from SoKcmsZ5H8uH to hdjihTvRxbNp

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 chinmaygarde@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-10 22:51:23 +00:00
Matan Lurey
b4d5c8f425
Update flutter_tools/bin/*.(dart|sh) to provide, if set, --local-engine-host. (#132336)
Partial work towards https://github.com/flutter/flutter/issues/132245.

Other than updating error messages, and passing `$LOCAL_ENGINE_HOST`
downwards, this PR should not change the behavior of any existing
workflows or code (i.e. it's purely additive).
2023-08-10 15:25:57 -07:00
chunhtai
7dff527be5
Update application id and bundle id of a11y assessment app (#132334)
The skeleton id needed to be updated to be sent to app store or play store
2023-08-10 22:15:26 +00:00
engine-flutter-autoroll
2bb91a2692
Roll Flutter Engine from a9be77e6f475 to 16b01b98af20 (6 revisions) (#132332)
a9be77e6f4...16b01b98af

2023-08-10 skia-flutter-autoroll@skia.org Roll Dart SDK from 46da53e7abe2 to a2eac00da6b8 (1 revision) (flutter/engine#44601)
2023-08-10 huxiaohu2007@gmail.com Fix unexpected pointer change issue and Add test case (flutter/engine#43949)
2023-08-10 47866232+chunhtai@users.noreply.github.com Reland "Android a11y bridge sets importantness" (flutter/engine#44589)
2023-08-10 john@johnmccutchan.com Support for Android Platform Views under Impeller/Vulkan (flutter/engine#44571)
2023-08-10 109111084+yaakovschectman@users.noreply.github.com Reintroduce Windows lifecycle with guard for posthumous `OnWindowStateEvent` (flutter/engine#44344)
2023-08-10 skia-flutter-autoroll@skia.org Roll Skia from 92e6f52b0fa8 to b6492f5ce8c3 (1 revision) (flutter/engine#44597)

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 chinmaygarde@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-10 21:58:07 +00:00
Ian Hickson
a2e2574941
Remove the fast reassemble / single widget reload feature (#132255)
Fixes https://github.com/flutter/flutter/issues/132157
2023-08-10 21:48:06 +00:00
Michael Goderbauer
6cf5dbe371
Analyze code snippets in integration_test docs (#132314) 2023-08-10 21:34:49 +00:00
pdblasi-google
5df1c996ad
Adds SemanticsNode Finders for searching the semantics tree (#127137)
* Pulled `FinderBase` out of `Finder`
  * `FinderBase` can be used for any object, not just elements
  * Terminology was updated to be more "find" related
* Re-implemented `Finder` using `FinderBase<Element>`
  * Backwards compatibility maintained with `_LegacyFinderMixin`
* Introduced base classes for SemanticsNode finders
* Introduced basic SemanticsNode finders through `find.semantics`
* Updated some relevant matchers to make use of the more generic `FinderBase`

Closes #123634
Closes #115874
2023-08-10 21:31:06 +00:00
Renzo Olivares
73e0dbf5f4
TextField should correctly resolve provided style for material states (#132330)
This change makes sure the style provided through the `TextField`s `style` parameter is resolved for material states before merging it with defaults.

Fixes #132212
2023-08-10 21:25:05 +00:00
Ian Hickson
1e35d3a6b7
setState documentation (#132090)
Fixes https://github.com/flutter/flutter/issues/12296
2023-08-10 21:14:06 +00:00
engine-flutter-autoroll
eb126ccfc7
Roll Flutter Engine from ea7730c16301 to a9be77e6f475 (6 revisions) (#132328)
ea7730c163...a9be77e6f4

2023-08-10 55360120+Matt2D@users.noreply.github.com Flutter iOS Interactive Keyboard: Fixing Behavior Issue  (flutter/engine#44586)
2023-08-10 bdero@google.com [Impeller] Flutter GPU: Add context override. (flutter/engine#44566)
2023-08-10 bdero@google.com [Impeller] External OpenGLES texture sampling. (flutter/engine#44559)
2023-08-10 skia-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from 961_tJawsbLMdy5i0... to konJQZKk2qXc276iA... (flutter/engine#44593)
2023-08-10 skia-flutter-autoroll@skia.org Roll Skia from 364900538771 to 92e6f52b0fa8 (1 revision) (flutter/engine#44592)
2023-08-10 skia-flutter-autoroll@skia.org Roll Skia from f39fd2de8f10 to 364900538771 (1 revision) (flutter/engine#44590)

Also rolling transitive DEPS:
  fuchsia/sdk/core/linux-amd64 from 961_tJawsbLM to konJQZKk2qXc

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 chinmaygarde@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-10 20:55:06 +00:00
Danny Eldering
82e2de0650
Fix: use --web-launch-url and --web-hostname arguments in flutter drive (#131763)
Implement expected functionalities when supplying `--web-launch-url` and/or `--web-hostname` arguments to `flutter drive`.
- `--web-launch-url` now sets the starting url for the (headless) browser
  - Which for example means you can start at a certain part of the app at the start of your integration test
- `--web-hostname` now sets the hostname where the target of flutter drive will be hosted
  - Which allows you to set something other than localhost (allowing access via a reverse-proxy for example)

Fixes #118028
2023-08-10 20:53:08 +00:00
Ian Hickson
4d42f1a852
GridView sample code (#131900) 2023-08-10 20:53:05 +00:00
Polina Cherkasova
60634c65b2
Upgrade flutter packages. (#132326) 2023-08-10 13:44:05 -07:00
LongCatIsLooong
e1fd2ace92
TextPainter migration cleanup (#132317)
Undo temporary changes made in #132094
2023-08-10 20:18:51 +00:00
Ian Hickson
f9a578dd82
An example of parentData usage. (#131818) 2023-08-10 19:40:06 +00:00
Fré Dumazy
e972d5a3f6
Add hasInteractedByUser getter in FormField (#131539)
Adds a getter to access the value of the private `RestorableBool _hasInteractedByUser`.

*List which issues are fixed by this PR. You must list at least one issue.*
Fixes #131538
2023-08-10 18:53:56 +00:00
engine-flutter-autoroll
685141bf3b
Roll Flutter Engine from e2ed1bebf31d to ea7730c16301 (3 revisions) (#132313)
e2ed1bebf3...ea7730c163

2023-08-10 skia-flutter-autoroll@skia.org Roll Skia from 67bad75b41c2 to f39fd2de8f10 (1 revision) (flutter/engine#44588)
2023-08-10 skia-flutter-autoroll@skia.org Roll Dart SDK from d89e4ead966d to 46da53e7abe2 (4 revisions) (flutter/engine#44584)
2023-08-10 skia-flutter-autoroll@skia.org Roll Skia from aac2d55d35eb to 67bad75b41c2 (1 revision) (flutter/engine#44583)

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 chinmaygarde@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-10 18:21:46 +00:00
Christopher Fujino
a6118612ac
Fix flutter attach local engine (#131825)
Fixes: https://github.com/flutter/flutter/issues/124970
Part of https://github.com/flutter/flutter/issues/47161

Before this change, there were two places we overrode the `Artifacts` in a Zone:

1. if/when we parse local-engine CLI options: 1cf3907407/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart (L281)
2. an additional override for fuchsia platform dill (no longer used, deleted in this PR): 1cf3907407/packages/flutter_tools/lib/src/commands/attach.dart (L274)

Note 1 above creates a new instance of `Artifacts.getLocalEngine()`. In this flow, there exist two instances of `Artifacts`:

1. The default fallback instance of `CachedArtifacts` (which gets all artifacts from flutter/bin/cache), instantiated in context_runner.dart: 1cf3907407/packages/flutter_tools/lib/src/context_runner.dart (L137)
2. An instance of `CachedLocalEngineArtifacts` created in the command runner once the CLI options have been parsed: 1cf3907407/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart (L281)

The regression happened when we direct injected the Artifacts 1 from above BEFORE we parsed the local-engine flag, and then used this in the second zone override, and then when creating the `FlutterDevice` there are multiple calls to `globals.artifacts` returned it when it should have returned Artifacts 2: 1cf3907407/packages/flutter_tools/lib/src/resident_runner.dart (L80)

Device.artifactOverrides was originally introduced in https://github.com/flutter/flutter/pull/32071, but is no longer used, so I deleted it.

I also removed direct injection of `Artifacts` to the attach sub-command, because that class now no longer references artifacts.

I believe the ideal true fix for this would be to:

1. Migrate all leaf calls to `globals.artifacts` to use direct injection (in this case, the offending invocations were in [`FlutterDevice.create()`](1cf3907407/packages/flutter_tools/lib/src/resident_runner.dart (L80-L218)), but I'm not sure that something else would not have broken later)
2. Ensure we are always direct injecting the desired instance of `Artifacts`--that is, if the user desires local engine artifacts, that we are passing an instance of `CachedLocalEngineArtifacts`.
  a. Alternatively, and probably simpler, teach `CachedArtifacts` to know about the local engine. This would mean parsing the global CLI options BEFORE we ever construct any instance of `Artifacts`.
  
As an overall recommendation for implementing https://github.com/flutter/flutter/issues/47161, in the overall tree of tool function calls, we should probably migrate the leaves first (that is, migrate the sub-commands last). We should also audit and reconsider any usage of `runZoned()` or `context.run()` for the purpose overriding zoneValues.
2023-08-10 17:51:05 +00:00
Michael Goderbauer
64a0683b41
Analyze code snippets in flutter_test docs (#132246)
Fixes https://github.com/flutter/flutter/issues/132274.
2023-08-10 17:18:12 +00:00
engine-flutter-autoroll
e11cc35076
Roll Flutter Engine from 3359d6696da4 to e2ed1bebf31d (1 revision) (#132311)
3359d6696d...e2ed1bebf3

2023-08-10 skia-flutter-autoroll@skia.org Roll Skia from 7a1fec6b197f to aac2d55d35eb (1 revision) (flutter/engine#44582)

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 chinmaygarde@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-10 17:04:32 +00:00
Matan Lurey
52a6de2558
Add --local-engine-host, which if specified, is used instead of being inferred (#132180)
Closes https://github.com/flutter/flutter/issues/132162.

I did a tiny bit of minor cleanup but didn't want to go 🍔 beyond the
scope of this change. After it lands I'll update the Wiki.

## Before

```bash
$ fl run \
  --local-engine-src-path=$ENGINE \
  --local-engine=android_debug_unopt_arm64
```

... would try to use `host_debug_unopt` (i.e. Rosetta).

## After

```bash
$ fl run \
  --local-engine-src-path=$ENGINE \
  --local-engine=android_debug_unopt_arm64 \
  --local-engine-host=host_debug_unopt_arm64
```

... uses `host_debug_unopt_arm64`, as specified.

---

/cc @jonahwilliams @gaaclarke @zanderso
2023-08-10 09:38:38 -07:00
Zachary Anderson
bd1bb675b3
Remove bringup from Windows build_tests shards (#132306)
Context:
aff8ef13d4
2023-08-10 09:25:02 -07:00
Taha Tesser
96e02c61dc
Fix PopupMenuItem & CheckedPopupMenuItem has redundant ListTile padding and update default horizontal padding for Material 3 (#131609)
fixes [`PopupMenuItem` adds redundant padding when using `ListItem`](https://github.com/flutter/flutter/issues/128553)

### Description

- Fixed redundant `ListTile` padding when using `CheckedPopupMenuItem` or  `PopupMenuItem`  with the `ListTile` child for complex popup menu items as suggested in the docs.
- Updated default horizontal padding for popup menu items.

### Code sample

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

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

/// Flutter code sample for [PopupMenuButton].

// This is the type used by the popup menu below.
enum SampleItem { itemOne, itemTwo, itemThree }

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

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

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(useMaterial3: true),
      home: const PopupMenuExample(),
    );
  }
}

class PopupMenuExample extends StatefulWidget {
  const PopupMenuExample({super.key});

  @override
  State<PopupMenuExample> createState() => _PopupMenuExampleState();
}

class _PopupMenuExampleState extends State<PopupMenuExample> {
  SampleItem? selectedMenu;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('PopupMenuButton')),
      body: Center(
        child: SizedBox(
          width: 150,
          height: 100,
          child: Align(
            alignment: Alignment.topLeft,
            child: PopupMenuButton<SampleItem>(
              initialValue: selectedMenu,
              // Callback that sets the selected popup menu item.
              onSelected: (SampleItem item) {
                setState(() {
                  selectedMenu = item;
                });
              },
              itemBuilder: (BuildContext context) =>
                  <PopupMenuEntry<SampleItem>>[
                const PopupMenuItem<SampleItem>(
                  value: SampleItem.itemOne,
                  child: Text('PopupMenuItem'),
                ),
                const CheckedPopupMenuItem<SampleItem>(
                  checked: true,
                  value: SampleItem.itemTwo,
                  child: Text('CheckedPopupMenuItem'),
                ),
                const PopupMenuItem<SampleItem>(
                  value: SampleItem.itemOne,
                  child: ListTile(
                    leading: Icon(Icons.cloud),
                    title: Text('ListTile'),
                    contentPadding: EdgeInsets.zero,
                    trailing: Icon(Icons.arrow_right_rounded),
                  ),
                ),
              ],
            ),
          ),
        ),
      ),
    );
  }
}
``` 
	
</details>

### Before

![image](https://github.com/flutter/flutter/assets/48603081/aad15ffb-ca11-4997-81d1-b46288161a4e)

- Default horizontal padding is the same as M2 (16.0), while the specs use a smaller value (12.0)
- `ListTile` nested by default in `CheckedPopupMenuItem` has redundant padding
- `PopupMenuItem` using `ListTile` as a child for complex menu items contains redundant padding.

![Screenshot 2023-07-31 at 17 17 08](https://github.com/flutter/flutter/assets/48603081/75ad1fe5-e051-42ba-badf-e20c799dee96)

### After 

- Default horizontal padding is updated for Material 3.
- `PopupMenuItem` & `CheckedPopupMenuItem` override `ListTile` padding (similar to how `ExpansionTile` overrides `ListTile` text and icon color.

![Screenshot 2023-07-31 at 17 17 25](https://github.com/flutter/flutter/assets/48603081/288cf892-5b51-4365-9855-5ef0ed2928e9)
2023-08-10 16:05:03 +00:00
engine-flutter-autoroll
c428d91548
Roll Flutter Engine from 2fe84892b90a to 3359d6696da4 (1 revision) (#132305)
2fe84892b9...3359d6696d

2023-08-10 skia-flutter-autoroll@skia.org Roll Skia from a3975f2a9e79 to 7a1fec6b197f (1 revision) (flutter/engine#44580)

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 chinmaygarde@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-10 16:01:06 +00:00
engine-flutter-autoroll
7c59dfebb9
Roll Flutter Engine from 02ac5e84097b to 2fe84892b90a (2 revisions) (#132294)
02ac5e8409...2fe84892b9

2023-08-10 skia-flutter-autoroll@skia.org Roll Skia from d9e9b7073171 to a3975f2a9e79 (2 revisions) (flutter/engine#44577)
2023-08-10 skia-flutter-autoroll@skia.org Roll Fuchsia Mac SDK from zoCGnScKZWbm5s9Hy... to SoKcmsZ5H8uHJXV1S... (flutter/engine#44576)

Also rolling transitive DEPS:
  fuchsia/sdk/core/mac-amd64 from zoCGnScKZWbm to SoKcmsZ5H8uH

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 chinmaygarde@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-10 10:52:01 +00:00
Taha Tesser
bb6b72d6c6
Fix DropdownButtonFormField input border clipping (#131481)
fixes [BUG: DropdownButtonFormField input decorator focus/hover is not clipped
](https://github.com/flutter/flutter/issues/131282)

### Description

This fixes an issue where `DropdownButtonFormField`'s input border isn't used for clipping with `InkWell`.

### Before
![Screenshot 2023-07-28 at 17 06 20](https://github.com/flutter/flutter/assets/48603081/8fe1ee1f-5cea-4297-b4f6-e672d74bb583)

### After
![Screenshot 2023-07-28 at 17 06 38](https://github.com/flutter/flutter/assets/48603081/a0091459-67dc-45ca-96b1-95d7093d475f)
2023-08-10 08:36:17 +00:00
engine-flutter-autoroll
35a3ef7eb5
Roll Flutter Engine from 9117ff27d9c9 to 02ac5e84097b (2 revisions) (#132288)
9117ff27d9...02ac5e8409

2023-08-10 skia-flutter-autoroll@skia.org Roll Skia from 7c5f6b17a998 to d9e9b7073171 (1 revision) (flutter/engine#44573)
2023-08-10 skia-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from ZCP8LDbKF4LTBFz_W... to 961_tJawsbLMdy5i0... (flutter/engine#44572)

Also rolling transitive DEPS:
  fuchsia/sdk/core/linux-amd64 from ZCP8LDbKF4LT to 961_tJawsbLM

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 chinmaygarde@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-10 07:23:24 +00:00
engine-flutter-autoroll
a50776e5b8
Roll Flutter Engine from b5b41ff66dae to 9117ff27d9c9 (16 revisions) (#132284)
b5b41ff66d...9117ff27d9

2023-08-10 zanderso@users.noreply.github.com Revert "Android a11y bridge sets importantness" (flutter/engine#44569)
2023-08-10 skia-flutter-autoroll@skia.org Roll Skia from 491f67637e6e to 7c5f6b17a998 (2 revisions) (flutter/engine#44568)
2023-08-10 matanlurey@users.noreply.github.com [Impeller] Replace Vulkan rotation checks with polling (flutter/engine#44361)
2023-08-10 31859944+LongCatIsLooong@users.noreply.github.com Disable text rounding hack by default (flutter/engine#44544)
2023-08-09 skia-flutter-autoroll@skia.org Roll Skia from 3d5a6138b7e5 to 491f67637e6e (4 revisions) (flutter/engine#44563)
2023-08-09 skia-flutter-autoroll@skia.org Manual roll Dart SDK from f664f4b9c50d to d89e4ead966d (11 revisions) (flutter/engine#44560)
2023-08-09 58529443+srujzs@users.noreply.github.com Make toJS'd function use JS types (flutter/engine#44469)
2023-08-09 xty50337@hotmail.com [web] Fix rendering of gradients in html mode (flutter/engine#40345)
2023-08-09 55360120+Matt2D@users.noreply.github.com Flutter iOS Interactive Keyboard: Fixing Animation Issue (flutter/engine#44514)
2023-08-09 skia-flutter-autoroll@skia.org Roll Skia from 8c9a8d3e073c to 3d5a6138b7e5 (4 revisions) (flutter/engine#44557)
2023-08-09 skia-flutter-autoroll@skia.org Roll Skia from d210bab77137 to 8c9a8d3e073c (1 revision) (flutter/engine#44555)
2023-08-09 skia-flutter-autoroll@skia.org Roll Skia from 25aedb939915 to d210bab77137 (2 revisions) (flutter/engine#44550)
2023-08-09 skia-flutter-autoroll@skia.org Roll Fuchsia Mac SDK from e7bMhkfY-RPMrSMhB... to zoCGnScKZWbm5s9Hy... (flutter/engine#44548)
2023-08-09 skia-flutter-autoroll@skia.org Roll Skia from 17ba2122707b to 25aedb939915 (3 revisions) (flutter/engine#44547)
2023-08-09 47866232+chunhtai@users.noreply.github.com Android a11y bridge sets importantness (flutter/engine#44452)
2023-08-09 skia-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from tO6r8iQqnmsYkLcvZ... to ZCP8LDbKF4LTBFz_W... (flutter/engine#44545)

Also rolling transitive DEPS:
  fuchsia/sdk/core/linux-amd64 from tO6r8iQqnmsY to ZCP8LDbKF4LT
  fuchsia/sdk/core/mac-amd64 from e7bMhkfY-RPM to zoCGnScKZWbm

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 chinmaygarde@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-10 06:29:24 +00:00
Kate Lovett
0c80ed6d12
Keep alive support for 2D scrolling (#131641)
Fixes https://github.com/flutter/flutter/issues/126297

This adds support for keep alive to the 2D scrolling foundation. The TwoDimensionalChildBuilderDelegate and TwoDimensionalChildListDelegate will both add automatic keep alives to their children, matching the convention from SliverChildDelegates. The TwoDimensionalViewportParentData now incorporates keep alive and which is managed by the RenderTwoDimensionalViewport.
2023-08-10 05:46:05 +00:00
LongCatIsLooong
9156f6b5f3
Add missing ignore: deprecated_member_use to unblock the engine roller (#132280)
## 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].
- [ ] 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
2023-08-09 22:00:05 -07:00
Polina Cherkasova
2efda23a45
Pin leak_tracker. (#132261) 2023-08-09 20:25:06 -07:00
Sam Rawlins
9a32f24a34
Fix prefer_null_aware_operators violation (#132242)
Use a null-aware `?.` operator instead of a conditional operator. This complies with the `prefer_null_aware_operators` rule. Fixes https://github.com/flutter/flutter/issues/132241

*If you had to change anything in the [flutter/tests] repo, include a link to the migration guide as per the [breaking change policy].*
2023-08-10 03:08:11 +00:00
LongCatIsLooong
3f831b694f
Making TextPainter rounding hack disabled by default (#132094)
Migrate tests in flutter/flutter. Once the tests here and in `*_customer_testing` are migrated, the default value of the migration flag will be changed from false to true, making the rounding hack disabled by default.
2023-08-10 00:30:52 +00:00
Zachary Anderson
118c2df776
Allows adding a storage 'realm' to the storage base URL (#131951)
Context: https://github.com/flutter/flutter/issues/131862

This PR injects a "realm" component to the storage base URL when the contents of the file `bin/internal/engine.realm` is non-empty.

As documented in the PR, when the realm is `flutter_archives_v2`, and `bin/internal/engine.version` contains the commit hash for a commit in a `flutter/engine` PR, then the artifacts pulled by the tool will be the artifacts built by the presubmit checks for the PR.

This works for everything but the following two cases:
1. Fuchsia artifacts are not uploaded to CIPD by the Fuchsia presubmit builds.
2. Web artifacts are not uploaded to gstatic by the web engine presubmit builds.

For (1), the flutter/flutter presubmit `fuchsia_precache` is driven by a shell script outside of the repo. It will fail when the `engine.version` and `engine.realm` don't point to a post-submit engine commit.

For (2), the flutter/flutter web presubmit tests that refer to artifacts in gstatic hang when the artifacts aren't found, so this PR skips them.
2023-08-09 23:26:05 +00:00
Ian Hickson
9c8f3950e3
Sample code for ImageProvider (#131952)
Also:
- minor improvements to documentation
- wrap one of our test error messages in a manner more consistent with other messages
2023-08-09 22:58:26 +00:00
Tae Hyung Kim
702b78c6be
Remove shrinkWrap from flexible_space_bar_test.dart (#132173)
See title.
2023-08-09 22:29:58 +00:00
Bernardo Ferrari
6da6fbf5a8
Deprecate describeEnum. (#125016)
Final part of https://github.com/flutter/flutter/issues/123346.
2023-08-09 21:58:52 +00:00
Justin McCandless
f5ceaf9810
Handle hasStrings on web (#132093)
By default, Flutter web uses the browser's built-in context menu.

<img width="200" src="https://github.com/flutter/flutter/assets/389558/990f99cb-bc38-40f1-9e88-8839bc342da5" />

As of [recently](https://github.com/flutter/engine/pull/38682), it's possible to use a Flutter-rendered context menu like the other platforms.

```dart
void main() {
  runApp(const MyApp());
  BrowserContextMenu.disableContextMenu();
}
```

But there is a bug (https://github.com/flutter/flutter/issues/129692) that the Paste button is missing and never shows up.

<img width="284" alt="Screenshot 2023-08-07 at 2 39 03 PM" src="https://github.com/flutter/flutter/assets/389558/f632be25-28b1-4e2e-98f7-3bb443f077df">

The reason why it's missing is that Flutter first checks if there is any pasteable text on the clipboard before deciding to show the Paste button using the `hasStrings` platform channel method, but that was never implemented for web ([original hasStrings PR](https://github.com/flutter/flutter/pull/87678)).

So let's just implement hasStrings for web?  No, because Chrome shows a permissions prompt when the clipboard is accessed, and there is [no browser clipboard API](https://developer.mozilla.org/en-US/docs/Web/API/Clipboard_API) to avoid it.  The prompt will show immediately when the EditableText is built, not just when the Paste button is pressed.

<img width="200" src="https://github.com/flutter/flutter/assets/389558/5abdb160-1b13-4f1a-87e1-4653ca19d73e" />

### This PR's solution

Instead, before implementing hasStrings for web, this PR disables the hasStrings check for web.  The result is that users will always see a paste button, even in the (unlikely) case that they have nothing pasteable on the clipboard.  However, they will not see a permissions dialog until they actually click the Paste button.  Subsequent pastes don't show the permission dialog.

<details>

<summary>Video of final behavior with this PR</summary>

https://github.com/flutter/flutter/assets/389558/ed16c925-8111-44a7-99e8-35a09d682748

</details>

I think this will be the desired behavior for the vast majority of app developers.  Those that want different behavior can use hasStrings themselves, which will be implemented in https://github.com/flutter/engine/pull/43360.

### References

Fixes https://github.com/flutter/flutter/issues/129692
Engine PR to be merged after this: https://github.com/flutter/engine/pull/43360
2023-08-09 20:36:45 +00:00
Renzo Olivares
6ac161f909
Add an example for TapAndPanGestureRecognizer (#131873)
This adds an example for `TapAndPanGestureRecognizer` that demonstrates how to scale a widget using a double tap + vertical drag gesture.

https://github.com/flutter/flutter/assets/948037/4c6c5467-2157-4b6a-bc52-264a3b6303de
2023-08-09 19:59:03 +00:00
Mouad Debbar
632681da99
Reland "[web] Migrate framework to fully use package:web (#128901)" (#132092)
Relanding https://github.com/flutter/flutter/pull/128901

Part of https://github.com/flutter/flutter/issues/113402
Part of https://github.com/flutter/flutter/issues/127030
2023-08-09 19:41:45 +00:00
Victoria Ashworth
d631b26285
New tooling for iOS 17 physical devices (#131865)
This PR includes the following changes. These changes only apply to iOS 17 physical devices.

| Command | Change Description  | Changes to User Experience |
| ------------- | ------------- | ------------- |
| `flutter run --release` | Uses `devicectl` to install and launch application in release mode.  | No change.  |
| `flutter run`  | Uses Xcode via automation scripting to run application in debug and profile mode. | Xcode will be opened in the background. Errors/crashes may be caught in Xcode and therefore may not show in terminal. |
| `flutter run --use-application-binary=xxxx` | Creates temporary empty Xcode project and use Xcode to run via automation scripting in debug and profile. | Xcode will be opened in the background. Errors/crashes may be caught in Xcode and therefore may not show in terminal.  |
| `flutter install` | Uses `devicectl` to check installed apps, install app, uninstall app.  | No change.  |
| `flutter screenshot` | Will return error.  | Will return error.  |

Other changes include:
* Using `devicectl` to get information about the device
* Using `idevicesyslog` and Dart VM logging for device logs

Note:
Xcode automation scripting (used in `flutter run` for debug and profile) does not work in a headless (without a UI) interface. No known workaround.

Fixes https://github.com/flutter/flutter/issues/128827, https://github.com/flutter/flutter/issues/128531.
2023-08-09 19:25:12 +00:00