Bug 249796
Summary: | "Frame End" timeline point is wrong with UI-side compositing | ||
---|---|---|---|
Product: | WebKit | Reporter: | Simon Fraser (smfr) <simon.fraser> |
Component: | Web Inspector | Assignee: | 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)
`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 | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/103645351>
Simon Fraser (smfr)
Currently on iOS, "frame end" will happen before "composite end" in some cases.
Nikos Mouchtaris
Pull request: https://github.com/WebKit/WebKit/pull/13661
EWS
Committed 263917@main (f11ea318b8fc): <https://commits.webkit.org/263917@main>
Reviewed commits have been landed. Closing PR #13661 and removing active labels.