tree e0311f090e08181469fd5ddc804ae7ec0a571430
parent 8884515349ff84229b80431a5a9c4361db53a8bc
author Chris Bracken <chris@bracken.jp> 1680898302 -0700
committer GitHub <noreply@github.com> 1680898302 -0700
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJkMHj+CRBK7hj4Ov3rIwAAoXsIADJeqCy6XCXLk/WHuzZfYIQj
 +BF2zM34KQFDCy2NE6WTrf5Oxh0HLJTf3x06VqSC1fTA0b2dTzPWmBZaQnixp8kL
 Y6nPQ8c3HReVb7aK29w4+QsyKARnoSOeeknNsqauZJ9VDWKSye5jGpiXii71vlCU
 /N6TY0Lr6u4++44XgEMgZM0DnytJLl4rPrzF7+bjVsC/wJYlODJ9wnRh6k1sq9R2
 F5sbhXitC3EIYfYoxPgcvxU/Pa1UWgZSID42gl+GT2SSWzNm+ASQyRMXGViqy5yX
 BwP2yHRyu0VoRnHz/FduPdFl9d/iZshb0mnS4qpmY3XeWb8lYivPcuODPmfxPMg=
 =m9KG
 -----END PGP SIGNATURE-----
 

[a11y] Use DartConverter for embedder a11y tests (#40993)

No semantic change. This just simplifies converting Dart arguments to
C++ types, making it more consistent with the rest of the codebase.

## 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] and the [C++,
Objective-C, Java style guides].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I added new tests to check the change I am making or feature I am
adding, or Hixie said the PR is test-exempt. See [testing the engine]
for instructions on writing and running engine tests.
- [X] I updated/added relevant documentation (doc comments with `///`).
- [X] I signed the [CLA].
- [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
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[C++, Objective-C, Java style guides]:
https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
[testing the engine]:
https://github.com/flutter/flutter/wiki/Testing-the-engine
[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