Use parsed longhands from backend in the Styles pane

This CL utilizes the new backend field in CSS.CSSProperty (added in [1])
to populate longhand components of a shorthand property. This fixes a
few issues where the frontend can only show computed/final values of
longhand properties, resulting in confusion over how a shorthand can
possibly derive into certain longhands (they can't). Now we use parsed
values instead of computed/final values for these longhands, with one
exception: when the shorthand property value contains var() functions,
per spec Blink cannot meaningfully parse the shorthand until the var()
has been substituted. Therefore we show empty values for these longhands
as a consistent behavior with what we are currently doing.

Design doc: https://docs.google.com/document/d/1Z5qA-w0yJojHMpI4ZGDuAS1sunFpLK7byIg68VzQfkU/edit

[1]: https://crrev.com/c/3825959

Fixed: 471601
Change-Id: Idcaaad32cf43cf06a11dda455e50a86c71ba16e7
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3834114
Commit-Queue: Changhao Han <[email protected]>
Reviewed-by: Ergün Erdoğmuş <[email protected]>
8 files changed
tree: bed240142169c388476aab2737828531d6ccda61
  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. 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.

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