* Revert "Revert "Started using FlutterEngineGroups by default on Android (#37822)" (#38351)"
This reverts commit b0a282e0cc7e0ceb22ce75258c2b9c22266b7f47.
* fixed the entrypoint test
* updated old test
* coldpalelight's suggestion
* added entrypoint args
Eliminates raw C asserts in the iOS and macOS embedders, replacing them
with FML_DCHECK for consistency with the rest of the codebase.
No semantic change so no changes to tests.
* Sped up reading with FlutterStandardCodec.
* added missing license diff
* put the IsStandardType in the header so it's closer to where it should change
* added unittest for subclassing codecs
* fixed lints
* fix keyboard inset not collapsing when expected
* fix some formatting
* fix issue with rotating with undocked and split keyboard
* fix formatting
* fix behavior on slide over view
* fix formatting
* refactor to make logic more clear
* move enum to header file, remove unneeded parameters, syntax fixes, remove rotation logic
* ignore notification if app state is not active, change way it checks if keyboard intersects with screen to accomodate for repeating decimals, format
* fix leaking unit test
* use viewIfLoaded and update tests to fix mocking
* change ignore logic related to application state to be more specific
* add more comments
* add more comments
* change function name to be more clear, add warning log if view is not loaded, update a comment
This is a minor cleanup that exposes the test metal surface to tests via
EmbedderTestContextMeta::GetTestMetalSurface for parity with the
GetTestMetalContext method which exposes the test metal context. This
eliminates the need for the more specific GetTextureInfo method since
the texture info is accessible via the test context.
This is a test refactoring with no semantic differences to the engine.
Issue: https://github.com/flutter/flutter/issues/116381
This is a followup to flutter/engine#38038.
In that patch, a destruction callback for textures created via the
FlutterRendererConfig callbacks (as opposed to by the FlutterCompositor
callbacks) was added and passed through to the texture info attached to
the SurfaceFrame generated in
GPUSurfaceMetalSkia::AcquireFrameFromMTLTexture (called via
GPUSurfaceMetalSkia::GetMTLTexture, which invokes the
get_next_drawable_callback), however, in order for the destruction
callback to make it to the presented Skia texture, it needs to be passed
through to the present callback here:
960af0a350/shell/gpu/gpu_surface_metal_skia.mm (LL233)
which is invoked by the submit callback passed to Skia:
960af0a350/shell/gpu/gpu_surface_metal_skia.mm (LL239)
The present callback is implemented in EmbedderSurface::PresentTexture,
which invokes the present callback registered in
FlutterMetalRendererConfig.present_drawable_callback. This patch ensures
that the destruction callback is passed through to Skia's present
callback so destruction occurs in the right place.
Issue: https://github.com/flutter/flutter/issues/116381
* Initial
* Comment TODOs
* Shim windowsx
* Comment testing
* UIA works at most basic
* Get Native target in win delegate
* Rework events
* FlutterWindowsView unit tests for UIA
* Enable UIA unit tests
* Conditional UIA implementation
* Text selection MSAA event
* License
* PR
* Before change to AccessibilityBridgeWindows
* AccessibilityBridgeWindows in FlutterWindowsEngine
* Use AccessibilityBridgeWindows for AXFragmentRootDelegateWin
* Format
* Remove unneeded windowsx_shim imports
* PR Comment
* Remove uses of --no-sound-null-safety in preparation for the Dart 3.0
roll.
* Update quiver package to latest.
* Run Fuchsia engine in null safe mode.
* Run Fuchsia engine in non null safe mode.
* Update Dart version to 3.0
* Address review comments.
This is useful for java test debugging.
Audit of all java tests shows only 4 logged lines so this should
not add log spam but will aid in contributor test debugging.
This ensures FlutterMetalTexture.destruction_callback gets called.
FlutterRendererConfig.get_next_drawable_callback holds a callback used by the embedder API to request a drawable; in the case of Metal, this drawable is a FlutterMetalTexture.
FlutterMetalTexture.destruction_callback should be called when it's safe to release resources associated with the FlutterMetalTexture. This callback is not currently invoked for textures returned via FlutterRendererConfig.get_next_drawable_callback; instead we unpack the returned struct and pass it on.
In the compositor codepath, we do create an SkSurface that triggers the destruction callback, here:
bbdb5d6a3e/shell/platform/embedder/embedder.cc (L868-L881)
Issue: https://github.com/flutter/flutter/issues/116381
This adds explicit strong/copy Objective-C property annotations where
they were previously implied on NSObject properties and fixes on case
where it was previously improperly specified.
Previously there were two conventions for test filenames in the macOS
embedder: some ended in Unittests.mm and others eneded in Test.mm. This
applies a consistent naming convention, which is also consistent with
the iOS and common Darwin tests. Stock C++ unittests should continue to
use the _unittests.cc convention.