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

Unified Diff: content/browser/renderer_host/offscreen_canvas_compositor_frame_sink.h

Issue 2569923004: OffscreenCanvasCompositorFrameSink uses CompositorFrameSinkSupport (Closed)
Patch Set: Fix typo Created 4 years 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
Index: content/browser/renderer_host/offscreen_canvas_compositor_frame_sink.h
diff --git a/content/browser/renderer_host/offscreen_canvas_compositor_frame_sink.h b/content/browser/renderer_host/offscreen_canvas_compositor_frame_sink.h
index abd818700f7ce772d548edf0ddcfeef5d6e52846..c526e0b63b32ee5c7255f3289b32d5098c3672c7 100644
--- a/content/browser/renderer_host/offscreen_canvas_compositor_frame_sink.h
+++ b/content/browser/renderer_host/offscreen_canvas_compositor_frame_sink.h
@@ -5,32 +5,35 @@
#ifndef CONTENT_BROWSER_RENDERER_HOST_OFFSCREEN_CANVAS_COMPOSITOR_FRAME_SINK_H_
#define CONTENT_BROWSER_RENDERER_HOST_OFFSCREEN_CANVAS_COMPOSITOR_FRAME_SINK_H_
-#include <memory>
-#include <vector>
-
-#include "cc/surfaces/surface_factory.h"
-#include "cc/surfaces/surface_factory_client.h"
-#include "third_party/WebKit/public/platform/modules/offscreencanvas/offscreen_canvas_surface.mojom.h"
+#include "cc/ipc/compositor_frame.mojom.h"
+#include "cc/ipc/mojo_compositor_frame_sink.mojom.h"
+#include "cc/resources/transferable_resource.h"
+#include "cc/surfaces/compositor_frame_sink_support.h"
+#include "cc/surfaces/compositor_frame_sink_support_client.h"
+#include "mojo/public/cpp/bindings/strong_binding.h"
namespace content {
class OffscreenCanvasCompositorFrameSink
- : public cc::mojom::MojoCompositorFrameSink,
- public cc::SurfaceFactoryClient {
+ : public cc::CompositorFrameSinkSupportClient,
+ public cc::mojom::MojoCompositorFrameSink {
public:
+ static void Create(const cc::FrameSinkId& frame_sink_id,
+ cc::SurfaceManager* surface_manager,
+ cc::mojom::MojoCompositorFrameSinkClientPtr client,
+ cc::mojom::MojoCompositorFrameSinkRequest request);
+
OffscreenCanvasCompositorFrameSink(
- const cc::SurfaceId& surface_id,
+ const cc::FrameSinkId& frame_sink_id,
+ cc::SurfaceManager* surface_manager,
cc::mojom::MojoCompositorFrameSinkClientPtr client);
- ~OffscreenCanvasCompositorFrameSink() override;
- static void Create(const cc::SurfaceId& surface_id,
- cc::mojom::MojoCompositorFrameSinkClientPtr client,
- cc::mojom::MojoCompositorFrameSinkRequest request);
+ ~OffscreenCanvasCompositorFrameSink() override;
- // cc::mojom::MojoCompositorFrameSink implementation.
+ // Overridden from cc::mojom::MojoCompositorFrameSink:
+ void SetNeedsBeginFrame(bool needs_begin_frame) override;
void SubmitCompositorFrame(const cc::LocalFrameId& local_frame_id,
cc::CompositorFrame frame) override;
- void SetNeedsBeginFrame(bool needs_begin_frame) override;
void AddSurfaceReferences(
const std::vector<cc::SurfaceReference>& references) override;
void RemoveSurfaceReferences(
@@ -40,20 +43,17 @@ class OffscreenCanvasCompositorFrameSink
const cc::SurfaceSequence& sequence) override;
void Satisfy(const cc::SurfaceSequence& sequence) override;
- // cc::SurfaceFactoryClient implementation.
- void ReturnResources(const cc::ReturnedResourceArray& resources) override;
- void WillDrawSurface(const cc::LocalFrameId& id,
- const gfx::Rect& damage_rect) override;
- void SetBeginFrameSource(cc::BeginFrameSource* begin_frame_source) override;
+ // Overridden from cc::CompositorFrameSinkSupportClient:
+ void DidReceiveCompositorFrameAck() override;
+ void OnBeginFrame(const cc::BeginFrameArgs& args) override;
+ void ReclaimResources(const cc::ReturnedResourceArray& resources) override;
+ void WillDrawSurface() override;
private:
- void DidReceiveCompositorFrameAck();
-
- cc::SurfaceId surface_id_;
- std::unique_ptr<cc::SurfaceFactory> surface_factory_;
+ cc::CompositorFrameSinkSupport support_;
cc::mojom::MojoCompositorFrameSinkClientPtr client_;
- int ack_pending_count_ = 0;
cc::ReturnedResourceArray surface_returned_resources_;
+ mojo::StrongBindingPtr<cc::mojom::MojoCompositorFrameSink> binding_;
DISALLOW_COPY_AND_ASSIGN(OffscreenCanvasCompositorFrameSink);
};

Powered by Google App Engine
This is Rietveld 408576698