* Set default profiling rate on iOS 32 bit devices to 500Hz
The current default profiling rate is 1000Hz in the VM.
Fixes https://github.com/flutter/flutter/issues/92421.
* Address comments
If a class contains a channel, recreating an instance of this class will lead to the following scenario:
- The new channel is created with the same name and assigned with a callback (which overrides the earlier channel's)
- The earlier class is deallocated, deallocating the earlier channel
This PR fixes the problem where the second channel's callback will be cleared by the first channel's deallocation.
* VSyncWaiter on Fuchsia will defer firing until frame start time
The common vsync waiter implementation expects this invariant to be
held.
* Add a test for vsync_waiter
Windows does not provide a system notification the embedder can
subscribe to to determine when a screen reader or other assistive
technology that requires the semantics tree has been enabled. [1]
In the absence of such a notification, we watch for queries for the
IAccessible COM object representing the root node of the semantics tree,
and on receipt of such queries we enable the semantics tree. For the
time being, we assume that if accessiblity is enabled, it will be
enabled for the duration of the application lifetime. In a future patch
we can optimise this by adopting the approach taken by Chromium, which
is to disable semantics if we haven't received a query within some
reasonable timeout.
This patch enables Flutter's semantics tree; a follow-up patch wires in
the AccessibilityBridge which maintains the AXTree of COM objects that
is the Windows representation of the Flutter SemanticsTree.
Issue: https://github.com/flutter/flutter/issues/77838
[1]: https://docs.microsoft.com/en-us/windows/win32/winauto/screen-reader-parameter
//flutter/third_party/accessiblity/ax/ax_event_generator.cc includes the
AXEventGenerator::Iterator class which subclasses std::iterator, which
triggers an MSVC C++17 deprecation warning. This warning, can be
suppressed by defining _SILENCE_CXX17_ITERATOR_BASE_CLASS_DEPRECATION_WARNING
which is already done in the accessibility_config config.
Also updates the TODO to reference the issue tracking the cleanup and
removal of that definition.
Issue: https://github.com/flutter/flutter/issues/92229
* [fuchsia] Keep track of all child transforms in FlatlandExternalViewEmbedder
(cherry picked from commit 0adc38c375cbc982c481771e76b0a464ce95ee79)
* [fuchsia] HandleRemoveview cleanup
The initial implementation tried to leverage the fuchsia.git approach to
adding resources via GN template, but the GN SDK does not use the same
format or approach. This PR adds the snapshot resource in the way the
GN SDK expects.