Chromium Code Reviews| 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 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 97 #include "content/renderer/media/renderer_gpu_video_accelerator_factories.h" | 97 #include "content/renderer/media/renderer_gpu_video_accelerator_factories.h" |
| 98 #include "content/renderer/media/video_capture_impl_manager.h" | 98 #include "content/renderer/media/video_capture_impl_manager.h" |
| 99 #include "content/renderer/media/video_capture_message_filter.h" | 99 #include "content/renderer/media/video_capture_message_filter.h" |
| 100 #include "content/renderer/net_info_helper.h" | 100 #include "content/renderer/net_info_helper.h" |
| 101 #include "content/renderer/p2p/socket_dispatcher.h" | 101 #include "content/renderer/p2p/socket_dispatcher.h" |
| 102 #include "content/renderer/render_frame_proxy.h" | 102 #include "content/renderer/render_frame_proxy.h" |
| 103 #include "content/renderer/render_process_impl.h" | 103 #include "content/renderer/render_process_impl.h" |
| 104 #include "content/renderer/render_view_impl.h" | 104 #include "content/renderer/render_view_impl.h" |
| 105 #include "content/renderer/renderer_blink_platform_impl.h" | 105 #include "content/renderer/renderer_blink_platform_impl.h" |
| 106 #include "content/renderer/scheduler/renderer_scheduler.h" | 106 #include "content/renderer/scheduler/renderer_scheduler.h" |
| 107 #include "content/renderer/scheduler/throttled_message_sender.h" | |
| 107 #include "content/renderer/service_worker/embedded_worker_context_message_filter .h" | 108 #include "content/renderer/service_worker/embedded_worker_context_message_filter .h" |
| 108 #include "content/renderer/service_worker/embedded_worker_dispatcher.h" | 109 #include "content/renderer/service_worker/embedded_worker_dispatcher.h" |
| 109 #include "content/renderer/shared_worker/embedded_shared_worker_stub.h" | 110 #include "content/renderer/shared_worker/embedded_shared_worker_stub.h" |
| 110 #include "gin/public/debug.h" | 111 #include "gin/public/debug.h" |
| 111 #include "gpu/GLES2/gl2extchromium.h" | 112 #include "gpu/GLES2/gl2extchromium.h" |
| 112 #include "gpu/command_buffer/common/gles2_cmd_utils.h" | 113 #include "gpu/command_buffer/common/gles2_cmd_utils.h" |
| 113 #include "ipc/ipc_channel_handle.h" | 114 #include "ipc/ipc_channel_handle.h" |
| 114 #include "ipc/ipc_platform_file.h" | 115 #include "ipc/ipc_platform_file.h" |
| 115 #include "ipc/mojo/ipc_channel_mojo.h" | 116 #include "ipc/mojo/ipc_channel_mojo.h" |
| 116 #include "media/base/audio_hardware_config.h" | 117 #include "media/base/audio_hardware_config.h" |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 188 using blink::WebString; | 189 using blink::WebString; |
| 189 using blink::WebView; | 190 using blink::WebView; |
| 190 | 191 |
| 191 namespace content { | 192 namespace content { |
| 192 | 193 |
| 193 namespace { | 194 namespace { |
| 194 | 195 |
| 195 const int64 kInitialIdleHandlerDelayMs = 1000; | 196 const int64 kInitialIdleHandlerDelayMs = 1000; |
| 196 const int64 kLongIdleHandlerDelayMs = 30*1000; | 197 const int64 kLongIdleHandlerDelayMs = 30*1000; |
| 197 | 198 |
| 199 const int kMaxResourceMessageRequestsPerSecondWhenThrottled = 60 * 4; | |
|
picksi1
2015/01/13 11:24:44
Can you add a comment to explain how you got to th
jdduke (slow)
2015/01/13 16:18:11
Yup, done.
| |
| 200 | |
| 198 // Maximum allocation size allowed for image scaling filters that | 201 // Maximum allocation size allowed for image scaling filters that |
| 199 // require pre-scaling. Skia will fallback to a filter that doesn't | 202 // require pre-scaling. Skia will fallback to a filter that doesn't |
| 200 // require pre-scaling if the default filter would require an | 203 // require pre-scaling if the default filter would require an |
| 201 // allocation that exceeds this limit. | 204 // allocation that exceeds this limit. |
| 202 const size_t kImageCacheSingleAllocationByteLimit = 64 * 1024 * 1024; | 205 const size_t kImageCacheSingleAllocationByteLimit = 64 * 1024 * 1024; |
| 203 | 206 |
| 204 const size_t kEmulatedDiscardableMemoryBytesToKeepWhenWidgetsHidden = | 207 const size_t kEmulatedDiscardableMemoryBytesToKeepWhenWidgetsHidden = |
| 205 4 * 1024 * 1024; | 208 4 * 1024 * 1024; |
| 206 | 209 |
| 207 // Keep the global RenderThreadImpl in a TLS slot so it is impossible to access | 210 // Keep the global RenderThreadImpl in a TLS slot so it is impossible to access |
| (...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 462 idle_notifications_to_skip_ = 0; | 465 idle_notifications_to_skip_ = 0; |
| 463 layout_test_mode_ = false; | 466 layout_test_mode_ = false; |
| 464 | 467 |
| 465 appcache_dispatcher_.reset( | 468 appcache_dispatcher_.reset( |
| 466 new AppCacheDispatcher(Get(), new AppCacheFrontendImpl())); | 469 new AppCacheDispatcher(Get(), new AppCacheFrontendImpl())); |
| 467 dom_storage_dispatcher_.reset(new DomStorageDispatcher()); | 470 dom_storage_dispatcher_.reset(new DomStorageDispatcher()); |
| 468 main_thread_indexed_db_dispatcher_.reset(new IndexedDBDispatcher( | 471 main_thread_indexed_db_dispatcher_.reset(new IndexedDBDispatcher( |
| 469 thread_safe_sender())); | 472 thread_safe_sender())); |
| 470 renderer_scheduler_ = RendererScheduler::Create(); | 473 renderer_scheduler_ = RendererScheduler::Create(); |
| 471 channel()->SetListenerTaskRunner(renderer_scheduler_->DefaultTaskRunner()); | 474 channel()->SetListenerTaskRunner(renderer_scheduler_->DefaultTaskRunner()); |
| 475 throttled_resource_sender_.reset(new ThrottledMessageSender( | |
| 476 static_cast<RenderThread*>(this), renderer_scheduler_.get(), | |
| 477 kMaxResourceMessageRequestsPerSecondWhenThrottled)); | |
| 478 resource_dispatcher()->set_message_sender(throttled_resource_sender_.get()); | |
| 472 embedded_worker_dispatcher_.reset(new EmbeddedWorkerDispatcher()); | 479 embedded_worker_dispatcher_.reset(new EmbeddedWorkerDispatcher()); |
| 473 | 480 |
| 474 media_stream_center_ = NULL; | 481 media_stream_center_ = NULL; |
| 475 | 482 |
| 476 db_message_filter_ = new DBMessageFilter(); | 483 db_message_filter_ = new DBMessageFilter(); |
| 477 AddFilter(db_message_filter_.get()); | 484 AddFilter(db_message_filter_.get()); |
| 478 | 485 |
| 479 vc_manager_.reset(new VideoCaptureImplManager()); | 486 vc_manager_.reset(new VideoCaptureImplManager()); |
| 480 AddFilter(vc_manager_->video_capture_message_filter()); | 487 AddFilter(vc_manager_->video_capture_message_filter()); |
| 481 | 488 |
| (...skipping 1287 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1769 hidden_widget_count_--; | 1776 hidden_widget_count_--; |
| 1770 | 1777 |
| 1771 if (!GetContentClient()->renderer()->RunIdleHandlerWhenWidgetsHidden()) { | 1778 if (!GetContentClient()->renderer()->RunIdleHandlerWhenWidgetsHidden()) { |
| 1772 return; | 1779 return; |
| 1773 } | 1780 } |
| 1774 | 1781 |
| 1775 ScheduleIdleHandler(kLongIdleHandlerDelayMs); | 1782 ScheduleIdleHandler(kLongIdleHandlerDelayMs); |
| 1776 } | 1783 } |
| 1777 | 1784 |
| 1778 } // namespace content | 1785 } // namespace content |
| OLD | NEW |