[scenic] Make FrameScheduler take closures

Changes the FrameScheduler interface from taking vectors of
objects implementing interfaces to just taking closures.
This will give us more flexibility, let us be more explicit,
and reduce the things FrameScheduler has to care about.

For example: it already removed the need for
SignalFencesWhenPreviousRendersAreDone to be its own event.
It's now instead more naturally nestled into the UpdateSessions
event.

Change 1/3

Fixed: 58037

Change-Id: Ibf617f4fd8b6ee9c926a4f70711c0c51c7cc15ad
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/776582
Reviewed-by: Jaeheon Yi <jaeheon@google.com>
Commit-Queue: Mikael Pessa <mikaelpessa@google.com>
17 files changed
tree: 4d4d217b33d9cdd6c22ddef9ec94f9dc724a3588
  1. boards/
  2. build/
  3. bundles/
  4. docs/
  5. examples/
  6. products/
  7. scripts/
  8. sdk/
  9. src/
  10. third_party/
  11. tools/
  12. zircon/
  13. .clang-format
  14. .clang-tidy
  15. .editorconfig
  16. .git-blame-ignore-revs
  17. .gitattributes
  18. .gitignore
  19. .gitmodules
  20. .gn
  21. .style.yapf
  22. analysis_options.yaml
  23. AUTHORS
  24. BUILD.gn
  25. CODE_OF_CONDUCT.md
  26. CONTRIBUTING.md
  27. fuchsia.code-workspace
  28. LICENSE
  29. OWNERS
  30. PATENTS
  31. pyrightconfig.json
  32. README.md
  33. rustfmt.toml
README.md

Fuchsia

What is Fuchsia?

Fuchsia is an open source, general purpose operating system supporting modern 64-bit Intel and ARM processors.

We expect everyone interacting with our project to respect our code of conduct.

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.