ui: Apply controller side actions immediately

Currently controller side actions (those dispatched from
ui/src/controller) are sent via a message channel and then applied on
the frontend side. This effectively 'queues' these actions meaning they
can end up being applied after actions dispatched by the frontend even
if the controller side actions happened first. All this is a remanence
of when the controller was a separate worker thread. This patch removes
the massage channel and causes controller side actions to be applied
synchronously.

To minimize diff in case of reverts I didn't update
every callsite to call (frontend/)globals.dispatch directly. Instead
they continue to call (controller/)globals.dispatch which now calls
(frontend/)globals.dispatch. In a follow up (controller/)globals.dispatch
should be removed and everyone should use (frontend/)globals.dispatch
directly.

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