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

Unified Diff: content/renderer/android/synchronous_compositor_output_surface.h

Issue 1546383002: sync compositor: Send ipc reply in swap (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase + no swap fix Created 5 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/renderer/android/synchronous_compositor_output_surface.h
diff --git a/content/renderer/android/synchronous_compositor_output_surface.h b/content/renderer/android/synchronous_compositor_output_surface.h
index c09ff98da7bb8bbf068975b4fd944748d4b6a091..cac9547cd92e71b92ef0b6df65a60205a472f7b9 100644
--- a/content/renderer/android/synchronous_compositor_output_surface.h
+++ b/content/renderer/android/synchronous_compositor_output_surface.h
@@ -39,6 +39,7 @@ class WebGraphicsContext3DCommandBufferImpl;
class SynchronousCompositorOutputSurfaceClient {
public:
virtual void Invalidate() = 0;
+ virtual void SwapBuffers(cc::CompositorFrame* frame) = 0;
protected:
virtual ~SynchronousCompositorOutputSurfaceClient() {}
@@ -75,15 +76,14 @@ class SynchronousCompositorOutputSurface
void Invalidate() override;
// Partial SynchronousCompositor API implementation.
- scoped_ptr<cc::CompositorFrame> DemandDrawHw(
- const gfx::Size& surface_size,
- const gfx::Transform& transform,
- const gfx::Rect& viewport,
- const gfx::Rect& clip,
- const gfx::Rect& viewport_rect_for_tile_priority,
- const gfx::Transform& transform_for_tile_priority);
+ void DemandDrawHw(const gfx::Size& surface_size,
+ const gfx::Transform& transform,
+ const gfx::Rect& viewport,
+ const gfx::Rect& clip,
+ const gfx::Rect& viewport_rect_for_tile_priority,
+ const gfx::Transform& transform_for_tile_priority);
void ReturnResources(const cc::CompositorFrameAck& frame_ack);
- scoped_ptr<cc::CompositorFrame> DemandDrawSw(SkCanvas* canvas);
+ void DemandDrawSw(SkCanvas* canvas);
void SetMemoryPolicy(size_t bytes_limit);
void SetTreeActivationCallback(const base::Closure& callback);
void GetMessagesToDeliver(std::vector<scoped_ptr<IPC::Message>>* messages);
@@ -113,9 +113,7 @@ class SynchronousCompositorOutputSurface
SkCanvas* current_sw_canvas_;
cc::ManagedMemoryPolicy memory_policy_;
-
- scoped_ptr<cc::CompositorFrame> frame_holder_;
-
+ bool did_swap_;
scoped_refptr<FrameSwapMessageQueue> frame_swap_message_queue_;
base::ThreadChecker thread_checker_;

Powered by Google App Engine
This is Rietveld 408576698