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

Unified Diff: content/browser/android/synchronous_compositor_host.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/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 ec9bdf0bab6524168ed20a61443c9d33514558de..2c6c9a1e02130aab071a57ac4a2d70ffda294d29 100644
--- a/content/browser/android/synchronous_compositor_host.cc
+++ b/content/browser/android/synchronous_compositor_host.cc
@@ -75,21 +75,16 @@ SynchronousCompositorHost::SynchronousCompositorHost(
sender_(rwhva_->GetRenderWidgetHost()),
async_input_(async_input),
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) {
@@ -120,11 +115,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();
}
@@ -163,16 +156,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)
@@ -232,13 +223,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);
@@ -287,13 +276,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;
}
@@ -333,68 +319,35 @@ 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));
}
InputEventAckState SynchronousCompositorHost::HandleInputEvent(
const blink::WebInputEvent& input_event) {
if (async_input_)
return INPUT_EVENT_ACK_STATE_NOT_CONSUMED;
- SyncCompositorCommonBrowserParams common_browser_params;
- PopulateCommonParams(&common_browser_params);
SyncCompositorCommonRendererParams common_renderer_params;
InputEventAckState ack = INPUT_EVENT_ACK_STATE_NOT_CONSUMED;
if (!sender_->Send(new SyncCompositorMsg_HandleInputEvent(
- routing_id_, common_browser_params, &input_event,
- &common_renderer_params, &ack))) {
+ routing_id_, &input_event, &common_renderer_params, &ack))) {
return INPUT_EVENT_ACK_STATE_NOT_CONSUMED;
}
ProcessCommonParams(common_renderer_params);
@@ -408,16 +361,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);
@@ -437,14 +384,6 @@ void SynchronousCompositorHost::OnOverScroll(
DidOverscroll(over_scroll_params);
}
-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
@@ -454,10 +393,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) {
@@ -483,8 +418,4 @@ void SynchronousCompositorHost::ProcessCommonParams(
}
}
-void SynchronousCompositorHost::UpdateNeedsBeginFrames() {
- rwhva_->OnSetNeedsBeginFrames(is_active_ && need_begin_frame_);
-}
-
} // namespace content

Powered by Google App Engine
This is Rietveld 408576698