Bug 196159

Summary: Add WebKit logging for first paint and other interesting layout milestones
Product: WebKit Reporter: Keith Rollin <krollin>
Component: WebKit Misc.Assignee: Keith Rollin <krollin>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, simon.fraser, webkit-bug-importer, zalan
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch none

Description Keith Rollin 2019-03-22 14:31:02 PDT
Add some logging to indicate what layout milestones have been reached. This should help us determine if there's a client, rendering, layout, or some other issue when page content does not appear in the client window.

<rdar://problem/49128952>
Comment 1 Keith Rollin 2019-03-22 14:32:37 PDT
The logging is being added to WebFrameLoaderClient::dispatchDidReachLayoutMilestone. This seems like a nice central place to capture layout milestones. However, it will only log notifications that are being sent to clients. It does not indicate all milestones that have occurred. That is, it does not report milestones that are filtered out due to client disinterest. There doesn't seem to be a good central place to capture all milestones, regardless of client interest.
Comment 2 Keith Rollin 2019-03-22 14:38:59 PDT
$ rg 'dispatchDidReachLayoutMilestone' low.txt 
2019-03-22 14:19:50.805015-0700 0x64f1e3   Default     0x0                  1649   0    com.apple.WebKit.WebContent.Development: (WebKit) [com.apple.WebKit:Layout] 0x651bf7ae0 - WebFrameLoaderClient::dispatchDidReachLayoutMilestone: dispatching DidFirstLayoutForFrame, page = 0x7fcffe004e08
2019-03-22 14:19:50.805017-0700 0x64f1e3   Default     0x0                  1649   0    com.apple.WebKit.WebContent.Development: (WebKit) [com.apple.WebKit:Layout] 0x651bf7ae0 - WebFrameLoaderClient::dispatchDidReachLayoutMilestone: dispatching didCompletePageTransition, page = 0x7fcffe004e08
2019-03-22 14:19:50.805029-0700 0x64f1e3   Default     0x0                  1649   0    com.apple.WebKit.WebContent.Development: (WebKit) [com.apple.WebKit:Layout] 0x651bf7ae0 - WebFrameLoaderClient::dispatchDidReachLayoutMilestone: dispatching DidReachLayoutMilestone, page = 0x7fcffe004e08, milestones = DidFirstLayout, DidFirstVisuallyNonEmptyLayout
2019-03-22 14:19:50.805031-0700 0x64f1e3   Default     0x0                  1649   0    com.apple.WebKit.WebContent.Development: (WebKit) [com.apple.WebKit:Layout] 0x651bf7ae0 - WebFrameLoaderClient::dispatchDidReachLayoutMilestone: dispatching DidFirstVisuallyNonEmptyLayoutForFrame, page = 0x7fcffe004e08
2019-03-22 14:19:50.860795-0700 0x64f1e3   Default     0x0                  1649   0    com.apple.WebKit.WebContent.Development: (WebKit) [com.apple.WebKit:Layout] 0x651bf7ae0 - WebFrameLoaderClient::dispatchDidReachLayoutMilestone: dispatching DidReachLayoutMilestone, page = 0x7fcffe004e08, milestones = DidFirstMeaningfulPaint
Comment 3 Keith Rollin 2019-03-22 14:41:28 PDT
<rdar://problem/49128952>
Comment 4 Keith Rollin 2019-03-22 14:43:18 PDT
Created attachment 365762 [details]
Patch
Comment 5 WebKit Commit Bot 2019-03-25 13:46:59 PDT
Comment on attachment 365762 [details]
Patch

Clearing flags on attachment: 365762

Committed r243453: <https://trac.webkit.org/changeset/243453>
Comment 6 WebKit Commit Bot 2019-03-25 13:47:00 PDT
All reviewed patches have been landed.  Closing bug.