[embedder] Update dependencies - fix clash with font_init commit in sync script
Change-Id: I74ecb6c5893c031241f724828f230132bbedb457
Reviewed-on: https://fuchsia-review.googlesource.com/c/flutter-embedder/+/764062
Reviewed-by: Alexander Biggs <akbiggs@google.com>
diff --git a/scripts/sync_engine_to_revision.sh b/scripts/sync_engine_to_revision.sh
index dd98810..13cd3e2 100755
--- a/scripts/sync_engine_to_revision.sh
+++ b/scripts/sync_engine_to_revision.sh
@@ -76,7 +76,7 @@
acquire_software_surface_fix=dadf7a7b06b60f36fdce66759bfd74c01d74e27b
get_engine_fix "akbiggs" "${acquire_software_surface_fix}" "to get API for acquiring software surface..."
-font_initialization_data_fix=2aa6de94a2d16a50982b0b8ab5a09fa4bc0443b5
+font_initialization_data_fix=cda78f5a1cc254f01494d11b01f86ab920cd918d
get_engine_fix "naudzghebre" "${font_initialization_data_fix}" "to get API change to embedder.h for setting font_initialization_data.."
async_msg_loop_fix=1275e614f23b46b5a77f39563b73acd038309428
diff --git a/src/embedder/engine/debug_x64/libflutter_engine.so b/src/embedder/engine/debug_x64/libflutter_engine.so
index 486854e..242e0f5 100755
--- a/src/embedder/engine/debug_x64/libflutter_engine.so
+++ b/src/embedder/engine/debug_x64/libflutter_engine.so
Binary files differ
diff --git a/src/embedder/engine/embedder.h b/src/embedder/engine/embedder.h
index 34cf5ca..9523038 100644
--- a/src/embedder/engine/embedder.h
+++ b/src/embedder/engine/embedder.h
@@ -453,7 +453,9 @@
/// This information is passed to the embedder when requesting a frame buffer
/// object.
///
-/// See: \ref FlutterOpenGLRendererConfig.fbo_with_frame_info_callback.
+/// See: \ref FlutterOpenGLRendererConfig.fbo_with_frame_info_callback,
+/// \ref FlutterMetalRendererConfig.get_next_drawable_callback,
+/// and \ref FlutterVulkanRendererConfig.get_next_image_callback.
typedef struct {
/// The size of this struct. Must be sizeof(FlutterFrameInfo).
size_t struct_size;
@@ -638,6 +640,8 @@
int64_t texture_id;
/// Handle to the MTLTexture that is owned by the embedder. Engine will render
/// the frame into this texture.
+ ///
+ /// A NULL texture is considered invalid.
FlutterMetalTextureHandle texture;
/// A baton that is not interpreted by the engine in any way. It will be given
/// back to the embedder in the destruction callback below. Embedder resources
@@ -1039,7 +1043,8 @@
typedef int64_t FlutterPlatformViewIdentifier;
/// `FlutterSemanticsNode` ID used as a sentinel to signal the end of a batch of
-/// semantics node updates.
+/// semantics node updates. This is unused if using
+/// `FlutterUpdateSemanticsCallback`.
FLUTTER_EXPORT
extern const int32_t kFlutterSemanticsNodeIdBatchEnd;
@@ -1048,7 +1053,7 @@
/// The semantics tree is maintained during the semantics phase of the pipeline
/// (i.e., during PipelineOwner.flushSemantics), which happens after
/// compositing. Updates are then pushed to embedders via the registered
-/// `FlutterUpdateSemanticsNodeCallback`.
+/// `FlutterUpdateSemanticsCallback`.
typedef struct {
/// The size of this struct. Must be sizeof(FlutterSemanticsNode).
size_t struct_size;
@@ -1117,7 +1122,8 @@
} FlutterSemanticsNode;
/// `FlutterSemanticsCustomAction` ID used as a sentinel to signal the end of a
-/// batch of semantics custom action updates.
+/// batch of semantics custom action updates. This is unused if using
+/// `FlutterUpdateSemanticsCallback`.
FLUTTER_EXPORT
extern const int32_t kFlutterSemanticsCustomActionIdBatchEnd;
@@ -1144,6 +1150,20 @@
const char* hint;
} FlutterSemanticsCustomAction;
+/// A batch of updates to semantics nodes and custom actions.
+typedef struct {
+ /// The size of the struct. Must be sizeof(FlutterSemanticsUpdate).
+ size_t struct_size;
+ /// The number of semantics node updates.
+ size_t nodes_count;
+ // Array of semantics nodes. Has length `nodes_count`.
+ FlutterSemanticsNode* nodes;
+ /// The number of semantics custom action updates.
+ size_t custom_actions_count;
+ /// Array of semantics custom actions. Has length `custom_actions_count`.
+ FlutterSemanticsCustomAction* custom_actions;
+} FlutterSemanticsUpdate;
+
typedef void (*FlutterUpdateSemanticsNodeCallback)(
const FlutterSemanticsNode* /* semantics node */,
void* /* user data */);
@@ -1152,6 +1172,10 @@
const FlutterSemanticsCustomAction* /* semantics custom action */,
void* /* user data */);
+typedef void (*FlutterUpdateSemanticsCallback)(
+ const FlutterSemanticsUpdate* /* semantics update */,
+ void* /* user data*/);
+
typedef struct _FlutterTaskRunner* FlutterTaskRunner;
typedef struct {
@@ -1747,24 +1771,32 @@
/// The callback invoked by the engine in root isolate scope. Called
/// immediately after the root isolate has been created and marked runnable.
VoidCallback root_isolate_create_callback;
- /// The callback invoked by the engine in order to give the embedder the
- /// chance to respond to semantics node updates from the Dart application.
+ /// The legacy callback invoked by the engine in order to give the embedder
+ /// the chance to respond to semantics node updates from the Dart application.
/// Semantics node updates are sent in batches terminated by a 'batch end'
/// callback that is passed a sentinel `FlutterSemanticsNode` whose `id` field
/// has the value `kFlutterSemanticsNodeIdBatchEnd`.
///
/// The callback will be invoked on the thread on which the `FlutterEngineRun`
/// call is made.
+ ///
+ /// @deprecated Prefer using `update_semantics_callback` instead. If this
+ /// calback is provided, `update_semantics_callback` must not
+ /// be provided.
FlutterUpdateSemanticsNodeCallback update_semantics_node_callback;
- /// The callback invoked by the engine in order to give the embedder the
- /// chance to respond to updates to semantics custom actions from the Dart
- /// application. Custom action updates are sent in batches terminated by a
+ /// The legacy callback invoked by the engine in order to give the embedder
+ /// the chance to respond to updates to semantics custom actions from the Dart
+ /// application. Custom action updates are sent in batches terminated by a
/// 'batch end' callback that is passed a sentinel
/// `FlutterSemanticsCustomAction` whose `id` field has the value
/// `kFlutterSemanticsCustomActionIdBatchEnd`.
///
/// The callback will be invoked on the thread on which the `FlutterEngineRun`
/// call is made.
+ ///
+ /// @deprecated Prefer using `update_semantics_callback` instead. If this
+ /// calback is provided, `update_semantics_callback` must not
+ /// be provided.
FlutterUpdateSemanticsCustomActionCallback
update_semantics_custom_action_callback;
/// Path to a directory used to store data that is cached across runs of a
@@ -1902,6 +1934,17 @@
// The first argument is the `user_data` from `FlutterEngineInitialize`.
OnPreEngineRestartCallback on_pre_engine_restart_callback;
+ /// The callback invoked by the engine in order to give the embedder the
+ /// chance to respond to updates to semantics nodes and custom actions from
+ /// the Dart application.
+ ///
+ /// The callback will be invoked on the thread on which the `FlutterEngineRun`
+ /// call is made.
+ ///
+ /// If this callback is provided, update_semantics_node_callback and
+ /// update_semantics_custom_action_callback must not be provided.
+ FlutterUpdateSemanticsCallback update_semantics_callback;
+
// Data set by platform-specific embedders for use in font initialization.
uint32_t font_initialization_data;
} FlutterProjectArgs;
@@ -2245,8 +2288,8 @@
/// @param[in] engine A running engine instance.
/// @param[in] enabled When enabled, changes to the semantic contents of the
/// window are sent via the
-/// `FlutterUpdateSemanticsNodeCallback` registered to
-/// `update_semantics_node_callback` in
+/// `FlutterUpdateSemanticsCallback` registered to
+/// `update_semantics_callback` in
/// `FlutterProjectArgs`.
///
/// @return The result of the call.
diff --git a/src/embedder/engine/engine_revision b/src/embedder/engine/engine_revision
index 9bcd2e5..cc4db5e 100644
--- a/src/embedder/engine/engine_revision
+++ b/src/embedder/engine/engine_revision
@@ -1 +1 @@
-0075e10bc4b31999086abaa15322da5952a47c30
+8dd8e092e43f1c3051239f0cf2b01e8caeca6b49
diff --git a/third_party/dart-pkg/internal/flutter/flutter b/third_party/dart-pkg/internal/flutter/flutter
index 378387b..2921ca0 160000
--- a/third_party/dart-pkg/internal/flutter/flutter
+++ b/third_party/dart-pkg/internal/flutter/flutter
@@ -1 +1 @@
-Subproject commit 378387b139386a0c1e089c85a8e0bcd769dcfe47
+Subproject commit 2921ca0c482401e557ebb20d16180e2e14e47ee9
diff --git a/third_party/depot_tools b/third_party/depot_tools
index 9d351f8..30e3ce8 160000
--- a/third_party/depot_tools
+++ b/third_party/depot_tools
@@ -1 +1 @@
-Subproject commit 9d351f8b5aa6d0362eae0c6d32b4e9b6ef3207bf
+Subproject commit 30e3ce8b1c670be00c4957fe773ffb8ff986ed8f
diff --git a/third_party/sdk-integration b/third_party/sdk-integration
index 06aac3c..5956f5f 160000
--- a/third_party/sdk-integration
+++ b/third_party/sdk-integration
@@ -1 +1 @@
-Subproject commit 06aac3ccee1234ecb661accb85ae6a106e2dfb8a
+Subproject commit 5956f5f770fa73f62949bc1429b1575403db9064