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 1251 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1262 Send(new ViewHostMsg_ResolveProxy(url, &result, proxy_list)); | 1262 Send(new ViewHostMsg_ResolveProxy(url, &result, proxy_list)); |
1263 return result; | 1263 return result; |
1264 } | 1264 } |
1265 | 1265 |
1266 void RenderThreadImpl::PostponeIdleNotification() { | 1266 void RenderThreadImpl::PostponeIdleNotification() { |
1267 idle_notifications_to_skip_ = 2; | 1267 idle_notifications_to_skip_ = 2; |
1268 } | 1268 } |
1269 | 1269 |
1270 scoped_refptr<media::GpuVideoAcceleratorFactories> | 1270 scoped_refptr<media::GpuVideoAcceleratorFactories> |
1271 RenderThreadImpl::GetGpuFactories() { | 1271 RenderThreadImpl::GetGpuFactories() { |
1272 DCHECK(IsMainThread()); | 1272 DCHECK(GetMainTaskRunner()->BelongsToCurrentThread()); |
1273 | 1273 |
1274 scoped_refptr<GpuChannelHost> gpu_channel_host = GetGpuChannel(); | 1274 scoped_refptr<GpuChannelHost> gpu_channel_host = GetGpuChannel(); |
1275 const base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess(); | 1275 const base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess(); |
1276 scoped_refptr<media::GpuVideoAcceleratorFactories> gpu_factories; | 1276 scoped_refptr<media::GpuVideoAcceleratorFactories> gpu_factories; |
1277 scoped_refptr<base::SingleThreadTaskRunner> media_task_runner = | 1277 scoped_refptr<base::SingleThreadTaskRunner> media_task_runner = |
1278 GetMediaThreadTaskRunner(); | 1278 GetMediaThreadTaskRunner(); |
1279 if (!cmd_line->HasSwitch(switches::kDisableAcceleratedVideoDecode)) { | 1279 if (!cmd_line->HasSwitch(switches::kDisableAcceleratedVideoDecode)) { |
1280 if (!gpu_va_context_provider_.get() || | 1280 if (!gpu_va_context_provider_.get() || |
1281 gpu_va_context_provider_->DestroyedOnMainThread()) { | 1281 gpu_va_context_provider_->DestroyedOnMainThread()) { |
1282 if (!gpu_channel_host.get()) { | 1282 if (!gpu_channel_host.get()) { |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1316 gpu_channel_host.get(), | 1316 gpu_channel_host.get(), |
1317 attributes, | 1317 attributes, |
1318 lose_context_when_out_of_memory, | 1318 lose_context_when_out_of_memory, |
1319 GURL("chrome://gpu/RenderThreadImpl::CreateOffscreenContext3d"), | 1319 GURL("chrome://gpu/RenderThreadImpl::CreateOffscreenContext3d"), |
1320 WebGraphicsContext3DCommandBufferImpl::SharedMemoryLimits(), | 1320 WebGraphicsContext3DCommandBufferImpl::SharedMemoryLimits(), |
1321 NULL)); | 1321 NULL)); |
1322 } | 1322 } |
1323 | 1323 |
1324 scoped_refptr<cc_blink::ContextProviderWebContext> | 1324 scoped_refptr<cc_blink::ContextProviderWebContext> |
1325 RenderThreadImpl::SharedMainThreadContextProvider() { | 1325 RenderThreadImpl::SharedMainThreadContextProvider() { |
1326 DCHECK(IsMainThread()); | 1326 DCHECK(GetMainTaskRunner()->BelongsToCurrentThread()); |
1327 if (!shared_main_thread_contexts_.get() || | 1327 if (!shared_main_thread_contexts_.get() || |
1328 shared_main_thread_contexts_->DestroyedOnMainThread()) { | 1328 shared_main_thread_contexts_->DestroyedOnMainThread()) { |
1329 shared_main_thread_contexts_ = NULL; | 1329 shared_main_thread_contexts_ = NULL; |
1330 #if defined(OS_ANDROID) | 1330 #if defined(OS_ANDROID) |
1331 if (SynchronousCompositorFactory* factory = | 1331 if (SynchronousCompositorFactory* factory = |
1332 SynchronousCompositorFactory::GetInstance()) { | 1332 SynchronousCompositorFactory::GetInstance()) { |
1333 shared_main_thread_contexts_ = factory->CreateOffscreenContextProvider( | 1333 shared_main_thread_contexts_ = factory->CreateOffscreenContextProvider( |
1334 GetOffscreenAttribs(), "Offscreen-MainThread"); | 1334 GetOffscreenAttribs(), "Offscreen-MainThread"); |
1335 } | 1335 } |
1336 #endif | 1336 #endif |
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1464 } | 1464 } |
1465 | 1465 |
1466 cc::TaskGraphRunner* RenderThreadImpl::GetTaskGraphRunner() { | 1466 cc::TaskGraphRunner* RenderThreadImpl::GetTaskGraphRunner() { |
1467 return compositor_task_graph_runner_.get(); | 1467 return compositor_task_graph_runner_.get(); |
1468 } | 1468 } |
1469 | 1469 |
1470 bool RenderThreadImpl::IsGatherPixelRefsEnabled() { | 1470 bool RenderThreadImpl::IsGatherPixelRefsEnabled() { |
1471 return is_gather_pixel_refs_enabled_; | 1471 return is_gather_pixel_refs_enabled_; |
1472 } | 1472 } |
1473 | 1473 |
1474 bool RenderThreadImpl::IsMainThread() { | 1474 scoped_refptr<base::SingleThreadTaskRunner> |
1475 return !!current(); | 1475 RenderThreadImpl::GetMainTaskRunner() { |
1476 } | 1476 return message_loop()->task_runner(); |
1477 | |
1478 base::MessageLoop* RenderThreadImpl::GetMainLoop() { | |
1479 return message_loop(); | |
1480 } | 1477 } |
1481 | 1478 |
1482 scoped_refptr<base::MessageLoopProxy> RenderThreadImpl::GetIOLoopProxy() { | 1479 scoped_refptr<base::MessageLoopProxy> RenderThreadImpl::GetIOLoopProxy() { |
1483 return io_message_loop_proxy_; | 1480 return io_message_loop_proxy_; |
1484 } | 1481 } |
1485 | 1482 |
1486 scoped_ptr<base::SharedMemory> RenderThreadImpl::AllocateSharedMemory( | 1483 scoped_ptr<base::SharedMemory> RenderThreadImpl::AllocateSharedMemory( |
1487 size_t size) { | 1484 size_t size) { |
1488 return scoped_ptr<base::SharedMemory>( | 1485 return scoped_ptr<base::SharedMemory>( |
1489 HostAllocateSharedMemoryBuffer(size)); | 1486 HostAllocateSharedMemoryBuffer(size)); |
(...skipping 405 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1895 } | 1892 } |
1896 | 1893 |
1897 void RenderThreadImpl::PendingRenderFrameConnect::OnConnectionError() { | 1894 void RenderThreadImpl::PendingRenderFrameConnect::OnConnectionError() { |
1898 size_t erased = | 1895 size_t erased = |
1899 RenderThreadImpl::current()->pending_render_frame_connects_.erase( | 1896 RenderThreadImpl::current()->pending_render_frame_connects_.erase( |
1900 routing_id_); | 1897 routing_id_); |
1901 DCHECK_EQ(1u, erased); | 1898 DCHECK_EQ(1u, erased); |
1902 } | 1899 } |
1903 | 1900 |
1904 } // namespace content | 1901 } // namespace content |
OLD | NEW |