This change implements flow control mechanisms for the Accessibility
Bridge that communicates with the Fuchsia semantics services. This
ensures that Flutter acknowledges the pace in which the semantics
manager is consuming updates and only pushes more when they are ready to
be received.
This change avoids entirely touching on the problem of how to break
flutter semantic messages into batches that can fit in the FIDL
channels. This is left for a future change. All code that is related to
calculating size limits of FIDL messages is the same logic, only
changing location in the file.
Test: AccessibilityBridgeTest.BatchesLargeMessages
Bug: fxbug.dev/97596
Added a "Menu.isPluginAvailable" call to allow the framework to query whether a plugin for creating platform menus is available on the current platform.
This will allow the framework MenuBar.adaptive constructor to determine, based on the availability on the platform of the plugin, whether or not to render platform menus. This replaces the old way, which was just to hard code which platforms support it (i.e. just macOS), but that won't work well if someone adds a plugin that supports a particular platform that isn't macOS.
In ANGLE commit 232e523656fccfacabeb8e5ce0cbc2e6dcc1ec4e, an Open GL
extension API was removed from ANGLE which included several symbols that
are not available until OpenGL ES 3.2. This was removed since it had no
known users, and cut the number of entrypoints ANGLE exports in half,
saving 130kB on Android.
Of the removed symbols, the Windows embedder used two:
* GL_RGBA8, which is not OpenGL ES, but rather OpenGL, and can be
replaced with GL_RGBA which is lenient since it doesn't ask for a
specific size.
* GL_CLAMP_TO_EDGE, which can be replaced with GL_CLAMP_TO_BORDER.
https://open.gl/textures for details.
Issue: https://github.com/flutter/flutter/issues/102117
Uncomments the Java Flag.IS_MULTILINE and C++ SemanticsFlag.kIsMultiline
enum values. While these values aren't used in the Android or iOS
embeddings, in practice we maintain the same set of enum values across
all embeddings so as to match the public API defined in dart:ui, found
in lib/ui/semantics/semantics.dart.
This also helps with automated checking that all enums across all
languages are consistent.
This will be added to the embedder API in
https://github.com/flutter/engine/pull/32332.
Issue: https://github.com/flutter/flutter/issues/101217
This just changes some of the API names for consistency with the framework APIs (and themselves).
This is a very new method channel (it went in a couple of days ago), so it's not in use yet.
Matching framework PR is flutter/flutter#101378
Removes the `Index` suffix from kMoveCursorForwardByWord and
kMoveCursorBackwardByWord values in the SemanticsAction enum. These were
erroneously copied as-is from the private class members in the dart:ui
implementation in lib/ui/semantics/semantics.dart where the class
members refer to the enum index here. This removes the trailing `Index`
for consistency with the other enum members here.
This is also useful in the context of automated testing for API
consistency between these enums, the ones in dart:ui (native and web
implementations) and the embedder API.
Issue: https://github.com/flutter/flutter/issues/101217
* Impl
Remove log
add sync; clean code
Format
* Impl
* New Impl
* Fix dead key
* Rename to goals and clues
* CFRelease source
* Move to view controller
* No global
* First-phase
* No weak in dealloc
* Tests
* One more test
* Format
* Format
* Docs
* Tests
* Docs
* Format
* Fix compile
* Compile
* Add channel test
* Format
* Fix comments
* Fix keycodes
* Fix namespaces
* Format
* strlcpy