This repository was archived by the owner on Feb 25, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 6k
[Embedder API] Introduce new update semantics callback #39807
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
loic-sharma
commented
Feb 23, 2023
8 tasks
7a23da1
to
a11389e
Compare
63a6402
to
24f4a04
Compare
f9359c8
to
4d30835
Compare
8 tasks
yaakovschectman
approved these changes
Mar 6, 2023
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Makes sense
cbracken
reviewed
Mar 7, 2023
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall looks good - mostly nitpicks.
ebe42f0
to
2b36fe3
Compare
chunhtai
approved these changes
Mar 10, 2023
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
2b36fe3
to
68a0c95
Compare
@cbracken and @chinmaygarde This is ready for review. Please take your time as I'd like to make sure there aren't any further embedder API mistakes :) |
cbracken
approved these changes
Mar 20, 2023
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm with a teensy nit.
68a0c95
to
32ea99e
Compare
2fb35e6
to
c3fd36f
Compare
This introduces a new update semantics embedder API that is identical to the previous update semantics embedder API, except that its ABI is stable as: 1. The callback uses array of pointers to structs instead of array of structs. This ensures that array indexing does not break if new members are added to the structs. 2. The types `FlutterSemanticsNode` and `FlutterSemanticsCustomAction` were duplicated as `FlutterSemanticsNode2` and `FlutterSemanticsCustomAction2`. This is necessary as `FlutterSemanticsUpdate` has an array of `FlutterSemanticsNode` and an array of `FlutterSemanticsCustomAction`. Adding new members to these structs would break the ABI compatibility of array indexing. This change does not migrate embedders to this new embedder API, this will be done in subsequent changes: flutter/flutter#121176. Part of: flutter/flutter#121176
c3fd36f
to
347850f
Compare
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/flutter
that referenced
this pull request
Mar 22, 2023
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/flutter
that referenced
this pull request
Mar 22, 2023
loic-sharma
pushed a commit
to loic-sharma/flutter-engine
that referenced
this pull request
Mar 23, 2023
This moves the Windows embedder to the new update semantics embedder API introduced by flutter#39807. This does not affect functionality hence why existing accessibility integration tests are unaffected. Part of: flutter/flutter#121176
8 tasks
loic-sharma
pushed a commit
to loic-sharma/flutter-engine
that referenced
this pull request
Mar 24, 2023
This moves the Windows embedder to the new update semantics embedder API introduced by flutter#39807. This does not affect functionality hence why existing accessibility integration tests are unaffected. Part of: flutter/flutter#121176
8 tasks
loic-sharma
added a commit
to loic-sharma/flutter-engine
that referenced
this pull request
Mar 30, 2023
The old "update semantics" embedder API was deprecated as it could not guarantee ABI stability (see flutter/flutter#121176). It was replaced by a new embedder API (flutter#39807) and all affected embedders were migrated to this new embedder API (flutter#40072, flutter#40584). This change: 1. Removes plumbing that was used for the old "update semantics" embedder API 2. Moves all remaining tests to the types used by the new "update semantics" embedder API Completes: flutter/flutter#121176
loic-sharma
added a commit
to loic-sharma/flutter-engine
that referenced
this pull request
Mar 30, 2023
The old "update semantics" embedder API was deprecated as it could not guarantee ABI stability (see flutter/flutter#121176). It was replaced by a new embedder API (flutter#39807) and all affected embedders were migrated to this new embedder API (flutter#40072, flutter#40584). This change: 1. Removes plumbing that was used for the old "update semantics" embedder API 2. Moves all remaining tests to the types used by the new "update semantics" embedder API Completes: flutter/flutter#121176
loic-sharma
added a commit
to loic-sharma/flutter-engine
that referenced
this pull request
Mar 30, 2023
The old "update semantics" embedder API was deprecated as it could not guarantee ABI stability (see flutter/flutter#121176). It was replaced by a new embedder API (flutter#39807) and all affected embedders were migrated to this new embedder API (flutter#40072, flutter#40584). This change: 1. Removes plumbing that was used for the old "update semantics" embedder API 2. Moves all remaining tests to the types used by the new "update semantics" embedder API Completes: flutter/flutter#121176
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
autosubmit
Merge PR when tree becomes green via auto submit App
embedder
Related to the embedder API
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This introduces a new update semantics embedder API that is identical to the previous update semantics embedder API, except that its ABI is stable as:
FlutterSemanticsNode
andFlutterSemanticsCustomAction
were duplicated asFlutterSemanticsNode2
andFlutterSemanticsCustomAction2
. This is necessary asFlutterSemanticsUpdate
has an array ofFlutterSemanticsNode
and an array ofFlutterSemanticsCustomAction
. Adding new members to these structs would break the ABI compatibility of array indexing.This change does not migrate embedders to this new embedder API, this will be done in subsequent changes: flutter/flutter#121176.
Part of: flutter/flutter#121176
See go/flutter-semantics-abi.
Pre-launch Checklist
///
).If you need help, consider asking for advice on the #hackers-new channel on Discord.