OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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 // Represents the browser side of the browser <--> renderer communication | 5 // Represents the browser side of the browser <--> renderer communication |
6 // channel. There will be one RenderProcessHost per renderer process. | 6 // channel. There will be one RenderProcessHost per renderer process. |
7 | 7 |
8 #include "content/browser/renderer_host/render_process_host_impl.h" | 8 #include "content/browser/renderer_host/render_process_host_impl.h" |
9 | 9 |
10 #include <algorithm> | 10 #include <algorithm> |
(...skipping 381 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
392 void Release(int old_route_id) { | 392 void Release(int old_route_id) { |
393 session_storage_namespaces_awaiting_close_.erase(old_route_id); | 393 session_storage_namespaces_awaiting_close_.erase(old_route_id); |
394 } | 394 } |
395 | 395 |
396 private: | 396 private: |
397 std::map<int, SessionStorageNamespaceMap > | 397 std::map<int, SessionStorageNamespaceMap > |
398 session_storage_namespaces_awaiting_close_; | 398 session_storage_namespaces_awaiting_close_; |
399 DISALLOW_COPY_AND_ASSIGN(SessionStorageHolder); | 399 DISALLOW_COPY_AND_ASSIGN(SessionStorageHolder); |
400 }; | 400 }; |
401 | 401 |
| 402 std::string UintVectorToString(const std::vector<unsigned>& vector) { |
| 403 std::string str; |
| 404 for (auto it : vector) { |
| 405 if (!str.empty()) |
| 406 str += ","; |
| 407 str += base::UintToString(it); |
| 408 } |
| 409 return str; |
| 410 } |
| 411 |
402 } // namespace | 412 } // namespace |
403 | 413 |
404 RendererMainThreadFactoryFunction g_renderer_main_thread_factory = NULL; | 414 RendererMainThreadFactoryFunction g_renderer_main_thread_factory = NULL; |
405 | 415 |
406 base::MessageLoop* g_in_process_thread; | 416 base::MessageLoop* g_in_process_thread; |
407 | 417 |
408 base::MessageLoop* | 418 base::MessageLoop* |
409 RenderProcessHostImpl::GetInProcessRendererThreadForTesting() { | 419 RenderProcessHostImpl::GetInProcessRendererThreadForTesting() { |
410 return g_in_process_thread; | 420 return g_in_process_thread; |
411 } | 421 } |
(...skipping 716 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1128 DCHECK_IMPLIES(IsZeroCopyUploadEnabled(), !IsOneCopyUploadEnabled()); | 1138 DCHECK_IMPLIES(IsZeroCopyUploadEnabled(), !IsOneCopyUploadEnabled()); |
1129 DCHECK_IMPLIES(IsOneCopyUploadEnabled(), !IsZeroCopyUploadEnabled()); | 1139 DCHECK_IMPLIES(IsOneCopyUploadEnabled(), !IsZeroCopyUploadEnabled()); |
1130 if (IsZeroCopyUploadEnabled()) | 1140 if (IsZeroCopyUploadEnabled()) |
1131 command_line->AppendSwitch(switches::kEnableZeroCopy); | 1141 command_line->AppendSwitch(switches::kEnableZeroCopy); |
1132 if (!IsOneCopyUploadEnabled()) | 1142 if (!IsOneCopyUploadEnabled()) |
1133 command_line->AppendSwitch(switches::kDisableOneCopy); | 1143 command_line->AppendSwitch(switches::kDisableOneCopy); |
1134 | 1144 |
1135 if (IsForceGpuRasterizationEnabled()) | 1145 if (IsForceGpuRasterizationEnabled()) |
1136 command_line->AppendSwitch(switches::kForceGpuRasterization); | 1146 command_line->AppendSwitch(switches::kForceGpuRasterization); |
1137 | 1147 |
1138 command_line->AppendSwitchASCII( | 1148 std::vector<unsigned> image_targets(gfx::GpuMemoryBuffer::FORMAT_LAST + 1, |
1139 switches::kContentImageTextureTarget, | 1149 GL_TEXTURE_2D); |
1140 base::UintToString( | 1150 for (size_t format = 0; format < gfx::GpuMemoryBuffer::FORMAT_LAST + 1; |
1141 // TODO(reveman): We currently assume that the compositor will use | 1151 format++) { |
1142 // BGRA_8888 if it's able to, and RGBA_8888 otherwise. Since we don't | 1152 image_targets[format] = |
1143 // know what it will use we hardcode BGRA_8888 here for now. We should | 1153 BrowserGpuMemoryBufferManager::GetImageTextureTarget( |
1144 // instead move decisions about GpuMemoryBuffer format to the browser | 1154 static_cast<gfx::GpuMemoryBuffer::Format>(format), |
1145 // embedder so we know it here, and pass that decision to the | 1155 // TODO(danakj): When one-copy supports partial update, change |
1146 // compositor for each usage. | 1156 // this usage to PERSISTENT_MAP for one-copy. |
1147 // crbug.com/490362 | 1157 gfx::GpuMemoryBuffer::MAP); |
1148 BrowserGpuMemoryBufferManager::GetImageTextureTarget( | 1158 } |
1149 gfx::GpuMemoryBuffer::BGRA_8888, | 1159 command_line->AppendSwitchASCII(switches::kContentImageTextureTarget, |
1150 // TODO(danakj): When one-copy supports partial update, change | 1160 UintVectorToString(image_targets)); |
1151 // this usage to PERSISTENT_MAP for one-copy. | |
1152 gfx::GpuMemoryBuffer::MAP))); | |
1153 | 1161 |
1154 command_line->AppendSwitchASCII( | 1162 command_line->AppendSwitchASCII( |
1155 switches::kVideoImageTextureTarget, | 1163 switches::kVideoImageTextureTarget, |
1156 base::UintToString(BrowserGpuMemoryBufferManager::GetImageTextureTarget( | 1164 base::UintToString(BrowserGpuMemoryBufferManager::GetImageTextureTarget( |
1157 gfx::GpuMemoryBuffer::R_8, gfx::GpuMemoryBuffer::MAP))); | 1165 gfx::GpuMemoryBuffer::R_8, gfx::GpuMemoryBuffer::MAP))); |
1158 | 1166 |
1159 // Appending disable-gpu-feature switches due to software rendering list. | 1167 // Appending disable-gpu-feature switches due to software rendering list. |
1160 GpuDataManagerImpl* gpu_data_manager = GpuDataManagerImpl::GetInstance(); | 1168 GpuDataManagerImpl* gpu_data_manager = GpuDataManagerImpl::GetInstance(); |
1161 DCHECK(gpu_data_manager); | 1169 DCHECK(gpu_data_manager); |
1162 gpu_data_manager->AppendRendererCommandLine(command_line); | 1170 gpu_data_manager->AppendRendererCommandLine(command_line); |
(...skipping 1347 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2510 void RenderProcessHostImpl::GetAudioOutputControllers( | 2518 void RenderProcessHostImpl::GetAudioOutputControllers( |
2511 const GetAudioOutputControllersCallback& callback) const { | 2519 const GetAudioOutputControllersCallback& callback) const { |
2512 audio_renderer_host()->GetOutputControllers(callback); | 2520 audio_renderer_host()->GetOutputControllers(callback); |
2513 } | 2521 } |
2514 | 2522 |
2515 BluetoothDispatcherHost* RenderProcessHostImpl::GetBluetoothDispatcherHost() { | 2523 BluetoothDispatcherHost* RenderProcessHostImpl::GetBluetoothDispatcherHost() { |
2516 return bluetooth_dispatcher_host_.get(); | 2524 return bluetooth_dispatcher_host_.get(); |
2517 } | 2525 } |
2518 | 2526 |
2519 } // namespace content | 2527 } // namespace content |
OLD | NEW |