- 24 Jan, 2024 2 commits
-
-
Polina Cherkasova authored
-
Jesús S Guerrero authored
Revert "[web] - Fix broken `TextField` in semantics mode when it's a sibling of `Navigator`" (#142129) Reverts flutter/flutter#138446 b/322136071
-
- 22 Jan, 2024 1 commit
-
-
Hassan Toor authored
When a `TextField` is rendered before a `Navigator`, it breaks in semantics mode. This is because the framework generates the incorrect semantics tree (excludes the TextField) and when that tree gets sent to the engine, we don't get the signal to create the corresponding `<input>` element. This happens for a few reasons: * `ModalBarrier` uses `BlockSemantics` to drop the semantics of routes beneath the current route in `Navigator` * `ModalBarrier` mistakenly recognizes the widget outside of the `Navigator` to be its sibling * So we end up dropping the semantics node of the `TextField` rendered before it. The fix is to let `Navigator` generate a semantics node so that `ModalBarrier` doesn't mistakenly think widgets outside of `Navigator` are its siblings. `Navigator` doesn't currently do this, which causes all the nodes generated from its widget subtree to be directly attached to the parent semantics node above `Navigator` - since this is also the parent of `TextField`, it considers them siblings. Fixes https://github.com/flutter/flutter/issues/129324
-
- 19 Jan, 2024 2 commits
-
-
Michael Goderbauer authored
Much nicer calling API and simplifies evolving this API in the future. I wish we could write a dart fix for this, but that's blocked on https://github.com/dart-lang/sdk/issues/54668.
-
fzyzcjy authored
The old doc says that, AutomatedTestWidgetsFlutterBinding for `flutter test` and LiveTestWidgetsFlutterBinding for `flutter run`. However, suppose we `flutter test integration_test/simple_test.dart` with the following code: ``` void main() { testWidgets('hi', (WidgetTester tester) async { print('hi ${TestWidgetsFlutterBinding.instance} ${Platform.operatingSystem}'); }); } ``` We will see: `hi <IntegrationTestWidgetsFlutterBinding> ios`. Therefore, we see `IntegrationTestWidgetsFlutterBinding` is used in a `flutter test` command, which is contrary to the documentation.
-
- 16 Jan, 2024 1 commit
-
-
Polina Cherkasova authored
-
- 12 Jan, 2024 1 commit
-
-
Anis Alibegić authored
Fair amount of typos spotted and fixed. Some of them are in comments, some of them are in code and some of them are in nondart files. There is no need for issues since it's a typo fix. I have doubts about [packages/flutter_tools/lib/src/ios/core_devices.dart](https://github.com/flutter/flutter/compare/master...anisalibegic:flutter:master#diff-fdbc1496b4bbe7e2b445a567fd385677af861c0093774e3d8cc460fdd5b794fa), I have a feeling it might broke some things on the other end, even though it's a typo.
-
- 10 Jan, 2024 2 commits
-
-
Polina Cherkasova authored
-
Polina Cherkasova authored
Contributes to https://github.com/flutter/devtools/issues/6909.
-
- 09 Jan, 2024 3 commits
-
-
Michael Goderbauer authored
This reverts commit https://github.com/flutter/flutter/commit/d24c01bd0c41331bd17165e0173b24c5d05d7c0a. The original change was reverted because it caused some apps to get stuck on the splash screen on some phones. An investigation determined that this was due to a rounding error. Example: The device reports a physical size of 1008.0 x 2198.0 with a dpr of 1.912500023841858. Flutter would translate that to a logical size of 527.0588169589221 x 1149.2810314243163 and use that as the input for its layout algorithm. Since the constraints here are tight, the layout algorithm would determine that the resulting logical size of the root render object must be 527.0588169589221 x 1149.2810314243163. Translating this back to physical pixels by applying the dpr resulted in a physical size of 1007.9999999999999 x 2198.0 for the frame. Android now rejected that frame because it didn't match the expected size of 1008.0 x 2198.0 and since no frame had been rendered would never take down the splash screen. Prior to dynamically sized views, this wasn't an issue because we would hard-code the frame size to whatever the requested size was. Changes in this PR over the original PR: * The issue has been fixed now by constraining the calculated physical size to the input physical constraints which makes sure that we always end up with a size that is acceptable to the operating system. * The `ViewConfiguration` was refactored to use the slightly more convenient `BoxConstraints` over the `ViewConstraints` to represent constraints. Both essentially represent the same thing, but `BoxConstraints` are more powerful and we avoid a couple of translations between the two by translating the` ViewConstraints` from the `FlutterView` to `BoxConstraints` directly when the `ViewConfiguration` is created. All changes over the original PR are contained in the second commit of this PR. Fixes b/316813075 Part of https://github.com/flutter/flutter/issues/134501.
-
Polina Cherkasova authored
-
Polina Cherkasova authored
-
- 08 Jan, 2024 1 commit
-
-
Zachary Anderson authored
Fails with `flutter test --test-randomize-ordering-seed=20240108` https://ci.chromium.org/ui/p/flutter/builders/prod/Linux%20framework_tests_misc/15044/overview cc @polina-c
-
- 04 Jan, 2024 1 commit
-
-
Polina Cherkasova authored
-
- 03 Jan, 2024 3 commits
-
-
auto-submit[bot] authored
Reverts flutter/flutter#140521 Initiated by: zanderso This change reverts the following previous change: Original Description: Original PR: https://github.com/flutter/flutter/pull/138057 Revert: https://github.com/flutter/flutter/pull/140502 Issue: https://ci.chromium.org/ui/p/flutter/builders/prod/Linux_android%20flutter_test_performance/12787/overview Exception: flutter test rendered unexpected output (1 bad lines) Explanation: leak tracker adds tear down even when there is no leak tracking, because at the moment of adding tear down it is unclear if leak tracking will be used for some tests. Fix: add enabling flag for leak tracker and make creation of tear down conditional. Prerequisites:
-
Polina Cherkasova authored
-
Elliott Brooks authored
Added a minimal wiki page about how to use the `update-packages` tool: https://github.com/flutter/flutter/wiki/Updating-dependencies-in-Flutter This PR adds a link to that wiki page at the top of each pubspec.yaml file
-
- 02 Jan, 2024 1 commit
-
-
Polina Cherkasova authored
-
- 21 Dec, 2023 2 commits
-
-
Jim Graham authored
The PR is breaking the `flutter_test_performance` test and making the tree red.
-
Polina Cherkasova authored
Contributes to: https://github.com/flutter/flutter/issues/135856 TODO:
-
- 20 Dec, 2023 5 commits
-
-
flutter-pub-roller-bot authored
This PR was generated by `flutter update-packages --force-upgrade`.
-
Michael Goderbauer authored
These were not ignoring anything (anymore).
-
LongCatIsLooong authored
Extracted from https://github.com/flutter/flutter/pull/139717 as-is. Landing this change first so we can avoid doing a g3fix.
-
auto-submit[bot] authored
Reverts flutter/flutter#139717 Initiated by: LongCatIsLooong This change reverts the following previous change: Original Description: Fixes https://github.com/flutter/flutter/issues/131435, #104594, #43400 Needs https://github.com/flutter/engine/pull/48774 (to fix the web test failure). Currently the method we use for text span hit testing `TextPainter.getPositionForOffset` always returns the closest `TextPosition`, even when the given offset is far away from the text. The new TextPaintes method tells you the layout bounds (`width = letterspacing / 2 + x_advance + letterspacing / 2`, `height = font ascent + font descent`) of a character, the PR changes the hit testing implementation such that a TextSpan is only considered hit if the point-down event landed in one of it's character's layout bounds. Potential issues: 1. In theory since the text is baseline aligned, we should use the max ascent and max descent of each character to calculate the height of the text span's hit-test region, in case some characters in the span have to fall back to a different font, but that will be slower and it typically doesn't make a huge difference. This is a breaking change. It also introduces a new finder and a new method `WidgetTester.tapOnText`: `await tester.tapOnText('string to match')` for ease of migration.
-
LongCatIsLooong authored
Fixes https://github.com/flutter/flutter/issues/131435, #104594, #43400 Needs https://github.com/flutter/engine/pull/48774 (to fix the web test failure). Currently the method we use for text span hit testing `TextPainter.getPositionForOffset` always returns the closest `TextPosition`, even when the given offset is far away from the text. The new TextPaintes method tells you the layout bounds (`width = letterspacing / 2 + x_advance + letterspacing / 2`, `height = font ascent + font descent`) of a character, the PR changes the hit testing implementation such that a TextSpan is only considered hit if the point-down event landed in one of it's character's layout bounds. Potential issues: 1. In theory since the text is baseline aligned, we should use the max ascent and max descent of each character to calculate the height of the text span's hit-test region, in case some characters in the span have to fall back to a different font, but that will be slower and it typically doesn't make a huge difference. This is a breaking change. It also introduces a new finder and a new method `WidgetTester.tapOnText`: `await tester.tapOnText('string to match')` for ease of migration.
-
- 19 Dec, 2023 1 commit
-
-
Polina Cherkasova authored
Contributes to: https://github.com/flutter/flutter/issues/135856
-
- 16 Dec, 2023 1 commit
-
-
Bartek Pacia authored
Use `SemanticsUpdateBuilder` again, remove all references to temporary `SemanticsUpdateBuilderNew` (#139942) This PR removes all usages of the temporary `SemanticsUpdateBuilderNew` API in favor of `SemanticsUpdateBuilder`. These two APIs are the same as of now. This is mainly targeted at https://github.com/flutter/flutter/issues/17988 Steps: part 1: [engine] add `SemanticsUpdateBuilderNew` https://github.com/flutter/engine/pull/47961 part 2: [flutter] use `SemanticsUpdateBuilderNew` https://github.com/flutter/flutter/pull/138331 part 3: [engine] update `SemanticsUpdateBuilder` to be the same as `SemanticsUpdateBuilderNew` https://github.com/flutter/engine/pull/48882 **part 4: [flutter] use (now updated) `SemanticsUpdateBuilder` again** <-- we are here part 5: [engine] remove `SemanticsBuilderNew`
-
- 15 Dec, 2023 4 commits
-
-
Polina Cherkasova authored
-
Polina Cherkasova authored
1. Move leak_tracker and leak_tracker_testing out of direct dependencies. 2. Move leak_tracker_flutter_testing from dev to prod dependencies for flutter_test It is prerequisite for https://github.com/flutter/flutter/issues/135856
-
Srujan Gaddam authored
Pinning the package:web dependency constrains downstream packages from using newer versions and making sure they support the version pinned in Flutter. Since the usage of package:web in Flutter is light, we should instead have a small shim like the engine and keep package:web as a dev dependency only.
-
Polina Cherkasova authored
Contributes to https://github.com/flutter/flutter/issues/135856
-
- 14 Dec, 2023 1 commit
-
-
Lau Ching Jun authored
Reverts flutter/flutter#138648 This caused the app to be stuck in the splash screen on certain phone models. Context: b/316244317
-
- 11 Dec, 2023 3 commits
-
-
Greg Spencer authored
## Description This starts the deprecation of the `RawKeyEvent`/`RawKeyboard` event system that has been replaced by the `KeyEvent`/`HardwareKeyboard` event system. Migration guide is available here: https://docs.flutter.dev/release/breaking-changes/key-event-migration ## Related Issues - https://github.com/flutter/flutter/issues/136419 ## Related PRs - https://github.com/flutter/website/pull/9889
-
Bartek Pacia authored
This PR adds `String? identifier` to `Semantics` and `SemanticsProperties`. The `identifier` will be exposed on Android as `resource-id` and on iOS as `accessibilityIdentifier`. Mainly targeted at #17988 Initial Engine PR with Android support: https://github.com/flutter/engine/pull/47961 iOS Engine PR: https://github.com/flutter/engine/pull/48858 ### Migration This change breaks the SemanticsUpdateBuilder API which is on the Framework<-->Engine border. For more details see [engine PR](https://github.com/flutter/engine/pull/47961). Steps: part 1: [engine] add `SemanticsUpdateBuilderNew` https://github.com/flutter/engine/pull/47961 **part 2: [flutter] use `SemanticsUpdateBuilderNew`** <-- we are here part 3: [engine] update `SemanticsUpdateBuilder` to be the same as `SemanticsUpdateBuilderNew`* part 4: [flutter] use (now updated) `SemanticsUpdateBuilder` again. part 5: [engine] remove `SemanticsBuilderNew`
-
hgraceb authored
The previous test for #128137 does not effectively regress and verify #123313 because the issue is specific to desktop platforms.
-
- 06 Dec, 2023 1 commit
-
-
Ian Hickson authored
test-exempt: rolling dependencies
-
- 29 Nov, 2023 3 commits
-
-
Michael Goderbauer authored
Towards https://github.com/flutter/flutter/issues/134501. This change is based on https://github.com/flutter/engine/pull/48090. It changes the `RenderView` to be dynamically sized based on its content if the `FlutterView` it is configured with allows it (i.e. the `FlutterView` has loose `FlutterView.physicalConstraints`). For that, it uses those `physicalConstraints` as input to the layout algorithm by passing them on to its child (after translating them to logical constraints via the device pixel ratio). The resulting `Size` that the `RenderView` would like to be is then communicated back to the engine by passing it to the `FlutterView.render` call. Tests will fail until https://github.com/flutter/engine/pull/48090 has rolled into the framework.
-
Kate Lovett authored
This updates the implementation to use the stopwatch from the Clock object and pipes it through to the TestWidgetsFlutterBinding so it will be kept in sync with FakeAsync. Relands https://github.com/flutter/flutter/pull/138843 attempted to reland https://github.com/flutter/flutter/pull/137381 which attempted to reland #132291 Fixes https://github.com/flutter/flutter/issues/97761 1. The original change was reverted due to flakiness it introduced in tests that use fling gestures. * Using a mocked clock through the test binding fixes this now 2. It was reverted a second time because a change at tip of tree broke it, exposing memory leaks, but it was not rebased before landing. * These leaks are now fixed 3. It was reverted a third time, because we were so excellently quick to revert those other times, that we did not notice the broken benchmark that only runs in postsubmit. * The benchmark is now fixed
-
Kate Lovett authored
-
- 27 Nov, 2023 1 commit
-
-
Michael Goderbauer authored
Towards https://github.com/flutter/flutter/issues/134501. Required to roll https://github.com/flutter/engine/pull/48090 into the framework. Two new subclasses of FlutterView were added recently for testing (in https://github.com/flutter/flutter/pull/138849) that I missed in my previous PR (https://github.com/flutter/flutter/pull/138565).
-