| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "content/browser/android/synchronous_compositor_host.h" | 5 #include "content/browser/android/synchronous_compositor_host.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/containers/hash_tables.h" | 10 #include "base/containers/hash_tables.h" |
| (...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 282 std::unique_ptr<SharedMemoryWithSize> software_draw_shm( | 282 std::unique_ptr<SharedMemoryWithSize> software_draw_shm( |
| 283 new SharedMemoryWithSize(stride, buffer_size)); | 283 new SharedMemoryWithSize(stride, buffer_size)); |
| 284 { | 284 { |
| 285 TRACE_EVENT1("browser", "AllocateSharedMemory", "buffer_size", buffer_size); | 285 TRACE_EVENT1("browser", "AllocateSharedMemory", "buffer_size", buffer_size); |
| 286 if (!software_draw_shm->shm.CreateAndMapAnonymous(buffer_size)) | 286 if (!software_draw_shm->shm.CreateAndMapAnonymous(buffer_size)) |
| 287 return; | 287 return; |
| 288 } | 288 } |
| 289 | 289 |
| 290 SyncCompositorSetSharedMemoryParams set_shm_params; | 290 SyncCompositorSetSharedMemoryParams set_shm_params; |
| 291 set_shm_params.buffer_size = buffer_size; | 291 set_shm_params.buffer_size = buffer_size; |
| 292 base::ProcessHandle renderer_process_handle = | 292 set_shm_params.shm_handle = software_draw_shm->shm.handle().Duplicate(); |
| 293 rwhva_->GetRenderWidgetHost()->GetProcess()->GetHandle(); | 293 if (!set_shm_params.shm_handle.IsValid()) |
| 294 if (!software_draw_shm->shm.ShareToProcess(renderer_process_handle, | |
| 295 &set_shm_params.shm_handle)) { | |
| 296 return; | 294 return; |
| 297 } | |
| 298 | 295 |
| 299 bool success = false; | 296 bool success = false; |
| 300 SyncCompositorCommonRendererParams common_renderer_params; | 297 SyncCompositorCommonRendererParams common_renderer_params; |
| 301 { | 298 { |
| 302 base::ThreadRestrictions::ScopedAllowWait wait; | 299 base::ThreadRestrictions::ScopedAllowWait wait; |
| 303 if (!sender_->Send(new SyncCompositorMsg_SetSharedMemory( | 300 if (!sender_->Send(new SyncCompositorMsg_SetSharedMemory( |
| 304 routing_id_, set_shm_params, &success, &common_renderer_params)) || | 301 routing_id_, set_shm_params, &success, &common_renderer_params)) || |
| 305 !success) { | 302 !success) { |
| 306 return; | 303 return; |
| 307 } | 304 } |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 416 if (params.page_scale_factor) { | 413 if (params.page_scale_factor) { |
| 417 client_->UpdateRootLayerState( | 414 client_->UpdateRootLayerState( |
| 418 this, gfx::ScrollOffsetToVector2dF(params.total_scroll_offset), | 415 this, gfx::ScrollOffsetToVector2dF(params.total_scroll_offset), |
| 419 gfx::ScrollOffsetToVector2dF(params.max_scroll_offset), | 416 gfx::ScrollOffsetToVector2dF(params.max_scroll_offset), |
| 420 params.scrollable_size, params.page_scale_factor, | 417 params.scrollable_size, params.page_scale_factor, |
| 421 params.min_page_scale_factor, params.max_page_scale_factor); | 418 params.min_page_scale_factor, params.max_page_scale_factor); |
| 422 } | 419 } |
| 423 } | 420 } |
| 424 | 421 |
| 425 } // namespace content | 422 } // namespace content |
| OLD | NEW |