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

Unified Diff: content/renderer/android/synchronous_compositor_proxy.cc

Issue 1969263004: sync compositor: Remove begin frame source (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: comment Created 4 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
Index: content/renderer/android/synchronous_compositor_proxy.cc
diff --git a/content/renderer/android/synchronous_compositor_proxy.cc b/content/renderer/android/synchronous_compositor_proxy.cc
index ae6a13135e0513262e366ae3b4b190e2126ef289..fc0ca8a8e410e8b00190c8b5466952c2c059e6e7 100644
--- a/content/renderer/android/synchronous_compositor_proxy.cc
+++ b/content/renderer/android/synchronous_compositor_proxy.cc
@@ -25,12 +25,10 @@ namespace content {
SynchronousCompositorProxy::SynchronousCompositorProxy(
int routing_id,
IPC::Sender* sender,
- SynchronousCompositorExternalBeginFrameSource* begin_frame_source,
ui::SynchronousInputHandlerProxy* input_handler_proxy,
InputHandlerManagerClient::Handler* handler)
: routing_id_(routing_id),
sender_(sender),
- begin_frame_source_(begin_frame_source),
input_handler_proxy_(input_handler_proxy),
input_handler_(handler),
use_in_process_zero_copy_software_draw_(
@@ -46,18 +44,14 @@ SynchronousCompositorProxy::SynchronousCompositorProxy(
max_page_scale_factor_(0.f),
need_animate_scroll_(false),
need_invalidate_count_(0u),
- need_begin_frame_(false),
did_activate_pending_tree_count_(0u) {
- DCHECK(begin_frame_source_);
DCHECK(input_handler_proxy_);
DCHECK(input_handler_);
- begin_frame_source_->SetClient(this);
input_handler_proxy_->SetOnlySynchronouslyAnimateRootFlings(this);
}
SynchronousCompositorProxy::~SynchronousCompositorProxy() {
SetOutputSurface(nullptr);
- begin_frame_source_->SetClient(nullptr);
input_handler_proxy_->SetOnlySynchronouslyAnimateRootFlings(nullptr);
}
@@ -102,14 +96,6 @@ void SynchronousCompositorProxy::UpdateRootLayerState(
}
}
-void SynchronousCompositorProxy::OnNeedsBeginFramesChange(
- bool needs_begin_frames) {
- if (need_begin_frame_ == needs_begin_frames)
- return;
- need_begin_frame_ = needs_begin_frames;
- SendAsyncRendererStateIfNeeded();
-}
-
void SynchronousCompositorProxy::Invalidate() {
++need_invalidate_count_;
SendAsyncRendererStateIfNeeded();
@@ -139,7 +125,6 @@ void SynchronousCompositorProxy::PopulateCommonParams(
params->max_page_scale_factor = max_page_scale_factor_;
params->need_animate_scroll = need_animate_scroll_;
params->need_invalidate_count = need_invalidate_count_;
- params->need_begin_frame = need_begin_frame_;
params->did_activate_pending_tree_count = did_activate_pending_tree_count_;
}
@@ -149,8 +134,9 @@ void SynchronousCompositorProxy::OnMessageReceived(
return;
IPC_BEGIN_MESSAGE_MAP(SynchronousCompositorProxy, message)
+ IPC_MESSAGE_HANDLER(SyncCompositorMsg_SynchronizeRendererState,
+ PopulateCommonParams)
IPC_MESSAGE_HANDLER(SyncCompositorMsg_HandleInputEvent, HandleInputEvent)
- IPC_MESSAGE_HANDLER(SyncCompositorMsg_BeginFrame, BeginFrame)
IPC_MESSAGE_HANDLER(SyncCompositorMsg_ComputeScroll, OnComputeScroll)
IPC_MESSAGE_HANDLER_DELAY_REPLY(SyncCompositorMsg_DemandDrawHw,
DemandDrawHw)
@@ -158,7 +144,6 @@ void SynchronousCompositorProxy::OnMessageReceived(
IPC_MESSAGE_HANDLER(SyncCompositorMsg_ZeroSharedMemory, ZeroSharedMemory)
IPC_MESSAGE_HANDLER_DELAY_REPLY(SyncCompositorMsg_DemandDrawSw,
DemandDrawSw)
- IPC_MESSAGE_HANDLER(SyncCompositorMsg_UpdateState, ProcessCommonParams)
IPC_MESSAGE_HANDLER(SyncCompositorMsg_ZoomBy, SynchronouslyZoomBy)
IPC_MESSAGE_HANDLER(SyncCompositorMsg_SetScroll, SetScroll)
IPC_END_MESSAGE_MAP()
@@ -169,43 +154,25 @@ bool SynchronousCompositorProxy::Send(IPC::Message* message) {
}
void SynchronousCompositorProxy::HandleInputEvent(
- const SyncCompositorCommonBrowserParams& common_params,
const blink::WebInputEvent* event,
SyncCompositorCommonRendererParams* common_renderer_params,
InputEventAckState* ack) {
DCHECK(!inside_receive_);
base::AutoReset<bool> scoped_inside_receive(&inside_receive_, true);
- ProcessCommonParams(common_params);
DCHECK(!input_handler_->is_null());
ui::LatencyInfo latency;
*ack = input_handler_->Run(routing_id_, event, &latency);
PopulateCommonParams(common_renderer_params);
}
-void SynchronousCompositorProxy::BeginFrame(
- const SyncCompositorCommonBrowserParams& common_params,
- const cc::BeginFrameArgs& args,
- SyncCompositorCommonRendererParams* common_renderer_params) {
- DCHECK(!inside_receive_);
- base::AutoReset<bool> scoped_inside_receive(&inside_receive_, true);
-
- ProcessCommonParams(common_params);
- if (need_begin_frame_) {
- begin_frame_source_->BeginFrame(args);
- }
- PopulateCommonParams(common_renderer_params);
-}
-
void SynchronousCompositorProxy::DemandDrawHw(
- const SyncCompositorCommonBrowserParams& common_params,
const SyncCompositorDemandDrawHwParams& params,
IPC::Message* reply_message) {
DCHECK(!inside_receive_);
DCHECK(reply_message);
inside_receive_ = true;
- ProcessCommonParams(common_params);
if (output_surface_) {
base::AutoReset<IPC::Message*> scoped_hardware_draw_reply(
@@ -254,7 +221,6 @@ struct SynchronousCompositorProxy::SharedMemoryWithSize {
};
void SynchronousCompositorProxy::SetSharedMemory(
- const SyncCompositorCommonBrowserParams& common_params,
const SyncCompositorSetSharedMemoryParams& params,
bool* success,
SyncCompositorCommonRendererParams* common_renderer_params) {
@@ -262,7 +228,6 @@ void SynchronousCompositorProxy::SetSharedMemory(
base::AutoReset<bool> scoped_inside_receive(&inside_receive_, true);
*success = false;
- ProcessCommonParams(common_params);
if (!base::SharedMemory::IsHandleValid(params.shm_handle))
return;
@@ -276,18 +241,21 @@ void SynchronousCompositorProxy::SetSharedMemory(
}
void SynchronousCompositorProxy::ZeroSharedMemory() {
- DCHECK(!software_draw_shm_->zeroed);
+ // It is possible to get this called twice, eg if draw is called before
no sievers 2016/06/03 20:35:50 nits: 'for this to get called' s/'eg'/'eg.' duplc
boliu 2016/06/03 21:01:06 Done.
+ // the OutputSurface is ready. Just ignore duplciated calls rather than
+ // inventing a complicated system to avoid it.
+ if (software_draw_shm_->zeroed)
+ return;
+
memset(software_draw_shm_->shm.memory(), 0, software_draw_shm_->buffer_size);
software_draw_shm_->zeroed = true;
}
void SynchronousCompositorProxy::DemandDrawSw(
- const SyncCompositorCommonBrowserParams& common_params,
const SyncCompositorDemandDrawSwParams& params,
IPC::Message* reply_message) {
DCHECK(!inside_receive_);
inside_receive_ = true;
- ProcessCommonParams(common_params);
if (output_surface_) {
base::AutoReset<IPC::Message*> scoped_software_draw_reply(
&software_draw_reply_, reply_message);
@@ -361,9 +329,7 @@ void SynchronousCompositorProxy::SwapBuffers(uint32_t output_surface_id,
}
void SynchronousCompositorProxy::OnComputeScroll(
- const SyncCompositorCommonBrowserParams& common_params,
base::TimeTicks animation_time) {
- ProcessCommonParams(common_params);
if (need_animate_scroll_) {
need_animate_scroll_ = false;
input_handler_proxy_->SynchronouslyAnimate(animation_time);
@@ -371,13 +337,11 @@ void SynchronousCompositorProxy::OnComputeScroll(
}
void SynchronousCompositorProxy::SynchronouslyZoomBy(
- const SyncCompositorCommonBrowserParams& common_params,
float zoom_delta,
const gfx::Point& anchor,
SyncCompositorCommonRendererParams* common_renderer_params) {
DCHECK(!inside_receive_);
base::AutoReset<bool> scoped_inside_receive(&inside_receive_, true);
- ProcessCommonParams(common_params);
input_handler_proxy_->SynchronouslyZoomBy(zoom_delta, anchor);
PopulateCommonParams(common_renderer_params);
}
@@ -398,10 +362,4 @@ void SynchronousCompositorProxy::DidOverscroll(
did_overscroll_params));
}
-void SynchronousCompositorProxy::ProcessCommonParams(
- const SyncCompositorCommonBrowserParams& common_params) {
- begin_frame_source_->SetBeginFrameSourcePaused(
- common_params.begin_frame_source_paused);
-}
-
} // namespace content

Powered by Google App Engine
This is Rietveld 408576698