[scopes] Allow multiple top-level generated ranges

This was discussed in meetings and the source map hackathon. The spec
already implicitly allows this, we just did not implement it.

A common use case is concatenation, where multiple source files are
concatenated into a bundle. In that case we would have multiple
top-level generated ranges that correspond to the top-level scope in
each original source file.

Implementation-wise we add a pseudo root range to the range stack
and grab it's children once we are done decoding.

R=pfaffe@chromium.org

Bug: 40277685
Change-Id: I16a61a80cd79d64624a94c1e77600515d9e65d60
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/5712148
Reviewed-by: Philip Pfaffe <pfaffe@chromium.org>
Commit-Queue: Simon Zünd <szuend@chromium.org>
3 files changed
tree: b66b9bada63b889e5f1dae458f61d742caa6954f
  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. DEPS
  34. LICENSE
  35. OWNERS
  36. package-lock.json
  37. package.json
  38. PRESUBMIT.py
  39. README.md
  40. tsconfig.json
  41. 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 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