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 |