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

Unified Diff: content/browser/android/in_process/synchronous_compositor_impl.h

Issue 1408123005: Android Webview IPC-based sync compositing (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 5 years, 2 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
Index: content/browser/android/in_process/synchronous_compositor_impl.h
diff --git a/content/browser/android/in_process/synchronous_compositor_impl.h b/content/browser/android/in_process/synchronous_compositor_impl.h
index 46670447bf1135729dbe2c50d370321c5ede24fe..dbab49668727d554d286bd734b7b2a099f091c0e 100644
--- a/content/browser/android/in_process/synchronous_compositor_impl.h
+++ b/content/browser/android/in_process/synchronous_compositor_impl.h
@@ -10,22 +10,16 @@
#include "base/basictypes.h"
#include "base/compiler_specific.h"
#include "base/memory/scoped_ptr.h"
-#include "content/common/input/input_event_ack_state.h"
-#include "content/public/browser/android/synchronous_compositor.h"
+#include "content/browser/android/synchronous_compositor_base.h"
#include "content/renderer/android/synchronous_compositor_external_begin_frame_source.h"
#include "content/renderer/android/synchronous_compositor_output_surface.h"
#include "content/renderer/input/synchronous_input_handler_proxy.h"
#include "ipc/ipc_message.h"
namespace cc {
-struct BeginFrameArgs;
class InputHandler;
}
-namespace blink {
-class WebInputEvent;
-}
-
namespace content {
class InputHandlerManager;
class RenderWidgetHostViewAndroid;
@@ -39,7 +33,7 @@ struct DidOverscrollParams;
// from the Compositor thread.
class SynchronousCompositorImpl
: public SynchronousInputHandler,
- public SynchronousCompositor,
+ public SynchronousCompositorBase,
public SynchronousCompositorExternalBeginFrameSourceClient,
public SynchronousCompositorOutputSurfaceClient {
public:
@@ -47,12 +41,10 @@ class SynchronousCompositorImpl
// is implicitly that of the in-process renderer.
static SynchronousCompositorImpl* FromRoutingID(int routing_id);
- static scoped_ptr<SynchronousCompositorImpl> Create(
- RenderWidgetHostViewAndroid* rwhva,
- WebContents* web_contents);
- ~SynchronousCompositorImpl() override;
+ static void SetGpuServiceInProc(
+ scoped_refptr<gpu::InProcessCommandBuffer::Service> service);
- InputEventAckState HandleInputEvent(const blink::WebInputEvent& input_event);
+ ~SynchronousCompositorImpl() override;
// Called by SynchronousCompositorRegistry.
void DidInitializeRendererObjects(
@@ -67,10 +59,7 @@ class SynchronousCompositorImpl
// SynchronousCompositorOutputSurfaceClient overrides.
void Invalidate() override;
- // Called by RenderWidgetHostViewAndroid.
- void BeginFrame(const cc::BeginFrameArgs& args);
-
- // SynchronousCompositor
+ // SynchronousCompositor overrides.
scoped_ptr<cc::CompositorFrame> DemandDrawHw(
gfx::Size surface_size,
const gfx::Transform& transform,
@@ -86,6 +75,12 @@ class SynchronousCompositorImpl
void SetIsActive(bool is_active) override;
void OnComputeScroll(base::TimeTicks animation_time) override;
+ // SynchronousCompositorBase overrides.
+ void BeginFrame(const cc::BeginFrameArgs& args) override;
+ InputEventAckState HandleInputEvent(
+ const blink::WebInputEvent& input_event) override;
+ bool OnMessageReceived(const IPC::Message& message) override;
+
// SynchronousInputHandler
void SetNeedsSynchronousAnimateInput() override;
void UpdateRootLayerState(const gfx::ScrollOffset& total_scroll_offset,
@@ -99,6 +94,7 @@ class SynchronousCompositorImpl
void DidStopFlinging();
private:
+ friend class SynchronousCompositorBase;
SynchronousCompositorImpl(RenderWidgetHostViewAndroid* rwhva,
SynchronousCompositorClient* client);
void RegisterWithClient();

Powered by Google App Engine
This is Rietveld 408576698