A node is considered focusable if it contains information that is interesing to the user. A node that doesn't add any semantic information of its own should not be focusable. It's expected that such a node has children, who have smeantics information and are therefore focusable.
Fixes https://github.com/flutter/flutter/issues/11179
- Assumes only the Dart VM is interested in idle notification.
- Gives the VM the time remaining in each frame.
- Gives the VM 100ms if there is no pending frame.
Issue flutter/flutter#9594
This reduces the size of the ICU data files from 10.3 MB to 6.6 MB (uncompressed). Also allows us to remove version specific hacks from libTXT and dependencies.
* The Flutter engine will be shipped as a shared library.
* The engine is renderer and window toolkit agnostic.
* The simple public C API is described in embedder.h.
* ABI breaking changes will be indicated by changing the FLUTTER_ENGINE_VERSION.
* A simple GLFW based example of this API is available at https://gist.github.com/chinmaygarde/8abf44921f7d87f6da7bf026267c4792
For consistency with Android, when the engine receives a
TextInput.setEditingState message from the framework, and the text has
changed, we now send a TextInputClient.updateEditingState message back
to the framework with the updated state from the engine. The framework
currently relies on this behaviour to trigger onChanged events in
certain scenarios (e.g., on tapping Paste in the selection controls).
Note: it may be more desirable for the framework to trigger the
onChanged calls without relying on the return message from the engine,
but this change ensures consistent behaviour across iOS and Android
until we've evaluated the pros/cons of such an approach.
If GPURasterizer::NotifyNextFrameOnce was rapidly invoked twice could
have lead to a null pointer exception.
Also ftp::WeakPtr are not thread safe and should not be dereferenced
from other threads.
* Add back launch screen view until first frame on iOS
* improvements
* Move callback plumbing from ios surfaces to the gpu rasterizer. Didn’t wire java JNI yet.
* Android JNI
* Fix ios reference count and let android engine manage a view on top with launch screen
* Hook up Android activity and view
* review notes
* review notes
* Move thread switching upstream. Use weak references for callbacks.
* Some clean up
* Fix Flutter loading from dill files.
* Remove disable of causal async stacks.
* Include mirrors patch files as they are needed for release/profile gen_snapshot
* Free the bytes
* Add FTL_DCHECK
Sometimes, plugin instances need access to the `FlutterView`.
They can currently cast the `messenger()`, but that's fragile.
This adds API support for getting the view from the registry.
* Revert "Accumulate a batch of Skia objects that will be destructed later on the IO thread (#3888)"
This reverts commit 29bacddb699c6f996bf9f6a241d35bd4cf650df4.
* Revert "Revert "Switch to new encode API on SkPixelSerializer (#3892)" (#3894)"
This reverts commit 8648dd3b82ddf58ab4b0230d019219eb890ed173.