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 |