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 399 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
410 | 410 |
411 private: | 411 private: |
412 mojo::StrongBinding<EmbeddedWorkerSetup> binding_; | 412 mojo::StrongBinding<EmbeddedWorkerSetup> binding_; |
413 }; | 413 }; |
414 | 414 |
415 void CreateEmbeddedWorkerSetup( | 415 void CreateEmbeddedWorkerSetup( |
416 mojo::InterfaceRequest<EmbeddedWorkerSetup> request) { | 416 mojo::InterfaceRequest<EmbeddedWorkerSetup> request) { |
417 new EmbeddedWorkerSetupImpl(request.Pass()); | 417 new EmbeddedWorkerSetupImpl(request.Pass()); |
418 } | 418 } |
419 | 419 |
420 void StringToUintVector(const std::string& str, std::vector<unsigned>* vector) { | |
421 DCHECK(vector->empty()); | |
422 std::vector<std::string> pieces; | |
423 base::SplitString(str, ',', &pieces); | |
424 DCHECK_EQ(pieces.size(), | |
425 static_cast<size_t>(gfx::GpuMemoryBuffer::FORMAT_LAST + 1)); | |
426 for (size_t i = 0; i < pieces.size(); ++i) { | |
427 unsigned number = 0; | |
428 bool succeed = base::StringToUint(pieces[i], &number); | |
429 DCHECK(succeed); | |
430 vector->push_back(number); | |
431 } | |
432 } | |
433 | |
420 } // namespace | 434 } // namespace |
421 | 435 |
422 class RasterWorkerPool : public base::SequencedTaskRunner, | 436 class RasterWorkerPool : public base::SequencedTaskRunner, |
423 public base::DelegateSimpleThread::Delegate { | 437 public base::DelegateSimpleThread::Delegate { |
424 public: | 438 public: |
425 RasterWorkerPool() | 439 RasterWorkerPool() |
426 : namespace_token_(task_graph_runner_.GetNamespaceToken()) {} | 440 : namespace_token_(task_graph_runner_.GetNamespaceToken()) {} |
427 | 441 |
428 void Start(int num_threads, | 442 void Start(int num_threads, |
429 const base::SimpleThread::Options& thread_options) { | 443 const base::SimpleThread::Options& thread_options) { |
(...skipping 328 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
758 key, kCFPreferencesCurrentApplication, &key_exists); | 772 key, kCFPreferencesCurrentApplication, &key_exists); |
759 if (key_exists && !value) | 773 if (key_exists && !value) |
760 is_elastic_overscroll_enabled_ = false; | 774 is_elastic_overscroll_enabled_ = false; |
761 } | 775 } |
762 #else | 776 #else |
763 is_elastic_overscroll_enabled_ = false; | 777 is_elastic_overscroll_enabled_ = false; |
764 #endif | 778 #endif |
765 | 779 |
766 std::string image_texture_target_string = | 780 std::string image_texture_target_string = |
767 command_line.GetSwitchValueASCII(switches::kContentImageTextureTarget); | 781 command_line.GetSwitchValueASCII(switches::kContentImageTextureTarget); |
768 bool parsed_image_texture_target = base::StringToUint( | 782 StringToUintVector(image_texture_target_string, &use_image_texture_targets_); |
769 image_texture_target_string, &use_image_texture_target_); | |
770 DCHECK(parsed_image_texture_target); | |
771 | 783 |
772 if (command_line.HasSwitch(switches::kDisableLCDText)) { | 784 if (command_line.HasSwitch(switches::kDisableLCDText)) { |
773 is_lcd_text_enabled_ = false; | 785 is_lcd_text_enabled_ = false; |
774 } else if (command_line.HasSwitch(switches::kEnableLCDText)) { | 786 } else if (command_line.HasSwitch(switches::kEnableLCDText)) { |
775 is_lcd_text_enabled_ = true; | 787 is_lcd_text_enabled_ = true; |
776 } else { | 788 } else { |
777 #if defined(OS_ANDROID) | 789 #if defined(OS_ANDROID) |
778 is_lcd_text_enabled_ = false; | 790 is_lcd_text_enabled_ = false; |
779 #else | 791 #else |
780 is_lcd_text_enabled_ = true; | 792 is_lcd_text_enabled_ = true; |
(...skipping 660 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1441 lose_context_when_out_of_memory, | 1453 lose_context_when_out_of_memory, |
1442 GURL("chrome://gpu/RenderThreadImpl::GetGpuVDAContext3D"), | 1454 GURL("chrome://gpu/RenderThreadImpl::GetGpuVDAContext3D"), |
1443 WebGraphicsContext3DCommandBufferImpl::SharedMemoryLimits(), | 1455 WebGraphicsContext3DCommandBufferImpl::SharedMemoryLimits(), |
1444 NULL)), | 1456 NULL)), |
1445 GPU_VIDEO_ACCELERATOR_CONTEXT); | 1457 GPU_VIDEO_ACCELERATOR_CONTEXT); |
1446 } | 1458 } |
1447 if (gpu_va_context_provider_.get()) { | 1459 if (gpu_va_context_provider_.get()) { |
1448 bool enable_video_accelerator = | 1460 bool enable_video_accelerator = |
1449 !cmd_line->HasSwitch(switches::kDisableAcceleratedVideoDecode); | 1461 !cmd_line->HasSwitch(switches::kDisableAcceleratedVideoDecode); |
1450 std::string image_texture_target_string = | 1462 std::string image_texture_target_string = |
1451 cmd_line->GetSwitchValueASCII(switches::kContentImageTextureTarget); | 1463 cmd_line->GetSwitchValueASCII(switches::kVideoImageTextureTarget); |
jchen10
2015/07/31 05:26:33
It looks like an typo using switches::kContentImag
reveman
2015/07/31 16:05:43
Nice catch. Thanks!
| |
1452 unsigned image_texture_target = 0; | 1464 unsigned image_texture_target = 0; |
1453 bool parsed_image_texture_target = | 1465 bool parsed_image_texture_target = |
1454 base::StringToUint(image_texture_target_string, &image_texture_target); | 1466 base::StringToUint(image_texture_target_string, &image_texture_target); |
1455 DCHECK(parsed_image_texture_target); | 1467 DCHECK(parsed_image_texture_target); |
1456 gpu_factories = RendererGpuVideoAcceleratorFactories::Create( | 1468 gpu_factories = RendererGpuVideoAcceleratorFactories::Create( |
1457 gpu_channel_host.get(), media_task_runner, gpu_va_context_provider_, | 1469 gpu_channel_host.get(), media_task_runner, gpu_va_context_provider_, |
1458 image_texture_target, enable_video_accelerator); | 1470 image_texture_target, enable_video_accelerator); |
1459 } | 1471 } |
1460 return gpu_factories; | 1472 return gpu_factories; |
1461 } | 1473 } |
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1565 } | 1577 } |
1566 | 1578 |
1567 bool RenderThreadImpl::IsOneCopyEnabled() { | 1579 bool RenderThreadImpl::IsOneCopyEnabled() { |
1568 return is_one_copy_enabled_; | 1580 return is_one_copy_enabled_; |
1569 } | 1581 } |
1570 | 1582 |
1571 bool RenderThreadImpl::IsElasticOverscrollEnabled() { | 1583 bool RenderThreadImpl::IsElasticOverscrollEnabled() { |
1572 return is_elastic_overscroll_enabled_; | 1584 return is_elastic_overscroll_enabled_; |
1573 } | 1585 } |
1574 | 1586 |
1575 uint32 RenderThreadImpl::GetImageTextureTarget() { | 1587 std::vector<unsigned> RenderThreadImpl::GetImageTextureTargets() { |
1576 return use_image_texture_target_; | 1588 return use_image_texture_targets_; |
1577 } | 1589 } |
1578 | 1590 |
1579 scoped_refptr<base::SingleThreadTaskRunner> | 1591 scoped_refptr<base::SingleThreadTaskRunner> |
1580 RenderThreadImpl::GetCompositorMainThreadTaskRunner() { | 1592 RenderThreadImpl::GetCompositorMainThreadTaskRunner() { |
1581 return main_thread_compositor_task_runner_; | 1593 return main_thread_compositor_task_runner_; |
1582 } | 1594 } |
1583 | 1595 |
1584 scoped_refptr<base::SingleThreadTaskRunner> | 1596 scoped_refptr<base::SingleThreadTaskRunner> |
1585 RenderThreadImpl::GetCompositorImplThreadTaskRunner() { | 1597 RenderThreadImpl::GetCompositorImplThreadTaskRunner() { |
1586 return compositor_task_runner_; | 1598 return compositor_task_runner_; |
(...skipping 450 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2037 } | 2049 } |
2038 | 2050 |
2039 void RenderThreadImpl::PendingRenderFrameConnect::OnConnectionError() { | 2051 void RenderThreadImpl::PendingRenderFrameConnect::OnConnectionError() { |
2040 size_t erased = | 2052 size_t erased = |
2041 RenderThreadImpl::current()->pending_render_frame_connects_.erase( | 2053 RenderThreadImpl::current()->pending_render_frame_connects_.erase( |
2042 routing_id_); | 2054 routing_id_); |
2043 DCHECK_EQ(1u, erased); | 2055 DCHECK_EQ(1u, erased); |
2044 } | 2056 } |
2045 | 2057 |
2046 } // namespace content | 2058 } // namespace content |
OLD | NEW |