Index: content/browser/android/synchronous_compositor_host.cc |
diff --git a/content/browser/android/synchronous_compositor_host.cc b/content/browser/android/synchronous_compositor_host.cc |
index 0c32e7f6e8c6bddb35599a268689fc72fdd65685..a4fbdcc5b2a2a758eec0090bd9e3d6cff61dee94 100644 |
--- a/content/browser/android/synchronous_compositor_host.cc |
+++ b/content/browser/android/synchronous_compositor_host.cc |
@@ -71,21 +71,16 @@ SynchronousCompositorHost::SynchronousCompositorHost( |
routing_id_(rwhva_->GetRenderWidgetHost()->GetRoutingID()), |
sender_(rwhva_->GetRenderWidgetHost()), |
use_in_process_zero_copy_software_draw_(use_in_proc_software_draw), |
- is_active_(false), |
bytes_limit_(0u), |
renderer_param_version_(0u), |
need_animate_scroll_(false), |
need_invalidate_count_(0u), |
- need_begin_frame_(false), |
- did_activate_pending_tree_count_(0u), |
- weak_ptr_factory_(this) { |
+ did_activate_pending_tree_count_(0u) { |
client_->DidInitializeCompositor(this); |
} |
SynchronousCompositorHost::~SynchronousCompositorHost() { |
client_->DidDestroyCompositor(this); |
- if (weak_ptr_factory_.HasWeakPtrs()) |
- UpdateStateTask(); |
} |
bool SynchronousCompositorHost::OnMessageReceived(const IPC::Message& message) { |
@@ -115,11 +110,9 @@ SynchronousCompositor::Frame SynchronousCompositorHost::DemandDrawHw( |
transform_for_tile_priority); |
SynchronousCompositor::Frame frame; |
frame.frame.reset(new cc::CompositorFrame); |
- SyncCompositorCommonBrowserParams common_browser_params; |
- PopulateCommonParams(&common_browser_params); |
SyncCompositorCommonRendererParams common_renderer_params; |
if (!sender_->Send(new SyncCompositorMsg_DemandDrawHw( |
- routing_id_, common_browser_params, params, &common_renderer_params, |
+ routing_id_, params, &common_renderer_params, |
&frame.output_surface_id, frame.frame.get()))) { |
return SynchronousCompositor::Frame(); |
} |
@@ -158,16 +151,14 @@ class ScopedSetSkCanvas { |
} |
bool SynchronousCompositorHost::DemandDrawSwInProc(SkCanvas* canvas) { |
- SyncCompositorCommonBrowserParams common_browser_params; |
- PopulateCommonParams(&common_browser_params); |
SyncCompositorCommonRendererParams common_renderer_params; |
bool success = false; |
std::unique_ptr<cc::CompositorFrame> frame(new cc::CompositorFrame); |
ScopedSetSkCanvas set_sk_canvas(canvas); |
SyncCompositorDemandDrawSwParams params; // Unused. |
if (!sender_->Send(new SyncCompositorMsg_DemandDrawSw( |
- routing_id_, common_browser_params, params, &success, |
- &common_renderer_params, frame.get()))) { |
+ routing_id_, params, &success, &common_renderer_params, |
+ frame.get()))) { |
return false; |
} |
if (!success) |
@@ -227,13 +218,11 @@ bool SynchronousCompositorHost::DemandDrawSw(SkCanvas* canvas) { |
return false; |
std::unique_ptr<cc::CompositorFrame> frame(new cc::CompositorFrame); |
- SyncCompositorCommonBrowserParams common_browser_params; |
- PopulateCommonParams(&common_browser_params); |
SyncCompositorCommonRendererParams common_renderer_params; |
bool success = false; |
if (!sender_->Send(new SyncCompositorMsg_DemandDrawSw( |
- routing_id_, common_browser_params, params, &success, |
- &common_renderer_params, frame.get()))) { |
+ routing_id_, params, &success, &common_renderer_params, |
+ frame.get()))) { |
return false; |
} |
ScopedSendZeroMemory send_zero_memory(this); |
@@ -282,13 +271,10 @@ void SynchronousCompositorHost::SetSoftwareDrawSharedMemoryIfNeeded( |
return; |
} |
- SyncCompositorCommonBrowserParams common_browser_params; |
- PopulateCommonParams(&common_browser_params); |
bool success = false; |
SyncCompositorCommonRendererParams common_renderer_params; |
if (!sender_->Send(new SyncCompositorMsg_SetSharedMemory( |
- routing_id_, common_browser_params, set_shm_params, &success, |
- &common_renderer_params)) || |
+ routing_id_, set_shm_params, &success, &common_renderer_params)) || |
!success) { |
return; |
} |
@@ -328,55 +314,25 @@ void SynchronousCompositorHost::DidChangeRootLayerScrollOffset( |
new SyncCompositorMsg_SetScroll(routing_id_, root_scroll_offset_)); |
} |
-void SynchronousCompositorHost::SendAsyncCompositorStateIfNeeded() { |
- if (weak_ptr_factory_.HasWeakPtrs()) |
- return; |
- |
- ui_task_runner_->PostTask( |
- FROM_HERE, base::Bind(&SynchronousCompositorHost::UpdateStateTask, |
- weak_ptr_factory_.GetWeakPtr())); |
-} |
- |
-void SynchronousCompositorHost::UpdateStateTask() { |
- SyncCompositorCommonBrowserParams common_browser_params; |
- PopulateCommonParams(&common_browser_params); |
- sender_->Send( |
- new SyncCompositorMsg_UpdateState(routing_id_, common_browser_params)); |
- DCHECK(!weak_ptr_factory_.HasWeakPtrs()); |
-} |
- |
void SynchronousCompositorHost::SynchronouslyZoomBy(float zoom_delta, |
const gfx::Point& anchor) { |
- SyncCompositorCommonBrowserParams common_browser_params; |
- PopulateCommonParams(&common_browser_params); |
SyncCompositorCommonRendererParams common_renderer_params; |
if (!sender_->Send(new SyncCompositorMsg_ZoomBy( |
- routing_id_, common_browser_params, zoom_delta, anchor, |
- &common_renderer_params))) { |
+ routing_id_, zoom_delta, anchor, &common_renderer_params))) { |
return; |
} |
ProcessCommonParams(common_renderer_params); |
} |
-void SynchronousCompositorHost::SetIsActive(bool is_active) { |
- if (is_active_ == is_active) |
- return; |
- is_active_ = is_active; |
- UpdateNeedsBeginFrames(); |
- SendAsyncCompositorStateIfNeeded(); |
-} |
- |
void SynchronousCompositorHost::OnComputeScroll( |
base::TimeTicks animation_time) { |
if (!need_animate_scroll_) |
return; |
need_animate_scroll_ = false; |
- SyncCompositorCommonBrowserParams common_browser_params; |
- PopulateCommonParams(&common_browser_params); |
SyncCompositorCommonRendererParams common_renderer_params; |
- sender_->Send(new SyncCompositorMsg_ComputeScroll( |
- routing_id_, common_browser_params, animation_time)); |
+ sender_->Send( |
+ new SyncCompositorMsg_ComputeScroll(routing_id_, animation_time)); |
} |
void SynchronousCompositorHost::DidOverscroll( |
@@ -386,16 +342,10 @@ void SynchronousCompositorHost::DidOverscroll( |
over_scroll_params.current_fling_velocity); |
} |
-void SynchronousCompositorHost::BeginFrame(const cc::BeginFrameArgs& args) { |
- if (!is_active_) |
- return; |
- |
- SyncCompositorCommonBrowserParams common_browser_params; |
- PopulateCommonParams(&common_browser_params); |
+void SynchronousCompositorHost::DidSendBeginFrame() { |
SyncCompositorCommonRendererParams common_renderer_params; |
- if (!sender_->Send( |
- new SyncCompositorMsg_BeginFrame(routing_id_, common_browser_params, |
- args, &common_renderer_params))) { |
+ if (!sender_->Send(new SyncCompositorMsg_SynchronizeRendererState( |
+ routing_id_, &common_renderer_params))) { |
return; |
} |
ProcessCommonParams(common_renderer_params); |
@@ -408,14 +358,6 @@ void SynchronousCompositorHost::OutputSurfaceCreated() { |
new SyncCompositorMsg_SetMemoryPolicy(routing_id_, bytes_limit_)); |
} |
-void SynchronousCompositorHost::PopulateCommonParams( |
- SyncCompositorCommonBrowserParams* params) { |
- DCHECK(params); |
- params->begin_frame_source_paused = !is_active_; |
- |
- weak_ptr_factory_.InvalidateWeakPtrs(); |
-} |
- |
void SynchronousCompositorHost::ProcessCommonParams( |
const SyncCompositorCommonRendererParams& params) { |
// Ignore if |renderer_param_version_| is newer than |params.version|. This |
@@ -425,10 +367,6 @@ void SynchronousCompositorHost::ProcessCommonParams( |
} |
renderer_param_version_ = params.version; |
need_animate_scroll_ = params.need_animate_scroll; |
- if (need_begin_frame_ != params.need_begin_frame) { |
- need_begin_frame_ = params.need_begin_frame; |
- UpdateNeedsBeginFrames(); |
- } |
root_scroll_offset_ = params.total_scroll_offset; |
if (need_invalidate_count_ != params.need_invalidate_count) { |
@@ -454,8 +392,4 @@ void SynchronousCompositorHost::ProcessCommonParams( |
} |
} |
-void SynchronousCompositorHost::UpdateNeedsBeginFrames() { |
- rwhva_->OnSetNeedsBeginFrames(is_active_ && need_begin_frame_); |
-} |
- |
} // namespace content |