Jenn Magder d30a412e28 Support accessibility back gesture to pop route from view controller (flutter/engine#51241)
Adapted suggestion from https://github.com/flutter/flutter/issues/74246#issuecomment-971326926 to pop the route if the view controller route if `accessibilityPerformEscape` is called at that level in the responder chain.

Ideally this could know if the route was successfully popped, and only then return `YES` (halting propagation through the responder chain).

I confirmed by editing https://docs.flutter.dev/cookbook/navigation/navigation-basics#interactive-example as a demo that that the two-finger scrub (move two fingers back and forth three times quickly, making a "z") navigates back to the last route, and that the [`SementicObject`](e889b287f1/shell/platform/darwin/ios/framework/Source/SemanticsObject.mm (L763)) scrub, which already worked, continued to work.

I'm not super familiar with this code, hopefully there aren't further gotchas I'm not thinking of.

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

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-18 18:11:59 +00:00
..

Engine Testing

This directory contains the infrastructure for running tests on the engine, which are most often run by Flutter's continuous integration (CI) systems.

The tests themselves are located in other directories, closer to the source for each platform, language, and variant. For instance, macOS engine unit tests written in objective C are located in the same directory as the source files, but with a Test suffix added (e.g. "FlutterEngineTest.mm" holds the tests for "FlutterEngine.mm", and they are located in the same directory).

Testing the Engine locally

If you are working on the engine, you will want to be able to run tests locally.

In order to learn the details of how do that, please consult the Flutter Wiki page on the subject.