Chrome's implementation of UI Automation support was only
partially-complete at the time we forked //third_party/accessibility. We
don't use UIA in Flutter, but rely instead entirely on the MSAA
accessiblity implementation.
Disabling these tests for now, rather than deleting, since we'll need to
make a decision on whetheer to port the updates from the Chromium tree,
or write our own simpler UIA implementation.
Issue: https://github.com/flutter/flutter/issues/98427
Related issue: https://github.com/flutter/flutter/issues/94782
General UTF8/UTF16 string conversion utility functions were recently
added to FML. This migrates calls in the Android JNI utils to the common
implementations.
No additional tests added since we're just dropping one implementation
of UTF8/UTF16 functions and making use of an equivalent set that already
has unit tests of its own. The rest of the Android-related code is
already covered by existing unit tests.
Issue: https://github.com/flutter/flutter/issues/98061
Related PR: https://github.com/flutter/engine/pull/31334
* Initial implementation of TextEditingDeltaState for the web
* Capture composing region through compositionupdate and handle cases where there is an edit that occurs before the current cursor position
* clean up unused code
* clean up rest of logs
* Make sure we initialize oldText in beforeInput
* Clean up comments
* more defaults
* Add more comments
* Move delta inferrence logic to TextEditingDeltaState
* Add new listeners to rest of strategies
* Fix existing tests
* Fix tests
* Add lastTextEditingDeltaState to test
* fix tests
* Add some preliminary tests for TextEditingDeltaState
* Send as list to framework
* Add composing region test
* Address nits
* Update tests
* Try to fix tests
* Prefer const with constant constructors
* Clean up comments
* Specify types
* fix tests
* Specify type annotations
* batchDeltas -> deltas
* Make eventData nullable so we dont compare with a 'null' string
* Make TextEditingDeltaState mutable to avoid multiple copies
* Fix analyzer
* Fix test
* Use safe browser api instead of directly accessing js_util
* remove last prefix from editingDeltaState
* Remove logs
* fix merge
* fix whitespace
* revert composing changes
* update comments
* remove trailing whitespace
* Add docs for TextEditingDeltaState
* Normalize delta naming and use a copy instead of modifying function arguments
* Update selection of delta in inferDeltaState instead of onChange
* Fix tests, previously the selection was not set in inferDeltaState, now it
is so the tests should reflect this change
* Make a copy of delta instead of modifying function arguments
* remove whitespace
* Move some logic into inferDeltaState
* whitespace
* analyzer fix
* Revert "analyzer fix"
This reverts commit 786a52810cf59ed2e06be7100314d779807863d7.
* Revert "whitespace"
This reverts commit 98fad4709b9f153e47bc56ef6a2606f99e37eee2.
* Revert "Move some logic into inferDeltaState"
This reverts commit a600e9e567a7ef78bb9bb8dd3e5c86c06076f098.
* pass _editingDeltaState instead of editingDeltaState to onChange for clarity
* Add docs for beforeinput
* Add docs for inferDeltaState
* whitespace
* Add more docs
* update docs
* update docs
* Fix for insertion of a period following a double space within old text bounds
* Fix accent insertion
* clean up comments
* Address comments for clarity aand regexp
* Make composing and selection nullable
* update docs
* whitespace
* address comments
Co-authored-by: Renzo Olivares <roliv@google.com>
Delegates string encoding conversions between UTF-8 and UTF-16 strings
in //third_party/accessibility/base to our existing implementations in
FML.
Issue: https://github.com/flutter/flutter/issues/98061
We've implemented UTF-8/UTF-16 string encoding conversions in multiple
places, from FML to //flutter/shell/platform/common, to the individual
embedders. This migrates these conversions to FML and adds tests.
Windows APIs use wchar_t-based strings and as a result, we continue to
keep Windows-specific functions in fml/platform/win/wstring_conversion.h.
We break out string_conversions into its own source set since FML brings
with it some Dart dependencies (e.g. dart_timestamp_provider.cc) that
are unused by some targets such as uwptool.exe in the Windows UWP
embedding.
Issue: https://github.com/flutter/flutter/issues/98061
* Implement trackpad gestures in engine
* Remove the platform implementations
* Add new device type for trackpad
* Add back the necessary changes for Android
* Address feedback
* Fix doc typos