| 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 649 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 660 // In single process the single process is all there is. | 660 // In single process the single process is all there is. |
| 661 webkit_shared_timer_suspended_ = false; | 661 webkit_shared_timer_suspended_ = false; |
| 662 widget_count_ = 0; | 662 widget_count_ = 0; |
| 663 hidden_widget_count_ = 0; | 663 hidden_widget_count_ = 0; |
| 664 idle_notification_delay_in_ms_ = kInitialIdleHandlerDelayMs; | 664 idle_notification_delay_in_ms_ = kInitialIdleHandlerDelayMs; |
| 665 idle_notifications_to_skip_ = 0; | 665 idle_notifications_to_skip_ = 0; |
| 666 | 666 |
| 667 appcache_dispatcher_.reset( | 667 appcache_dispatcher_.reset( |
| 668 new AppCacheDispatcher(Get(), new AppCacheFrontendImpl())); | 668 new AppCacheDispatcher(Get(), new AppCacheFrontendImpl())); |
| 669 dom_storage_dispatcher_.reset(new DomStorageDispatcher()); | 669 dom_storage_dispatcher_.reset(new DomStorageDispatcher()); |
| 670 #if 0 |
| 670 main_thread_indexed_db_dispatcher_.reset(new IndexedDBDispatcher( | 671 main_thread_indexed_db_dispatcher_.reset(new IndexedDBDispatcher( |
| 671 thread_safe_sender())); | 672 thread_safe_sender())); |
| 673 #endif |
| 672 main_thread_cache_storage_dispatcher_.reset( | 674 main_thread_cache_storage_dispatcher_.reset( |
| 673 new CacheStorageDispatcher(thread_safe_sender())); | 675 new CacheStorageDispatcher(thread_safe_sender())); |
| 674 embedded_worker_dispatcher_.reset(new EmbeddedWorkerDispatcher()); | 676 embedded_worker_dispatcher_.reset(new EmbeddedWorkerDispatcher()); |
| 675 | 677 |
| 676 // Note: This may reorder messages from the ResourceDispatcher with respect to | 678 // Note: This may reorder messages from the ResourceDispatcher with respect to |
| 677 // other subsystems. | 679 // other subsystems. |
| 678 resource_dispatch_throttler_.reset(new ResourceDispatchThrottler( | 680 resource_dispatch_throttler_.reset(new ResourceDispatchThrottler( |
| 679 static_cast<RenderThread*>(this), renderer_scheduler_.get(), | 681 static_cast<RenderThread*>(this), renderer_scheduler_.get(), |
| 680 base::TimeDelta::FromSecondsD(kThrottledResourceRequestFlushPeriodS), | 682 base::TimeDelta::FromSecondsD(kThrottledResourceRequestFlushPeriodS), |
| 681 kMaxResourceRequestsPerFlushWhenThrottled)); | 683 kMaxResourceRequestsPerFlushWhenThrottled)); |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 713 | 715 |
| 714 audio_input_message_filter_ = new AudioInputMessageFilter(GetIOTaskRunner()); | 716 audio_input_message_filter_ = new AudioInputMessageFilter(GetIOTaskRunner()); |
| 715 AddFilter(audio_input_message_filter_.get()); | 717 AddFilter(audio_input_message_filter_.get()); |
| 716 | 718 |
| 717 audio_message_filter_ = new AudioMessageFilter(GetIOTaskRunner()); | 719 audio_message_filter_ = new AudioMessageFilter(GetIOTaskRunner()); |
| 718 AddFilter(audio_message_filter_.get()); | 720 AddFilter(audio_message_filter_.get()); |
| 719 | 721 |
| 720 midi_message_filter_ = new MidiMessageFilter(GetIOTaskRunner()); | 722 midi_message_filter_ = new MidiMessageFilter(GetIOTaskRunner()); |
| 721 AddFilter(midi_message_filter_.get()); | 723 AddFilter(midi_message_filter_.get()); |
| 722 | 724 |
| 725 #if 0 |
| 723 AddFilter((new IndexedDBMessageFilter(thread_safe_sender()))->GetFilter()); | 726 AddFilter((new IndexedDBMessageFilter(thread_safe_sender()))->GetFilter()); |
| 727 #endif |
| 724 | 728 |
| 725 AddFilter((new CacheStorageMessageFilter(thread_safe_sender()))->GetFilter()); | 729 AddFilter((new CacheStorageMessageFilter(thread_safe_sender()))->GetFilter()); |
| 726 | 730 |
| 727 AddFilter((new ServiceWorkerContextMessageFilter())->GetFilter()); | 731 AddFilter((new ServiceWorkerContextMessageFilter())->GetFilter()); |
| 728 | 732 |
| 729 GetContentClient()->renderer()->RenderThreadStarted(); | 733 GetContentClient()->renderer()->RenderThreadStarted(); |
| 730 | 734 |
| 731 InitSkiaEventTracer(); | 735 InitSkiaEventTracer(); |
| 732 base::trace_event::MemoryDumpManager::GetInstance()->RegisterDumpProvider( | 736 base::trace_event::MemoryDumpManager::GetInstance()->RegisterDumpProvider( |
| 733 skia::SkiaMemoryDumpProvider::GetInstance(), "Skia", nullptr); | 737 skia::SkiaMemoryDumpProvider::GetInstance(), "Skia", nullptr); |
| (...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 936 input_event_filter_ = nullptr; | 940 input_event_filter_ = nullptr; |
| 937 } | 941 } |
| 938 | 942 |
| 939 // RemoveEmbeddedWorkerRoute may be called while deleting | 943 // RemoveEmbeddedWorkerRoute may be called while deleting |
| 940 // EmbeddedWorkerDispatcher. So it must be deleted before deleting | 944 // EmbeddedWorkerDispatcher. So it must be deleted before deleting |
| 941 // RenderThreadImpl. | 945 // RenderThreadImpl. |
| 942 embedded_worker_dispatcher_.reset(); | 946 embedded_worker_dispatcher_.reset(); |
| 943 | 947 |
| 944 // Ramp down IDB before we ramp down WebKit (and V8), since IDB classes might | 948 // Ramp down IDB before we ramp down WebKit (and V8), since IDB classes might |
| 945 // hold pointers to V8 objects (e.g., via pending requests). | 949 // hold pointers to V8 objects (e.g., via pending requests). |
| 950 #if 0 |
| 951 // TODO(cmumford): Probably need a way to do this using Mojo still. |
| 946 main_thread_indexed_db_dispatcher_.reset(); | 952 main_thread_indexed_db_dispatcher_.reset(); |
| 953 #endif |
| 947 | 954 |
| 948 main_thread_compositor_task_runner_ = nullptr; | 955 main_thread_compositor_task_runner_ = nullptr; |
| 949 | 956 |
| 950 gpu_factories_.clear(); | 957 gpu_factories_.clear(); |
| 951 | 958 |
| 952 // Context providers must be released prior to destroying the GPU channel. | 959 // Context providers must be released prior to destroying the GPU channel. |
| 953 shared_worker_context_provider_ = nullptr; | 960 shared_worker_context_provider_ = nullptr; |
| 954 shared_main_thread_contexts_ = nullptr; | 961 shared_main_thread_contexts_ = nullptr; |
| 955 | 962 |
| 956 if (gpu_channel_.get()) | 963 if (gpu_channel_.get()) |
| (...skipping 1284 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2241 v8_memory_pressure_level == v8::MemoryPressureLevel::kCritical) | 2248 v8_memory_pressure_level == v8::MemoryPressureLevel::kCritical) |
| 2242 v8_memory_pressure_level = v8::MemoryPressureLevel::kModerate; | 2249 v8_memory_pressure_level = v8::MemoryPressureLevel::kModerate; |
| 2243 | 2250 |
| 2244 blink::mainThreadIsolate()->MemoryPressureNotification( | 2251 blink::mainThreadIsolate()->MemoryPressureNotification( |
| 2245 v8_memory_pressure_level); | 2252 v8_memory_pressure_level); |
| 2246 blink::MemoryPressureNotificationToWorkerThreadIsolates( | 2253 blink::MemoryPressureNotificationToWorkerThreadIsolates( |
| 2247 v8_memory_pressure_level); | 2254 v8_memory_pressure_level); |
| 2248 } | 2255 } |
| 2249 | 2256 |
| 2250 } // namespace content | 2257 } // namespace content |
| OLD | NEW |