| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "android_webview/browser/hardware_renderer.h" | 5 #include "android_webview/browser/hardware_renderer.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "android_webview/browser/aw_gl_surface.h" | 9 #include "android_webview/browser/aw_gl_surface.h" |
| 10 #include "android_webview/browser/aw_render_thread_context_provider.h" | 10 #include "android_webview/browser/aw_render_thread_context_provider.h" |
| (...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 146 surface_factory_.reset(); | 146 surface_factory_.reset(); |
| 147 compositor_id_ = child_frame_->compositor_id; | 147 compositor_id_ = child_frame_->compositor_id; |
| 148 last_submitted_output_surface_id_ = child_frame_->output_surface_id; | 148 last_submitted_output_surface_id_ = child_frame_->output_surface_id; |
| 149 surface_factory_.reset( | 149 surface_factory_.reset( |
| 150 new cc::SurfaceFactory(surface_manager_.get(), this)); | 150 new cc::SurfaceFactory(surface_manager_.get(), this)); |
| 151 } | 151 } |
| 152 | 152 |
| 153 std::unique_ptr<cc::CompositorFrame> child_compositor_frame = | 153 std::unique_ptr<cc::CompositorFrame> child_compositor_frame = |
| 154 std::move(child_frame_->frame); | 154 std::move(child_frame_->frame); |
| 155 | 155 |
| 156 // On Android we put our browser layers in physical pixels and set our | |
| 157 // browser CC device_scale_factor to 1, so suppress the transform between | |
| 158 // DIP and pixels. | |
| 159 child_compositor_frame->delegated_frame_data->device_scale_factor = 1.0f; | |
| 160 | |
| 161 gfx::Size frame_size = | 156 gfx::Size frame_size = |
| 162 child_compositor_frame->delegated_frame_data->render_pass_list.back() | 157 child_compositor_frame->delegated_frame_data->render_pass_list.back() |
| 163 ->output_rect.size(); | 158 ->output_rect.size(); |
| 164 bool size_changed = frame_size != frame_size_; | 159 bool size_changed = frame_size != frame_size_; |
| 165 frame_size_ = frame_size; | 160 frame_size_ = frame_size; |
| 166 if (child_id_.is_null() || size_changed) { | 161 if (child_id_.is_null() || size_changed) { |
| 167 if (!child_id_.is_null()) | 162 if (!child_id_.is_null()) |
| 168 surface_factory_->Destroy(child_id_); | 163 surface_factory_->Destroy(child_id_); |
| 169 child_id_ = surface_id_allocator_->GenerateId(); | 164 child_id_ = surface_id_allocator_->GenerateId(); |
| 170 surface_factory_->Create(child_id_); | 165 surface_factory_->Create(child_id_); |
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 272 const cc::ReturnedResourceArray& resources, | 267 const cc::ReturnedResourceArray& resources, |
| 273 const CompositorID& compositor_id, | 268 const CompositorID& compositor_id, |
| 274 uint32_t output_surface_id) { | 269 uint32_t output_surface_id) { |
| 275 if (output_surface_id != last_committed_output_surface_id_) | 270 if (output_surface_id != last_committed_output_surface_id_) |
| 276 return; | 271 return; |
| 277 render_thread_manager_->InsertReturnedResourcesOnRT(resources, compositor_id, | 272 render_thread_manager_->InsertReturnedResourcesOnRT(resources, compositor_id, |
| 278 output_surface_id); | 273 output_surface_id); |
| 279 } | 274 } |
| 280 | 275 |
| 281 } // namespace android_webview | 276 } // namespace android_webview |
| OLD | NEW |