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 |