Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(661)

Unified Diff: content/browser/frame_host/cross_process_frame_connector.h

Issue 1094113003: Allow out-of-process iframes to render to compositing surfaces. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Missed one Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | content/browser/frame_host/cross_process_frame_connector.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/frame_host/cross_process_frame_connector.h
diff --git a/content/browser/frame_host/cross_process_frame_connector.h b/content/browser/frame_host/cross_process_frame_connector.h
index c52c9913d81885c2ea0d02b2348222985782ba9d..fd0dc535af782e05b64ccc6d3f1d60852a71fd90 100644
--- a/content/browser/frame_host/cross_process_frame_connector.h
+++ b/content/browser/frame_host/cross_process_frame_connector.h
@@ -6,12 +6,18 @@
#define CONTENT_BROWSER_FRAME_HOST_CROSS_PROCESS_FRAME_CONNECTOR_H_
#include "cc/output/compositor_frame.h"
+#include "content/common/content_export.h"
#include "ui/gfx/geometry/rect.h"
namespace blink {
class WebInputEvent;
}
+namespace cc {
+struct SurfaceId;
+struct SurfaceSequence;
+}
+
namespace IPC {
class Message;
}
@@ -60,7 +66,7 @@ class RenderWidgetHostViewChildFrame;
// SiteInstance, A2 in the picture above. When a child frame navigates in a new
// process, set_view() is called to update to the new view.
//
-class CrossProcessFrameConnector {
+class CONTENT_EXPORT CrossProcessFrameConnector {
public:
// |frame_proxy_in_parent_renderer| corresponds to A2 in the example above.
explicit CrossProcessFrameConnector(
@@ -76,10 +82,15 @@ class CrossProcessFrameConnector {
void RenderProcessGone();
- void ChildFrameCompositorFrameSwapped(uint32 output_surface_id,
- int host_id,
- int route_id,
- scoped_ptr<cc::CompositorFrame> frame);
+ virtual void ChildFrameCompositorFrameSwapped(
+ uint32 output_surface_id,
+ int host_id,
+ int route_id,
+ scoped_ptr<cc::CompositorFrame> frame);
+ virtual void SetChildFrameSurface(const cc::SurfaceId& surface_id,
+ const gfx::Size& frame_size,
+ float scale_factor,
+ const cc::SurfaceSequence& sequence);
gfx::Rect ChildFrameRect();
@@ -91,6 +102,9 @@ class CrossProcessFrameConnector {
const FrameHostMsg_ReclaimCompositorResources_Params& params);
void OnForwardInputEvent(const blink::WebInputEvent* event);
void OnInitializeChildFrame(gfx::Rect frame_rect, float scale_factor);
+ void OnSatisfySequence(const cc::SurfaceSequence& sequence);
+ void OnRequireSequence(const cc::SurfaceId& id,
+ const cc::SurfaceSequence& sequence);
void SetDeviceScaleFactor(float scale_factor);
void SetSize(gfx::Rect frame_rect);
« no previous file with comments | « no previous file | content/browser/frame_host/cross_process_frame_connector.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698