
Also known as https://crrev.com/c/6254053, which introduced a code path dependent on BrowserEngineKit for iOS in some classes used by tvOS, like ImageTransportSurfaceOverlayMac and CALayerFrameSinkProvider. Try to disrupt the existing iOS code as little as possible while making tvOS work again by: - Adding some ifdefs and corresponding GN checks around BrowserEngineKit APIs and includes. - Making tvOS use the previous RWHV<->CALayerFrameSinkProvider code path by subclassing RenderWidgetHostViewIOS and making UpdateCALayerTree() use ui::DisplayCALayerTree. - Making CALayerFrameSinkProvider build without BrowserEngineKit again by varying its parent class depending on whether we are building for iOS or tvOS. Bug: 391914246 Cq-Include-Trybots: luci.chromium.try:ios-blink-dbg-fyi Change-Id: Ib4259daf5d81199c1cff4ede389716c97737905f Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6343678 Reviewed-by: Dave Tapuska <dtapuska@chromium.org> Reviewed-by: Mustafa Emre Acer <meacer@chromium.org> Reviewed-by: Colin Blundell <blundell@chromium.org> Commit-Queue: Raphael Kubo da Costa <kubo@igalia.com> Cr-Commit-Position: refs/heads/main@{#1431608}
This directory contains the accelerated_widget_mac ui component. The main exported class is AcceleratedWidgetMac, which owns a tree of Core Animation CALayers that are placed into an NSView provided by the AcceleratedWidgetMacNSView client class. AcceleratedWidgetMac receives frames from the compositor and ensures it has appropriate layers for rendering that frame type into the NSView.