[scenic] Reland "have each session own its FIDL binding"

This is a reland of a8923ea57076fc88ae88528a6377ffde18ce8a8c

Fixed original bug by now closing Sessions when the channel is dead. Added
additional lifecycle test to ensure that embedded sessions notify their
parents when they die.

Test: Ensure that views become disconnected when they do something
illegal

Original change's description:
> [scenic] have each session own its FIDL binding
>
> Each session now owns its own FIDL binding of the Session protocol, as
> opposed to Scenic owning all in a BindingSet.
>
> This change is necessary to support FIDL events that are incoming, such
> as OnFramePresented().
>
> Tests: existing unit tests, and additional scenic_unittest for multiple
> out of order client deletions
>
> Change-Id: Ifa37acf8b440e6272350cb7caaa311217e35fa40

Change-Id: I56abe38562e829d8a9393f366ddfbe8ca1da8611
8 files changed
tree: 2ab8b03aec39de0ff7f9323322f6ad05707ef330
  1. boards/
  2. build/
  3. bundles/
  4. docs/
  5. examples/
  6. garnet/
  7. peridot/
  8. products/
  9. scripts/
  10. sdk/
  11. src/
  12. third_party/
  13. tools/
  14. zircon/
  15. .clang-format
  16. .clang-tidy
  17. .dir-locals.el
  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.

How can I build and run Fuchsia?

See Getting Started.

Where can I learn more about Fuchsia?

See fuchsia.dev.