Bug 249796

Summary: "Frame End" timeline point is wrong with UI-side compositing
Product: WebKit Reporter: Simon Fraser (smfr) <simon.fraser>
Component: Web InspectorAssignee: Nikos Mouchtaris <nmouchtaris>
Status: RESOLVED FIXED    
Severity: Normal CC: inspector-bugzilla-changes, simon.fraser, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=249750
https://bugs.webkit.org/show_bug.cgi?id=249736
https://bugs.webkit.org/show_bug.cgi?id=249807
https://bugs.webkit.org/show_bug.cgi?id=260360

Simon Fraser (smfr)
Reported 2022-12-22 11:42:52 PST
`InspectorTimelineAgent::internalStart` uses this mechanism to detect "frame end": m_frameStopObserver = makeUnique<RunLoopObserver>(static_cast<CFIndex>(RunLoopObserver::WellKnownRunLoopOrders::InspectorFrameEnd), [this]() { This doesn't work with UI-side compositing (i.e. iOS, and future macOS), because a "frame" can extend over multiple turns of the CFRunLoop while we wait for backing store flushing (see where RemoteLayerTreeDrawingArea calls didCompleteRenderingUpdateDisplay()).
Attachments
Radar WebKit Bug Importer
Comment 1 2022-12-22 11:43:10 PST
Simon Fraser (smfr)
Comment 2 2022-12-22 11:47:17 PST
Currently on iOS, "frame end" will happen before "composite end" in some cases.
Nikos Mouchtaris
Comment 3 2023-05-09 15:19:17 PDT
EWS
Comment 4 2023-05-10 12:30:11 PDT
Committed 263917@main (f11ea318b8fc): <https://commits.webkit.org/263917@main> Reviewed commits have been landed. Closing PR #13661 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.