mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-29 01:15:59 +08:00
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>