| 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 a8a4de02f76bbb1eb773dd20c97c46ff2d249c9a..c1b38477edb4c6a1b608cb56b0ef647673976c12 100644
|
| --- a/content/browser/android/synchronous_compositor_host.cc
|
| +++ b/content/browser/android/synchronous_compositor_host.cc
|
| @@ -106,17 +106,16 @@ SynchronousCompositor::Frame SynchronousCompositorHost::DemandDrawHw(
|
| clip, viewport_rect_for_tile_priority,
|
| transform_for_tile_priority);
|
| SynchronousCompositor::Frame frame;
|
| - frame.frame.reset(new cc::CompositorFrame);
|
| SyncCompositorCommonRendererParams common_renderer_params;
|
| if (!sender_->Send(new SyncCompositorMsg_DemandDrawHw(
|
| routing_id_, params, &common_renderer_params,
|
| - &frame.output_surface_id, frame.frame.get()))) {
|
| + &frame.output_surface_id, &frame.frame.value()))) {
|
| return SynchronousCompositor::Frame();
|
| }
|
| ProcessCommonParams(common_renderer_params);
|
| if (!frame.frame->delegated_frame_data) {
|
| // This can happen if compositor did not swap in this draw.
|
| - frame.frame.reset();
|
| + frame.frame = base::nullopt;
|
| }
|
| if (frame.frame) {
|
| UpdateFrameMetaData(frame.frame->metadata);
|
| @@ -150,18 +149,17 @@ class ScopedSetSkCanvas {
|
| bool SynchronousCompositorHost::DemandDrawSwInProc(SkCanvas* canvas) {
|
| SyncCompositorCommonRendererParams common_renderer_params;
|
| bool success = false;
|
| - std::unique_ptr<cc::CompositorFrame> frame(new cc::CompositorFrame);
|
| + cc::CompositorFrame frame;
|
| ScopedSetSkCanvas set_sk_canvas(canvas);
|
| SyncCompositorDemandDrawSwParams params; // Unused.
|
| if (!sender_->Send(new SyncCompositorMsg_DemandDrawSw(
|
| - routing_id_, params, &success, &common_renderer_params,
|
| - frame.get()))) {
|
| + routing_id_, params, &success, &common_renderer_params, &frame))) {
|
| return false;
|
| }
|
| if (!success)
|
| return false;
|
| ProcessCommonParams(common_renderer_params);
|
| - UpdateFrameMetaData(frame->metadata);
|
| + UpdateFrameMetaData(frame.metadata);
|
| return true;
|
| }
|
|
|
| @@ -214,12 +212,11 @@ bool SynchronousCompositorHost::DemandDrawSw(SkCanvas* canvas) {
|
| if (!software_draw_shm_)
|
| return false;
|
|
|
| - std::unique_ptr<cc::CompositorFrame> frame(new cc::CompositorFrame);
|
| + cc::CompositorFrame frame;
|
| SyncCompositorCommonRendererParams common_renderer_params;
|
| bool success = false;
|
| if (!sender_->Send(new SyncCompositorMsg_DemandDrawSw(
|
| - routing_id_, params, &success, &common_renderer_params,
|
| - frame.get()))) {
|
| + routing_id_, params, &success, &common_renderer_params, &frame))) {
|
| return false;
|
| }
|
| ScopedSendZeroMemory send_zero_memory(this);
|
| @@ -227,7 +224,7 @@ bool SynchronousCompositorHost::DemandDrawSw(SkCanvas* canvas) {
|
| return false;
|
|
|
| ProcessCommonParams(common_renderer_params);
|
| - UpdateFrameMetaData(frame->metadata);
|
| + UpdateFrameMetaData(frame.metadata);
|
|
|
| SkBitmap bitmap;
|
| if (!bitmap.installPixels(info, software_draw_shm_->shm.memory(), stride))
|
|
|