[workspace] Make UISourceCode a SafeContentProvider This CL implements 'requestContentData' for UISourceCode and also changes the internal implementation to use the safer ContentData instead of a DeferredContent. The CL has to add some helper methods. In particular the 'checkContentUpdated' method checks whether content changed. To this end it decodes any base64 encoded content into binary string. This is somewhat ok as long as this unsafely decoded content is only used for comparison but not actually show it to the user or store it. The CL also updates the UISourceCode unit tests. It used 'setContent' with non-base64 content but set the 'isBase64' flag. With the new implementation this causes issues for several reasons: 1) The test doesn't set up a proper mime type so the ContentData assumes it's binary data that can't be decoded. So attempting to access the ContentData as text throws an error. 2) The strings used in the test are not actually valid base64 so decoding would fail in any case. R=kimanh@chromium.org, leese@chromium.org Bug: 342529015 Change-Id: Ie71d30d2e4fbaeb0e4bd3e64ea06a73123d1ba13 Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/5570126 Reviewed-by: Philip Pfaffe <pfaffe@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org>
The client-side of the Chrome DevTools, including all TypeScript & CSS to run the DevTools webapp.
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.
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.
All DevTools commits: View the log or follow @DevToolsCommits on Twitter
All open DevTools tickets on crbug.com
File a new DevTools ticket: new.crbug.com
Code reviews mailing list: devtools-reviews@chromium.org
@ChromeDevTools on Twitter
Chrome DevTools mailing list: groups.google.com/forum/google-chrome-developer-tools