Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(67)

Side by Side Diff: content/renderer/render_thread_impl.cc

Issue 1547073003: Switch to standard integer types in content/renderer/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 12 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 <vector> 10 #include <vector>
11 11
12 #include "base/allocator/allocator_extension.h" 12 #include "base/allocator/allocator_extension.h"
13 #include "base/command_line.h" 13 #include "base/command_line.h"
14 #include "base/lazy_instance.h" 14 #include "base/lazy_instance.h"
15 #include "base/location.h" 15 #include "base/location.h"
16 #include "base/logging.h" 16 #include "base/logging.h"
17 #include "base/macros.h"
17 #include "base/memory/discardable_memory_allocator.h" 18 #include "base/memory/discardable_memory_allocator.h"
18 #include "base/memory/shared_memory.h" 19 #include "base/memory/shared_memory.h"
19 #include "base/metrics/field_trial.h" 20 #include "base/metrics/field_trial.h"
20 #include "base/metrics/histogram.h" 21 #include "base/metrics/histogram.h"
21 #include "base/path_service.h" 22 #include "base/path_service.h"
22 #include "base/single_thread_task_runner.h" 23 #include "base/single_thread_task_runner.h"
23 #include "base/strings/string16.h" 24 #include "base/strings/string16.h"
24 #include "base/strings/string_number_conversions.h" 25 #include "base/strings/string_number_conversions.h"
25 #include "base/strings/string_split.h" 26 #include "base/strings/string_split.h"
26 #include "base/strings/string_tokenizer.h" 27 #include "base/strings/string_tokenizer.h"
27 #include "base/strings/sys_string_conversions.h" 28 #include "base/strings/sys_string_conversions.h"
28 #include "base/strings/utf_string_conversions.h" 29 #include "base/strings/utf_string_conversions.h"
29 #include "base/thread_task_runner_handle.h" 30 #include "base/thread_task_runner_handle.h"
30 #include "base/threading/simple_thread.h" 31 #include "base/threading/simple_thread.h"
31 #include "base/threading/thread_local.h" 32 #include "base/threading/thread_local.h"
32 #include "base/threading/thread_restrictions.h" 33 #include "base/threading/thread_restrictions.h"
33 #include "base/trace_event/memory_dump_manager.h" 34 #include "base/trace_event/memory_dump_manager.h"
34 #include "base/trace_event/trace_event.h" 35 #include "base/trace_event/trace_event.h"
35 #include "base/values.h" 36 #include "base/values.h"
37 #include "build/build_config.h"
36 #include "cc/base/histograms.h" 38 #include "cc/base/histograms.h"
37 #include "cc/base/switches.h" 39 #include "cc/base/switches.h"
38 #include "cc/blink/web_external_bitmap_impl.h" 40 #include "cc/blink/web_external_bitmap_impl.h"
39 #include "cc/blink/web_layer_impl.h" 41 #include "cc/blink/web_layer_impl.h"
40 #include "cc/layers/layer_settings.h" 42 #include "cc/layers/layer_settings.h"
41 #include "cc/raster/task_graph_runner.h" 43 #include "cc/raster/task_graph_runner.h"
42 #include "cc/trees/layer_tree_host_common.h" 44 #include "cc/trees/layer_tree_host_common.h"
43 #include "cc/trees/layer_tree_settings.h" 45 #include "cc/trees/layer_tree_settings.h"
44 #include "components/scheduler/child/webthread_base.h" 46 #include "components/scheduler/child/webthread_base.h"
45 #include "components/scheduler/renderer/renderer_scheduler.h" 47 #include "components/scheduler/renderer/renderer_scheduler.h"
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
215 using blink::WebRuntimeFeatures; 217 using blink::WebRuntimeFeatures;
216 using blink::WebScriptController; 218 using blink::WebScriptController;
217 using blink::WebSecurityPolicy; 219 using blink::WebSecurityPolicy;
218 using blink::WebString; 220 using blink::WebString;
219 using blink::WebView; 221 using blink::WebView;
220 222
221 namespace content { 223 namespace content {
222 224
223 namespace { 225 namespace {
224 226
225 const int64 kInitialIdleHandlerDelayMs = 1000; 227 const int64_t kInitialIdleHandlerDelayMs = 1000;
226 const int64 kLongIdleHandlerDelayMs = 30*1000; 228 const int64_t kLongIdleHandlerDelayMs = 30 * 1000;
227 229
228 #if defined(OS_ANDROID) 230 #if defined(OS_ANDROID)
229 // On Android, resource messages can each take ~1.5ms to dispatch on the browser 231 // On Android, resource messages can each take ~1.5ms to dispatch on the browser
230 // IO thread. Limiting the message rate to 3/frame at 60hz ensures that the 232 // IO thread. Limiting the message rate to 3/frame at 60hz ensures that the
231 // induced work takes but a fraction (~1/4) of the overall frame budget. 233 // induced work takes but a fraction (~1/4) of the overall frame budget.
232 const int kMaxResourceRequestsPerFlushWhenThrottled = 3; 234 const int kMaxResourceRequestsPerFlushWhenThrottled = 3;
233 #else 235 #else
234 const int kMaxResourceRequestsPerFlushWhenThrottled = 8; 236 const int kMaxResourceRequestsPerFlushWhenThrottled = 8;
235 #endif 237 #endif
236 const double kThrottledResourceRequestFlushPeriodS = 1. / 60.; 238 const double kThrottledResourceRequestFlushPeriodS = 1. / 60.;
(...skipping 790 matching lines...) Expand 10 before | Expand all | Expand 10 after
1027 1029
1028 IPC::SyncMessageFilter* RenderThreadImpl::GetSyncMessageFilter() { 1030 IPC::SyncMessageFilter* RenderThreadImpl::GetSyncMessageFilter() {
1029 return sync_message_filter(); 1031 return sync_message_filter();
1030 } 1032 }
1031 1033
1032 scoped_refptr<base::SingleThreadTaskRunner> 1034 scoped_refptr<base::SingleThreadTaskRunner>
1033 RenderThreadImpl::GetIOMessageLoopProxy() { 1035 RenderThreadImpl::GetIOMessageLoopProxy() {
1034 return ChildProcess::current()->io_task_runner(); 1036 return ChildProcess::current()->io_task_runner();
1035 } 1037 }
1036 1038
1037 void RenderThreadImpl::AddRoute(int32 routing_id, IPC::Listener* listener) { 1039 void RenderThreadImpl::AddRoute(int32_t routing_id, IPC::Listener* listener) {
1038 ChildThreadImpl::GetRouter()->AddRoute(routing_id, listener); 1040 ChildThreadImpl::GetRouter()->AddRoute(routing_id, listener);
1039 PendingRenderFrameConnectMap::iterator it = 1041 PendingRenderFrameConnectMap::iterator it =
1040 pending_render_frame_connects_.find(routing_id); 1042 pending_render_frame_connects_.find(routing_id);
1041 if (it == pending_render_frame_connects_.end()) 1043 if (it == pending_render_frame_connects_.end())
1042 return; 1044 return;
1043 1045
1044 RenderFrameImpl* frame = RenderFrameImpl::FromRoutingID(routing_id); 1046 RenderFrameImpl* frame = RenderFrameImpl::FromRoutingID(routing_id);
1045 if (!frame) 1047 if (!frame)
1046 return; 1048 return;
1047 1049
1048 scoped_refptr<PendingRenderFrameConnect> connection(it->second); 1050 scoped_refptr<PendingRenderFrameConnect> connection(it->second);
1049 mojo::InterfaceRequest<mojo::ServiceProvider> services( 1051 mojo::InterfaceRequest<mojo::ServiceProvider> services(
1050 connection->services().Pass()); 1052 connection->services().Pass());
1051 mojo::ServiceProviderPtr exposed_services( 1053 mojo::ServiceProviderPtr exposed_services(
1052 connection->exposed_services().Pass()); 1054 connection->exposed_services().Pass());
1053 exposed_services.set_connection_error_handler(mojo::Closure()); 1055 exposed_services.set_connection_error_handler(mojo::Closure());
1054 pending_render_frame_connects_.erase(it); 1056 pending_render_frame_connects_.erase(it);
1055 1057
1056 frame->BindServiceRegistry(services.Pass(), exposed_services.Pass()); 1058 frame->BindServiceRegistry(services.Pass(), exposed_services.Pass());
1057 } 1059 }
1058 1060
1059 void RenderThreadImpl::RemoveRoute(int32 routing_id) { 1061 void RenderThreadImpl::RemoveRoute(int32_t routing_id) {
1060 ChildThreadImpl::GetRouter()->RemoveRoute(routing_id); 1062 ChildThreadImpl::GetRouter()->RemoveRoute(routing_id);
1061 } 1063 }
1062 1064
1063 void RenderThreadImpl::AddEmbeddedWorkerRoute(int32 routing_id, 1065 void RenderThreadImpl::AddEmbeddedWorkerRoute(int32_t routing_id,
1064 IPC::Listener* listener) { 1066 IPC::Listener* listener) {
1065 AddRoute(routing_id, listener); 1067 AddRoute(routing_id, listener);
1066 if (devtools_agent_message_filter_.get()) { 1068 if (devtools_agent_message_filter_.get()) {
1067 devtools_agent_message_filter_->AddEmbeddedWorkerRouteOnMainThread( 1069 devtools_agent_message_filter_->AddEmbeddedWorkerRouteOnMainThread(
1068 routing_id); 1070 routing_id);
1069 } 1071 }
1070 } 1072 }
1071 1073
1072 void RenderThreadImpl::RemoveEmbeddedWorkerRoute(int32 routing_id) { 1074 void RenderThreadImpl::RemoveEmbeddedWorkerRoute(int32_t routing_id) {
1073 RemoveRoute(routing_id); 1075 RemoveRoute(routing_id);
1074 if (devtools_agent_message_filter_.get()) { 1076 if (devtools_agent_message_filter_.get()) {
1075 devtools_agent_message_filter_->RemoveEmbeddedWorkerRouteOnMainThread( 1077 devtools_agent_message_filter_->RemoveEmbeddedWorkerRouteOnMainThread(
1076 routing_id); 1078 routing_id);
1077 } 1079 }
1078 } 1080 }
1079 1081
1080 void RenderThreadImpl::RegisterPendingRenderFrameConnect( 1082 void RenderThreadImpl::RegisterPendingRenderFrameConnect(
1081 int routing_id, 1083 int routing_id,
1082 mojo::InterfaceRequest<mojo::ServiceProvider> services, 1084 mojo::InterfaceRequest<mojo::ServiceProvider> services,
(...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after
1326 1328
1327 cc::SharedBitmapManager* RenderThreadImpl::GetSharedBitmapManager() { 1329 cc::SharedBitmapManager* RenderThreadImpl::GetSharedBitmapManager() {
1328 return shared_bitmap_manager(); 1330 return shared_bitmap_manager();
1329 } 1331 }
1330 1332
1331 void RenderThreadImpl::RegisterExtension(v8::Extension* extension) { 1333 void RenderThreadImpl::RegisterExtension(v8::Extension* extension) {
1332 EnsureWebKitInitialized(); 1334 EnsureWebKitInitialized();
1333 WebScriptController::registerExtension(extension); 1335 WebScriptController::registerExtension(extension);
1334 } 1336 }
1335 1337
1336 void RenderThreadImpl::ScheduleIdleHandler(int64 initial_delay_ms) { 1338 void RenderThreadImpl::ScheduleIdleHandler(int64_t initial_delay_ms) {
1337 idle_notification_delay_in_ms_ = initial_delay_ms; 1339 idle_notification_delay_in_ms_ = initial_delay_ms;
1338 idle_timer_.Stop(); 1340 idle_timer_.Stop();
1339 idle_timer_.Start(FROM_HERE, 1341 idle_timer_.Start(FROM_HERE,
1340 base::TimeDelta::FromMilliseconds(initial_delay_ms), 1342 base::TimeDelta::FromMilliseconds(initial_delay_ms),
1341 this, &RenderThreadImpl::IdleHandler); 1343 this, &RenderThreadImpl::IdleHandler);
1342 } 1344 }
1343 1345
1344 void RenderThreadImpl::IdleHandler() { 1346 void RenderThreadImpl::IdleHandler() {
1345 bool run_in_foreground_tab = (widget_count_ > hidden_widget_count_) && 1347 bool run_in_foreground_tab = (widget_count_ > hidden_widget_count_) &&
1346 GetContentClient()->renderer()-> 1348 GetContentClient()->renderer()->
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
1380 idle_notification_delay_in_ms_ + 1382 idle_notification_delay_in_ms_ +
1381 1000000 / (idle_notification_delay_in_ms_ + 2000))); 1383 1000000 / (idle_notification_delay_in_ms_ + 2000)));
1382 1384
1383 } else { 1385 } else {
1384 idle_timer_.Stop(); 1386 idle_timer_.Stop();
1385 } 1387 }
1386 1388
1387 FOR_EACH_OBSERVER(RenderProcessObserver, observers_, IdleNotification()); 1389 FOR_EACH_OBSERVER(RenderProcessObserver, observers_, IdleNotification());
1388 } 1390 }
1389 1391
1390 int64 RenderThreadImpl::GetIdleNotificationDelayInMs() const { 1392 int64_t RenderThreadImpl::GetIdleNotificationDelayInMs() const {
1391 return idle_notification_delay_in_ms_; 1393 return idle_notification_delay_in_ms_;
1392 } 1394 }
1393 1395
1394 void RenderThreadImpl::SetIdleNotificationDelayInMs( 1396 void RenderThreadImpl::SetIdleNotificationDelayInMs(
1395 int64 idle_notification_delay_in_ms) { 1397 int64_t idle_notification_delay_in_ms) {
1396 idle_notification_delay_in_ms_ = idle_notification_delay_in_ms; 1398 idle_notification_delay_in_ms_ = idle_notification_delay_in_ms;
1397 } 1399 }
1398 1400
1399 void RenderThreadImpl::UpdateHistograms(int sequence_number) { 1401 void RenderThreadImpl::UpdateHistograms(int sequence_number) {
1400 child_histogram_message_filter()->SendHistograms(sequence_number); 1402 child_histogram_message_filter()->SendHistograms(sequence_number);
1401 } 1403 }
1402 1404
1403 int RenderThreadImpl::PostTaskToAllWebWorkers(const base::Closure& closure) { 1405 int RenderThreadImpl::PostTaskToAllWebWorkers(const base::Closure& closure) {
1404 return WorkerThreadRegistry::Instance()->PostTaskToAllThreads(closure); 1406 return WorkerThreadRegistry::Instance()->PostTaskToAllThreads(closure);
1405 } 1407 }
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after
1653 RenderThreadImpl::GetIOThreadTaskRunner() { 1655 RenderThreadImpl::GetIOThreadTaskRunner() {
1654 return io_thread_task_runner_; 1656 return io_thread_task_runner_;
1655 } 1657 }
1656 1658
1657 scoped_ptr<base::SharedMemory> RenderThreadImpl::AllocateSharedMemory( 1659 scoped_ptr<base::SharedMemory> RenderThreadImpl::AllocateSharedMemory(
1658 size_t size) { 1660 size_t size) {
1659 return HostAllocateSharedMemoryBuffer(size); 1661 return HostAllocateSharedMemoryBuffer(size);
1660 } 1662 }
1661 1663
1662 CreateCommandBufferResult RenderThreadImpl::CreateViewCommandBuffer( 1664 CreateCommandBufferResult RenderThreadImpl::CreateViewCommandBuffer(
1663 int32 surface_id, 1665 int32_t surface_id,
1664 const GPUCreateCommandBufferConfig& init_params, 1666 const GPUCreateCommandBufferConfig& init_params,
1665 int32 route_id) { 1667 int32_t route_id) {
1666 NOTREACHED(); 1668 NOTREACHED();
1667 return CREATE_COMMAND_BUFFER_FAILED; 1669 return CREATE_COMMAND_BUFFER_FAILED;
1668 } 1670 }
1669 1671
1670 void RenderThreadImpl::DoNotNotifyWebKitOfModalLoop() { 1672 void RenderThreadImpl::DoNotNotifyWebKitOfModalLoop() {
1671 notify_webkit_of_modal_loop_ = false; 1673 notify_webkit_of_modal_loop_ = false;
1672 } 1674 }
1673 1675
1674 bool RenderThreadImpl::OnControlMessageReceived(const IPC::Message& msg) { 1676 bool RenderThreadImpl::OnControlMessageReceived(const IPC::Message& msg) {
1675 base::ObserverListBase<RenderProcessObserver>::Iterator it(&observers_); 1677 base::ObserverListBase<RenderProcessObserver>::Iterator it(&observers_);
(...skipping 415 matching lines...) Expand 10 before | Expand all | Expand 10 after
2091 } 2093 }
2092 2094
2093 void RenderThreadImpl::PendingRenderFrameConnect::OnConnectionError() { 2095 void RenderThreadImpl::PendingRenderFrameConnect::OnConnectionError() {
2094 size_t erased = 2096 size_t erased =
2095 RenderThreadImpl::current()->pending_render_frame_connects_.erase( 2097 RenderThreadImpl::current()->pending_render_frame_connects_.erase(
2096 routing_id_); 2098 routing_id_);
2097 DCHECK_EQ(1u, erased); 2099 DCHECK_EQ(1u, erased);
2098 } 2100 }
2099 2101
2100 } // namespace content 2102 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/render_thread_impl.h ('k') | content/renderer/render_thread_impl_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698