Commit graph

37105 commits

Author SHA1 Message Date
Flutter GitHub Bot c35515a079
Marks Windows module_custom_host_app_name_test to be unflaky (#135567)
<!-- meta-tags: To be used by the automation script only, DO NOT MODIFY.
{
  "name": "Windows module_custom_host_app_name_test"
}
-->
The issue https://github.com/flutter/flutter/issues/134644 has been closed, and the test has been passing for [50 consecutive runs](https://data.corp.google.com/sites/flutter_infra_metrics_datasite/flutter_check_test_flakiness_status_dashboard/?p=BUILDER_NAME:%22Windows%20module_custom_host_app_name_test%22).
This test can be marked as unflaky.
2023-09-28 17:38:51 +00:00
tauu 3b19c2e5d8
[web] fix: do not call onSubmitted of TextField when switching browser tabs on mobile web (#134870)
This PR fixes #134846. As discussed in the issue, the onSubmitted callback of a TextField is called when the browser switches tabs or is sent to the background if the flutter app is running in any mobile browser (desktop browsers are not affected). Furthermore there is no straight forward way to distinguish between onSubmitted being called because the user pressed the enter key and it being called because the user switched tabs. For example in a chat app this would cause a message to be sent when the user submits the text by pressing "send" on the virtual keyboard as well as when the user switches to another tab. The later action is likely not so much intended.

The next section explains what causes the bug and explains the proposed fix.

## Bug Analysis
The root cause for this behaviour is line 3494 in editable_text.dart: 0b540a87f1/packages/flutter/lib/src/widgets/editable_text.dart (L3487-L3499)
Only if the app is running on the web `_finalizeEditing` is called and this will then trigger the onSubmitted callback. If flutter is running on the web, there are only exactly 3 cases, in which the function is called. The following call trace analysis will describe why.
  - `connectionClosed()` is only called by in one location, `_handleTextInputInvocation` of the TextInput service.
367203b301/packages/flutter/lib/src/services/text_input.dart (L1896C12-L1899)
  - In particular it is only called if the TextInput service receives a 'TextInputClient.onConnectionClosed' message from the engine.
  - The only location where the web part of the engine send this message is the `onConnectionClosed` function of the TextEditingChannel.
cbda68a720/lib/web_ui/lib/src/engine/text_editing/text_editing.dart (L2242-L2254)
  - `onConnectionClosed` in turn is only called by the `sendTextConnectionClosedToFrameworkIfAny` function of `HybridTextEditing`.
cbda68a720/lib/web_ui/lib/src/engine/text_editing/text_editing.dart (L2340-L2345)

The function `sendTextConnectionClosedToFrameworkIfAny` is only called at 3 distinct locations of the web engine.

### 1. IOSTextEditingStrategy 
As described in the comment `sendTextConnectionClosedToFrameworkIfAny` is called if the browser is sent to the background or the tab is changed.
cbda68a720/lib/web_ui/lib/src/engine/text_editing/text_editing.dart (L1632-L1656)

### 2. AndroidTextEditingStrategy
Same situation as for iOS. `sendTextConnectionClosedToFrameworkIfAny` is also called if `windowHasFocus` is false, which is the case if the browser is sent to background or the tab is changed.
cbda68a720/lib/web_ui/lib/src/engine/text_editing/text_editing.dart (L1773-L1785)

### 3. TextInputFinishAutofillContext
This call seems to always happen when `finishAutofillContext` is triggered by the framework.
cbda68a720/lib/web_ui/lib/src/engine/text_editing/text_editing.dart (L2075-L2083)

## Proposed Fix
The fixed proposed and implemented by this PR is to simply delete the call to`_finalizeEditing` in the `connectionClosed` function of editable_text.dart.
0b540a87f1/packages/flutter/lib/src/widgets/editable_text.dart (L3487-L3499)

The reasoning for this being:
   * `_finalizeEditing` is only called in `connectionClosed` for the web engine.
   * As explained by the trace analysis above, the web engine only triggers this `_finalizeEditing` call in 3 cases.
   * In the 2 cases for IOSTextEditingStrategy and AndroidTextEditingStrategy the web engine triggering the call only causes the undesired behaviour reported in the issue.
   * In the third case for TextInputFinishAutofillContext, I can't see a good reason why this would require calling `_finalizeEditing` as it only instructs the platform to save the current values. Other platforms also don't have anything that would trigger onSubmitted being called, so it seems safe to remove it.
   * For other platforms the onConnectionClosed function was recently incorporated to only unfocus the TextField. So removing the call `_finalizeEditing` unifies the platform behaviour. See also
     https://github.com/flutter/flutter/pull/123929
     https://github.com/flutter/engine/pull/41500

*List which issues are fixed by this PR. You must list at least one issue.*
#134846

To simplify the evaluation, here are two versions of the minimal example given in the issue, build with the current master and with this PR applied:
current master: https://tauu.github.io/flutter-onsubmit-test/build/web-master/
current master + PR applied: https://tauu.github.io/flutter-onsubmit-test/build/web/
2023-09-28 16:43:04 +00:00
engine-flutter-autoroll 880a0a1903
Roll Packages from 21c2ebb39c07 to c070b0a7a80a (3 revisions) (#135676)
21c2ebb39c...c070b0a7a8

2023-09-28 stuartmorgan@google.com [video_player] Add macOS support (flutter/packages#4982)
2023-09-28 32538273+ValentinVignal@users.noreply.github.com [go_router] Avoid logging when `debugLogDiagnostics` is `false` (flutter/packages#4875)
2023-09-28 stuartmorgan@google.com [tool] Don't lint Flutter shim podspecs (flutter/packages#5007)

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://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-09-28 16:18:38 +00:00
Taha Tesser d134345f8c
Fix RangeSlider throws an exception in a ListView (#135667)
fixes [[RangeSlider] [Flutter 3.10] LateInitializationError: Field '_startThumbCenter@280317193' has not been initialized.](https://github.com/flutter/flutter/issues/126648)

### Code sample (Run it on iOS)

<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 const MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Example(),
    );
  }
}

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

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: ListView(
        children: <Widget>[
          const SizedBox(
            height: 1000,
            child: Placeholder(),
          ),
          RangeSlider(
            values: const RangeValues(0.25, 0.75),
            onChanged: (value) {},
          ),
        ],
      ),
    );
  }
}
```

</details>
2023-09-28 16:06:53 +00:00
engine-flutter-autoroll 449c9279e7
Roll Flutter Engine from d09c2dbe2292 to 82b69dadc07a (2 revisions) (#135675)
d09c2dbe22...82b69dadc0

2023-09-28 leroux_bruno@yahoo.fr [Android] Rename `allowChannelBufferOverflow` to `setWarnsOnChannelOv… (flutter/engine#46361)
2023-09-28 skia-flutter-autoroll@skia.org Roll Skia from cfac8410d773 to 267bb43e822d (1 revision) (flutter/engine#46363)

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 jacksongardner@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-09-28 15:57:52 +00:00
engine-flutter-autoroll 8d01d55bf0
Roll Flutter Engine from 495955a3b5de to d09c2dbe2292 (1 revision) (#135669)
495955a3b5...d09c2dbe22

2023-09-28 skia-flutter-autoroll@skia.org Roll Skia from d410e03a6b9b to cfac8410d773 (1 revision) (flutter/engine#46362)

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 jacksongardner@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-09-28 14:55:05 +00:00
Zachary Anderson 63b98d55b0
Revert "Upload generated frame-request-pending stats" (#135672)
Reverts flutter/flutter#135645
2023-09-28 07:23:25 -07:00
Callum Moffat dd341d4295
Upload generated frame-request-pending stats (#135645)
These values are generated since https://github.com/flutter/flutter/pull/135279, but I didn't know to add the new keys to this list to get them to upload.

Part of https://github.com/flutter/flutter/issues/129150
2023-09-28 13:05:10 +00:00
engine-flutter-autoroll 666d8f80e4
Roll Flutter Engine from 937bf0432214 to 495955a3b5de (1 revision) (#135665)
937bf04322...495955a3b5

2023-09-28 skia-flutter-autoroll@skia.org Roll Fuchsia Mac SDK from U334SygIkffMJVmdu... to 4WW3KRrAbuY7VeGT0... (flutter/engine#46357)

Also rolling transitive DEPS:
  fuchsia/sdk/core/mac-amd64 from U334SygIkffM to 4WW3KRrAbuY7

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 jacksongardner@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-09-28 12:00:15 +00:00
engine-flutter-autoroll 09b89f4134
Roll Flutter Engine from d2540d87fd96 to 937bf0432214 (1 revision) (#135660)
d2540d87fd...937bf04322

2023-09-28 skia-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from 6Y22MutFhgL7ua18F... to cu6apvEZ2P6zhishc... (flutter/engine#46355)

Also rolling transitive DEPS:
  fuchsia/sdk/core/linux-amd64 from 6Y22MutFhgL7 to cu6apvEZ2P6z

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 jacksongardner@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-09-28 10:35:36 +00:00
engine-flutter-autoroll 9b335d9f7f
Roll Flutter Engine from c47faed53afe to d2540d87fd96 (2 revisions) (#135652)
c47faed53a...d2540d87fd

2023-09-28 skia-flutter-autoroll@skia.org Roll Skia from 1f4e5c374172 to d410e03a6b9b (1 revision) (flutter/engine#46353)
2023-09-28 skia-flutter-autoroll@skia.org Roll Skia from f3e5eddda2fa to 1f4e5c374172 (2 revisions) (flutter/engine#46351)

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 jacksongardner@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-09-28 09:26:37 +00:00
Taha Tesser 4600b12a7e
Update TextField.style documentation for Material 3 (#135556)
fixes [TextField uses bodyLarge instead of titleMedium as the documentation says
](https://github.com/flutter/flutter/issues/135411)
2023-09-28 08:50:06 +00:00
engine-flutter-autoroll 2cd0b6078d
Roll Flutter Engine from 44aef2e61718 to c47faed53afe (1 revision) (#135647)
44aef2e617...c47faed53a

2023-09-28 skia-flutter-autoroll@skia.org Roll Skia from 704217de51e1 to f3e5eddda2fa (1 revision) (flutter/engine#46350)

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 jacksongardner@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-09-28 06:57:59 +00:00
engine-flutter-autoroll f644e4f4db
Manual roll Flutter Engine from be32dcc9117a to 44aef2e61718 (4 revisions) (#135646)
Manual roll requested by zra@google.com

be32dcc911...44aef2e617

2023-09-28 skia-flutter-autoroll@skia.org Roll Skia from 4441cde55a79 to 704217de51e1 (1 revision) (flutter/engine#46346)
2023-09-28 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Roll Dart SDK from 7c3588c05f87 to 86c577329bf7 (8 revisions)" (flutter/engine#46345)
2023-09-28 skia-flutter-autoroll@skia.org Roll Dart SDK from 7c3588c05f87 to 86c577329bf7 (8 revisions) (flutter/engine#46342)
2023-09-28 skia-flutter-autoroll@skia.org Roll Skia from b048b468d641 to 4441cde55a79 (1 revision) (flutter/engine#46341)

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 jacksongardner@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-09-28 05:44:07 +00:00
engine-flutter-autoroll f2cf0cc085
Manual roll Flutter Engine from f70f65f7a622 to be32dcc9117a (31 revisions) (#135637)
Manual roll Flutter Engine from f70f65f7a622 to be32dcc9117a (31
revisions)

Manual roll requested by jacksongardner@google.com

Cannot build log URL because revision "be32dcc9117a" is invalid: Luci
builds of "Linux linux_unopt" for
be32dcc9117a462760cb52c18d0d050f067f2463 was STARTED

2023-09-28 jacksongardner@google.com Rollback Dart SDK to 3.2.0-119.
(flutter/engine#46339)
2023-09-28 1961493+harryterkelsen@users.noreply.github.com [canvaskit]
Do not double-apply ImageFilter transform to children
(flutter/engine#46336)
2023-09-28 ychris@google.com Reland "Reverts "[ios] Fix app extension
not able to find assets from… (flutter/engine#46329)
2023-09-27 47866232+chunhtai@users.noreply.github.com Revert "[Impeller]
Fixes stroke path geometry that can draw outside o…
(flutter/engine#46334)
2023-09-27 skia-flutter-autoroll@skia.org Roll Fuchsia Mac SDK from
jQHACBU4Fi2wMElkm... to U334SygIkffMJVmdu... (flutter/engine#46333)
2023-09-27 skia-flutter-autoroll@skia.org Roll Skia from 952e8dd66560 to
b048b468d641 (1 revision) (flutter/engine#46332)
2023-09-27 jason-simmons@users.noreply.github.com [Impeller] Destroy all
per-thread command pools tied to a context before deleting the context
(flutter/engine#46286)
2023-09-27 skia-flutter-autoroll@skia.org Roll Skia from d78aba2524b3 to
952e8dd66560 (1 revision) (flutter/engine#46331)
2023-09-27 jonahwilliams@google.com [Impeller] Match Skia gradient
clamping behavior (and document). (flutter/engine#44825)
2023-09-27 skia-flutter-autoroll@skia.org Roll Dart SDK from
97647bb1666b to 80a965ee48ab (1 revision) (flutter/engine#46330)
2023-09-27 skia-flutter-autoroll@skia.org Roll Skia from ff5474eed6b4 to
d78aba2524b3 (3 revisions) (flutter/engine#46327)
2023-09-27 98614782+auto-submit[bot]@users.noreply.github.com Reverts
"[ios] Fix app extension not able to find assets from unloaded bundle"
(flutter/engine#46328)
2023-09-27 737941+loic-sharma@users.noreply.github.com [Windows] Improve
logic to update swap intervals (flutter/engine#46172)
2023-09-27 jonahwilliams@google.com [Impeller] Fallback to no index
buffer when tesselation count is large, split up nonZero contours.
(flutter/engine#46282)
2023-09-27 skia-flutter-autoroll@skia.org Roll Skia from 4731ccd6342c to
ff5474eed6b4 (1 revision) (flutter/engine#46325)
2023-09-27 jason-simmons@users.noreply.github.com Declare native wrapper
classes in Fuchsia packages as base classes (flutter/engine#46305)
2023-09-27 godofredoc@google.com Remove fuchsia from recipes cq.
(flutter/engine#46324)
2023-09-27 skia-flutter-autoroll@skia.org Roll Dart SDK from
c2a455113e39 to 97647bb1666b (1 revision) (flutter/engine#46323)
2023-09-27 matej.knopp@gmail.com [macOS] Synchronise modifiers from
mouse events for RawKeyboard (flutter/engine#46230)
2023-09-27 skia-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from
Lg6FR6iDnZeV6y-E8... to 6Y22MutFhgL7ua18F... (flutter/engine#46322)
2023-09-27 skia-flutter-autoroll@skia.org Roll Skia from 2991bb799d3f to
4731ccd6342c (1 revision) (flutter/engine#46321)
2023-09-27 jason-simmons@users.noreply.github.com Declare native wrapper
classes in the GPU package as base classes (flutter/engine#46304)
2023-09-27 jason-simmons@users.noreply.github.com Do not call
DrawTextBlob for performance overlay text when using Impeller
(flutter/engine#46307)
2023-09-27 kjlubick@users.noreply.github.com Update to use
GrDirectContexts::MakeGL (flutter/engine#46308)
2023-09-27 skia-flutter-autoroll@skia.org Roll Skia from 0f4f31127ac5 to
2991bb799d3f (1 revision) (flutter/engine#46319)
2023-09-27 skia-flutter-autoroll@skia.org Roll Skia from fc629215398f to
0f4f31127ac5 (1 revision) (flutter/engine#46318)
2023-09-27 skia-flutter-autoroll@skia.org Roll Dart SDK from
6c4eb86ecd25 to c2a455113e39 (1 revision) (flutter/engine#46317)
2023-09-27 skia-flutter-autoroll@skia.org Roll Fuchsia Mac SDK from
OMrTgAfDg9PKXTzq0... to jQHACBU4Fi2wMElkm... (flutter/engine#46314)
2023-09-27 skia-flutter-autoroll@skia.org Roll Skia from 960325c13009 to
fc629215398f (1 revision) (flutter/engine#46313)
2023-09-27 skia-flutter-autoroll@skia.org Roll Skia from 76aecbaea259 to
960325c13009 (2 revisions) (flutter/engine#46311)
2023-09-27 skia-flutter-autoroll@skia.org Roll Dart SDK from
7c3588c05f87 to 6c4eb86ecd25 (3 revisions) (flutter/engine#46310)

Also rolling transitive DEPS:
  fuchsia/sdk/core/linux-amd64 from Lg6FR6iDnZeV to 6Y22MutFhgL7
  fuchsia/sdk/core/mac-amd64 from OMrTgAfDg9PK to U334SygIkffM

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 jacksongardner@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

...
2023-09-27 21:00:46 -07:00
Renzo Olivares 21ad7122a1
Implement SelectionArea single click/tap gestures (#132682)
This change collapses the selection at the clicked/tapped location on single click down for desktop platforms, and on single click/tap up for mobile platforms to match native.

This is a change from how `SelectionArea` previously worked. Before this change a single click down would clear the selection. From observing a native browser it looks like when tapping on static text the selection is not cleared but collapsed. A user can still attain the selection from static text using the `window.getSelection` API.

https://jsfiddle.net/juepasn3/11/ You can try this demo out here to observe this behavior yourself. When clicking on static text the selection will change.

This change also allows `Paragraph.selections` to return selections that are collapsed. This for testing purposes to confirm where the selection has been collapsed.

Partially fixes: #129583
2023-09-28 01:42:16 +00:00
Kate Lovett 80fb7bd206
Support ensureVisible/showOnScreen/showInViewport for 2D Scrolling (#135182) 2023-09-27 16:57:24 -05:00
Casey Rogers 47f12cae1f
made top level if checks gaurd clauses (#135070)
This is a tiny tweak to replace some top level if clauses with guard clauses in `FutureBuilder`. I find the resultant code much more readable, but this is a matter of taste and I didn't see any info one way or another on it in the style guide so let me know if this is not to your all's preference.
2023-09-27 21:29:13 +00:00
Taha Tesser 433bca5edb
Fix SearchAnchor's search view isn't updated when the theme changes & widgets inside the search view do not inherit local themes (#132749)
fixes [SearchAnchor (search view) UI glitch on platform brightness changes](https://github.com/flutter/flutter/issues/131835)
fixes [Search view widgets cannot inherit local themes](https://github.com/flutter/flutter/issues/132741) 

### Description

- This fixes an issue where the `SearchAnchor`'s search view isn't updated when the platform brightness changes.
- Fixes an issue where widgets inside the search view cannot use local themes

### Actual Results

`SearchAnchor` currently passed both global and local themes on the search view popup pushing and it uses anchor. button's context to look up the theme.

![search_view drawio (1)](https://github.com/flutter/flutter/assets/48603081/b5317fb1-ee73-461c-a119-f2a1e29f5909)

As a result, when the platform changes and the search view is rebuilt, it cannot use the updated theme.

https://github.com/flutter/flutter/assets/48603081/2f1ebe74-e7d5-4ef3-b97c-a741c3d68964

### Expected Results

Similar to `PopupMenuButton`, the theme should be located in the search view so that when the platform brightness is updated and the search view is rebuilt it can use the updated theme.

![search_view drawio](https://github.com/flutter/flutter/assets/48603081/4e48c0cb-a558-4de6-9865-5f51981a343f)

https://github.com/flutter/flutter/assets/48603081/d8d85982-c661-4cac-83e8-0488b1d93daf

However, the search view's context cannot access local themes so I added support for `InheritedTheme`, which fixes the local. theme issue for both the search view and widgets inside the search view.

### When using local themes for the `SearchAnchor`'s search view and widgets inside the view.

### Before

![Screenshot 2023-08-17 at 15 54 02](https://github.com/flutter/flutter/assets/48603081/dec18ba3-9f01-4706-987a-eb2fd4afb180)

### After
![Screenshot 2023-08-17 at 15 55 15](https://github.com/flutter/flutter/assets/48603081/13f2797a-7f70-43b5-bc56-7971cf76a61d)
2023-09-27 17:02:17 +00:00
godofredoc d3c45f1499
Config changes for linux coverage. (#135604)
This build runs for over and hour and it does not need to run on presubmit or release candidate branches.
2023-09-27 16:42:54 +00:00
engine-flutter-autoroll 2a19b71a82
Roll Packages from 619af75f7966 to 21c2ebb39c07 (6 revisions) (#135602)
619af75f79...21c2ebb39c

2023-09-26 43054281+camsim99@users.noreply.github.com [Android] Add new tasks for subset of tests to run API 33 (flutter/packages#4974)
2023-09-26 stuartmorgan@google.com [video_player] Update iOS prefixes (flutter/packages#4994)
2023-09-26 srawlins@google.com [go_router] Fix @tool directive with missing @end-tool (flutter/packages#4998)
2023-09-26 84124091+opxdelwin@users.noreply.github.com [GoRouter] option to override initial route set by platform  (flutter/packages#4717)
2023-09-26 ditman@gmail.com [video_player] Ensures autoplay is false on the web. (flutter/packages#4961)
2023-09-26 34871572+gmackall@users.noreply.github.com [camera_android] Downgrade to AGP 7.3.0 to fix build_alll_packages test failures (flutter/packages#4997)

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://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-09-27 16:06:49 +00:00
Flutter GitHub Bot 9fedb1a6ce
Marks Linux_pixel_7pro hello_world_impeller to be unflaky (#135564)
<!-- meta-tags: To be used by the automation script only, DO NOT MODIFY.
{
  "name": "Linux_pixel_7pro hello_world_impeller"
}
-->
The test has been passing for [50 consecutive
runs](https://data.corp.google.com/sites/flutter_infra_metrics_datasite/flutter_check_test_flakiness_status_dashboard/?p=BUILDER_NAME:%22Linux_pixel_7pro%20hello_world_impeller%22).
This test can be marked as unflaky.
2023-09-27 08:35:32 -07:00
Daco Harkes ff4a0f676f
Native assets support for Windows (#134203)
Support for FFI calls with `@Native external` functions through Native assets on Windows. This enables bundling native code without any build-system boilerplate code.

For more info see:

* https://github.com/flutter/flutter/issues/129757

### Implementation details for Windows.

Mainly follows the design of https://github.com/flutter/flutter/pull/134031.

Specifically for Windows in this PR is the logic for finding the compiler `cl.exe` and environment variables that contain the paths to the Windows headers `vcvars.bat` based on `vswhere.exe`.
2023-09-27 12:22:58 +00:00
Alex Li 3e7c388e91
flutter config --list (#135401)
Resolves #81831.

The PR improves the `config` command in below ways:
- Does not print the settings in usages or other options.
- Adds the `--list` flag to print the full settings list.
- Separates usages for settings and analytics.
- Prints the restart tip when clearing features.
2023-09-27 07:02:13 +00:00
engine-flutter-autoroll 3ad9998cf0
Roll Flutter Engine from 0a8ad236e4af to f70f65f7a622 (5 revisions) (#135549)
0a8ad236e4...f70f65f7a6

2023-09-27 skia-flutter-autoroll@skia.org Roll Skia from d1215b38667c to 76aecbaea259 (1 revision) (flutter/engine#46309)
2023-09-27 skia-flutter-autoroll@skia.org Roll Skia from bc4f22353590 to d1215b38667c (4 revisions) (flutter/engine#46306)
2023-09-26 skia-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from a56c8yPp4DDlj_Qbl... to Lg6FR6iDnZeV6y-E8... (flutter/engine#46302)
2023-09-26 ychris@google.com [ios] Fix app extension not able to find assets from unloaded bundle (flutter/engine#46283)
2023-09-26 leroux_bruno@yahoo.fr [Android] Fix enableSuggestions set to false not honored (flutter/engine#46037)

Also rolling transitive DEPS:
  fuchsia/sdk/core/linux-amd64 from a56c8yPp4DDl to Lg6FR6iDnZeV

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 jacksongardner@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-09-27 06:59:59 +00:00
engine-flutter-autoroll bea63d7c81
Roll Flutter Engine from acdb364a42d5 to 0a8ad236e4af (5 revisions) (#135527)
acdb364a42...0a8ad236e4

2023-09-26 1961493+harryterkelsen@users.noreply.github.com [canvaskit] Use DirectionalLight_Shadow flag for drawing shadows (flutter/engine#46292)
2023-09-26 30870216+gaaclarke@users.noreply.github.com [Impeller] fixes behavior for blurred rounded rect clear (flutter/engine#46167)
2023-09-26 skia-flutter-autoroll@skia.org Roll Skia from dd6a4e3655fc to bc4f22353590 (6 revisions) (flutter/engine#46299)
2023-09-26 30870216+gaaclarke@users.noreply.github.com Clean up the docstring for ColorFilter.matrix (flutter/engine#46298)
2023-09-26 49699333+dependabot[bot]@users.noreply.github.com Bump uuid from 4.0.0 to 4.1.0 in /lib/web_ui (flutter/engine#46293)

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 jacksongardner@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-09-27 00:46:25 +00:00
Casey Hillers a1639be4a0
Revert "Switch flutter_tools to run frontend server from AOT snapshot" (#135537)
Reverts flutter/flutter#135255

This broke Google Testing, and requires an internal patch before relanding.
2023-09-27 00:19:42 +00:00
Mateus Felipe C. C. Pinto eae421e433
[documentation] remove repeated "For example," in RenderSliverEdgeInsetsPadding documentation (#135297)
There was a repeated "For example," in the documentation of `RenderSliverEdgeInsetsPadding`. This PR fix this.
2023-09-27 00:17:21 +00:00
Christopher Fujino 851497ffc9
[flutter_tools] fix tests with no native assets running native asset build (#135474)
Fixes https://github.com/flutter/flutter/issues/135461
2023-09-26 23:05:11 +00:00
Kate Lovett 67d4a83116
Allow multiple ParentDataWidgets to write to ParentData (#133581)
Fixes https://github.com/flutter/flutter/issues/133089

This allows more than one ParentDataWidget to write to the ParentData of a child render object. Previously only one was allowed. There are some rules though:
1. Only one of a given type of `ParentDataWidget` can write to the `ParentData` of a given child.
  a. For example, 2 `Positioned` widgets wrapping a child of a `Stack` would not be allowed, as only one of type `Positioned` can contribute data.

2. The type of `ParentData` **must** be compatible with all of the `ParentDataWidget`s that want to contribute data.
  a. For example, `TwoDimensionalViewportParentData` mixes in the `KeepAliveParentDataMixin`. So the `ParentData` of a given child would be compatible with the `KeepAlive` `ParentDataWidget`, as well as another `ParentDataWidget` that writes `TwoDimensionalViewportParentData` (or a subclass of `TwoDimensionalViewportParentData` - This was the motivation for this change, where a `ParentDataWidget` is being used in `TableView` with the parent data type being a subclass of `TwoDimensionalViewportParentData`.)
2023-09-26 22:38:18 +00:00
Renzo Olivares d81c8aa88b
SelectionArea long press selection overlay behavior should match native (#133967)
During a long press, on native iOS the context menu does not show until the long press has ended. The handles are shown immediately when the long press begins. This is true for static and editable text.

For static text on Android, the context menu appears when the long press is initiated, but the handles do not appear until the long press has ended. For editable text on Android, the context menu does not appear until the long press ended, and the handles also do not appear until the end.

For both platforms in editable/static contexts the context menu does not show while doing a long press drag.

I think the behavior where the context menu is not shown until the long press ends makes the most sense even though Android varies in this depending on the context. The user is not able to react to the context menu until the long press has ended.

Other details:
On a windows touch screen device the context menu does not show up until the long press ends in editable/static text contexts. On a long press hold it selects the word on drag start as well as popping up the selection handles (static text).
2023-09-26 22:06:15 +00:00
Derek Xu c21bf45b20
Switch flutter_tools to run frontend server from AOT snapshot (#135255)
Co-authored-by: Christopher Fujino <fujino@google.com>
2023-09-26 17:20:37 -04:00
engine-flutter-autoroll 54678fdb60
Roll Flutter Engine from 7b989a28514e to acdb364a42d5 (2 revisions) (#135516)
7b989a2851...acdb364a42

2023-09-26 skia-flutter-autoroll@skia.org Roll Fuchsia Mac SDK from we5owZaebdO_3kyjz... to OMrTgAfDg9PKXTzq0... (flutter/engine#46294)
2023-09-26 skia-flutter-autoroll@skia.org Roll Skia from 8264a73430de to dd6a4e3655fc (2 revisions) (flutter/engine#46291)

Also rolling transitive DEPS:
  fuchsia/sdk/core/mac-amd64 from we5owZaebdO_ to OMrTgAfDg9PK

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 jacksongardner@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-09-26 19:41:19 +00:00
Loïc Sharma 7143284102
[Windows] Add more Arm64 compile and run tests (#135475)
Part of: https://github.com/flutter/flutter/issues/129806

Test runs kicked off using `led`:
* Compile tests
    * ✅ [flutter_gallery_win_desktop__compile](a23b73ca25/+/build.proto?server=chromium-swarm.appspot.com&fbclid=IwAR2Yv8iS9YbTxMZKS2i5zmAz9E8FCNjW6waLq4e8HwtaFtMlapl66UHf73w)
* Start up tests
    * ✅ [windows_startup_test](e615b28993/+/build.proto?server=chromium-swarm.appspot.com&fbclid=IwAR1YtPTpAr6FRq71fy392orp6PO8t9jN8n-mpWvlDF0xRnnOsq3zsAPabWg)
    * ✅ [flutter_gallery_win_desktop__start_up](a0148122f8/+/build.proto?server=chromium-swarm.appspot.com&fbclid=IwAR29O3jW-LyaVAwD54jUmnhfZ2mswqtaZascRoGvteT5gaHihxKI4IastgM)
    * ✅ [flutter_view_win_desktop__start_up](6dac552365/+/build.proto?server=chromium-swarm.appspot.com&fbclid=IwAR2_irHDuoZ0V-PSjYDW082yx8ZeDVhOIk0yjQBAZNVa5iKVIGAWZs8v4lo)
    * ✅ [platform_view_win_desktop__start_up](e6522c77bc/+/build.proto?server=chromium-swarm.appspot.com&fbclid=IwAR2X7KJDGjQUWJtpq7KY-nUFK-LA6LvmrAinzj0QuF8pEbpwfsAz6Kv3OkM)
    * ✅ [complex_layout_win_desktop__start_up](a811334185/+/build.proto?server=chromium-swarm.appspot.com&fbclid=IwAR0gIiXFMnB_MSaqUxVyTpgpJqc37xSKqOzEsf2oD_oU-AhKPqrGQ-ZD7IY)
* `flutter run` console output tests
    * ✅ [run_debug_test_windows](1b275a8b16/+/build.proto?server=chromium-swarm.appspot.com&fbclid=IwAR1IlBr0824cq9UKi46j_11eto6HTEQ9KVXF5Is1ZxcSIO7G6IlN-slsyI8)
    * ✅ [run_release_test_windows](5b259bb5e2/+/build.proto?server=chromium-swarm.appspot.com&fbclid=IwAR3DSHzCGL-KN26E-7hQL58qxV2p0Dtb9hE4AZ0HvEY4hp8mCMzX9jznsFQ)

/cc @pbo-linaro
2023-09-26 19:27:00 +00:00
Victoria Ashworth 3cfe3720d6
Wait for CONFIGURATION_BUILD_DIR to update when debugging with Xcode (#135444)
So there appears to be a race situation between the flutter CLI and Xcode. In the CLI, we update the `CONFIGURATION_BUILD_DIR` in the Xcode build settings and then tell Xcode to install, launch, and debug the app. When Xcode installs the app, it should use the `CONFIGURATION_BUILD_DIR` to find the bundle. However, it appears that sometimes Xcode hasn't processed the change to the build settings before the install happens, which causes it to not be able to find the bundle.

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

--- 

Since it's a timing issue, there's not really a consistent way to test it.

I was able to confirm that it works, though, by using the following steps:
1. Create a flutter project
2. Open the project in Xcode
3. `flutter clean`
4. `flutter run --profile -v`

If I saw a print line `stderr: CONFIGURATION_BUILD_DIR: build/Debug-iphoneos`, that means it first found the old and incorrect `CONFIGURATION_BUILD_DIR` before updating to the the new, so I was able to confirm that it would wait until it updated.
2023-09-26 17:48:19 +00:00
engine-flutter-autoroll 936763f589
Roll Packages from e548ae1d2045 to 619af75f7966 (4 revisions) (#135505)
e548ae1d20...619af75f79

2023-09-25 47866232+chunhtai@users.noreply.github.com [go_router] Fixes the Android back button ignores top level route's o… (flutter/packages#4984)
2023-09-25 49699333+dependabot[bot]@users.noreply.github.com Bump actions/checkout from 4.0.0 to 4.1.0 (flutter/packages#4988)
2023-09-25 34871572+gmackall@users.noreply.github.com [camera_android] Set buildconfig to true for compatibility with AGP 8.0+ (flutter/packages#4951)
2023-09-25 stuartmorgan@google.com [various] Remove obsolete symlinks (flutter/packages#4993)

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://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-09-26 16:03:00 +00:00
engine-flutter-autoroll feb5eee4ec
Roll Flutter Engine from 230dfeed79ed to 7b989a28514e (2 revisions) (#135494)
230dfeed79...7b989a2851

2023-09-26 skia-flutter-autoroll@skia.org Roll Skia from b961fc353715 to 8264a73430de (1 revision) (flutter/engine#46289)
2023-09-26 49699333+dependabot[bot]@users.noreply.github.com Bump actions/checkout from 4.0.0 to 4.1.0 (flutter/engine#46290)

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 jacksongardner@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-09-26 13:42:37 +00:00
engine-flutter-autoroll f11fb9a36b
Roll Flutter Engine from 75950dc280d5 to 230dfeed79ed (3 revisions) (#135489)
75950dc280...230dfeed79

2023-09-26 skia-flutter-autoroll@skia.org Roll Dart SDK from 7c749713c688 to 7c3588c05f87 (1 revision) (flutter/engine#46288)
2023-09-26 godofredoc@google.com Prepare fuchsia script to coexist with v1 and v2 of fuchsia builders. (flutter/engine#46126)
2023-09-26 skia-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from uY9WEf2tJxa1Hpp4v... to a56c8yPp4DDlj_Qbl... (flutter/engine#46285)

Also rolling transitive DEPS:
  fuchsia/sdk/core/linux-amd64 from uY9WEf2tJxa1 to a56c8yPp4DDl

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 jacksongardner@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-09-26 08:39:23 +00:00
engine-flutter-autoroll f6f18d0688
Roll Flutter Engine from 6bf8067392cf to 75950dc280d5 (4 revisions) (#135480)
6bf8067392...75950dc280

2023-09-26 skia-flutter-autoroll@skia.org Roll Dart SDK from 216b25f9ea6f to 7c749713c688 (1 revision) (flutter/engine#46284)
2023-09-25 bdero@google.com [Impeller] Support applying color filters on the CPU for the RRect fast path. (flutter/engine#46281)
2023-09-25 skia-flutter-autoroll@skia.org Roll Skia from 00e4d00021a7 to b961fc353715 (6 revisions) (flutter/engine#46280)
2023-09-25 jonahwilliams@google.com [Impeller] Dont blow away coverage hint on advanced blends. (flutter/engine#46219)

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 jonahwilliams@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-09-26 03:09:32 +00:00
Callum Moffat b097d24022
Add "Frame Request Pending" lag to collected metrics (#135279)
This measures the wall clock time between a new frame being scheduled in dart code to the Vsync callback in the engine

It's an important source of lag which isn't shown in the top-level UI / Build time graphs, and can correlate with "invisible" missed/non-scheduled frames

I had to change a few unrelated timings in the test, it was only passing based on luck of sort order, and broke when I added more entries to the timeline.

Part of #129150
2023-09-26 00:35:57 +00:00
engine-flutter-autoroll d28c10ceb2
Roll Flutter Engine from 3f606570ac7c to 6bf8067392cf (8 revisions) (#135472)
3f606570ac...6bf8067392

2023-09-25 54558023+keyonghan@users.noreply.github.com Restore goma from rbe before 3.16 branching (flutter/engine#46272)
2023-09-25 bkonyi@google.com Add package:tar to DEPS to fix broken 3H configurations (flutter/engine#46273)
2023-09-25 skia-flutter-autoroll@skia.org Roll Fuchsia Mac SDK from SNqQGAfjWL3PbUABh... to we5owZaebdO_3kyjz... (flutter/engine#46270)
2023-09-25 skia-flutter-autoroll@skia.org Roll Skia from a19a325cd670 to 00e4d00021a7 (6 revisions) (flutter/engine#46269)
2023-09-25 jonahwilliams@google.com [Impeller] fallback to position data if texture coordinates are undefined. (flutter/engine#46264)
2023-09-25 ian@mckellar.org fuchsia: Update FIDL for unknown interactions (flutter/engine#45773)
2023-09-25 jonahwilliams@google.com [Engine] use QoS classes in iOS engine. (flutter/engine#46265)
2023-09-25 jonahwilliams@google.com Revert "Switch goma to reclient for Linux clang_tidy targets (#45898)" (flutter/engine#46266)

Also rolling transitive DEPS:
  fuchsia/sdk/core/mac-amd64 from SNqQGAfjWL3P to we5owZaebdO_

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 jonahwilliams@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-09-26 00:15:40 +00:00
engine-flutter-autoroll 965337be6a
Roll Flutter Engine from 1ae3d20332f0 to 3f606570ac7c (6 revisions) (#135457)
1ae3d20332...3f606570ac

2023-09-25 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Switch goma to reclient for Linux clang_tidy targets" (flutter/engine#46267)
2023-09-25 43759233+kenzieschmoll@users.noreply.github.com Add description to assert in `history.dart` (flutter/engine#46072)
2023-09-25 54558023+keyonghan@users.noreply.github.com Switch goma to reclient for Linux clang_tidy targets (flutter/engine#45898)
2023-09-25 skia-flutter-autoroll@skia.org Roll Skia from e16a9b5b2c48 to a19a325cd670 (6 revisions) (flutter/engine#46261)
2023-09-25 skia-flutter-autoroll@skia.org Roll Dart SDK from 692273b46610 to 216b25f9ea6f (6 revisions) (flutter/engine#46260)
2023-09-25 54558023+keyonghan@users.noreply.github.com Switch goma to reclient for Linux fuchsia/unopt/android_aot (flutter/engine#45899)

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 jonahwilliams@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-09-25 21:14:51 +00:00
Chris Bracken cb4b4d4ac9
[macOS,iOS] Improve CocoaPods upgrade instructions (#135453)
In our CocoaPods doctor check, if the version of CocoaPods is found to
be too low, rather than emitting a link to the install instructions,
emit a link to the upgrade instructions.

Since this check operates on CocoaPodsStatus, an enum, swtich to using a
case statement and cover all cases.


## Pre-launch Checklist

- [X] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [X] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [X] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [X] I signed the [CLA].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [X] I updated/added relevant documentation (doc comments with `///`).
- [X] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [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/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-09-25 12:27:31 -07:00
Edgar Jan 79caa8373c
Fix and Test Conditional Validator Behavior in FormField (#132714)
In the FormField widget, if a validator is initially set (and validation fails), then subsequently the validator is set to null, the form incorrectly retains its error state. This is not expected behavior as removing the validator should clear any validation errors.
2023-09-25 19:17:07 +00:00
Chip Weinberger fffbbf279e
[Velocity Tracker] Fix: Issue 97761: Flutter Scrolling does not match iOS; inadvertent scrolling when user lifts up finger (#132291)
## Issue

**Issue:** https://github.com/flutter/flutter/issues/97761

https://github.com/flutter/flutter/assets/1863934/53c5e0df-b85a-483c-a17d-bddd18db3aa9

## The Cause:

The bug is very simple to understand - `velocity_tracker.dart` **only adds new samples while your finger is moving**.

**Therefore**, if you move your finger quickly & (important) stop suddenly with no extra movement, the last 3 samples will all be > 0 dy. Regardless of how long you wait, you will get movement when you lift up your finger.

**Logs from velocity_tracker.dart:**
Notice: all 3 `_previousVelocityAt` are `dy > 0` despite a 2 second delay since the last scroll
```
// start moving finger
flutter: addPosition dy:-464.0
flutter: addPosition dy:-465.0
flutter: addPosition dy:-466.0
flutter: addPosition dy:-467.0
flutter: addPosition dy:-468.0
flutter: addPosition dy:-469.0
flutter: addPosition dy:-470.0
// stop moving finger here, keep it still for 2 seconds & lift it up
flutter: _previousVelocityAt(-2) samples(-467.0, -468.0)) dy:-176.772140710624
flutter: _previousVelocityAt(-1) samples(-468.0, -469.0)) dy:-375.0937734433609
flutter: _previousVelocityAt(0) samples(-469.0, -470.0)) dy:-175.71604287471447
flutter: primaryVelocity DragEndDetails(Velocity(0.0, -305.5)).primaryVelocity
flutter: createBallisticSimulation pixels 464.16666666666663 velocity 305.4699824197211
```

## The Fix

**There are 3 options to fix it:**
A. sample uniformly *per unit time* (a larger more risky change, hurts battery life)
B. consider elapsed time since the last sample. If greater than X, assume no more velocity. (easy & just as valid)
C. similar to B, but instead add "ghost samples" of velocity zero, and run calculations as normal (a bit tricker, of dubious benefit imo)

**For Option B I considered two approaches:**
1. _get the current timestamp and compare to event timestamp._  This is tricky because events are documented to use an arbitrary timescale & I wasn't able to find the code that generates the timestamps. This approach could be considered more.
2. _get a new timestamp using Stopwatch and compare now vs when the last sample was added._ This is the solution implemented here.  There is a limitation in that we don't know when addSamples is called relative to the event. But, this estimation is already on a very low latency path & still it gives us a *minimum* time bound which is sufficient for comparison. 

**This PR chooses the simplest of the all solutions. Please try it our yourself, it completely solves the problem 😀** Option _B.1_ would be a nice alternative as well, if we can define and access the same timesource as the pointer tracker in a maintainable simple way.

## After Fix

https://github.com/flutter/flutter/assets/1863934/be50d8e7-d5da-495a-a4af-c71bc541cbe3
2023-09-25 19:09:51 +00:00
chunhtai 52914c7628
simulatedAccessibilityTraversal account for force merging (#135178)
fixes https://github.com/flutter/flutter/issues/135144
2023-09-25 17:40:06 +00:00
engine-flutter-autoroll def1753270
Roll Flutter Engine from 2c4c1108aa87 to 1ae3d20332f0 (4 revisions) (#135438)
2c4c1108aa...1ae3d20332

2023-09-25 54558023+keyonghan@users.noreply.github.com Switch goma to reclient for Linux host engine targets (flutter/engine#45884)
2023-09-25 skia-flutter-autoroll@skia.org Roll Skia from 7a49397a02b4 to e16a9b5b2c48 (1 revision) (flutter/engine#46258)
2023-09-25 skia-flutter-autoroll@skia.org Roll Skia from 569a30fbdbdf to 7a49397a02b4 (2 revisions) (flutter/engine#46257)
2023-09-25 skia-flutter-autoroll@skia.org Roll Skia from 31ceb1669d1c to 569a30fbdbdf (1 revision) (flutter/engine#46256)

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 jonahwilliams@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-09-25 17:34:55 +00:00
engine-flutter-autoroll 4ae2e91c64
Roll Packages from 98ebcd3d9c05 to e548ae1d2045 (5 revisions) (#135431)
98ebcd3d9c...e548ae1d20

2023-09-23 49699333+dependabot[bot]@users.noreply.github.com Bump github/codeql-action from 2.21.7 to 2.21.8 (flutter/packages#4952)
2023-09-23 engine-flutter-autoroll@skia.org Manual roll Flutter from 8936504163 to f92884c7b8 (48 revisions) (flutter/packages#4985)
2023-09-22 geral.sbi2@gmail.com [image_picker_android] check if data from result is empty when picking a single img or video (flutter/packages#4836)
2023-09-22 me@nils.re [camera_android] Removes usage of `_ambiguate` method in tests (flutter/packages#4948)
2023-09-22 49699333+dependabot[bot]@users.noreply.github.com [sign_in]: Bump com.google.android.gms:play-services-auth from 20.6.0 to 20.7.0 in /packages/google_sign_in/google_sign_in_android/android (flutter/packages#4841)

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://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-09-25 16:00:01 +00:00
engine-flutter-autoroll 9c7ab9014e
Roll Flutter Engine from e6d3bac5c723 to 2c4c1108aa87 (1 revision) (#135424)
e6d3bac5c7...2c4c1108aa

2023-09-25 49699333+dependabot[bot]@users.noreply.github.com Bump archive from 3.3.9 to 3.4.2 in /lib/web_ui (flutter/engine#46253)

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 jonahwilliams@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-09-25 14:35:26 +00:00
Zachary Anderson 16ae8c0109
Revert "Marks Linux_pixel_7pro hello_world_impeller to be unflaky" (#135388)
Reverts flutter/flutter#135372
2023-09-25 14:13:30 +00:00