ui: Fix flickering track pin buttons

When track pin buttons were partially obscured by a track group header,
they would flicker when the mouse was hovered over both the header and
the button simultaneously.

This is due to the fact that their visibility was being controlled by
setting their `opacity` CSS property to 0 to make these buttons
invisible. Any element whose opacity is less than 1 creates a new
stacking context, meaning that the button appeared above the sticky
group header element.

However, when hovered, the button opacity was being set back to 1, so
the stacking context was lost, causing the button to be moved behind the
group header and thus not receive the hover state any more, causing it's
opacity to be set to 0 again, ad infinium.

This CL switches from using `opacity` to control visibility to using
`visibility` instead, which doesn't create a new stacking context.

Change-Id: I5b5914a8f9626a830b8d6f0b4ef234fc01a9307f
1 file changed
tree: 497da4a32a71ec10508a7aaea79d3ea85d20ca20
  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. persistent_cfg.pbtxt
  42. PRESUBMIT.py
  43. README.chromium
  44. README.md
  45. TEST_MAPPING
  46. traced_perf.rc
  47. WATCHLISTS
  48. 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.