| Index: content/browser/android/in_process/synchronous_compositor_output_surface.cc
|
| diff --git a/content/browser/android/in_process/synchronous_compositor_output_surface.cc b/content/browser/android/in_process/synchronous_compositor_output_surface.cc
|
| index 48c2bf1e7720576df20fcc126a9b96e6dc5bf490..172f639261b1830894063b59770200b2d3ed90fa 100644
|
| --- a/content/browser/android/in_process/synchronous_compositor_output_surface.cc
|
| +++ b/content/browser/android/in_process/synchronous_compositor_output_surface.cc
|
| @@ -71,9 +71,7 @@ SynchronousCompositorOutputSurface::SynchronousCompositorOutputSurface(
|
| registered_(false),
|
| current_sw_canvas_(nullptr),
|
| memory_policy_(0),
|
| - output_surface_client_(nullptr),
|
| - frame_swap_message_queue_(frame_swap_message_queue),
|
| - begin_frame_source_(nullptr) {
|
| + frame_swap_message_queue_(frame_swap_message_queue) {
|
| capabilities_.deferred_gl_initialization = true;
|
| capabilities_.draw_and_swap_full_viewport_every_frame = true;
|
| capabilities_.adjust_deadline_for_parent = false;
|
| @@ -89,7 +87,6 @@ SynchronousCompositorOutputSurface::~SynchronousCompositorOutputSurface() {
|
| SynchronousCompositorRegistry::GetInstance()->UnregisterOutputSurface(
|
| routing_id_, this);
|
| }
|
| - DCHECK(!begin_frame_source_);
|
| }
|
|
|
| bool SynchronousCompositorOutputSurface::BindToClient(
|
| @@ -98,8 +95,7 @@ bool SynchronousCompositorOutputSurface::BindToClient(
|
| if (!cc::OutputSurface::BindToClient(surface_client))
|
| return false;
|
|
|
| - output_surface_client_ = surface_client;
|
| - output_surface_client_->SetMemoryPolicy(memory_policy_);
|
| + client_->SetMemoryPolicy(memory_policy_);
|
|
|
| SynchronousCompositorRegistry::GetInstance()->RegisterOutputSurface(
|
| routing_id_, this);
|
| @@ -108,6 +104,12 @@ bool SynchronousCompositorOutputSurface::BindToClient(
|
| return true;
|
| }
|
|
|
| +void SynchronousCompositorOutputSurface::SetCompositor(
|
| + SynchronousCompositorImpl* compositor) {
|
| + DCHECK(CalledOnValidThread());
|
| + compositor_ = compositor;
|
| +}
|
| +
|
| void SynchronousCompositorOutputSurface::Reshape(
|
| const gfx::Size& size, float scale_factor) {
|
| // Intentional no-op: surface size is controlled by the embedder.
|
| @@ -123,9 +125,9 @@ void SynchronousCompositorOutputSurface::SwapBuffers(
|
| client_->DidSwapBuffers();
|
| }
|
|
|
| -void SynchronousCompositorOutputSurface::SetBeginFrameSource(
|
| - SynchronousCompositorExternalBeginFrameSource* begin_frame_source) {
|
| - begin_frame_source_ = begin_frame_source;
|
| +void SynchronousCompositorOutputSurface::Invalidate() {
|
| + DCHECK(CalledOnValidThread());
|
| + compositor_->PostInvalidate();
|
| }
|
|
|
| namespace {
|
| @@ -179,6 +181,7 @@ SynchronousCompositorOutputSurface::DemandDrawSw(SkCanvas* canvas) {
|
| DCHECK(CalledOnValidThread());
|
| DCHECK(canvas);
|
| DCHECK(!current_sw_canvas_);
|
| +
|
| base::AutoReset<SkCanvas*> canvas_resetter(¤t_sw_canvas_, canvas);
|
|
|
| SkIRect canvas_clip;
|
| @@ -212,7 +215,6 @@ void SynchronousCompositorOutputSurface::InvokeComposite(
|
| gfx::Transform transform_for_tile_priority,
|
| bool hardware_draw) {
|
| DCHECK(!frame_holder_.get());
|
| - DCHECK(begin_frame_source_);
|
|
|
| gfx::Transform adjusted_transform = transform;
|
| AdjustTransform(&adjusted_transform, viewport);
|
| @@ -224,7 +226,7 @@ void SynchronousCompositorOutputSurface::InvokeComposite(
|
| !hardware_draw);
|
| SetNeedsRedrawRect(gfx::Rect(viewport.size()));
|
|
|
| - begin_frame_source_->BeginFrame();
|
| + client_->OnDraw();
|
|
|
| // After software draws (which might move the viewport arbitrarily), restore
|
| // the previous hardware viewport to allow CC's tile manager to prioritize
|
| @@ -260,8 +262,8 @@ void SynchronousCompositorOutputSurface::SetMemoryPolicy(size_t bytes_limit) {
|
| memory_policy_.bytes_limit_when_visible = bytes_limit;
|
| memory_policy_.num_resources_limit = kNumResourcesLimit;
|
|
|
| - if (output_surface_client_)
|
| - output_surface_client_->SetMemoryPolicy(memory_policy_);
|
| + if (client_)
|
| + client_->SetMemoryPolicy(memory_policy_);
|
| }
|
|
|
| void SynchronousCompositorOutputSurface::SetTreeActivationCallback(
|
|
|