ui: Put ellipsis towards the middle of track titles

The start and end of track titles are usually more important than the
middle, so put the ellipsis in the middle instead of at the end when
they get too long.

In order to get an implementation working using only CSS, (i.e. without
using a ResizeObserver on every track title element), this
impl uses a fixed character offset from the end of the title, thus the position of the offsets are not entirely uniform. However, this CL is
aimed at readability so beauty can take a back seat.

Before: https://screenshot.googleplex.com/4cyVSahb49BtXbt.png
After: https://screenshot.googleplex.com/9Ya7U7WvDroyChp.png

Change-Id: Id50c7da459fceb571dd716ce186bf66c6b9cf786
14 files changed
tree: 1e8fa0c4efaca243b90dedfd024de3c4d3f18c2e
  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. .bazelignore
  19. .bazelrc
  20. .clang-format
  21. .clang-tidy
  22. .git-blame-ignore-revs
  23. .gitattributes
  24. .gitignore
  25. .gn
  26. .style.yapf
  27. Android.bp
  28. Android.bp.extras
  29. BUILD
  30. BUILD.extras
  31. BUILD.gn
  32. CHANGELOG
  33. codereview.settings
  34. DIR_METADATA
  35. heapprofd.rc
  36. LICENSE
  37. meson.build
  38. METADATA
  39. MODULE_LICENSE_APACHE2
  40. OWNERS
  41. perfetto.rc
  42. PerfettoIntegrationTests.xml
  43. persistent_cfg.pbtxt
  44. PRESUBMIT.py
  45. README.chromium
  46. README.md
  47. TEST_MAPPING
  48. traced_perf.rc
  49. WATCHLISTS
  50. 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.