| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 #include "content/renderer/render_thread_impl.h" | 5 #include "content/renderer/render_thread_impl.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <limits> | 8 #include <limits> |
| 9 #include <map> | 9 #include <map> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 404 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 415 | 415 |
| 416 private: | 416 private: |
| 417 mojo::StrongBinding<EmbeddedWorkerSetup> binding_; | 417 mojo::StrongBinding<EmbeddedWorkerSetup> binding_; |
| 418 }; | 418 }; |
| 419 | 419 |
| 420 void CreateEmbeddedWorkerSetup( | 420 void CreateEmbeddedWorkerSetup( |
| 421 mojo::InterfaceRequest<EmbeddedWorkerSetup> request) { | 421 mojo::InterfaceRequest<EmbeddedWorkerSetup> request) { |
| 422 new EmbeddedWorkerSetupImpl(request.Pass()); | 422 new EmbeddedWorkerSetupImpl(request.Pass()); |
| 423 } | 423 } |
| 424 | 424 |
| 425 void StringToUintVector(const std::string& str, std::vector<unsigned>* vector) { |
| 426 DCHECK(vector->empty()); |
| 427 std::vector<std::string> pieces; |
| 428 base::SplitString(str, ',', &pieces); |
| 429 DCHECK_EQ(pieces.size(), static_cast<size_t>(gfx::BufferFormat::LAST) + 1); |
| 430 for (size_t i = 0; i < pieces.size(); ++i) { |
| 431 unsigned number = 0; |
| 432 bool succeed = base::StringToUint(pieces[i], &number); |
| 433 DCHECK(succeed); |
| 434 vector->push_back(number); |
| 435 } |
| 436 } |
| 437 |
| 425 } // namespace | 438 } // namespace |
| 426 | 439 |
| 427 // For measuring memory usage after each task. Behind a command line flag. | 440 // For measuring memory usage after each task. Behind a command line flag. |
| 428 class MemoryObserver : public base::MessageLoop::TaskObserver { | 441 class MemoryObserver : public base::MessageLoop::TaskObserver { |
| 429 public: | 442 public: |
| 430 MemoryObserver() {} | 443 MemoryObserver() {} |
| 431 ~MemoryObserver() override {} | 444 ~MemoryObserver() override {} |
| 432 | 445 |
| 433 void WillProcessTask(const base::PendingTask& pending_task) override {} | 446 void WillProcessTask(const base::PendingTask& pending_task) override {} |
| 434 | 447 |
| (...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 647 key, kCFPreferencesCurrentApplication, &key_exists); | 660 key, kCFPreferencesCurrentApplication, &key_exists); |
| 648 if (key_exists && !value) | 661 if (key_exists && !value) |
| 649 is_elastic_overscroll_enabled_ = false; | 662 is_elastic_overscroll_enabled_ = false; |
| 650 } | 663 } |
| 651 #else | 664 #else |
| 652 is_elastic_overscroll_enabled_ = false; | 665 is_elastic_overscroll_enabled_ = false; |
| 653 #endif | 666 #endif |
| 654 | 667 |
| 655 std::string image_texture_target_string = | 668 std::string image_texture_target_string = |
| 656 command_line.GetSwitchValueASCII(switches::kContentImageTextureTarget); | 669 command_line.GetSwitchValueASCII(switches::kContentImageTextureTarget); |
| 657 bool parsed_image_texture_target = base::StringToUint( | 670 StringToUintVector(image_texture_target_string, &use_image_texture_targets_); |
| 658 image_texture_target_string, &use_image_texture_target_); | |
| 659 DCHECK(parsed_image_texture_target); | |
| 660 | 671 |
| 661 if (command_line.HasSwitch(switches::kDisableLCDText)) { | 672 if (command_line.HasSwitch(switches::kDisableLCDText)) { |
| 662 is_lcd_text_enabled_ = false; | 673 is_lcd_text_enabled_ = false; |
| 663 } else if (command_line.HasSwitch(switches::kEnableLCDText)) { | 674 } else if (command_line.HasSwitch(switches::kEnableLCDText)) { |
| 664 is_lcd_text_enabled_ = true; | 675 is_lcd_text_enabled_ = true; |
| 665 } else { | 676 } else { |
| 666 #if defined(OS_ANDROID) | 677 #if defined(OS_ANDROID) |
| 667 is_lcd_text_enabled_ = false; | 678 is_lcd_text_enabled_ = false; |
| 668 #else | 679 #else |
| 669 is_lcd_text_enabled_ = true; | 680 is_lcd_text_enabled_ = true; |
| (...skipping 660 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1330 lose_context_when_out_of_memory, | 1341 lose_context_when_out_of_memory, |
| 1331 GURL("chrome://gpu/RenderThreadImpl::GetGpuVDAContext3D"), | 1342 GURL("chrome://gpu/RenderThreadImpl::GetGpuVDAContext3D"), |
| 1332 WebGraphicsContext3DCommandBufferImpl::SharedMemoryLimits(), | 1343 WebGraphicsContext3DCommandBufferImpl::SharedMemoryLimits(), |
| 1333 NULL)), | 1344 NULL)), |
| 1334 GPU_VIDEO_ACCELERATOR_CONTEXT); | 1345 GPU_VIDEO_ACCELERATOR_CONTEXT); |
| 1335 } | 1346 } |
| 1336 if (gpu_va_context_provider_.get()) { | 1347 if (gpu_va_context_provider_.get()) { |
| 1337 bool enable_video_accelerator = | 1348 bool enable_video_accelerator = |
| 1338 !cmd_line->HasSwitch(switches::kDisableAcceleratedVideoDecode); | 1349 !cmd_line->HasSwitch(switches::kDisableAcceleratedVideoDecode); |
| 1339 std::string image_texture_target_string = | 1350 std::string image_texture_target_string = |
| 1340 cmd_line->GetSwitchValueASCII(switches::kContentImageTextureTarget); | 1351 cmd_line->GetSwitchValueASCII(switches::kVideoImageTextureTarget); |
| 1341 unsigned image_texture_target = 0; | 1352 unsigned image_texture_target = 0; |
| 1342 bool parsed_image_texture_target = | 1353 bool parsed_image_texture_target = |
| 1343 base::StringToUint(image_texture_target_string, &image_texture_target); | 1354 base::StringToUint(image_texture_target_string, &image_texture_target); |
| 1344 DCHECK(parsed_image_texture_target); | 1355 DCHECK(parsed_image_texture_target); |
| 1345 CHECK(gpu_channel_.get()) << "Have gpu_va_context_provider but no " | 1356 CHECK(gpu_channel_.get()) << "Have gpu_va_context_provider but no " |
| 1346 "gpu_channel_. See crbug.com/495185."; | 1357 "gpu_channel_. See crbug.com/495185."; |
| 1347 CHECK(gpu_channel_host.get()) << "Have gpu_va_context_provider but lost " | 1358 CHECK(gpu_channel_host.get()) << "Have gpu_va_context_provider but lost " |
| 1348 "gpu_channel_. See crbug.com/495185."; | 1359 "gpu_channel_. See crbug.com/495185."; |
| 1349 gpu_factories = RendererGpuVideoAcceleratorFactories::Create( | 1360 gpu_factories = RendererGpuVideoAcceleratorFactories::Create( |
| 1350 gpu_channel_host.get(), media_task_runner, gpu_va_context_provider_, | 1361 gpu_channel_host.get(), media_task_runner, gpu_va_context_provider_, |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1459 } | 1470 } |
| 1460 | 1471 |
| 1461 bool RenderThreadImpl::IsOneCopyEnabled() { | 1472 bool RenderThreadImpl::IsOneCopyEnabled() { |
| 1462 return is_one_copy_enabled_; | 1473 return is_one_copy_enabled_; |
| 1463 } | 1474 } |
| 1464 | 1475 |
| 1465 bool RenderThreadImpl::IsElasticOverscrollEnabled() { | 1476 bool RenderThreadImpl::IsElasticOverscrollEnabled() { |
| 1466 return is_elastic_overscroll_enabled_; | 1477 return is_elastic_overscroll_enabled_; |
| 1467 } | 1478 } |
| 1468 | 1479 |
| 1469 uint32 RenderThreadImpl::GetImageTextureTarget() { | 1480 std::vector<unsigned> RenderThreadImpl::GetImageTextureTargets() { |
| 1470 return use_image_texture_target_; | 1481 return use_image_texture_targets_; |
| 1471 } | 1482 } |
| 1472 | 1483 |
| 1473 scoped_refptr<base::SingleThreadTaskRunner> | 1484 scoped_refptr<base::SingleThreadTaskRunner> |
| 1474 RenderThreadImpl::GetCompositorMainThreadTaskRunner() { | 1485 RenderThreadImpl::GetCompositorMainThreadTaskRunner() { |
| 1475 return main_thread_compositor_task_runner_; | 1486 return main_thread_compositor_task_runner_; |
| 1476 } | 1487 } |
| 1477 | 1488 |
| 1478 scoped_refptr<base::SingleThreadTaskRunner> | 1489 scoped_refptr<base::SingleThreadTaskRunner> |
| 1479 RenderThreadImpl::GetCompositorImplThreadTaskRunner() { | 1490 RenderThreadImpl::GetCompositorImplThreadTaskRunner() { |
| 1480 return compositor_task_runner_; | 1491 return compositor_task_runner_; |
| (...skipping 451 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1932 } | 1943 } |
| 1933 | 1944 |
| 1934 void RenderThreadImpl::PendingRenderFrameConnect::OnConnectionError() { | 1945 void RenderThreadImpl::PendingRenderFrameConnect::OnConnectionError() { |
| 1935 size_t erased = | 1946 size_t erased = |
| 1936 RenderThreadImpl::current()->pending_render_frame_connects_.erase( | 1947 RenderThreadImpl::current()->pending_render_frame_connects_.erase( |
| 1937 routing_id_); | 1948 routing_id_); |
| 1938 DCHECK_EQ(1u, erased); | 1949 DCHECK_EQ(1u, erased); |
| 1939 } | 1950 } |
| 1940 | 1951 |
| 1941 } // namespace content | 1952 } // namespace content |
| OLD | NEW |