Commit Graph

1371 Commits

Author SHA1 Message Date
Greg Spencer
4ce7fdd92b
Remove 'must be non-null' and 'must not be null' comments from non-framework libraries (#134994)
## Description

This removes all of the comments that are of the form "so-and-so must not be null" or "so-and-so must be non-null" from the cases where those values are defines as non-nullable values.

This PR removes them from the library in the repo that don't have anything to do with the framework.

This was done by hand, since it really didn't lend itself to scripting, so it needs to be more than just spot-checked, I think. I was careful to leave any comment that referred to parameters that were nullable, but I may have missed some.

In addition to being no longer relevant after null safety has been made the default, these comments were largely fragile, in that it was easy for them to get out of date, and not be accurate anymore anyhow.

This did create a number of constructor comments which basically say "Creates a [Foo].", but I don't really know how to avoid that in a large scale change, since there's not much you can really say in a lot of cases.  I think we might consider some leniency for constructors to the "Comment must be meaningful" style guidance (which we de facto have already, since there are a bunch of these).

## Related PRs
- https://github.com/flutter/flutter/pull/134984
- https://github.com/flutter/flutter/pull/134991
- https://github.com/flutter/flutter/pull/134992
- https://github.com/flutter/flutter/pull/134993

## Tests
 - Documentation only change.
2023-09-19 17:26:07 +00:00
Polina Cherkasova
60fae58a24
Add disposal mechanism for created Layers to TestRecordingPaintingContext. (#134768)
Contributes to https://github.com/flutter/flutter/issues/134575
2023-09-16 19:50:23 +00:00
Michael Goderbauer
983ecf069c
Enable private field promotion for other packages (#134475)
New feature in upcoming Dart 3.2. See https://github.com/dart-lang/language/issues/2020. Feature is enabled by bumping the min SDK version to 3.2.

Part of https://github.com/flutter/flutter/issues/134476.
2023-09-12 21:08:19 +00:00
Polina Cherkasova
0d30546c74
TestWidgetsFlutterBinding should dispose old RestorationManager on reset. (#133999) 2023-09-07 17:49:33 -07:00
Polina Cherkasova
ee0a15d4f5
MinimumTextContrastGuideline should dispose image. (#133861) 2023-09-06 11:00:56 -07:00
Tong Mu
e66ec8e0b0
Dispose AnimationSheetRecorder to avoid leaks (#133365)
This PR adds `AnimationSheetRecorder.dispose`, which disposes all the images generated by the recorder, eliminating leaks.

Fixes https://github.com/flutter/flutter/issues/133071.
2023-09-05 20:49:05 +00:00
Renzo Olivares
b1f691c9fc
Remove deprecated TestWindow.platformBrightnessTestValue/TestWindow.clearPlatformBrightnessTestValue (#133178)
Part of: https://github.com/flutter/flutter/issues/133171
2023-09-01 20:35:58 +00:00
Renzo Olivares
959cdb79fb
Remove deprecated TestWindow.textScaleFactorTestValue/TestWindow.clearTextScaleFactorTestValue (#133176)
Part of: https://github.com/flutter/flutter/issues/133171
2023-09-01 20:31:16 +00:00
Kate Lovett
72bd36026f
Remove deprecated onPlatformMessage from TestWindow and TestPlatformDispatcher (#133183) 2023-08-25 15:46:11 -05:00
Michael Goderbauer
ad78cf3506
Remove deprecated *TestValues from TestWindow (#131098)
Part of https://github.com/flutter/flutter/issues/133171.

Removes from `TestWindow`:
* `localeTestValue`
* `clearLocaleTestValue`
* `localesTestValue`
* `clearLocalesTestValue`
* `initialLifecycleStateTestValue`
* `alwaysUse24HourFormatTestValue`
* `clearAlwaysUse24HourTestValue`
* `brieflyShowPasswordTestValue`
* `defaultRouteNameTestValue`
* `clearDefaultRouteNameTestValue`
* `semanticsEnabledTestValue`
* `clearSemanticsEnabledTestValue`
* `accessibilityFeaturesTestValue`
* `clearAccessibilityFeaturesTestValue`

These properties have reached the end of their deprecation period.
2023-08-23 18:31:04 +00:00
Ivan Inozemtsev
5665655d39
Add support for Future<List<int>?> to MatchesGoldenFile (#132965)
Otherwise when tests use `expectLater(getBytesOrNull(), matchesGoldenFile(...))`, they may fail in sound null safety mode and pass in weak null safety mode.

Fixes https://github.com/flutter/flutter/issues/132964
2023-08-22 19:40:18 +00:00
Angelo Silvestre
f9b91734a1
Add deleteBackwardByDecomposingPreviousCharacter mapping for tests (#132919)
In  `MacOSTestTextInputKeyHandler`, there are some mappings from shortcuts to generate macOS selectors. However, `ctrl + backspace` isn't mapped to `deleteBackwardByDecomposingPreviousCharacter:`.

This PR adds the mapping for `deleteBackwardByDecomposingPreviousCharacter:`.

Fixes: https://github.com/flutter/flutter/issues/132917
2023-08-21 23:27:19 +00:00
Ian Hickson
ccdf826466
PaginatedDataTable improvements (#131374)
- slightly improved assert message when row cell counts don't match column count.
- more breadcrumbs in API documentation. more documentation in general.
- added more documentation for the direction of the "ascending" arrow.
- two samples for PaginatedDataTable.
- make PaginatedDataTable support hot reloading across changes to the number of columns.
- introduce matrix3MoreOrLessEquals. An earlier version of this PR used it in tests, but eventually it was not needed. The function seems useful to keep though.
2023-08-15 00:55:07 +00:00
pdblasi-google
e1ec3581bd
Updates AutomatedTestWidgetsFlutterBinding.pump to support microsecond precision (#132401)
* Updated `AutomatedTestWidgetsFlutterBinding.pump` to use microseconds instead of milliseconds
* Added a test to prevent regression of the microsecond precision
* Fixed a test that incorrectly assumed millisecond precision

Closes #112610
2023-08-14 23:24:47 +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
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
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
Kate Lovett
f054f5aa09
Move mock canvas to flutter_test (#131631)
Fixes https://github.com/flutter/flutter/issues/59413

This relocates `mock_canvas.dart` and `recording_canvas.dart` from `flutter/test/rendering` to `flutter_test`. 

The testing functionality afforded by mock_canvas should be available to everyone, not just the framework. :)

mock_canvas.dart needed a bit of cleanup - things like formatting and super parameters.
2023-08-07 23:43:03 +00:00
Qun Cheng
71d96ddf9c
Add Expanded/Collapsed State for Semantics (#131233) 2023-07-31 12:09:27 -07:00
Jason Simmons
8a84437989
Manual roll to engine commit 9b14c382 using Dart SDK version 3.2.x (#131371)
Dart SDK 3.2.x requires a new version of the dart_internal package.
2023-07-27 17:33:07 +00:00
Michael Goderbauer
6f09064e78
Stand-alone widget tree with multiple render trees to enable multi-view rendering (#125003)
This change enables Flutter to generate multiple Scenes to be rendered into separate FlutterViews from a single widget tree. Each Scene is described by a separate render tree, which are all associated with the single widget tree.

This PR implements the framework-side mechanisms to describe the content to be rendered into multiple views. Separate engine-side changes are necessary to provide these views to the framework and to draw the framework-generated Scene into them.

## Summary of changes

The details of this change are described in [flutter.dev/go/multiple-views](https://flutter.dev/go/multiple-views). Below is a high-level summary organized by layers.

### Rendering layer changes

* The `RendererBinding` no longer owns a single `renderView`. In fact, it doesn't OWN any `RenderView`s at all anymore. Instead, it offers an API (`addRenderView`/`removeRenderView`) to add and remove `RenderView`s that then will be MANAGED by the binding. The `RenderView` itself is now owned by a higher-level abstraction (e.g. the `RawView` Element of the widgets layer, see below), who is also in charge of adding it to the binding. When added, the binding will interact with the `RenderView` to produce a frame (e.g. by calling `compositeFrame` on it) and to perform hit tests for incoming pointer events. Multiple `RenderView`s can be added to the binding (typically one per `FlutterView`) to produce multiple Scenes.
* Instead of owning a single `pipelineOwner`, the `RendererBinding` now owns the root of the `PipelineOwner` tree (exposed as `rootPipelineOwner` on the binding). Each `PipelineOwner` in that tree (except for the root) typically manages its own render tree typically rooted in one of the `RenderView`s mentioned in the previous bullet. During frame production, the binding will instruct each `PipelineOwner` of that tree to flush layout, paint, semantics etc. A higher-level abstraction (e.g. the widgets layer, see below) is in charge of adding `PipelineOwner`s to this tree.
* Backwards compatibility: The old `renderView` and `pipelineOwner` properties of the `RendererBinding` are retained, but marked as deprecated. Care has been taken to keep their original behavior for the deprecation period, i.e. if you just call `runApp`, the render tree bootstrapped by this call is rooted in the deprecated `RendererBinding.renderView` and managed by the deprecated `RendererBinding.pipelineOwner`.

### Widgets layer changes

* The `WidgetsBinding` no longer attaches the widget tree to an existing render tree. Instead, it bootstraps a stand-alone widget tree that is not backed by a render tree. For this, `RenderObjectToWidgetAdapter` has been replaced by `RootWidget`.
* Multiple render trees can be bootstrapped and attached to the widget tree with the help of the `View` widget, which internally is backed by a `RawView` widget. Configured with a `FlutterView` to render into, the `RawView` creates a new `PipelineOwner` and a new `RenderView` for the new render tree. It adds the new `RenderView` to the `RendererBinding` and its `PipelineOwner` to the pipeline owner tree.
* The `View` widget can only appear in certain well-defined locations in the widget tree since it bootstraps a new render tree and does not insert a `RenderObject` into an ancestor. However, almost all Elements expect that their children insert `RenderObject`s, otherwise they will not function properly. To produce a good error message when the `View` widget is used in an illegal location, the `debugMustInsertRenderObjectIntoSlot` method has been added to Element, where a child can ask whether a given slot must insert a RenderObject into its ancestor or not. In practice, the `View` widget can be used as a child of the `RootWidget`, inside the `view` slot of the `ViewAnchor` (see below) and inside a `ViewCollection` (see below). In those locations, the `View` widget may be wrapped in other non-RenderObjectWidgets (e.g. InheritedWidgets).
* The new `ViewAnchor` can be used to create a side-view inside a parent `View`. The `child` of the `ViewAnchor` widget renders into the parent `View` as usual, but the `view` slot can take on another `View` widget, which has access to all inherited widgets above the `ViewAnchor`. Metaphorically speaking, the view is anchored to the location of the `ViewAnchor` in the widget tree.
* The new `ViewCollection` widget allows for multiple sibling views as it takes a list of `View`s as children. It can be used in all the places that accept a `View` widget.

## Google3

As of July 5, 2023 this change passed a TAP global presubmit (TGP) in google3: tap/OCL:544707016:BASE:545809771:1688597935864:e43dd651

## Note to reviewers

This change is big (sorry). I suggest focusing the initial review on the changes inside of `packages/flutter` first. The majority of the changes describe above are implemented in (listed in suggested review order):

* `rendering/binding.dart`
* `widgets/binding.dart`
* `widgets/view.dart`
* `widgets/framework.dart`

All other changes included in the PR are basically the fallout of what's implemented in those files. Also note that a lot of the lines added in this PR are documentation and tests.

I am also very happy to walk reviewers through the code in person or via video call, if that is helpful.

I appreciate any feedback.

## Feedback to address before submitting ("TODO")
2023-07-17 16:14:08 +00:00
Alexander Aprelev
3b8f6c4020
Upgrade framework pub dependencies, roll engine with rolled dart sdk (#130163)
Manual roll is needed because incoming dart sdk requires updated version
vm_snapshot_analysis (>=0.7.4).


5ae09b8b4f...7c83ea3e85

```
7c83ea3e85 Reland "Manual roll Dart SDK from 2d98d9e27dae to 0b07debd5862 (21 revisions) (#43457)" (#43472)
9ef3e8d533 Roll Skia from 5eba922297bb to 93c92f97f5ab (2 revisions) (#43471)
```

Remove implementation of SuitePlatform from the test as well. Remove use
of fake cwd from SuitePlatform as it can't be properly faked.
2023-07-07 13:55:35 -07:00
Michael Goderbauer
55b6f049a6
Enable unreachable_from_main lint - it is stable now!!1 (#129854)
PLUS: clean-up of all the unreachable stuff.
2023-07-06 00:09:01 +00:00
pdblasi-google
e1702a96f6
Removes deprecated APIs from v2.6 in binding.dart and widget_tester.dart (#129663)
Removes deprecated APIs from v2.6 in `binding.dart` and `widget_tester.dart`

Resolves #129654
2023-07-05 19:26:24 +00:00
pdblasi-google
af09b57e20
Removes deprecated APIs from AnimationBuilder (#129657)
Removes deprecated APIs from AnimationBuilder.

Resolves #129653
2023-06-28 20:12:19 +00:00
pdblasi-google
321abcbe4f
Adds dart_fix support to integration_test (#129579)
* Adds fix for `IntegrationTestWidgetsFlutterBinding.runTest(timeout)` to support first round of deprecations for `flutter_test`

Resolves #124346
2023-06-27 18:01:06 +00:00
Michael Goderbauer
5ab5d82a39
Remove AbstractNode from RenderObject and deprecate it (#128973)
It's time to say good bye to an old friend. 
It has outlived its usefulness.
Farewell, AbstractNode! 🫡
2023-06-16 16:16:36 +00:00
Mouad Debbar
a162d7546a
flutter update-packages --force-upgrade (#128908)
- Bumps `vm_service` from `11.6.0` to `11.7.1`
- Bumps `web` from `0.1.3-beta` to `0.1.4-beta` and adds it everywhere.
- Moves `js` from `dependencies` to `dev_dependencies`
2023-06-15 18:17:09 +00:00
William Oprandi
a9f17c876b
Fix syntax error in docstring (#128692) 2023-06-13 15:04:21 -07:00
Hans Muller
ce248e87f9
Update misc tests for Material3 (#128712) 2023-06-13 08:57:27 -07:00
Greg Spencer
a280346193
Add AppLifecycleListener, with support for application exit handling (#123274)
## Description

This adds `AppLifecycleListener`, a class for listening to changes in the application lifecycle, and responding to requests to exit the application.

It depends on changes in the Engine that add new lifecycle states: https://github.com/flutter/engine/pull/42418

Here's a diagram for the lifecycle states. I'll add a similar diagram to the documentation for these classes.

![Application Lifecycle Diagram](https://github.com/flutter/flutter/assets/8867023/f6937002-cb93-4ab9-a221-25de2c45cf0e)

## Related Issues
 - https://github.com/flutter/flutter/issues/30735

## Tests
- Added tests for new lifecycle value, as well as for the `AppLifecycleListener` itself.
2023-06-08 22:57:19 +00:00
Michael Goderbauer
cff67336d0
Add viewId to PointerEvents (#128287)
Follow-up to https://github.com/flutter/engine/pull/42493.
2023-06-06 19:16:02 -07:00
Michael Goderbauer
4c5db40ff5
Clean-up viewId casts in flutter_test (#128256)
Follow-up to https://github.com/flutter/engine/pull/42493.
2023-06-06 17:23:17 +00:00
Nate Bosch
d095f10b44
Use a show over a hide for test_api exports (#128298)
The members which are currently hidden may get removed from `package:test_api` because they have no uses.
https://github.com/dart-lang/test/pull/2030

Switch to a `show` and list all the exported APIs. This is currently a no-op change, and is forward compatible with the breaking change when it lands.

A `show` is also safer than a `hide` when exporting across package boundaries. Adding a new member to a library _can be_ breaking, but is often treated as non-breaking. If a new member is added to `package:test_api/scaffolding.dart` it will need to be manually added to the list to be usable from `package:flutter_test`, but we anyways want to add a CHANGELOG entry for user facing changes.
2023-06-06 16:23:14 +00:00
Michael Goderbauer
17f86df8bd
Migrate SemanticsBinding to onSemanticsActionEvent (#128254)
Follow-up to https://github.com/flutter/engine/pull/42493.
2023-06-05 18:16:06 +00:00
Michael Goderbauer
dffd0c3a9d
Prefix for dart:ui multiview change (#128152)
For https://github.com/flutter/engine/pull/42493.
2023-06-02 19:08:05 -07:00
Michael Goderbauer
e50b2507bf
Pre-migration for dart:ui multi view changes (#128092)
For https://github.com/flutter/engine/pull/42493.
2023-06-02 20:51:09 +00:00
Michael Goderbauer
4cf89cc278
Remove LiveTestRenderView (#127882)
In the multi view world, `RenderViews` are created by the `View` widget and no longer owned by the binding. Prior to this change, the `LiveTestWidgetsFlutterBinding` owned and managed a special subclass of `RenderView`, the `_LiveTestRenderView`. In the new world, where `RenderView`s can be created anywhere in the widget tree where a `View` widget is used, this setup is no longer feasible. This change removes this special `_LiveTestRenderView` and instead adds debug hocks to `RenderView` to allow the `LiveTestWidgetsFlutterBinding` to draw a debug overlay on top of the content of any `RenderView`.
2023-06-02 20:41:05 +00:00
fzyzcjy
ffe94a2267
Add retry flag to flutter_test (#125851)
Closes https://github.com/flutter/flutter/issues/125920

I will add tests, polish code, etc, if this change looks generally OK!
2023-06-01 22:25:52 +00:00
Greg Spencer
a257efc284
Fix handling of AppLifecycleState.hidden (#127987)
## Description

This fixes the parsing of `AppLifecycleState` in the services binding so that it knows what it is.

## Related Issues
 - Fixes https://github.com/flutter/flutter/issues/127974

## Tests
 - Added a test that causes parsing of all the different app lifecycle states.
2023-05-31 22:03:06 +00:00
Christopher Fujino
0763d61f56
[flutter_tools] manually roll pub deps (#127447)
Fixes https://github.com/flutter/flutter/issues/127226
2023-05-30 23:34:52 +00:00
pdblasi-google
07f7ffde50
Adds TestDisplay API for testing Display features (#127525)
* Adds `TestDisplay`
* Updates `TestPlatformDispatcher` to wrap all `Display`s and relate them to their appropriate `TestFlutterView`
* Updates `TestFlutterView` to tie `devicePixelRatio` to its display as per the documentation on `Display`

Closes #127225
2023-05-26 00:04:05 +00:00
Phil Quitslund
d0c0439b8d
fixes to anticipate next Dart linter release (#127211)
The upcoming linter release notices null literals as unnecessary argument values and flags more `type_literal_in_constant_pattern` cases. 

See breakages: https://logs.chromium.org/logs/dart/buildbucket/cr-buildbucket/8780744067138629361/+/u/analyze_flutter_flutter/stdout
2023-05-19 21:27:24 +00:00
Michael Goderbauer
5e1ba701ed
enable no_literal_bool_comparisons lint (#126647) 2023-05-16 16:14:23 +00:00
Polina Cherkasova
ea5eddb5a9
Upgrade leak_tracker to 5.0.0 (#126367)
Fixes https://github.com/flutter/flutter/issues/126259

Updated pubspec:
345f0bffbf/packages/flutter/pubspec.yaml
2023-05-16 04:39:26 +00:00
Tomasz Gucio
99c7e9f088
Add spaces after flow control statements (#126320) 2023-05-15 11:07:30 +02:00
Michael Goderbauer
9b230d239a
Fix leaks (#126144)
Fixes https://github.com/flutter/flutter/issues/126096.
Fixes https://github.com/flutter/flutter/issues/126097.
Fixes https://github.com/flutter/flutter/issues/126102.
Fixes https://github.com/flutter/flutter/issues/126098.
Fixes https://github.com/flutter/flutter/issues/126147.
Work towards https://github.com/flutter/flutter/issues/126100.

Does not fix the OverlyEntry/ModalRoute leak (https://github.com/flutter/flutter/issues/126100).
2023-05-08 09:11:23 +00:00
Pierre-Louis
65dfb555c0
Update packages (#126140)
In particular, update pin for `material_color_utilities` to `0.5.0`.
2023-05-08 09:51:28 +02:00
Ian Hickson
a11da307bf
Minor fixes found while working on blankcanvas (#125751)
This PR contains a series of minor changes to address issues that I happened to run into:

 - Pretty-print errors triggered when handling events that are pending because of having locked event handling. Previously these were just dumped to the console.
 - Add more documentation for `debugPaintPadding`.
 - Add documentation to `Tween` saying how to implement it.
 - Slight formatting changes in the scrollbar code to align some expressions.
 - Since we convert ScrollMetricsNotifications to ScrollNotifications in various places, provide an explicit API to do this. This will make the behaviour consistent throughout, and makes the code easier to understand. Added a test for this.
 - Clarifications to some of the BindingBase and SchedulerBinding documentation.
 - Clarified some documentation in `flutter_test`'s `Finder` class.
2023-05-05 00:34:04 +00:00
Nate Bosch
2089eacc00
Switch imports from test_api to focused libaries (#125854)
Move imports of API available in `hooks.dart` or `scaffolding.dart` to use those more narrow libraries.

Move imports of APIs from `package:matcher` to import directly. The next major version of `test_api` will remove the exports of `matcher` APIs.
2023-05-04 08:01:12 +00:00
Bruno Leroux
af050d95ae
Add a channel to query the engine keyboard state (#122885)
## Description

This PR adds a new channel to query the engine keyboard state.
See https://github.com/flutter/flutter/issues/87391#issuecomment-1228975571 for motivation. 

## Related Issue

Framework side implementation for https://github.com/flutter/flutter/issues/87391.

Once approved the framework will try to query the initial keyboard state from the engine. PRs will be needed on the engine side to answer the framework query.

## Tests

Adds 1 test.
2023-04-28 21:05:20 +00:00
fzyzcjy
37c95a2853
fix: moreOrLessEquals does not allow actual to be integers (#125599)
Close https://github.com/flutter/flutter/issues/125600
2023-04-27 14:28:32 +00:00
Nate Bosch
1789a4244b
Remove some ignores for un-deprecated imports (#125261)
The latest version of `test_api` removed the deprecated annotation for a couple libraries. The deprecations had been a hack to avoid usage from inappropriate places, but they cause trouble and likely weren't effective for that goal.

Remove separate import for `registerException` since that was also moved to be available from the top level `scaffolding.dart` library.
2023-04-22 01:04:24 +00:00
Nate Bosch
dcfd35f8a7
Remove uses of deprecated test_api imports (#124732)
Most of these imports were never appropriate. The `test_api` package was never intended for use in `_test.dart` files.
Where possible move imports to `matcher`, otherwise move them to `test` or `flutter_test`.

Leave uses of `test_api` from `flutter_test` library code.
2023-04-20 20:55:28 +00:00
Flutter GitHub Bot
d85e2fb810
Roll pub packages (#125225)
This PR was generated by `flutter update-packages --force-upgrade`.
2023-04-20 18:28:10 +00:00
chunhtai
8ac94c16b2
MinimumTapTargetGuideline skips nodes at scrollable boundaries (#124615)
fixes https://github.com/flutter/flutter/issues/107615

## 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-04-20 09:09:55 -07:00
Bernardo Ferrari
2e4d976bde
SemanticsFlag/SemanticsAction cleanup (part 4) (#123329)
`SemanticsFlag`/`SemanticsAction` cleanup (part 4)
2023-04-12 19:07:08 +00:00
pdblasi-google
6839b3cbd6
Adds dart_fix support to flutter_test (#124347)
Adds `dart_fix` support to `flutter_test`
2023-04-11 21:09:07 +00:00
Rexios
bf0bdacb29
[flutter_test] Adds method to mock EventChannels (#124415)
[flutter_test] Adds method to mock EventChannels
2023-04-10 17:02:48 +00:00
Eilidh Southren
0f5e513ba8
Update MCU version (#124512)
Update MCU version
2023-04-10 16:44:26 +00:00
Michael Goderbauer
73bd978529
Migrate away from deprecated BinaryMessenger API (#124348)
Migrate away from deprecated BinaryMessenger API
2023-04-07 19:38:52 +00:00
Flutter GitHub Bot
cc4b455521
Roll pub packages (#124364)
Roll pub packages
2023-04-07 17:19:24 +00:00
Zachary Anderson
2f4a6afd30
Revert "[flutter_test] Adds method to mock EventChannels" (#124401)
Reverts flutter/flutter#123726

Analysis failures on CI
https://ci.chromium.org/ui/p/flutter/builders/prod/Linux%20analyze/12890/overview
2023-04-07 10:10:00 -07:00
Rexios
f28eb28f0d
[flutter_test] Adds method to mock EventChannels (#123726)
[flutter_test] Adds method to mock EventChannels
2023-04-07 16:12:27 +00:00
Greg Price
846fcefd21
Fix surface-size state leak in material/paginated_data_table_test (framework shuffle-all 3/n) (#123842)
Fix surface-size state leak in material/paginated_data_table_test (framework shuffle-all 3/n)
2023-04-06 23:34:12 +00:00
Greg Price
09940e4a37
Make tester.startGesture less async, for better stack traces (#123946)
Make tester.startGesture less async, for better stack traces
2023-04-06 19:58:15 +00:00
Ian Hickson
806c1f8186
Deprecate these old APIs (#116793)
Deprecate these old APIs
2023-04-06 19:53:50 +00:00
Michael Goderbauer
25a2dfb302
Rename RenderView.window to RenderView.view (#124060) 2023-04-04 11:22:22 -07:00
Flutter GitHub Bot
0046a25e39
Roll pub packages (#123899)
Roll pub packages
2023-04-03 16:56:56 +00:00
Michael Goderbauer
293114ac5a
Hyperlink dart docs around BinaryMessenger deprecations (#123798)
Hyperlink dart docs around BinaryMessenger deprecations
2023-03-31 23:04:22 +00:00
Bernardo Ferrari
f5415a42d3
SemanticsFlag/SemanticsAction enum migration (part 2) (#123817)
`SemanticsFlag`/`SemanticsAction` enum migration (part 2)
2023-03-31 16:19:22 +00:00
Brian Quinlan
06f015a8c0
Modify flutter_tests dart:io mocks to support Dart 3.0 (#123706)
Modify flutter_tests dart:io mocks to support Dart 3.0
2023-03-30 02:18:27 +00:00
Simon Binder
c71f1dd76b
Treat hidden IndexedStack children as offstage for test finder (#123129)
Treat hidden `IndexedStack` children as offstage for test finder
2023-03-29 19:58:58 +00:00
Michael Goderbauer
48bb12dfbe
Make Element tree root generic (#123352)
Make Element tree root generic
2023-03-27 20:31:49 +00:00
Michael Goderbauer
31798757e7
replace some ._() constructors with class modifiers (#122765) 2023-03-23 12:29:18 -07:00
Flutter GitHub Bot
7b7af9f34c
roll packages (#123339)
Roll pub packages
2023-03-23 19:03:57 +00:00
Michael Goderbauer
fda9ecfef7
Remove 1745 decorative breaks (#123259)
Remove 1745 decorative breaks
2023-03-22 21:12:22 +00:00
Michael Goderbauer
a9073f787c
Deprecate BindingBase.window (#120998)
Deprecate BindingBase.window
2023-03-21 21:08:23 +00:00
Michael Goderbauer
25e38a2a87
Bump lower Dart SDK constraints to 3.0 & add class modifiers (#122546)
Bump lower Dart SDK constraints to 3.0 & add class modifiers
2023-03-21 20:21:58 +00:00
pdblasi-google
4695fcc782
Deprecates TestWindow (#122824)
Deprecates `TestWindow`
2023-03-21 18:43:50 +00:00
Christopher Fujino
6b7c60d69a
manual pub roll (#123071)
manual pub roll
2023-03-21 01:08:51 +00:00
pdblasi-google
399cd6a56d
Refactors accessibility guidelines to remove the single window assumption. (#122760)
Refactors accessibility guidelines to remove the single window assumption
2023-03-17 20:38:56 +00:00
Ian Hickson
245d6d45a1
Assert that runApp is called in the same zone as binding.ensureInitialized (#122836)
Assert that runApp is called in the same zone as binding.ensureInitialized
2023-03-16 22:33:09 +00:00
yaakovschectman
5bea4d9023
Revert "Assert that runApp is called in the same zone as binding.ensureInitialized (#117113)" (#122830)
Revert "Assert that runApp is called in the same zone as binding.ensureInitialized"
2023-03-16 20:29:13 +00:00
Ian Hickson
96f927fb0d
Assert that runApp is called in the same zone as binding.ensureInitialized (#117113)
Assert that runApp is called in the same zone as binding.ensureInitialized
2023-03-16 19:28:14 +00:00
Michael Goderbauer
a599c08c32
Remvoe last few references to window singleton (#122644)
Remove last few references to window singleton
2023-03-15 00:34:34 +00:00
pdblasi-google
0ba64488da
Reland: Updates flutter/test/material to no longer use TestWindow (#122643)
Reland: Updates `flutter/test/material` to no longer use `TestWindow`
2023-03-15 00:08:18 +00:00
yaakovschectman
46a8106781
Revert "Updates flutter/test/material to no longer use TestWindow (#122337)" (#122636)
This reverts commit b2fc5f9770.
2023-03-14 17:34:33 -04:00
pdblasi-google
b2fc5f9770
Updates flutter/test/material to no longer use TestWindow (#122337)
Updates `flutter/test/material` to no longer use `TestWindow`
2023-03-14 21:13:05 +00:00
pdblasi-google
7dd53fefe9
Reland (3): Removes single window assumptions from flutter_test (#122422)
Reland (3): Removes single window assumptions from `flutter_test`
2023-03-13 21:50:24 +00:00
Bruno Leroux
376d8baabc
Remove key simulation obsolete comments (#122389)
Remove key simulation obsolete comments
2023-03-13 20:20:19 +00:00
Michael Goderbauer
12ef7535a8
Reland "Introduce the PipelineOwner tree (#122231)" (#122452)
Reland "Introduce the PipelineOwner tree (#122231)"
2023-03-13 17:58:56 +00:00
Jim Graham
670f9d2037
Revert "Introduce the PipelineOwner tree (#122231)" (#122425)
This reverts commit f73c358e43.
2023-03-10 13:15:46 -08:00
Michael Goderbauer
f73c358e43
Introduce the PipelineOwner tree (#122231)
Introduce the PipelineOwner tree
2023-03-10 19:57:17 +00:00
Michael Goderbauer
b4019f9884
Reland "Remove single view assumption from TestViewConfiguration (#122352)" (#122414)
Reland "Remove single view assumption from TestViewConfiguration (#122352)"
2023-03-10 19:30:34 +00:00
Callum Moffat
e078c93bfe
SelectionChangedCause for iOS keyboard-select (#122144)
SelectionChangedCause for iOS keyboard-select
2023-03-10 19:13:28 +00:00
Casey Hillers
1f42612323
Revert PRs relating to single window assumption (#122369)
* Revert "Remove references to BindingBase.window (#122119)"

This reverts commit c7681f00cf.

* Revert "Remove another reference to BindingBase.window (#122341)"

This reverts commit 6ec4445063.

* Revert "Reland (2): Removes single window assumptions from `flutter_test` (#122233)"

This reverts commit eb3d317ea0.

* Revert "Remove single view assumption from TestViewConfiguration (#122352)"

This reverts commit 927289fb4e.

* Revert "Updates `flutter/test/cupertino` to no longer use `TestWindow` (#122325)"

This reverts commit 67e17e45f0.

* Revert "Updates `flutter/test/gestures` to no longer reference `TestWindow` (#122327)"

This reverts commit c2a5111cc0.

* Revert "Updates `flutter/test/rendering` to no longer use `TestWindow` (#122347)"

This reverts commit 28b65e089b.

* Revert "Updates `flutter_localizations/test` to stop using `TestWindow` (#122321)"

This reverts commit 01367d52d7.
2023-03-09 22:53:38 -08:00
Michael Goderbauer
927289fb4e
Remove single view assumption from TestViewConfiguration (#122352)
Remove single view assumption from TestViewConfiguration
2023-03-10 01:54:00 +00:00
pdblasi-google
eb3d317ea0
Reland (2): Removes single window assumptions from flutter_test (#122233)
Reland (2): Removes single window assumptions from `flutter_test`
2023-03-09 00:52:05 +00:00
Jami Couch
2a67bf78f0
Add support for iOS UndoManager (#98294)
Add support for iOS UndoManager
2023-03-08 19:45:49 +00:00