ui: Move rafScheduler out of globals

RafScheduler is one of the few things that does deserve to be its own
static singleton as it's a) legitimately used from almost everywhere,
b) it has a lifetime matching that of the application.

We still want to get rid of globals though so move it out from globals
and update all the imports.

This reduces the:
- number of files that import globals, 142 -> 120
- reduces the number of uses of globals, 1109 -> 956

Remaining top offenders:
  ...snip...
  19 globals.logging
  20 globals.getCurrentEngine
  21 globals.publishRedraw
  24 globals.makeSelection
 103 globals.frontendLocalState
 196 globals.dispatch
 344 globals.state

Change-Id: I9333a6e9ee943bb820003e7391bb732eb3a9b1bd
54 files changed
tree: 0d02752d688c998521cb8072431c8a77211709f4
  1. .github/
  2. bazel/
  3. build_overrides/
  4. buildtools/
  5. debian/
  6. docs/
  7. examples/
  8. gn/
  9. include/
  10. infra/
  11. protos/
  12. python/
  13. src/
  14. test/
  15. third_party/
  16. tools/
  17. ui/
  18. .clang-format
  19. .clang-tidy
  20. .git-blame-ignore-revs
  21. .gitattributes
  22. .gitignore
  23. .gn
  24. .style.yapf
  25. Android.bp
  26. Android.bp.extras
  27. BUILD
  28. BUILD.extras
  29. BUILD.gn
  30. CHANGELOG
  31. codereview.settings
  32. DIR_METADATA
  33. heapprofd.rc
  34. LICENSE
  35. meson.build
  36. METADATA
  37. MODULE_LICENSE_APACHE2
  38. OWNERS
  39. perfetto.rc
  40. PerfettoIntegrationTests.xml
  41. PRESUBMIT.py
  42. README.chromium
  43. README.md
  44. TEST_MAPPING
  45. traced_perf.rc
  46. WORKSPACE
README.md

Perfetto - System profiling, app tracing and trace analysis

Perfetto is a production-grade open-source stack for performance instrumentation and trace analysis. It offers services and libraries and for recording system-level and app-level traces, native + java heap profiling, a library for analyzing traces using SQL and a web-based UI to visualize and explore multi-GB traces.

See https://perfetto.dev/docs or the /docs/ directory for documentation.