diff options
author | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-19 00:44:14 +0000 |
---|---|---|
committer | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-19 00:44:14 +0000 |
commit | 05fcf98bd3e7c462917996fb1c601793dd6345c9 (patch) | |
tree | 6e343997968c711f9d7a336e27b133bd14dfaf6b | |
parent | 0e194cc6261463902915398c3d975d4de64852ff (diff) | |
download | chromium_src-05fcf98bd3e7c462917996fb1c601793dd6345c9.zip chromium_src-05fcf98bd3e7c462917996fb1c601793dd6345c9.tar.gz chromium_src-05fcf98bd3e7c462917996fb1c601793dd6345c9.tar.bz2 |
Move BrowserRenderProcessHost to content. It should have been moved earlier.
Review URL: http://codereview.chromium.org/6877019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82037 0039d316-1c4b-4281-b951-d872f2087c98
22 files changed, 55 insertions, 35 deletions
diff --git a/chrome/browser/automation/automation_util.cc b/chrome/browser/automation/automation_util.cc index 268fe44..98c9c6f 100644 --- a/chrome/browser/automation/automation_util.cc +++ b/chrome/browser/automation/automation_util.cc @@ -12,11 +12,11 @@ #include "chrome/browser/automation/automation_provider.h" #include "chrome/browser/automation/automation_provider_json.h" #include "chrome/browser/profiles/profile.h" -#include "chrome/browser/renderer_host/browser_render_process_host.h" #include "chrome/browser/ui/browser.h" #include "chrome/browser/ui/browser_list.h" #include "chrome/browser/ui/browser.h" #include "content/browser/browser_thread.h" +#include "content/browser/renderer_host/browser_render_process_host.h" #include "content/browser/renderer_host/render_view_host.h" #include "content/browser/tab_contents/tab_contents.h" #include "net/base/cookie_monster.h" diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc index d0d45cc..0ba282b 100644 --- a/chrome/browser/chrome_content_browser_client.cc +++ b/chrome/browser/chrome_content_browser_client.cc @@ -6,11 +6,15 @@ #include "chrome/browser/debugger/devtools_handler.h" #include "chrome/browser/desktop_notification_handler.h" -#include "chrome/browser/profiles/profile.h" #include "chrome/browser/extensions/extension_message_handler.h" #include "chrome/browser/extensions/extension_service.h" -#include "chrome/browser/renderer_host/browser_render_process_host.h" +#include "chrome/browser/printing/printing_message_filter.h" +#include "chrome/browser/profiles/profile.h" +#include "chrome/browser/renderer_host/chrome_render_message_filter.h" +#include "chrome/browser/search_engines/search_provider_install_state_message_filter.h" +#include "chrome/browser/spellcheck_message_filter.h" #include "chrome/browser/ui/webui/chrome_web_ui_factory.h" +#include "content/browser/renderer_host/browser_render_process_host.h" #include "content/browser/renderer_host/render_view_host.h" namespace chrome { @@ -38,6 +42,19 @@ void ChromeContentBrowserClient::PreCreateRenderView( } } +void ChromeContentBrowserClient::BrowserRenderProcessHostCreated( + BrowserRenderProcessHost* host) { + host->channel()->AddFilter(new ChromeRenderMessageFilter( + host->id(), + host->profile(), + host->profile()->GetRequestContextForPossibleApp( + host->installed_app()))); + host->channel()->AddFilter(new PrintingMessageFilter()); + host->channel()->AddFilter( + new SearchProviderInstallStateMessageFilter(host->id(), host->profile())); + host->channel()->AddFilter(new SpellCheckMessageFilter()); +} + content::WebUIFactory* ChromeContentBrowserClient::GetWebUIFactory() { return ChromeWebUIFactory::GetInstance(); } diff --git a/chrome/browser/chrome_content_browser_client.h b/chrome/browser/chrome_content_browser_client.h index d170ef1..6e69a4a 100644 --- a/chrome/browser/chrome_content_browser_client.h +++ b/chrome/browser/chrome_content_browser_client.h @@ -16,6 +16,7 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient { virtual void PreCreateRenderView(RenderViewHost* render_view_host, Profile* profile, const GURL& url); + virtual void BrowserRenderProcessHostCreated(BrowserRenderProcessHost* host); virtual content::WebUIFactory* GetWebUIFactory(); virtual GURL GetEffectiveURL(Profile* profile, const GURL& url); }; diff --git a/chrome/browser/extensions/extension_host.cc b/chrome/browser/extensions/extension_host.cc index 142a559..50e13c4 100644 --- a/chrome/browser/extensions/extension_host.cc +++ b/chrome/browser/extensions/extension_host.cc @@ -16,7 +16,6 @@ #include "chrome/browser/file_select_helper.h" #include "chrome/browser/platform_util.h" #include "chrome/browser/profiles/profile.h" -#include "chrome/browser/renderer_host/browser_render_process_host.h" #include "chrome/browser/renderer_preferences_util.h" #include "chrome/browser/tab_contents/popup_menu_helper_mac.h" #include "chrome/browser/ui/app_modal_dialogs/message_box_handler.h" @@ -31,6 +30,7 @@ #include "chrome/common/url_constants.h" #include "chrome/common/view_types.h" #include "content/browser/browsing_instance.h" +#include "content/browser/renderer_host/browser_render_process_host.h" #include "content/browser/renderer_host/render_process_host.h" #include "content/browser/renderer_host/render_view_host.h" #include "content/browser/renderer_host/render_widget_host.h" diff --git a/chrome/browser/extensions/isolated_app_apitest.cc b/chrome/browser/extensions/isolated_app_apitest.cc index 1d0c5da..bc9e221 100644 --- a/chrome/browser/extensions/isolated_app_apitest.cc +++ b/chrome/browser/extensions/isolated_app_apitest.cc @@ -7,10 +7,10 @@ #include "chrome/browser/extensions/extension_apitest.h" #include "chrome/browser/extensions/extension_host.h" #include "chrome/browser/profiles/profile.h" -#include "chrome/browser/renderer_host/browser_render_process_host.h" #include "chrome/browser/ui/browser.h" #include "chrome/common/chrome_switches.h" #include "chrome/test/ui_test_utils.h" +#include "content/browser/renderer_host/browser_render_process_host.h" #include "content/browser/renderer_host/render_view_host.h" #include "content/browser/tab_contents/tab_contents.h" #include "net/base/mock_host_resolver.h" diff --git a/chrome/browser/notifications/balloon_host.cc b/chrome/browser/notifications/balloon_host.cc index 9ac175f..3ff9344 100644 --- a/chrome/browser/notifications/balloon_host.cc +++ b/chrome/browser/notifications/balloon_host.cc @@ -8,12 +8,12 @@ #include "chrome/browser/notifications/balloon.h" #include "chrome/browser/notifications/notification.h" #include "chrome/browser/profiles/profile.h" -#include "chrome/browser/renderer_host/browser_render_process_host.h" #include "chrome/browser/renderer_preferences_util.h" #include "chrome/browser/ui/browser_list.h" #include "chrome/browser/ui/webui/chrome_web_ui_factory.h" #include "chrome/common/render_messages.h" #include "chrome/common/url_constants.h" +#include "content/browser/renderer_host/browser_render_process_host.h" #include "content/browser/renderer_host/render_view_host.h" #include "content/browser/site_instance.h" #include "content/common/bindings_policy.h" diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc index 2a88964..39d55fe9 100644 --- a/chrome/browser/prefs/browser_prefs.cc +++ b/chrome/browser/prefs/browser_prefs.cc @@ -37,7 +37,6 @@ #include "chrome/browser/policy/cloud_policy_subsystem.h" #include "chrome/browser/prefs/session_startup_pref.h" #include "chrome/browser/profiles/profile_impl.h" -#include "chrome/browser/renderer_host/browser_render_process_host.h" #include "chrome/browser/renderer_host/web_cache_manager.h" #include "chrome/browser/safe_browsing/safe_browsing_service.h" #include "chrome/browser/search_engines/template_url_model.h" @@ -57,6 +56,7 @@ #include "chrome/browser/web_resource/promo_resource_service.h" #include "chrome/common/pref_names.h" #include "content/browser/host_zoom_map.h" +#include "content/browser/renderer_host/browser_render_process_host.h" #if defined(TOOLKIT_VIEWS) // TODO(port): whittle this down as we port #include "chrome/browser/ui/views/browser_actions_container.h" diff --git a/chrome/browser/sidebar/sidebar_container.cc b/chrome/browser/sidebar/sidebar_container.cc index c673906..1c1c2ac 100644 --- a/chrome/browser/sidebar/sidebar_container.cc +++ b/chrome/browser/sidebar/sidebar_container.cc @@ -6,11 +6,11 @@ #include "chrome/browser/extensions/extension_service.h" #include "chrome/browser/profiles/profile.h" -#include "chrome/browser/renderer_host/browser_render_process_host.h" #include "chrome/common/extensions/extension.h" #include "chrome/common/extensions/extension_resource.h" #include "chrome/common/extensions/extension_sidebar_defaults.h" #include "chrome/common/extensions/extension_sidebar_utils.h" +#include "content/browser/renderer_host/browser_render_process_host.h" #include "content/browser/renderer_host/render_view_host.h" #include "content/browser/tab_contents/navigation_controller.h" #include "content/browser/tab_contents/navigation_entry.h" diff --git a/chrome/browser/visitedlink/visitedlink_unittest.cc b/chrome/browser/visitedlink/visitedlink_unittest.cc index 88acc78..66834ea 100644 --- a/chrome/browser/visitedlink/visitedlink_unittest.cc +++ b/chrome/browser/visitedlink/visitedlink_unittest.cc @@ -12,13 +12,13 @@ #include "base/process_util.h" #include "base/shared_memory.h" #include "base/string_util.h" -#include "chrome/browser/renderer_host/browser_render_process_host.h" #include "chrome/browser/visitedlink/visitedlink_master.h" #include "chrome/browser/visitedlink/visitedlink_event_listener.h" #include "chrome/common/render_messages.h" #include "chrome/renderer/visitedlink_slave.h" #include "chrome/test/testing_profile.h" #include "content/browser/browser_thread.h" +#include "content/browser/renderer_host/browser_render_process_host.h" #include "content/browser/renderer_host/test_render_view_host.h" #include "googleurl/src/gurl.h" #include "testing/gtest/include/gtest/gtest.h" diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi index 04057ac..5a638d5 100644 --- a/chrome/chrome_browser.gypi +++ b/chrome/chrome_browser.gypi @@ -1710,8 +1710,6 @@ 'browser/remoting/setup_flow_start_host_step.cc', 'browser/remoting/setup_flow_start_host_step.h', 'browser/remove_rows_table_model.h', - 'browser/renderer_host/browser_render_process_host.cc', - 'browser/renderer_host/browser_render_process_host.h', 'browser/renderer_host/chrome_render_message_filter.cc', 'browser/renderer_host/chrome_render_message_filter.h', 'browser/renderer_host/download_resource_handler.cc', diff --git a/content/browser/content_browser_client.cc b/content/browser/content_browser_client.cc index 57392a1..c02c95c 100644 --- a/content/browser/content_browser_client.cc +++ b/content/browser/content_browser_client.cc @@ -19,6 +19,9 @@ void ContentBrowserClient::PreCreateRenderView(RenderViewHost* render_view_host, const GURL& url) { } +void ContentBrowserClient::BrowserRenderProcessHostCreated( + BrowserRenderProcessHost* host) { +} WebUIFactory* ContentBrowserClient::GetWebUIFactory() { // Return an empty factory so callsites don't have to check for NULL. return EmptyWebUIFactory::Get(); diff --git a/content/browser/content_browser_client.h b/content/browser/content_browser_client.h index 1f3c7ca..bcb2d15 100644 --- a/content/browser/content_browser_client.h +++ b/content/browser/content_browser_client.h @@ -8,6 +8,7 @@ #include "content/common/content_client.h" +class BrowserRenderProcessHost; class GURL; class Profile; class RenderViewHost; @@ -27,6 +28,9 @@ class ContentBrowserClient { Profile* profile, const GURL& url); + // Notifies that a BrowserRenderProcessHost has been created. + virtual void BrowserRenderProcessHostCreated(BrowserRenderProcessHost* host); + // Gets the WebUIFactory which will be responsible for generating WebUIs. virtual WebUIFactory* GetWebUIFactory(); diff --git a/content/browser/renderer_host/DEPS b/content/browser/renderer_host/DEPS new file mode 100644 index 0000000..8e154f7 --- /dev/null +++ b/content/browser/renderer_host/DEPS @@ -0,0 +1,4 @@ +include_rules = [
+ "+content/renderer", # For single-process mode.
+ "+chrome/browser/extensions", # temporarily, for BrowserRenderProcessHost
+]
diff --git a/chrome/browser/renderer_host/browser_render_process_host.cc b/content/browser/renderer_host/browser_render_process_host.cc index 41d4b97..b10ce64 100644 --- a/chrome/browser/renderer_host/browser_render_process_host.cc +++ b/content/browser/renderer_host/browser_render_process_host.cc @@ -5,7 +5,7 @@ // Represents the browser side of the browser <--> renderer communication // channel. There will be one RenderProcessHost per renderer process. -#include "chrome/browser/renderer_host/browser_render_process_host.h" +#include "content/browser/renderer_host/browser_render_process_host.h" #include <algorithm> #include <limits> @@ -38,14 +38,10 @@ #include "chrome/browser/metrics/user_metrics.h" #include "chrome/browser/net/resolve_proxy_msg_helper.h" #include "chrome/browser/platform_util.h" -#include "chrome/browser/printing/printing_message_filter.h" #include "chrome/browser/profiles/profile.h" -#include "chrome/browser/renderer_host/chrome_render_message_filter.h" #include "chrome/browser/renderer_host/web_cache_manager.h" #include "chrome/browser/safe_browsing/client_side_detection_service.h" -#include "chrome/browser/search_engines/search_provider_install_state_message_filter.h" #include "chrome/browser/spellcheck_host.h" -#include "chrome/browser/spellcheck_message_filter.h" #include "chrome/browser/metrics/user_metrics.h" #include "chrome/browser/visitedlink/visitedlink_master.h" #include "chrome/common/chrome_paths.h" @@ -61,6 +57,7 @@ #include "content/browser/appcache/appcache_dispatcher_host.h" #include "content/browser/browser_child_process_host.h" #include "content/browser/child_process_security_policy.h" +#include "content/browser/content_browser_client.h" #include "content/browser/device_orientation/message_filter.h" #include "content/browser/geolocation/geolocation_dispatcher_host.h" #include "content/browser/gpu_process_host.h" @@ -100,7 +97,6 @@ #include "content/common/view_messages.h" #include "content/renderer/render_process_impl.h" #include "content/renderer/render_thread.h" -#include "grit/generated_resources.h" #include "ipc/ipc_logging.h" #include "ipc/ipc_platform_file.h" #include "ipc/ipc_switches.h" @@ -395,6 +391,8 @@ bool BrowserRenderProcessHost::Init( CreateMessageFilters(); + content::GetContentClient()->browser()->BrowserRenderProcessHostCreated(this); + if (run_renderer_in_process()) { // Crank up a thread and run the initialization there. With the way that // messages flow between the browser and renderer, this thread is required @@ -431,7 +429,7 @@ bool BrowserRenderProcessHost::Init( child_process_.reset(new ChildProcessLauncher( #if defined(OS_WIN) FilePath(), -#elif defined(POSIX) +#elif defined(OS_POSIX) renderer_prefix.empty(), base::environment_vector(), channel_->GetClientFileDescriptor(), @@ -455,11 +453,6 @@ void BrowserRenderProcessHost::CreateMessageFilters() { widget_helper_)); channel_->AddFilter(render_message_filter); - channel_->AddFilter(new ChromeRenderMessageFilter( - id(), - profile(), - profile()->GetRequestContextForPossibleApp(installed_app_))); - ResourceMessageFilter* resource_message_filter = new ResourceMessageFilter( id(), ChildProcessInfo::RENDER_PROCESS, &profile()->GetResourceContext(), @@ -484,10 +477,7 @@ void BrowserRenderProcessHost::CreateMessageFilters() { channel_->AddFilter(new GpuMessageFilter(id())); channel_->AddFilter(new PepperFileMessageFilter(id(), profile())); channel_->AddFilter(new PepperMessageFilter(profile())); - channel_->AddFilter(new PrintingMessageFilter()); channel_->AddFilter(new speech_input::SpeechInputDispatcherHost(id())); - channel_->AddFilter( - new SearchProviderInstallStateMessageFilter(id(), profile())); channel_->AddFilter(new FileSystemDispatcherHost(profile())); channel_->AddFilter(new device_orientation::MessageFilter()); channel_->AddFilter( @@ -502,7 +492,6 @@ void BrowserRenderProcessHost::CreateMessageFilters() { new RendererURLRequestContextSelector(profile(), installed_app_)); channel_->AddFilter(socket_stream_dispatcher_host); - channel_->AddFilter(new SpellCheckMessageFilter()); channel_->AddFilter( new WorkerMessageFilter( id(), diff --git a/chrome/browser/renderer_host/browser_render_process_host.h b/content/browser/renderer_host/browser_render_process_host.h index 9de0b0c..70cdf00 100644 --- a/chrome/browser/renderer_host/browser_render_process_host.h +++ b/content/browser/renderer_host/browser_render_process_host.h @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_BROWSER_RENDERER_HOST_BROWSER_RENDER_PROCESS_HOST_H_ -#define CHROME_BROWSER_RENDERER_HOST_BROWSER_RENDER_PROCESS_HOST_H_ +#ifndef CONTENT_BROWSER_RENDERER_HOST_BROWSER_RENDER_PROCESS_HOST_H_ +#define CONTENT_BROWSER_RENDERER_HOST_BROWSER_RENDER_PROCESS_HOST_H_ #pragma once #include <map> @@ -223,4 +223,4 @@ class BrowserRenderProcessHost : public RenderProcessHost, DISALLOW_COPY_AND_ASSIGN(BrowserRenderProcessHost); }; -#endif // CHROME_BROWSER_RENDERER_HOST_BROWSER_RENDER_PROCESS_HOST_H_ +#endif // CONTENT_BROWSER_RENDERER_HOST_BROWSER_RENDER_PROCESS_HOST_H_ diff --git a/content/browser/renderer_host/pepper_file_message_filter.cc b/content/browser/renderer_host/pepper_file_message_filter.cc index a4f1535..8cc4d5e 100644 --- a/content/browser/renderer_host/pepper_file_message_filter.cc +++ b/content/browser/renderer_host/pepper_file_message_filter.cc @@ -10,9 +10,9 @@ #include "base/platform_file.h" #include "base/process_util.h" #include "chrome/browser/profiles/profile.h" -#include "chrome/browser/renderer_host/browser_render_process_host.h" #include "content/browser/browser_thread.h" #include "content/browser/child_process_security_policy.h" +#include "content/browser/renderer_host/browser_render_process_host.h" #include "content/common/pepper_file_messages.h" #include "ipc/ipc_platform_file.h" #include "webkit/plugins/ppapi/file_path.h" diff --git a/content/browser/renderer_host/pepper_message_filter.cc b/content/browser/renderer_host/pepper_message_filter.cc index ef6a37f..1c79a90 100644 --- a/content/browser/renderer_host/pepper_message_filter.cc +++ b/content/browser/renderer_host/pepper_message_filter.cc @@ -9,8 +9,8 @@ #include "base/threading/worker_pool.h" #include "chrome/browser/net/chrome_url_request_context.h" #include "chrome/browser/profiles/profile.h" -#include "chrome/browser/renderer_host/browser_render_process_host.h" #include "content/browser/browser_thread.h" +#include "content/browser/renderer_host/browser_render_process_host.h" #include "content/common/pepper_messages.h" #include "net/base/address_list.h" #include "net/base/host_port_pair.h" diff --git a/content/browser/renderer_host/render_message_filter.cc b/content/browser/renderer_host/render_message_filter.cc index 8f664d0..ad28245 100644 --- a/content/browser/renderer_host/render_message_filter.cc +++ b/content/browser/renderer_host/render_message_filter.cc @@ -24,7 +24,6 @@ #include "chrome/browser/notifications/notifications_prefs_cache.h" #include "chrome/browser/platform_util.h" #include "chrome/browser/profiles/profile.h" -#include "chrome/browser/renderer_host/browser_render_process_host.h" #include "chrome/common/chrome_switches.h" #include "chrome/common/render_messages.h" #include "chrome/common/url_constants.h" @@ -35,6 +34,7 @@ #include "content/browser/plugin_service.h" #include "content/browser/ppapi_plugin_process_host.h" #include "content/browser/ppapi_broker_process_host.h" +#include "content/browser/renderer_host/browser_render_process_host.h" #include "content/browser/renderer_host/render_view_host_delegate.h" #include "content/browser/renderer_host/render_view_host_notification_task.h" #include "content/browser/renderer_host/render_widget_helper.h" diff --git a/content/browser/renderer_host/render_process_host.h b/content/browser/renderer_host/render_process_host.h index a954d02..cc37a8c 100644 --- a/content/browser/renderer_host/render_process_host.h +++ b/content/browser/renderer_host/render_process_host.h @@ -114,6 +114,8 @@ class RenderProcessHost : public IPC::Channel::Sender, return listeners_.Lookup(routing_id); } + IPC::SyncChannel* channel() { return channel_.get(); } + // Called to inform the render process host of a new "max page id" for a // render view host. The render process host computes the largest page id // across all render view hosts and uses the value when it needs to diff --git a/content/browser/site_instance.cc b/content/browser/site_instance.cc index 3503eac..a121109 100644 --- a/content/browser/site_instance.cc +++ b/content/browser/site_instance.cc @@ -4,10 +4,10 @@ #include "content/browser/site_instance.h" -#include "chrome/browser/renderer_host/browser_render_process_host.h" #include "chrome/common/url_constants.h" #include "content/browser/browsing_instance.h" #include "content/browser/content_browser_client.h" +#include "content/browser/renderer_host/browser_render_process_host.h" #include "content/browser/webui/web_ui_factory.h" #include "content/common/notification_service.h" #include "content/common/content_client.h" diff --git a/content/browser/site_instance_unittest.cc b/content/browser/site_instance_unittest.cc index 24b7cd3..b2cb51ca 100644 --- a/content/browser/site_instance_unittest.cc +++ b/content/browser/site_instance_unittest.cc @@ -4,7 +4,6 @@ #include "base/stl_util-inl.h" #include "base/string16.h" -#include "chrome/browser/renderer_host/browser_render_process_host.h" #include "chrome/common/chrome_constants.h" #include "chrome/common/render_messages.h" #include "chrome/common/url_constants.h" @@ -13,6 +12,7 @@ #include "content/browser/browsing_instance.h" #include "content/browser/child_process_security_policy.h" #include "content/browser/content_browser_client.h" +#include "content/browser/renderer_host/browser_render_process_host.h" #include "content/browser/renderer_host/render_view_host.h" #include "content/browser/renderer_host/test_render_view_host.h" #include "content/browser/site_instance.h" diff --git a/content/content_browser.gypi b/content/content_browser.gypi index d416b51..789f3d3 100644 --- a/content/content_browser.gypi +++ b/content/content_browser.gypi @@ -201,6 +201,8 @@ 'browser/renderer_host/backing_store_x.h', 'browser/renderer_host/blob_message_filter.cc', 'browser/renderer_host/blob_message_filter.h', + 'browser/renderer_host/browser_render_process_host.cc', + 'browser/renderer_host/browser_render_process_host.h', 'browser/renderer_host/buffered_resource_handler.cc', 'browser/renderer_host/buffered_resource_handler.h', 'browser/renderer_host/clipboard_message_filter.cc', |