RPP: allow annotation labels on frames

This CL allows annotation labels to be added to frames (in a follow-up
we will also add support for frames when drawing connections).

This CL turned out to be slightly more complex than anticipated; the
LegacyTimelineFrame type (named as such because we expect to move frames
to being based on AnimationFrame events soon) was not defined in
`Types.TraceEvents` but instead within the `FramesHandler` (mainly
because the FramesHandler is mostly based off the legacy TimelineModel
implementation). However, we needed to pull out a type into
`types/TraceEvents` so it could be referenced in the right place.

So, I did that, and then after that it was a case of adding
serialization support for these frames so that annotations attached to
them can be stored in a trace file and restored when it is imported. I
then updated the overlay code to be able to handle being attached to a
frame.

Fixed: 362950098
Change-Id: I4b345719fcf8293ea3302c4e1c675d51cf4e4212
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/5828601
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
Reviewed-by: Alina Varkki <alinavarkki@chromium.org>
Auto-Submit: Jack Franklin <jacktfranklin@chromium.org>
14 files changed
tree: 0e2d5afd94522eec9b498b875579d0fbc9300e72
  1. .vscode/
  2. build_overrides/
  3. config/
  4. docs/
  5. extension-api/
  6. extensions/
  7. front_end/
  8. inspector_overlay/
  9. node_modules/
  10. scripts/
  11. test/
  12. third_party/
  13. v8/
  14. .clang-format
  15. .editorconfig
  16. .eslintignore
  17. .eslintrc.js
  18. .git-blame-ignore-revs
  19. .gitallowed
  20. .gitattributes
  21. .gitignore
  22. .gitmodules
  23. .gn
  24. .mailmap
  25. .npmignore
  26. .npmrc
  27. .style.yapf
  28. .stylelintignore
  29. .stylelintrc.json
  30. AUTHORS
  31. BUILD.gn
  32. codereview.settings
  33. CONTRIBUTING.md
  34. DEPS
  35. favicon.ico
  36. LICENSE
  37. OWNERS
  38. package-lock.json
  39. package.json
  40. PRESUBMIT.py
  41. README.md
  42. tsconfig.json
  43. WATCHLISTS
README.md

Chrome DevTools frontend

npm package

The client-side of the Chrome DevTools, including all TypeScript & CSS to run the DevTools webapp.

Source code and documentation

The frontend is available on chromium.googlesource.com. Check out the Chromium DevTools documentation for instructions to set up, use, and maintain a DevTools front-end checkout, as well as design guidelines, and architectural documentation.

Source mirrors

DevTools frontend repository is mirrored on GitHub.

DevTools frontend is also available on NPM as the chrome-devtools-frontend package. It's not currently available via CJS or ES modules, so consuming this package in other tools may require some effort.

The version number of the npm package (e.g. 1.0.373466) refers to the Chromium commit position of latest frontend git commit. It's incremented with every Chromium commit, however the package is updated roughly daily.

Getting in touch

There are a few options to keep an eye on the latest and greatest of DevTools development: