In preparation to resolve function names in the perfomance panel using source maps, this CL implements two functional changes: 1. The loadingComplete function of the PerformanceModel is set to be async. This is because the name resolving will require the result of async invocations and this function is ideal for adding the calls into (since this function commands the trace processing after all trace events are available). With this change, other functions in the call chain are updated accordingly (this includes calls in the legacy TimlineTestRunner) 2. To avoid race conditions, the PerformanceModel instance owned by the TimelinePanel is not used until the TimelineController has finished the processing pipeline. Before this CL, this waiting didn't happen made the code subject to race conditions, which were made evident with the implementation of (1). Tests in Chromium land that make use of the updated helpers in the test runner need to be updated before this CL can land. Bug: 1364601 Change-Id: I2b7586337793eafd570e98947dcfbb574e6e43e5 Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3941705 Reviewed-by: Jack Franklin <jacktfranklin@chromium.org> Commit-Queue: Andres Olivares <andoli@chromium.org>
Chrome DevTools frontend
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
- DevTools documentation: devtools.chrome.com
- Debugging protocol docs and Chrome Debugging Protocol Viewer
- awesome-chrome-devtools: recommended tools and resources
- Contributing to DevTools: bit.ly/devtools-contribution-guide
- Contributing To Chrome DevTools Protocol: docs.google.com
- DevTools Design Review Guidelines: design_guidelines.md
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
-
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