Allow out-of-process iframes to render to compositing surfaces.
When compositing surfaces are enabled, the browser process upon
receiving a frame from an OOPIF will pass a surface identifier to the
embedding renderer process rather than the frame itself. This prevents
frames from having to be composited at an arbitrary number of levels
when OOPIFs are chained.
BUG=478802
TEST=RenderWidgetHostViewChildFrameTest.SwapCompositorFrame
Review URL: https://codereview.chromium.org/1094113003
Cr-Commit-Position: refs/heads/master@{#332060}
diff --git a/content/renderer/render_frame_proxy.h b/content/renderer/render_frame_proxy.h
index 65ad70fa..b2ac60f 100644
--- a/content/renderer/render_frame_proxy.h
+++ b/content/renderer/render_frame_proxy.h
@@ -21,6 +21,11 @@
class WebInputEvent;
}
+namespace cc {
+struct SurfaceId;
+struct SurfaceSequence;
+}
+
namespace content {
class ChildFrameCompositingHelper;
@@ -140,6 +145,10 @@
void OnDeleteProxy();
void OnChildFrameProcessGone();
void OnCompositorFrameSwapped(const IPC::Message& message);
+ void OnSetChildFrameSurface(const cc::SurfaceId& surface_id,
+ const gfx::Size& frame_size,
+ float scale_factor,
+ const cc::SurfaceSequence& sequence);
void OnDisownOpener();
void OnDidStopLoading();
void OnDidUpdateSandboxFlags(blink::WebSandboxFlags flags);