[go: nahoru, domu]

[scope] Fix 'value unavailable' for source mapped variables

This CL fixes a small bug when we calculate the properties for a
remote scope object where we source map the scope's variables.

The current code filters out properties where the value is `undefined`.
This breaks the "value unavailable" experiment, where we report
unavailable variables (e.g. TDZ) with no value and no getter.

This CL fixes this by removing the undefined check. Furthermore the
CL will now also create a proper copy of the remote property and
copy getters and setters. This does not affect the scope view
directly, as V8 does not put any accessors on scope objects, it's
cleaner nonetheless. We should either clone the whole remote property
properly, or assert that no getters/setters are present. This CL
chooses the former.

R=jarin@chromium.org

Bug: 1328681
Change-Id: I72ea76b3ff9d6e270c3f95e20deb49a2e610b372
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/4728043
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Simon Zünd <szuend@chromium.org>
4 files changed
tree: e65c3af28d3dcf10d006c2d7ccbffe917c660dda
  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