Chromium Code Reviews| Index: android_webview/browser/hardware_renderer.cc |
| diff --git a/android_webview/browser/hardware_renderer.cc b/android_webview/browser/hardware_renderer.cc |
| index dc83b1be1700d0fa9d1632443d3ed99b1df3f464..6fedec2afcb50b7bab0e62f9fbb7edfefba5b136 100644 |
| --- a/android_webview/browser/hardware_renderer.cc |
| +++ b/android_webview/browser/hardware_renderer.cc |
| @@ -109,8 +109,6 @@ HardwareRenderer::HardwareRenderer(SharedRendererState* state) |
| } |
| HardwareRenderer::~HardwareRenderer() { |
| - SetFrameData(); |
| - |
| // Must reset everything before |resource_collection_| to ensure all |
| // resources are returned before resetting |resource_collection_| client. |
| layer_tree_host_.reset(); |
| @@ -144,35 +142,22 @@ void HardwareRenderer::DidBeginMainFrame() { |
| void HardwareRenderer::CommitFrame() { |
| TRACE_EVENT0("android_webview", "CommitFrame"); |
| scroll_offset_ = shared_renderer_state_->GetScrollOffsetOnRT(); |
| - if (committed_frame_.get()) { |
| - TRACE_EVENT_INSTANT0("android_webview", |
| - "EarlyOut_PreviousFrameUnconsumed", |
| - TRACE_EVENT_SCOPE_THREAD); |
| - shared_renderer_state_->DidSkipCommitFrameOnRT(); |
| - return; |
| - } |
| - |
| - committed_frame_ = shared_renderer_state_->PassCompositorFrameOnRT(); |
| + scoped_ptr<cc::CompositorFrame> frame = |
| + shared_renderer_state_->PassCompositorFrameOnRT(); |
| // Happens with empty global visible rect. |
|
hush (inactive)
2015/03/13 18:45:17
Remove this comment here? because an empty globall
boliu
2015/03/18 02:02:22
Removed comment, but still need that check. We wan
|
| - if (!committed_frame_.get()) |
| + if (!frame.get()) |
| return; |
| - DCHECK(!committed_frame_->gl_frame_data); |
| - DCHECK(!committed_frame_->software_frame_data); |
| + DCHECK(!frame->gl_frame_data); |
| + DCHECK(!frame->software_frame_data); |
| // DelegatedRendererLayerImpl applies the inverse device_scale_factor of the |
| // renderer frame, assuming that the browser compositor will scale |
| // it back up to device scale. But on Android we put our browser layers in |
| // physical pixels and set our browser CC device_scale_factor to 1, so this |
| // suppresses the transform. |
| - committed_frame_->delegated_frame_data->device_scale_factor = 1.0f; |
| -} |
| + frame->delegated_frame_data->device_scale_factor = 1.0f; |
| -void HardwareRenderer::SetFrameData() { |
| - if (!committed_frame_.get()) |
| - return; |
| - |
| - scoped_ptr<cc::CompositorFrame> frame = committed_frame_.Pass(); |
| gfx::Size frame_size = |
| frame->delegated_frame_data->render_pass_list.back()->output_rect.size(); |
| bool size_changed = frame_size != frame_size_; |
| @@ -210,12 +195,6 @@ void HardwareRenderer::DrawGL(bool stencil_enabled, |
| if (last_egl_context_ != current_context) |
| DLOG(WARNING) << "EGLContextChanged"; |
| - SetFrameData(); |
| - if (shared_renderer_state_->ForceCommitOnRT()) { |
| - CommitFrame(); |
| - SetFrameData(); |
| - } |
| - |
| gfx::Transform transform(gfx::Transform::kSkipInitialization); |
| transform.matrix().setColMajorf(draw_info->transform); |
| transform.Translate(scroll_offset_.x(), scroll_offset_.y()); |