[RPP] Simplify RendererHandler implementation

Working on merging samples with trace events I noted some opportunities
to simplify:

1. Remove code we don't use.
   a. Styles recalc initiator calculation
   b. "Hot" functions calculation

   This is stuff we don't need at the moment. If in the future we need
   to implement it, I think it would be better to do it somewhere else,
   otherwise we risk making the renderer handler a new TimelineModel in
   terms of having all the core timeline code.

2. Store a reference to the event on each RendererEventNode. Instead of
   storing its index in the original trace event array. This way we
   don't have to query through multiple data structures to go from node
   to event.

3. Remove synthetic "totalTime" property in renderer events. It's
   equivalent to the already existing "dur" property.

4. Other small simplifications throughout the code.

Bug: 1449191
Change-Id: Ic8274cd501d22a6a1cab3163ed7c1bb1c38d8e8b
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/4596066
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
Commit-Queue: Andres Olivares <andoli@chromium.org>
3 files changed
tree: 86885c675d4464a2886434f31eb3c713f03827c1
  1. .vscode/
  2. build_overrides/
  3. config/
  4. docs/
  5. extension-api/
  6. front_end/
  7. inspector_overlay/
  8. node_modules/
  9. scripts/
  10. test/
  11. third_party/
  12. v8/
  13. .clang-format
  14. .editorconfig
  15. .eslintignore
  16. .eslintrc.js
  17. .git-blame-ignore-revs
  18. .gitattributes
  19. .gitignore
  20. .gn
  21. .mailmap
  22. .npmignore
  23. .npmrc
  24. .style.yapf
  25. .stylelintignore
  26. .stylelintrc.json
  27. AUTHORS
  28. BUILD.gn
  29. codereview.settings
  30. DEPS
  31. LICENSE
  32. OWNERS
  33. package-lock.json
  34. package.json
  35. PRESUBMIT.py
  36. README.md
  37. tsconfig.json
  38. WATCHLISTS
README.md

Chrome DevTools frontend

npm package

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

Source code

The frontend is available on chromium.googlesource.com.

Project documentation

Check out the project documentation for instructions to set up, use, and maintain a DevTools front-end checkout, as well as design guidelines, and architectural documentation.

Additional references

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