| 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 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 50 #include "content/child/appcache/appcache_dispatcher.h" | 50 #include "content/child/appcache/appcache_dispatcher.h" |
| 51 #include "content/child/appcache/appcache_frontend_impl.h" | 51 #include "content/child/appcache/appcache_frontend_impl.h" |
| 52 #include "content/child/blob_storage/blob_message_filter.h" | 52 #include "content/child/blob_storage/blob_message_filter.h" |
| 53 #include "content/child/child_discardable_shared_memory_manager.h" | 53 #include "content/child/child_discardable_shared_memory_manager.h" |
| 54 #include "content/child/child_gpu_memory_buffer_manager.h" | 54 #include "content/child/child_gpu_memory_buffer_manager.h" |
| 55 #include "content/child/child_histogram_message_filter.h" | 55 #include "content/child/child_histogram_message_filter.h" |
| 56 #include "content/child/child_resource_message_filter.h" | 56 #include "content/child/child_resource_message_filter.h" |
| 57 #include "content/child/child_shared_bitmap_manager.h" | 57 #include "content/child/child_shared_bitmap_manager.h" |
| 58 #include "content/child/content_child_helpers.h" | 58 #include "content/child/content_child_helpers.h" |
| 59 #include "content/child/db_message_filter.h" | 59 #include "content/child/db_message_filter.h" |
| 60 #include "content/child/indexed_db/indexed_db_dispatcher.h" | |
| 61 #include "content/child/indexed_db/indexed_db_message_filter.h" | |
| 62 #include "content/child/resource_dispatcher.h" | 60 #include "content/child/resource_dispatcher.h" |
| 63 #include "content/child/resource_scheduling_filter.h" | 61 #include "content/child/resource_scheduling_filter.h" |
| 64 #include "content/child/runtime_features.h" | 62 #include "content/child/runtime_features.h" |
| 65 #include "content/child/thread_safe_sender.h" | 63 #include "content/child/thread_safe_sender.h" |
| 66 #include "content/child/web_database_observer_impl.h" | 64 #include "content/child/web_database_observer_impl.h" |
| 67 #include "content/child/worker_thread_registry.h" | 65 #include "content/child/worker_thread_registry.h" |
| 68 #include "content/common/child_process_messages.h" | 66 #include "content/common/child_process_messages.h" |
| 69 #include "content/common/content_constants_internal.h" | 67 #include "content/common/content_constants_internal.h" |
| 70 #include "content/common/dom_storage/dom_storage_messages.h" | 68 #include "content/common/dom_storage/dom_storage_messages.h" |
| 71 #include "content/common/frame_messages.h" | 69 #include "content/common/frame_messages.h" |
| (...skipping 573 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 645 // In single process the single process is all there is. | 643 // In single process the single process is all there is. |
| 646 webkit_shared_timer_suspended_ = false; | 644 webkit_shared_timer_suspended_ = false; |
| 647 widget_count_ = 0; | 645 widget_count_ = 0; |
| 648 hidden_widget_count_ = 0; | 646 hidden_widget_count_ = 0; |
| 649 idle_notification_delay_in_ms_ = kInitialIdleHandlerDelayMs; | 647 idle_notification_delay_in_ms_ = kInitialIdleHandlerDelayMs; |
| 650 idle_notifications_to_skip_ = 0; | 648 idle_notifications_to_skip_ = 0; |
| 651 | 649 |
| 652 appcache_dispatcher_.reset( | 650 appcache_dispatcher_.reset( |
| 653 new AppCacheDispatcher(Get(), new AppCacheFrontendImpl())); | 651 new AppCacheDispatcher(Get(), new AppCacheFrontendImpl())); |
| 654 dom_storage_dispatcher_.reset(new DomStorageDispatcher()); | 652 dom_storage_dispatcher_.reset(new DomStorageDispatcher()); |
| 653 #if 0 |
| 655 main_thread_indexed_db_dispatcher_.reset(new IndexedDBDispatcher( | 654 main_thread_indexed_db_dispatcher_.reset(new IndexedDBDispatcher( |
| 656 thread_safe_sender())); | 655 thread_safe_sender())); |
| 656 #endif |
| 657 main_thread_cache_storage_dispatcher_.reset( | 657 main_thread_cache_storage_dispatcher_.reset( |
| 658 new CacheStorageDispatcher(thread_safe_sender())); | 658 new CacheStorageDispatcher(thread_safe_sender())); |
| 659 embedded_worker_dispatcher_.reset(new EmbeddedWorkerDispatcher()); | 659 embedded_worker_dispatcher_.reset(new EmbeddedWorkerDispatcher()); |
| 660 | 660 |
| 661 // Note: This may reorder messages from the ResourceDispatcher with respect to | 661 // Note: This may reorder messages from the ResourceDispatcher with respect to |
| 662 // other subsystems. | 662 // other subsystems. |
| 663 resource_dispatch_throttler_.reset(new ResourceDispatchThrottler( | 663 resource_dispatch_throttler_.reset(new ResourceDispatchThrottler( |
| 664 static_cast<RenderThread*>(this), renderer_scheduler_.get(), | 664 static_cast<RenderThread*>(this), renderer_scheduler_.get(), |
| 665 base::TimeDelta::FromSecondsD(kThrottledResourceRequestFlushPeriodS), | 665 base::TimeDelta::FromSecondsD(kThrottledResourceRequestFlushPeriodS), |
| 666 kMaxResourceRequestsPerFlushWhenThrottled)); | 666 kMaxResourceRequestsPerFlushWhenThrottled)); |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 698 | 698 |
| 699 audio_input_message_filter_ = new AudioInputMessageFilter(GetIOTaskRunner()); | 699 audio_input_message_filter_ = new AudioInputMessageFilter(GetIOTaskRunner()); |
| 700 AddFilter(audio_input_message_filter_.get()); | 700 AddFilter(audio_input_message_filter_.get()); |
| 701 | 701 |
| 702 audio_message_filter_ = new AudioMessageFilter(GetIOTaskRunner()); | 702 audio_message_filter_ = new AudioMessageFilter(GetIOTaskRunner()); |
| 703 AddFilter(audio_message_filter_.get()); | 703 AddFilter(audio_message_filter_.get()); |
| 704 | 704 |
| 705 midi_message_filter_ = new MidiMessageFilter(GetIOTaskRunner()); | 705 midi_message_filter_ = new MidiMessageFilter(GetIOTaskRunner()); |
| 706 AddFilter(midi_message_filter_.get()); | 706 AddFilter(midi_message_filter_.get()); |
| 707 | 707 |
| 708 #if 0 |
| 708 AddFilter((new IndexedDBMessageFilter(thread_safe_sender()))->GetFilter()); | 709 AddFilter((new IndexedDBMessageFilter(thread_safe_sender()))->GetFilter()); |
| 710 #endif |
| 709 | 711 |
| 710 AddFilter((new CacheStorageMessageFilter(thread_safe_sender()))->GetFilter()); | 712 AddFilter((new CacheStorageMessageFilter(thread_safe_sender()))->GetFilter()); |
| 711 | 713 |
| 712 AddFilter((new ServiceWorkerContextMessageFilter())->GetFilter()); | 714 AddFilter((new ServiceWorkerContextMessageFilter())->GetFilter()); |
| 713 | 715 |
| 714 #if defined(USE_AURA) | 716 #if defined(USE_AURA) |
| 715 if (base::CommandLine::ForCurrentProcess()->HasSwitch( | 717 if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
| 716 switches::kUseMusInRenderer)) { | 718 switches::kUseMusInRenderer)) { |
| 717 CreateRenderWidgetWindowTreeClientFactory(GetMojoShellConnection()); | 719 CreateRenderWidgetWindowTreeClientFactory(GetMojoShellConnection()); |
| 718 } | 720 } |
| (...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 943 input_event_filter_ = nullptr; | 945 input_event_filter_ = nullptr; |
| 944 } | 946 } |
| 945 | 947 |
| 946 // RemoveEmbeddedWorkerRoute may be called while deleting | 948 // RemoveEmbeddedWorkerRoute may be called while deleting |
| 947 // EmbeddedWorkerDispatcher. So it must be deleted before deleting | 949 // EmbeddedWorkerDispatcher. So it must be deleted before deleting |
| 948 // RenderThreadImpl. | 950 // RenderThreadImpl. |
| 949 embedded_worker_dispatcher_.reset(); | 951 embedded_worker_dispatcher_.reset(); |
| 950 | 952 |
| 951 // Ramp down IDB before we ramp down WebKit (and V8), since IDB classes might | 953 // Ramp down IDB before we ramp down WebKit (and V8), since IDB classes might |
| 952 // hold pointers to V8 objects (e.g., via pending requests). | 954 // hold pointers to V8 objects (e.g., via pending requests). |
| 955 #if 0 |
| 956 // TODO(cmumford): Probably need a way to do this using Mojo still. |
| 953 main_thread_indexed_db_dispatcher_.reset(); | 957 main_thread_indexed_db_dispatcher_.reset(); |
| 958 #endif |
| 954 | 959 |
| 955 main_thread_compositor_task_runner_ = nullptr; | 960 main_thread_compositor_task_runner_ = nullptr; |
| 956 | 961 |
| 957 gpu_factories_.clear(); | 962 gpu_factories_.clear(); |
| 958 | 963 |
| 959 // Context providers must be released prior to destroying the GPU channel. | 964 // Context providers must be released prior to destroying the GPU channel. |
| 960 shared_worker_context_provider_ = nullptr; | 965 shared_worker_context_provider_ = nullptr; |
| 961 shared_main_thread_contexts_ = nullptr; | 966 shared_main_thread_contexts_ = nullptr; |
| 962 | 967 |
| 963 if (gpu_channel_.get()) | 968 if (gpu_channel_.get()) |
| (...skipping 1265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2229 v8_memory_pressure_level == v8::MemoryPressureLevel::kCritical) | 2234 v8_memory_pressure_level == v8::MemoryPressureLevel::kCritical) |
| 2230 v8_memory_pressure_level = v8::MemoryPressureLevel::kModerate; | 2235 v8_memory_pressure_level = v8::MemoryPressureLevel::kModerate; |
| 2231 | 2236 |
| 2232 blink::mainThreadIsolate()->MemoryPressureNotification( | 2237 blink::mainThreadIsolate()->MemoryPressureNotification( |
| 2233 v8_memory_pressure_level); | 2238 v8_memory_pressure_level); |
| 2234 blink::MemoryPressureNotificationToWorkerThreadIsolates( | 2239 blink::MemoryPressureNotificationToWorkerThreadIsolates( |
| 2235 v8_memory_pressure_level); | 2240 v8_memory_pressure_level); |
| 2236 } | 2241 } |
| 2237 | 2242 |
| 2238 } // namespace content | 2243 } // namespace content |
| OLD | NEW |