[root-presenter] plumb VKCoordinator to VKManager

Plumb a weak_ptr to the VirtualKeyboardCoordinator down into
the VirtualKeyboardManager.

Along the way, make `manager_` a `std::optional`
in VirtualKeyboardCoordinator. This is necessary because manager_
a) must be declared before weak_ptr_factory_, for safe destruction, and
b) can't be initialized until after weak_ptr_factory_ is initialized

This CL does not introduce any functional changes; later CLs
will make use of the VirtualKeyboardCoordinator.

Bug: 73281
Test: fx test -o root_presenter_unittests -- --gtest_filter='Virtual*'
Change-Id: I525509b486bf8b0b90a92f69c7785a9db631155e
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/521087
Commit-Queue: Auto-Submit <auto-submit@fuchsia-infra.iam.gserviceaccount.com>
Fuchsia-Auto-Submit: Mukesh Agrawal <quiche@google.com>
Reviewed-by: Alice Neels <neelsa@google.com>
6 files changed
tree: 6be290c9884efea530e280ca1f73546711f062a9
  1. boards/
  2. build/
  3. buildtools/
  4. bundles/
  5. docs/
  6. examples/
  7. garnet/
  8. products/
  9. scripts/
  10. sdk/
  11. src/
  12. third_party/
  13. tools/
  14. zircon/
  15. .clang-format
  16. .clang-tidy
  17. .git-blame-ignore-revs
  18. .gitattributes
  19. .gitignore
  20. .gn
  21. .style.yapf
  22. AUTHORS
  23. BUILD.gn
  24. CODE_OF_CONDUCT.md
  25. CONTRIBUTING.md
  26. LICENSE
  27. OWNERS
  28. PATENTS
  29. README.md
  30. rustfmt.toml
README.md

Fuchsia

Pink + Purple == Fuchsia (a new operating system)

What is Fuchsia?

Fuchsia is a modular, capability-based operating system. Fuchsia runs on modern 64-bit Intel and ARM processors.

Fuchsia is an open source project with a code of conduct that we expect everyone who interacts with the project to respect.

Read more about Fuchsia's principles.

How can I build and run Fuchsia?

See Getting Started.

Where can I learn more about Fuchsia?

See fuchsia.dev.