| 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 1086 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1097 #if defined(OS_ANDROID) | 1097 #if defined(OS_ANDROID) |
| 1098 options.priority = base::ThreadPriority::DISPLAY; | 1098 options.priority = base::ThreadPriority::DISPLAY; |
| 1099 #endif | 1099 #endif |
| 1100 compositor_thread_.reset(new WebThreadForCompositor(options)); | 1100 compositor_thread_.reset(new WebThreadForCompositor(options)); |
| 1101 blink_platform_impl_->SetCompositorThread(compositor_thread_.get()); | 1101 blink_platform_impl_->SetCompositorThread(compositor_thread_.get()); |
| 1102 compositor_task_runner_ = compositor_thread_->GetTaskRunner(); | 1102 compositor_task_runner_ = compositor_thread_->GetTaskRunner(); |
| 1103 compositor_task_runner_->PostTask( | 1103 compositor_task_runner_->PostTask( |
| 1104 FROM_HERE, | 1104 FROM_HERE, |
| 1105 base::Bind(base::IgnoreResult(&ThreadRestrictions::SetIOAllowed), false)); | 1105 base::Bind(base::IgnoreResult(&ThreadRestrictions::SetIOAllowed), false)); |
| 1106 | 1106 |
| 1107 InputHandlerManagerClient* input_handler_manager_client = nullptr; | |
| 1108 SynchronousInputHandlerProxyClient* synchronous_input_handler_proxy_client = | 1107 SynchronousInputHandlerProxyClient* synchronous_input_handler_proxy_client = |
| 1109 nullptr; | 1108 nullptr; |
| 1110 #if defined(OS_ANDROID) | 1109 #if defined(OS_ANDROID) |
| 1111 if (GetContentClient()->UsingSynchronousCompositing()) { | 1110 if (GetContentClient()->UsingSynchronousCompositing()) { |
| 1112 sync_compositor_message_filter_ = | 1111 sync_compositor_message_filter_ = |
| 1113 new SynchronousCompositorFilter(compositor_task_runner_); | 1112 new SynchronousCompositorFilter(compositor_task_runner_); |
| 1114 AddFilter(sync_compositor_message_filter_.get()); | 1113 AddFilter(sync_compositor_message_filter_.get()); |
| 1115 if (base::CommandLine::ForCurrentProcess()->HasSwitch( | |
| 1116 switches::kSyncInputForSyncCompositor)) { | |
| 1117 input_handler_manager_client = sync_compositor_message_filter_.get(); | |
| 1118 } | |
| 1119 synchronous_input_handler_proxy_client = | 1114 synchronous_input_handler_proxy_client = |
| 1120 sync_compositor_message_filter_.get(); | 1115 sync_compositor_message_filter_.get(); |
| 1121 } | 1116 } |
| 1122 #endif | 1117 #endif |
| 1123 if (!input_handler_manager_client) { | 1118 scoped_refptr<InputEventFilter> compositor_input_event_filter( |
| 1124 scoped_refptr<InputEventFilter> compositor_input_event_filter( | 1119 new InputEventFilter(main_input_callback_.callback(), |
| 1125 new InputEventFilter(main_input_callback_.callback(), | 1120 main_thread_compositor_task_runner_, |
| 1126 main_thread_compositor_task_runner_, | 1121 compositor_task_runner_)); |
| 1127 compositor_task_runner_)); | 1122 InputHandlerManagerClient* input_handler_manager_client = |
| 1128 input_handler_manager_client = compositor_input_event_filter.get(); | 1123 compositor_input_event_filter.get(); |
| 1129 input_event_filter_ = compositor_input_event_filter; | 1124 input_event_filter_ = compositor_input_event_filter; |
| 1130 } | |
| 1131 input_handler_manager_.reset(new InputHandlerManager( | 1125 input_handler_manager_.reset(new InputHandlerManager( |
| 1132 compositor_task_runner_, input_handler_manager_client, | 1126 compositor_task_runner_, input_handler_manager_client, |
| 1133 synchronous_input_handler_proxy_client, renderer_scheduler_.get())); | 1127 synchronous_input_handler_proxy_client, renderer_scheduler_.get())); |
| 1134 } | 1128 } |
| 1135 | 1129 |
| 1136 void RenderThreadImpl::InitializeWebKit( | 1130 void RenderThreadImpl::InitializeWebKit( |
| 1137 scoped_refptr<base::SingleThreadTaskRunner>& resource_task_queue) { | 1131 scoped_refptr<base::SingleThreadTaskRunner>& resource_task_queue) { |
| 1138 DCHECK(!blink_platform_impl_); | 1132 DCHECK(!blink_platform_impl_); |
| 1139 | 1133 |
| 1140 const base::CommandLine& command_line = | 1134 const base::CommandLine& command_line = |
| (...skipping 950 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2091 v8_memory_pressure_level == v8::MemoryPressureLevel::kCritical) | 2085 v8_memory_pressure_level == v8::MemoryPressureLevel::kCritical) |
| 2092 v8_memory_pressure_level = v8::MemoryPressureLevel::kModerate; | 2086 v8_memory_pressure_level = v8::MemoryPressureLevel::kModerate; |
| 2093 | 2087 |
| 2094 blink::mainThreadIsolate()->MemoryPressureNotification( | 2088 blink::mainThreadIsolate()->MemoryPressureNotification( |
| 2095 v8_memory_pressure_level); | 2089 v8_memory_pressure_level); |
| 2096 blink::MemoryPressureNotificationToWorkerThreadIsolates( | 2090 blink::MemoryPressureNotificationToWorkerThreadIsolates( |
| 2097 v8_memory_pressure_level); | 2091 v8_memory_pressure_level); |
| 2098 } | 2092 } |
| 2099 | 2093 |
| 2100 } // namespace content | 2094 } // namespace content |
| OLD | NEW |