forked from flutter/engine
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Multiview ExternalViewEmbedder (flutter#46169)
This PR adds multiview support for `ExternalViewEmbedder`. ## Nomenclature The term **view** can be ambiguous in `ExternalViewEmbedder`, and therefore the following terms are used: * A **native view** refers to the final drawing surface that to composite layers to. It is the "view" used in other places of the engine, such as `Shell::AddView`. * A **platform view** refers a platform view, a layer that holds content to be embedded. ## Change The lifecycle of `ExternalViewEmbedder` is changed: <table> <thead> <tr> <th>Before PR</th> <th>After PR</th> <th>How it's called</th> </tr> </thead> <tbody> <tr> <td rowspan=2>BeginFrame</td> <td>BeginFrame</td> <td>Once per frame</td> </tr> <tr> <td>PrepareFlutterView</td> <td>Once per flutter view</td> </tr> <tr> <td>SubmitFrame</td> <td>SubmitFlutterView (renamed)</td> <td>Once per flutter view</td> </tr> <tr> <td>EndFrame</td> <td>EndFrame (unchanged)</td> <td>Once per frame</td> </tr> </tbody> </table> * `BeginFrame` should perform per-frame actions, such as merge-unmerging threads. * `PrepareView` should perform per-native-view preparations, such as recording the view ID and view size. This change is necessary because some actions in `PrepareView` needs to be refreshed at the beginning of drawing every native view. [C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
- Loading branch information
Showing
21 changed files
with
380 additions
and
172 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
Oops, something went wrong.