| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 // Represents the browser side of the browser <--> renderer communication | 5 // Represents the browser side of the browser <--> renderer communication |
| 6 // channel. There will be one RenderProcessHost per renderer process. | 6 // channel. There will be one RenderProcessHost per renderer process. |
| 7 | 7 |
| 8 #include "chrome/browser/renderer_host/browser_render_process_host.h" | 8 #include "chrome/browser/renderer_host/browser_render_process_host.h" |
| 9 | 9 |
| 10 #include <algorithm> | 10 #include <algorithm> |
| 11 #include <limits> | 11 #include <limits> |
| 12 #include <vector> | 12 #include <vector> |
| 13 | 13 |
| 14 #if defined(OS_POSIX) | 14 #if defined(OS_POSIX) |
| 15 #include <utility> // for pair<> | 15 #include <utility> // for pair<> |
| 16 #endif | 16 #endif |
| 17 | 17 |
| 18 #include "app/app_switches.h" | 18 #include "app/app_switches.h" |
| 19 #include "base/callback.h" |
| 19 #include "base/command_line.h" | 20 #include "base/command_line.h" |
| 20 #include "base/logging.h" | 21 #include "base/logging.h" |
| 21 #include "base/metrics/field_trial.h" | 22 #include "base/metrics/field_trial.h" |
| 22 #include "base/metrics/histogram.h" | 23 #include "base/metrics/histogram.h" |
| 23 #include "base/path_service.h" | 24 #include "base/path_service.h" |
| 24 #include "base/platform_file.h" | 25 #include "base/platform_file.h" |
| 25 #include "base/stl_util-inl.h" | 26 #include "base/stl_util-inl.h" |
| 26 #include "base/string_util.h" | 27 #include "base/string_util.h" |
| 27 #include "base/thread.h" | 28 #include "base/thread.h" |
| 28 #include "base/thread_restrictions.h" | 29 #include "base/thread_restrictions.h" |
| (...skipping 30 matching lines...) Expand all Loading... |
| 59 #include "chrome/browser/renderer_host/render_widget_host.h" | 60 #include "chrome/browser/renderer_host/render_widget_host.h" |
| 60 #include "chrome/browser/renderer_host/resource_message_filter.h" | 61 #include "chrome/browser/renderer_host/resource_message_filter.h" |
| 61 #include "chrome/browser/renderer_host/socket_stream_dispatcher_host.h" | 62 #include "chrome/browser/renderer_host/socket_stream_dispatcher_host.h" |
| 62 #include "chrome/browser/renderer_host/web_cache_manager.h" | 63 #include "chrome/browser/renderer_host/web_cache_manager.h" |
| 63 #include "chrome/browser/safe_browsing/client_side_detection_service.h" | 64 #include "chrome/browser/safe_browsing/client_side_detection_service.h" |
| 64 #include "chrome/browser/search_engines/search_provider_install_state_message_fi
lter.h" | 65 #include "chrome/browser/search_engines/search_provider_install_state_message_fi
lter.h" |
| 65 #include "chrome/browser/speech/speech_input_dispatcher_host.h" | 66 #include "chrome/browser/speech/speech_input_dispatcher_host.h" |
| 66 #include "chrome/browser/spellcheck_host.h" | 67 #include "chrome/browser/spellcheck_host.h" |
| 67 #include "chrome/browser/metrics/user_metrics.h" | 68 #include "chrome/browser/metrics/user_metrics.h" |
| 68 #include "chrome/browser/visitedlink/visitedlink_master.h" | 69 #include "chrome/browser/visitedlink/visitedlink_master.h" |
| 70 #include "chrome/browser/worker_host/worker_message_filter.h" |
| 69 #include "chrome/common/chrome_paths.h" | 71 #include "chrome/common/chrome_paths.h" |
| 70 #include "chrome/common/chrome_switches.h" | 72 #include "chrome/common/chrome_switches.h" |
| 71 #include "chrome/common/child_process_info.h" | 73 #include "chrome/common/child_process_info.h" |
| 72 #include "chrome/common/extensions/extension.h" | 74 #include "chrome/common/extensions/extension.h" |
| 73 #include "chrome/common/extensions/extension_icon_set.h" | 75 #include "chrome/common/extensions/extension_icon_set.h" |
| 74 #include "chrome/common/gpu_messages.h" | 76 #include "chrome/common/gpu_messages.h" |
| 75 #include "chrome/common/logging_chrome.h" | 77 #include "chrome/common/logging_chrome.h" |
| 76 #include "chrome/common/net/url_request_context_getter.h" | 78 #include "chrome/common/net/url_request_context_getter.h" |
| 77 #include "chrome/common/notification_service.h" | 79 #include "chrome/common/notification_service.h" |
| 78 #include "chrome/common/pref_names.h" | 80 #include "chrome/common/pref_names.h" |
| (...skipping 376 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 455 channel_->AddFilter(new FileUtilitiesMessageFilter(id())); | 457 channel_->AddFilter(new FileUtilitiesMessageFilter(id())); |
| 456 channel_->AddFilter(new MimeRegistryMessageFilter()); | 458 channel_->AddFilter(new MimeRegistryMessageFilter()); |
| 457 channel_->AddFilter(new DatabaseMessageFilter( | 459 channel_->AddFilter(new DatabaseMessageFilter( |
| 458 profile()->GetDatabaseTracker(), profile()->GetHostContentSettingsMap())); | 460 profile()->GetDatabaseTracker(), profile()->GetHostContentSettingsMap())); |
| 459 | 461 |
| 460 SocketStreamDispatcherHost* socket_stream_dispatcher_host = | 462 SocketStreamDispatcherHost* socket_stream_dispatcher_host = |
| 461 new SocketStreamDispatcherHost(); | 463 new SocketStreamDispatcherHost(); |
| 462 socket_stream_dispatcher_host->set_url_request_context_override( | 464 socket_stream_dispatcher_host->set_url_request_context_override( |
| 463 url_request_context_override); | 465 url_request_context_override); |
| 464 channel_->AddFilter(socket_stream_dispatcher_host); | 466 channel_->AddFilter(socket_stream_dispatcher_host); |
| 467 |
| 468 channel_->AddFilter(new WorkerMessageFilter( |
| 469 id(), |
| 470 profile()->GetRequestContext(), |
| 471 g_browser_process->resource_dispatcher_host(), |
| 472 NewCallbackWithReturnValue( |
| 473 widget_helper_.get(), &RenderWidgetHelper::GetNextRoutingID))); |
| 465 } | 474 } |
| 466 | 475 |
| 467 int BrowserRenderProcessHost::GetNextRoutingID() { | 476 int BrowserRenderProcessHost::GetNextRoutingID() { |
| 468 return widget_helper_->GetNextRoutingID(); | 477 return widget_helper_->GetNextRoutingID(); |
| 469 } | 478 } |
| 470 | 479 |
| 471 void BrowserRenderProcessHost::CancelResourceRequests(int render_widget_id) { | 480 void BrowserRenderProcessHost::CancelResourceRequests(int render_widget_id) { |
| 472 widget_helper_->CancelResourceRequests(render_widget_id); | 481 widget_helper_->CancelResourceRequests(render_widget_id); |
| 473 } | 482 } |
| 474 | 483 |
| (...skipping 814 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1289 IPC::PlatformFileForTransit file; | 1298 IPC::PlatformFileForTransit file; |
| 1290 #if defined(OS_POSIX) | 1299 #if defined(OS_POSIX) |
| 1291 file = base::FileDescriptor(model_file, false); | 1300 file = base::FileDescriptor(model_file, false); |
| 1292 #elif defined(OS_WIN) | 1301 #elif defined(OS_WIN) |
| 1293 ::DuplicateHandle(::GetCurrentProcess(), model_file, GetHandle(), &file, 0, | 1302 ::DuplicateHandle(::GetCurrentProcess(), model_file, GetHandle(), &file, 0, |
| 1294 false, DUPLICATE_SAME_ACCESS); | 1303 false, DUPLICATE_SAME_ACCESS); |
| 1295 #endif | 1304 #endif |
| 1296 Send(new ViewMsg_SetPhishingModel(file)); | 1305 Send(new ViewMsg_SetPhishingModel(file)); |
| 1297 } | 1306 } |
| 1298 } | 1307 } |
| OLD | NEW |