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
Implement unobstructed Platform Views on iOS #17049
Merged
Merged
Changes from all commits
Commits
Show all changes
45 commits
Select commit
Hold shift + click to select a range
ad66694
Implement unobstructed Platform Views
1fde093
Comments
9b747a3
Format gn
e8cfa5d
Remove log
ae64ac3
Add FlutterRTree unit test
e722620
Remove blue UIView
bce3c8a
Fix header
b1975e1
Update licenses_flutter
4318306
Update unit tests
84c3b0f
test (delete)
3635a70
Fix platform view scenarios tests
39f0bad
typo
62d8d8d
Update golden platform view
11242e9
Fix FlutterRTree bug
fcaa142
Clip platform view in the background canvas
2b27ed6
Add GetPlatformViewRect to EmbedderExternalViewEmbedder
b7c2bc6
Remove matrix check
71ba25c
Return empty skrect
7002929
Test
9f7f91c
Fix tests
4cb007a
Update rtree unit test
326f339
Minor fixes
6d283a9
Revert unintended change
781fb29
Remove stale comment
858849b
Clean up
d482d2d
Fix unittest
00f86a5
Add tests for unobstructed platform views
b35dde1
Format dart code
423036d
Clean up
ed891cb
Remove old rtree
207beb4
Clean up
f6d1269
Remove duplicated entry after rebase
af7b916
Remove dependency
4100603
Revert changes from rebase
0c06c48
Delete transient files
f705462
nits
71e5beb
Pass ios_context
d4f4386
comments
7f2d64e
Add todo
f48860f
Add FinishFrame hook to embedded_views
32fbc8c
empty line
165d9ea
Missing method
41b8ac4
Feedback
8488382
Merge remote-tracking branch 'upstream/master' into unobstructed_pv
32f433a
Feedback
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
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
Oops, something went wrong.
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.
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.
We need to make sure the CATransaction is committed after everything is ready to be presented.
Right now
external_view_embedder->SubmitFramecommits the CATransaction, so we can't moveframe->Submitto be called after it.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.
Maybe we can add a separate interface in
external_view_embedderto commit transactions?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.
Sounds like a good approach, however I'd probably call the method which (on iOS) commits the transaction
SubmitFrame😄.What do you think about adding a
FinalizeCanvasesmethod which will do everything but commit the transaction, and then separatelySubmitFrame(which on iOS commits the transaction, on embedder platforms would present layers).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.
I'm not too familiar with
embedderplatforms, does it mean iOS'sFinalizeCanvasesbecomes an equivalent of embedder platforms'SubmitFrame?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.
I added a
FinishFrame()method toExternalViewEmbedderthat can be used for committing the transaction. I believe this is the simplest refactor given the scope of this PR.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.
I'm OK with this only considering iOS. I'm not sure what the best approach would be considering external embedder. Probably need more inputs from @amirh or @chinmaygarde