Frame geometry sync consolidated into a single IPC payload
Component: WebKit Site Isolation | 119fd82
Under Site Isolation, cross-origin iframes render in separate WebContent processes, so the parent frame's geometry has to be pushed to each child RemoteFrame's process on every rendering update. That covers the layout viewport, the contents size, and per-child layout info such as clip rects, transforms and zoom — everything the child process needs to compute layout, hit-testing and coordinate transforms for its portion of the page. The transport is the FrameTreeSyncData IPC structure, applied on the receiving side by Frame::updateFrameTreeSyncData.
This commit merges the three previously-independent per-rendering-update messages — layout viewport rect, contents size, and children frame layout info — into a single FrameGeometrySyncData struct carried on the existing FrameTreeSyncData channel. It also touches the null-safety of the dark-appearance invalidation path along the way.
Significance
Three per-frame IPC messages per rendering update collapse into one, and cross-process frame-geometry updates now converge on a single dispatch point. For anyone auditing Site Isolation, that consolidation is worth noting on its own terms: the set of code that applies untrusted geometry from another process just got smaller and easier to enumerate.