| 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 <utility> | 10 #include <utility> |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 111 #include "content/renderer/media/render_media_client.h" | 111 #include "content/renderer/media/render_media_client.h" |
| 112 #include "content/renderer/media/renderer_gpu_video_accelerator_factories.h" | 112 #include "content/renderer/media/renderer_gpu_video_accelerator_factories.h" |
| 113 #include "content/renderer/media/video_capture_impl_manager.h" | 113 #include "content/renderer/media/video_capture_impl_manager.h" |
| 114 #include "content/renderer/net_info_helper.h" | 114 #include "content/renderer/net_info_helper.h" |
| 115 #include "content/renderer/p2p/socket_dispatcher.h" | 115 #include "content/renderer/p2p/socket_dispatcher.h" |
| 116 #include "content/renderer/render_frame_proxy.h" | 116 #include "content/renderer/render_frame_proxy.h" |
| 117 #include "content/renderer/render_process_impl.h" | 117 #include "content/renderer/render_process_impl.h" |
| 118 #include "content/renderer/render_view_impl.h" | 118 #include "content/renderer/render_view_impl.h" |
| 119 #include "content/renderer/renderer_blink_platform_impl.h" | 119 #include "content/renderer/renderer_blink_platform_impl.h" |
| 120 #include "content/renderer/scheduler/resource_dispatch_throttler.h" | 120 #include "content/renderer/scheduler/resource_dispatch_throttler.h" |
| 121 #include "content/renderer/service_worker/embedded_worker_dispatcher.h" | |
| 122 #include "content/renderer/service_worker/embedded_worker_instance_client_impl.h
" | 121 #include "content/renderer/service_worker/embedded_worker_instance_client_impl.h
" |
| 123 #include "content/renderer/service_worker/service_worker_context_client.h" | 122 #include "content/renderer/service_worker/service_worker_context_client.h" |
| 124 #include "content/renderer/service_worker/service_worker_context_message_filter.
h" | 123 #include "content/renderer/service_worker/service_worker_context_message_filter.
h" |
| 125 #include "content/renderer/shared_worker/embedded_shared_worker_stub.h" | 124 #include "content/renderer/shared_worker/embedded_shared_worker_stub.h" |
| 126 #include "gin/public/debug.h" | 125 #include "gin/public/debug.h" |
| 127 #include "gpu/GLES2/gl2extchromium.h" | 126 #include "gpu/GLES2/gl2extchromium.h" |
| 128 #include "gpu/command_buffer/client/shared_memory_limits.h" | 127 #include "gpu/command_buffer/client/shared_memory_limits.h" |
| 129 #include "gpu/ipc/client/command_buffer_proxy_impl.h" | 128 #include "gpu/ipc/client/command_buffer_proxy_impl.h" |
| 130 #include "gpu/ipc/client/gpu_channel_host.h" | 129 #include "gpu/ipc/client/gpu_channel_host.h" |
| 131 #include "ipc/ipc_channel_handle.h" | 130 #include "ipc/ipc_channel_handle.h" |
| (...skipping 514 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 646 hidden_widget_count_ = 0; | 645 hidden_widget_count_ = 0; |
| 647 idle_notification_delay_in_ms_ = kInitialIdleHandlerDelayMs; | 646 idle_notification_delay_in_ms_ = kInitialIdleHandlerDelayMs; |
| 648 idle_notifications_to_skip_ = 0; | 647 idle_notifications_to_skip_ = 0; |
| 649 | 648 |
| 650 appcache_dispatcher_.reset( | 649 appcache_dispatcher_.reset( |
| 651 new AppCacheDispatcher(Get(), new AppCacheFrontendImpl())); | 650 new AppCacheDispatcher(Get(), new AppCacheFrontendImpl())); |
| 652 dom_storage_dispatcher_.reset(new DomStorageDispatcher()); | 651 dom_storage_dispatcher_.reset(new DomStorageDispatcher()); |
| 653 main_thread_indexed_db_dispatcher_.reset(new IndexedDBDispatcher()); | 652 main_thread_indexed_db_dispatcher_.reset(new IndexedDBDispatcher()); |
| 654 main_thread_cache_storage_dispatcher_.reset( | 653 main_thread_cache_storage_dispatcher_.reset( |
| 655 new CacheStorageDispatcher(thread_safe_sender())); | 654 new CacheStorageDispatcher(thread_safe_sender())); |
| 656 embedded_worker_dispatcher_.reset(new EmbeddedWorkerDispatcher()); | |
| 657 | 655 |
| 658 // Note: This may reorder messages from the ResourceDispatcher with respect to | 656 // Note: This may reorder messages from the ResourceDispatcher with respect to |
| 659 // other subsystems. | 657 // other subsystems. |
| 660 resource_dispatch_throttler_.reset(new ResourceDispatchThrottler( | 658 resource_dispatch_throttler_.reset(new ResourceDispatchThrottler( |
| 661 static_cast<RenderThread*>(this), renderer_scheduler_.get(), | 659 static_cast<RenderThread*>(this), renderer_scheduler_.get(), |
| 662 base::TimeDelta::FromSecondsD(kThrottledResourceRequestFlushPeriodS), | 660 base::TimeDelta::FromSecondsD(kThrottledResourceRequestFlushPeriodS), |
| 663 kMaxResourceRequestsPerFlushWhenThrottled)); | 661 kMaxResourceRequestsPerFlushWhenThrottled)); |
| 664 resource_dispatcher()->set_message_sender(resource_dispatch_throttler_.get()); | 662 resource_dispatcher()->set_message_sender(resource_dispatch_throttler_.get()); |
| 665 | 663 |
| 666 media_stream_center_ = nullptr; | 664 media_stream_center_ = nullptr; |
| (...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 877 // discardable memory manager, and should skip this if kSingleProcess. | 875 // discardable memory manager, and should skip this if kSingleProcess. |
| 878 // See crbug.com/503724. | 876 // See crbug.com/503724. |
| 879 base::DiscardableMemoryAllocator::SetInstance( | 877 base::DiscardableMemoryAllocator::SetInstance( |
| 880 discardable_shared_memory_manager_.get()); | 878 discardable_shared_memory_manager_.get()); |
| 881 | 879 |
| 882 GetContentClient()->renderer()->ExposeInterfacesToBrowser( | 880 GetContentClient()->renderer()->ExposeInterfacesToBrowser( |
| 883 GetInterfaceRegistry()); | 881 GetInterfaceRegistry()); |
| 884 | 882 |
| 885 GetInterfaceRegistry()->AddInterface(base::Bind(&CreateFrameFactory)); | 883 GetInterfaceRegistry()->AddInterface(base::Bind(&CreateFrameFactory)); |
| 886 GetInterfaceRegistry()->AddInterface( | 884 GetInterfaceRegistry()->AddInterface( |
| 887 base::Bind(&EmbeddedWorkerInstanceClientImpl::Create, | 885 base::Bind(&EmbeddedWorkerInstanceClientImpl::Create)); |
| 888 base::Unretained(embedded_worker_dispatcher_.get()))); | |
| 889 | 886 |
| 890 GetConnector()->BindInterface(mojom::kBrowserServiceName, | 887 GetConnector()->BindInterface(mojom::kBrowserServiceName, |
| 891 mojo::MakeRequest(&storage_partition_service_)); | 888 mojo::MakeRequest(&storage_partition_service_)); |
| 892 | 889 |
| 893 #if defined(OS_LINUX) | 890 #if defined(OS_LINUX) |
| 894 ChildProcess::current()->SetIOThreadPriority(base::ThreadPriority::DISPLAY); | 891 ChildProcess::current()->SetIOThreadPriority(base::ThreadPriority::DISPLAY); |
| 895 ChildThreadImpl::current()->SetThreadPriority( | 892 ChildThreadImpl::current()->SetThreadPriority( |
| 896 categorized_worker_pool_->background_worker_thread_id(), | 893 categorized_worker_pool_->background_worker_thread_id(), |
| 897 base::ThreadPriority::BACKGROUND); | 894 base::ThreadPriority::BACKGROUND); |
| 898 #endif | 895 #endif |
| (...skipping 722 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1621 } | 1618 } |
| 1622 | 1619 |
| 1623 bool RenderThreadImpl::OnControlMessageReceived(const IPC::Message& msg) { | 1620 bool RenderThreadImpl::OnControlMessageReceived(const IPC::Message& msg) { |
| 1624 for (auto& observer : observers_) { | 1621 for (auto& observer : observers_) { |
| 1625 if (observer.OnControlMessageReceived(msg)) | 1622 if (observer.OnControlMessageReceived(msg)) |
| 1626 return true; | 1623 return true; |
| 1627 } | 1624 } |
| 1628 | 1625 |
| 1629 // Some messages are handled by delegates. | 1626 // Some messages are handled by delegates. |
| 1630 if (appcache_dispatcher_->OnMessageReceived(msg) || | 1627 if (appcache_dispatcher_->OnMessageReceived(msg) || |
| 1631 dom_storage_dispatcher_->OnMessageReceived(msg) || | 1628 dom_storage_dispatcher_->OnMessageReceived(msg)) { |
| 1632 embedded_worker_dispatcher_->OnMessageReceived(msg)) { | |
| 1633 return true; | 1629 return true; |
| 1634 } | 1630 } |
| 1635 | 1631 |
| 1636 bool handled = true; | 1632 bool handled = true; |
| 1637 IPC_BEGIN_MESSAGE_MAP(RenderThreadImpl, msg) | 1633 IPC_BEGIN_MESSAGE_MAP(RenderThreadImpl, msg) |
| 1638 IPC_MESSAGE_HANDLER(WorkerProcessMsg_CreateWorker, OnCreateNewSharedWorker) | 1634 IPC_MESSAGE_HANDLER(WorkerProcessMsg_CreateWorker, OnCreateNewSharedWorker) |
| 1639 IPC_MESSAGE_UNHANDLED(handled = false) | 1635 IPC_MESSAGE_UNHANDLED(handled = false) |
| 1640 IPC_END_MESSAGE_MAP() | 1636 IPC_END_MESSAGE_MAP() |
| 1641 return handled; | 1637 return handled; |
| 1642 } | 1638 } |
| (...skipping 825 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2468 } | 2464 } |
| 2469 } | 2465 } |
| 2470 | 2466 |
| 2471 void RenderThreadImpl::OnRendererInterfaceRequest( | 2467 void RenderThreadImpl::OnRendererInterfaceRequest( |
| 2472 mojom::RendererAssociatedRequest request) { | 2468 mojom::RendererAssociatedRequest request) { |
| 2473 DCHECK(!renderer_binding_.is_bound()); | 2469 DCHECK(!renderer_binding_.is_bound()); |
| 2474 renderer_binding_.Bind(std::move(request)); | 2470 renderer_binding_.Bind(std::move(request)); |
| 2475 } | 2471 } |
| 2476 | 2472 |
| 2477 } // namespace content | 2473 } // namespace content |
| OLD | NEW |