Index: android_webview/browser/hardware_renderer.cc |
diff --git a/android_webview/browser/hardware_renderer.cc b/android_webview/browser/hardware_renderer.cc |
index acac292f4be6b8311fa1c56334dccd5710442810..c75ec943e1c58da6c7c687e5a39c440c9872f481 100644 |
--- a/android_webview/browser/hardware_renderer.cc |
+++ b/android_webview/browser/hardware_renderer.cc |
@@ -110,7 +110,7 @@ void HardwareRenderer::CommitFrame() { |
last_committed_output_surface_id_ = child_frame->output_surface_id; |
ReturnResourcesInChildFrame(); |
child_frame_ = std::move(child_frame); |
- DCHECK(child_frame_->frame.get()); |
+ DCHECK(child_frame_->frame); |
DCHECK(!child_frame_->frame->gl_frame_data); |
} |
@@ -131,7 +131,7 @@ void HardwareRenderer::DrawGL(AwDrawGLInfo* draw_info, |
// during "kModeSync" stage (which does not allow GL) might result in extra |
// kModeProcess. Instead, submit the frame in "kModeDraw" stage to avoid |
// unnecessary kModeProcess. |
- if (child_frame_.get() && child_frame_->frame.get()) { |
+ if (child_frame_.get() && child_frame_->frame) { |
if (!compositor_id_.Equals(child_frame_->compositor_id) || |
last_submitted_output_surface_id_ != child_frame_->output_surface_id) { |
if (!root_id_.is_null()) |
@@ -150,8 +150,9 @@ void HardwareRenderer::DrawGL(AwDrawGLInfo* draw_info, |
new cc::SurfaceFactory(surface_manager_.get(), this)); |
} |
- std::unique_ptr<cc::CompositorFrame> child_compositor_frame = |
- std::move(child_frame_->frame); |
+ std::unique_ptr<cc::CompositorFrame> child_compositor_frame( |
+ new cc::CompositorFrame); |
+ *child_compositor_frame = std::move(*child_frame_->frame); |
// On Android we put our browser layers in physical pixels and set our |
// browser CC device_scale_factor to 1, so suppress the transform between |
@@ -218,7 +219,7 @@ void HardwareRenderer::DrawGL(AwDrawGLInfo* draw_info, |
std::unique_ptr<cc::DelegatedFrameData> delegated_frame( |
new cc::DelegatedFrameData); |
delegated_frame->render_pass_list.push_back(std::move(render_pass)); |
- std::unique_ptr<cc::CompositorFrame> frame(new cc::CompositorFrame); |
+ std::unique_ptr<cc::CompositorFrame> frame(new cc::CompositorFrame()); |
frame->delegated_frame_data = std::move(delegated_frame); |
if (root_id_.is_null()) { |
@@ -253,7 +254,7 @@ void HardwareRenderer::SetBackingFrameBufferObject( |
} |
void HardwareRenderer::ReturnResourcesInChildFrame() { |
- if (child_frame_.get() && child_frame_->frame.get()) { |
+ if (child_frame_.get() && child_frame_->frame) { |
cc::ReturnedResourceArray resources_to_return; |
cc::TransferableResource::ReturnResources( |
child_frame_->frame->delegated_frame_data->resource_list, |