[timeline] Always use fallback information for text location

Use fallback cases when showing the script location in
`buildDetailsTextForTraceEvent`.

Currently, we use the UILocation if existent (which is only
the case, if we have already parsed the `scriptId` of the Timeline
Event. If this has not been the case, it fell back to using
either the top frame, or nothing).

This CL changes this code to always use the fallback, instead
of trying to resolve the location:

1. This is both flaky on the tests (if crbug.com/1318635 is fixed
with https://crrev.com/c/3613395), and can be observed by the
developer as it is time dependent.
2. As is, there has been a backend bug (crbug.com/1318635) which
never sent the correct `scriptId` (int instead of string) for
stack traces anyway, so we used the fallback for that case, and
that is reflected on many layout tests as well.
3. Normally we try to use the live location using the script, but this
particular code produces not a link but a text, and is only used
for WebSocketDestroy events and the layout test infrastructure.
4. Setting it to default to the information we have, is deterministic.

Bug: 1318635
Change-Id: I5078d18d92d8b60d8c8d4253efe07f7527bb3c19
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3613875
Reviewed-by: Simon Zünd <szuend@chromium.org>
Commit-Queue: Kim-Anh Tran <kimanh@chromium.org>
7 files changed
tree: 3ad1cffc0026ee4f8e61307a0f1b5f871f206ed1
  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. .gitattributes
  18. .gitignore
  19. .gn
  20. .mailmap
  21. .npmignore
  22. .npmrc
  23. .style.yapf
  24. .stylelintignore
  25. .stylelintrc.json
  26. ARCHITECTURE.md
  27. AUTHORS
  28. BUILD.gn
  29. DEPS
  30. LICENSE
  31. OWNERS
  32. package-lock.json
  33. package.json
  34. PRESUBMIT.py
  35. README.md
  36. tsconfig.json
  37. 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.

Design guidelines

Please be aware that DevTools follows additional development guidelines.

Issue triage

The issue triage guidelines can be found in docs/triage_guidelines.md.

Workflows

Instructions to set up, use, and maintain a DevTools frontend checkout can be found in docs/workflows.md.

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