tree 7e99d08bbd7495a7ad9e3b63de8ff8838b55b766
parent e41972b1c698b8b1e7737dcd4267e617d5d602d2
author Tong Mu <dkwingsmt@users.noreply.github.com> 1712867184 -0700
committer GitHub <noreply@github.com> 1712867184 -0700
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJmGEdwCRC1aQ7uu5UhlAAAYo4QAGOnYSJ6i628tVA/CNBZlYY8
 Cn63PMXO/vneWSXCoBK6inLp5rSstLPwvFt7mlWxSlG3fX8sCzIB2Oc3iMFBwC9k
 U0Op0X1LCQ7bsdCl+lgACU8273vkphyLBVAvn9ImJ4oVoT2gpHL/rp1kfqykcWGb
 QDbhRwVPc3zQR/9owKP5HDiDAJ4UPM+PwCQLFmY6ukYGWjMZ3b2Kl7cIb14WdsAr
 Ch1GKW+xFP7Zmkzs/1k20IthA4/o8EJUmRjXPx0kxhK/+hUQqPv9dbQ3LOyLcD23
 ICP5/5V1Qt5DH2fokeIJcmGNBbZ5rJ5gzZ/WNlXCgL/Pp87d5tajNuQercJQWbmH
 RyYYiYL/PXbK0zOLU76UIsyK9T8qdIcdWT6WHzqtYjY7znftmNd4TEA7qP/JF7jV
 JIqGzwBhUTOO9HVXUiIqQO3QYPcRduY08A9JcOTWgS8X2e/alsyVPHQ7cYxfFHJ9
 rQ7b4cwwAx4bD9l0zd7EOiIFKHeNWC2stkIXWKEQG49dGNXgEolGRGxB3Cskc8x8
 s8DLQ5yvgimW2tduUcM6jtVjgHC/o7FWJlrRtEpb7F77sIVfwypQzqV4nwjRh46z
 Y2FK2SV/eoLlbug4JnLi9uzGtpn87OwkUqbfcrCHwuiy02gOwxfKmrrnImHz14BZ
 jdJTT+TYwJBVcfU6/o6Z
 =tACB
 -----END PGP SIGNATURE-----
 

Move `Shell::Add/RemoveView` to `PlatformView` and refine embedder API doc (#52003)

This PR moves the methods to add or remove views from `Shell` to
`PlatformView`. By design, the `Shell` is supposed to be a messenger
that glues classes together, while `PlatformView` is the operator that
embedders that do not use the embedder API should operate on. The
current design was made due to lack of knowledge to this design.

This also makes `PlatformView` aware of views, which might be a
prerequisite to https://github.com/flutter/engine/pull/51925.

This PR also adds some details to embedder API `AddView` and
`RemoveView`.

## Pre-launch Checklist

- [ ] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [ ] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [ ] I read and followed the [Flutter Style Guide] and the [C++,
Objective-C, Java style guides].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I added new tests to check the change I am making or feature I am
adding, or the PR is [test-exempt]. See [testing the engine] for
instructions on writing and running engine tests.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] I signed the [CLA].
- [ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[test-exempt]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[C++, Objective-C, Java style guides]:
https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
[testing the engine]:
https://github.com/flutter/flutter/wiki/Testing-the-engine
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat