diff options
67 files changed, 363 insertions, 122 deletions
diff --git a/chrome/browser/automation/automation_resource_message_filter.cc b/chrome/browser/automation/automation_resource_message_filter.cc index 79d98d3..612bd57 100644 --- a/chrome/browser/automation/automation_resource_message_filter.cc +++ b/chrome/browser/automation/automation_resource_message_filter.cc @@ -14,13 +14,14 @@ #include "chrome/common/automation_messages.h" #include "chrome/common/chrome_paths.h" #include "chrome/common/render_messages.h" -#include "content/browser/browser_message_filter.h" +#include "content/public/browser/browser_message_filter.h" #include "content/public/browser/browser_thread.h" #include "googleurl/src/gurl.h" #include "net/base/net_errors.h" #include "net/url_request/url_request_context.h" #include "net/url_request/url_request_filter.h" +using content::BrowserMessageFilter; using content::BrowserThread; base::LazyInstance<AutomationResourceMessageFilter::RenderViewMap> diff --git a/chrome/browser/automation/automation_resource_message_filter.h b/chrome/browser/automation/automation_resource_message_filter.h index d95886d..1fbe22d 100644 --- a/chrome/browser/automation/automation_resource_message_filter.h +++ b/chrome/browser/automation/automation_resource_message_filter.h @@ -16,9 +16,12 @@ #include "net/base/completion_callback.h" class GURL; -class BrowserMessageFilter; class URLRequestAutomationJob; +namespace content { +class BrowserMessageFilter; +} // namespace content + namespace net { class URLRequestContext; } // namespace net @@ -109,7 +112,7 @@ class AutomationResourceMessageFilter // Retrieves cookies for the url passed in from the external host. The // callback passed in is notified on success or failure asynchronously. - static void GetCookiesForUrl(BrowserMessageFilter* filter, + static void GetCookiesForUrl(content::BrowserMessageFilter* filter, net::URLRequestContext* context, int render_process_id, IPC::Message* reply_msg, diff --git a/chrome/browser/chrome_benchmarking_message_filter.h b/chrome/browser/chrome_benchmarking_message_filter.h index 98e8549..7f0ecb4 100644 --- a/chrome/browser/chrome_benchmarking_message_filter.h +++ b/chrome/browser/chrome_benchmarking_message_filter.h @@ -6,7 +6,7 @@ #define CHROME_BROWSER_CHROME_BENCHMARKING_MESSAGE_FILTER_H_ #pragma once -#include "content/browser/browser_message_filter.h" +#include "content/public/browser/browser_message_filter.h" #include "third_party/WebKit/Source/WebKit/chromium/public/WebCache.h" namespace net { @@ -17,14 +17,14 @@ class Profile; // This class filters out incoming Chrome-specific benchmarking IPC messages // for the renderer process on the IPC thread. -class ChromeBenchmarkingMessageFilter : public BrowserMessageFilter { +class ChromeBenchmarkingMessageFilter : public content::BrowserMessageFilter { public: ChromeBenchmarkingMessageFilter( int render_process_id, Profile* profile, net::URLRequestContextGetter* request_context); - // BrowserMessageFilter methods: + // content::BrowserMessageFilter methods: virtual bool OnMessageReceived(const IPC::Message& message, bool* message_was_ok) OVERRIDE; diff --git a/chrome/browser/chrome_plugin_message_filter.h b/chrome/browser/chrome_plugin_message_filter.h index 67642ca..5ea5088 100644 --- a/chrome/browser/chrome_plugin_message_filter.h +++ b/chrome/browser/chrome_plugin_message_filter.h @@ -22,7 +22,7 @@ class ChromePluginMessageFilter : public IPC::ChannelProxy::MessageFilter, public: explicit ChromePluginMessageFilter(PluginProcessHost* process); - // BrowserMessageFilter methods: + // IPC::ChannelProxy::MessageFilter methods: virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE; // IPC::Message::Sender methods: diff --git a/chrome/browser/extensions/extension_webrequest_api.cc b/chrome/browser/extensions/extension_webrequest_api.cc index 19e5460..9e4d944 100644 --- a/chrome/browser/extensions/extension_webrequest_api.cc +++ b/chrome/browser/extensions/extension_webrequest_api.cc @@ -32,9 +32,9 @@ #include "chrome/common/extensions/extension_messages.h" #include "chrome/common/extensions/url_pattern.h" #include "chrome/common/url_constants.h" -#include "content/browser/browser_message_filter.h" #include "content/browser/renderer_host/resource_dispatcher_host.h" #include "content/browser/renderer_host/resource_dispatcher_host_request_info.h" +#include "content/public/browser/browser_message_filter.h" #include "content/public/browser/browser_thread.h" #include "googleurl/src/gurl.h" #include "grit/generated_resources.h" @@ -45,6 +45,7 @@ #include "net/url_request/url_request.h" #include "ui/base/l10n/l10n_util.h" +using content::BrowserMessageFilter; using content::BrowserThread; namespace helpers = extension_webrequest_api_helpers; diff --git a/chrome/browser/printing/printing_message_filter.h b/chrome/browser/printing/printing_message_filter.h index 7531749..9405211 100644 --- a/chrome/browser/printing/printing_message_filter.h +++ b/chrome/browser/printing/printing_message_filter.h @@ -9,7 +9,7 @@ #include <string> #include "base/compiler_specific.h" -#include "content/browser/browser_message_filter.h" +#include "content/public/browser/browser_message_filter.h" #if defined(OS_WIN) #include "base/shared_memory.h" @@ -28,11 +28,11 @@ class PrintJobManager; // This class filters out incoming printing related IPC messages for the // renderer process on the IPC thread. -class PrintingMessageFilter : public BrowserMessageFilter { +class PrintingMessageFilter : public content::BrowserMessageFilter { public: PrintingMessageFilter(); - // BrowserMessageFilter methods. + // content::BrowserMessageFilter methods. virtual void OverrideThreadForMessage( const IPC::Message& message, content::BrowserThread::ID* thread) OVERRIDE; diff --git a/chrome/browser/renderer_host/chrome_render_message_filter.h b/chrome/browser/renderer_host/chrome_render_message_filter.h index 7e4c79e..7ba1f5c 100644 --- a/chrome/browser/renderer_host/chrome_render_message_filter.h +++ b/chrome/browser/renderer_host/chrome_render_message_filter.h @@ -11,9 +11,9 @@ #include "base/file_path.h" #include "base/memory/weak_ptr.h" -#include "chrome/common/content_settings.h" #include "chrome/browser/profiles/profile.h" -#include "content/browser/browser_message_filter.h" +#include "chrome/common/content_settings.h" +#include "content/public/browser/browser_message_filter.h" #include "third_party/WebKit/Source/WebKit/chromium/public/WebCache.h" class CookieSettings; @@ -27,13 +27,13 @@ class URLRequestContextGetter; // This class filters out incoming Chrome-specific IPC messages for the renderer // process on the IPC thread. -class ChromeRenderMessageFilter : public BrowserMessageFilter { +class ChromeRenderMessageFilter : public content::BrowserMessageFilter { public: ChromeRenderMessageFilter(int render_process_id, Profile* profile, net::URLRequestContextGetter* request_context); - // BrowserMessageFilter methods: + // content::BrowserMessageFilter methods: virtual bool OnMessageReceived(const IPC::Message& message, bool* message_was_ok) OVERRIDE; virtual void OverrideThreadForMessage( diff --git a/chrome/browser/renderer_host/plugin_info_message_filter.h b/chrome/browser/renderer_host/plugin_info_message_filter.h index 85a44b1..bdafda7 100644 --- a/chrome/browser/renderer_host/plugin_info_message_filter.h +++ b/chrome/browser/renderer_host/plugin_info_message_filter.h @@ -13,7 +13,7 @@ #include "base/memory/weak_ptr.h" #include "chrome/browser/prefs/pref_member.h" #include "chrome/common/content_settings.h" -#include "content/browser/browser_message_filter.h" +#include "content/public/browser/browser_message_filter.h" struct ChromeViewHostMsg_GetPluginInfo_Status; class GURL; @@ -29,12 +29,12 @@ struct WebPluginInfo; } // This class filters out incoming IPC messages requesting plug-in information. -class PluginInfoMessageFilter : public BrowserMessageFilter { +class PluginInfoMessageFilter : public content::BrowserMessageFilter { public: PluginInfoMessageFilter(int render_process_id, Profile* profile); virtual ~PluginInfoMessageFilter(); - // BrowserMessageFilter methods: + // content::BrowserMessageFilter methods: virtual bool OnMessageReceived(const IPC::Message& message, bool* message_was_ok) OVERRIDE; virtual void OnDestruct() const OVERRIDE; @@ -85,4 +85,4 @@ class PluginInfoMessageFilter : public BrowserMessageFilter { DISALLOW_COPY_AND_ASSIGN(PluginInfoMessageFilter); }; -#endif // CHROME_BROWSER_RENDERER_HOST_CHROME_RENDER_MESSAGE_FILTER_H_ +#endif // CHROME_BROWSER_RENDERER_HOST_PLUGIN_INFO_MESSAGE_FILTER_H_ diff --git a/chrome/browser/search_engines/search_provider_install_state_message_filter.h b/chrome/browser/search_engines/search_provider_install_state_message_filter.h index 4f9c65c..f19aa9d 100644 --- a/chrome/browser/search_engines/search_provider_install_state_message_filter.h +++ b/chrome/browser/search_engines/search_provider_install_state_message_filter.h @@ -8,20 +8,21 @@ #include "base/memory/weak_ptr.h" #include "chrome/browser/search_engines/search_provider_install_data.h" #include "chrome/common/search_provider.h" -#include "content/browser/browser_message_filter.h" +#include "content/public/browser/browser_message_filter.h" class GURL; class Profile; // Handles messages regarding search provider install state on the I/O thread. -class SearchProviderInstallStateMessageFilter : public BrowserMessageFilter { +class SearchProviderInstallStateMessageFilter + : public content::BrowserMessageFilter { public: // Unlike the other methods, the constructor is called on the UI thread. SearchProviderInstallStateMessageFilter(int render_process_id, Profile* profile); virtual ~SearchProviderInstallStateMessageFilter(); - // BrowserMessageFilter implementation. + // content::BrowserMessageFilter implementation. virtual bool OnMessageReceived(const IPC::Message& message, bool* message_was_ok) OVERRIDE; diff --git a/chrome/browser/spellchecker/spellcheck_message_filter.h b/chrome/browser/spellchecker/spellcheck_message_filter.h index 2c0f2ae..5d3529e 100644 --- a/chrome/browser/spellchecker/spellcheck_message_filter.h +++ b/chrome/browser/spellchecker/spellcheck_message_filter.h @@ -5,16 +5,16 @@ #ifndef CHROME_BROWSER_SPELLCHECKER_SPELLCHECK_MESSAGE_FILTER_H_ #define CHROME_BROWSER_SPELLCHECKER_SPELLCHECK_MESSAGE_FILTER_H_ -#include "content/browser/browser_message_filter.h" +#include "content/public/browser/browser_message_filter.h" // A message filter implementation that receives // the platform spell checker requests from SpellCheckProvider. -class SpellCheckMessageFilter : public BrowserMessageFilter { +class SpellCheckMessageFilter : public content::BrowserMessageFilter { public: explicit SpellCheckMessageFilter(int render_process_id); virtual ~SpellCheckMessageFilter(); - // BrowserMessageFilter implementation. + // content::BrowserMessageFilter implementation. virtual void OverrideThreadForMessage( const IPC::Message& message, content::BrowserThread::ID* thread) OVERRIDE; diff --git a/chrome/browser/spellchecker/spellcheck_platform_mac.h b/chrome/browser/spellchecker/spellcheck_platform_mac.h index 89db072..3403af5c 100644 --- a/chrome/browser/spellchecker/spellcheck_platform_mac.h +++ b/chrome/browser/spellchecker/spellcheck_platform_mac.h @@ -15,7 +15,9 @@ #include "base/callback_forward.h" #include "base/string16.h" +namespace content { class BrowserMessageFilter; +} // namespace content namespace spellcheck_mac { @@ -87,7 +89,7 @@ void RequestTextCheck(int route_id, int identifier, int document_tag, const string16& text, - BrowserMessageFilter* destination); + content::BrowserMessageFilter* destination); } // namespace spellcheck_mac diff --git a/chrome/browser/spellchecker/spellcheck_platform_mac.mm b/chrome/browser/spellchecker/spellcheck_platform_mac.mm index be90d06..4fcdd730 100644 --- a/chrome/browser/spellchecker/spellcheck_platform_mac.mm +++ b/chrome/browser/spellchecker/spellcheck_platform_mac.mm @@ -17,11 +17,12 @@ #include "base/time.h" #include "chrome/common/spellcheck_common.h" #include "chrome/common/spellcheck_messages.h" -#include "content/browser/browser_message_filter.h" +#include "content/public/browser/browser_message_filter.h" #include "content/public/browser/browser_thread.h" #include "third_party/WebKit/Source/WebKit/chromium/public/WebTextCheckingResult.h" using base::TimeTicks; +using content::BrowserMessageFilter; using content::BrowserThread; namespace { diff --git a/content/browser/appcache/appcache_dispatcher_host.cc b/content/browser/appcache/appcache_dispatcher_host.cc index f8f4260..0ac5d94 100644 --- a/content/browser/appcache/appcache_dispatcher_host.cc +++ b/content/browser/appcache/appcache_dispatcher_host.cc @@ -10,6 +10,7 @@ #include "content/common/appcache_messages.h" #include "content/public/browser/user_metrics.h" +using content::BrowserMessageFilter; using content::UserMetricsAction; AppCacheDispatcherHost::AppCacheDispatcherHost( diff --git a/content/browser/appcache/appcache_dispatcher_host.h b/content/browser/appcache/appcache_dispatcher_host.h index ae13aa6..5e868fd 100644 --- a/content/browser/appcache/appcache_dispatcher_host.h +++ b/content/browser/appcache/appcache_dispatcher_host.h @@ -12,8 +12,8 @@ #include "base/memory/scoped_ptr.h" #include "base/process.h" #include "content/browser/appcache/appcache_frontend_proxy.h" -#include "content/browser/browser_message_filter.h" #include "content/browser/renderer_host/resource_dispatcher_host.h" +#include "content/public/browser/browser_message_filter.h" #include "webkit/appcache/appcache_backend_impl.h" class ChromeAppCacheService; @@ -22,7 +22,7 @@ class ChromeAppCacheService; // its child processes. There is a distinct host for each child process. // Messages are handled on the IO thread. The BrowserRenderProcessHost and // WorkerProcessHost create an instance and delegates calls to it. -class AppCacheDispatcherHost : public BrowserMessageFilter { +class AppCacheDispatcherHost : public content::BrowserMessageFilter { public: AppCacheDispatcherHost(ChromeAppCacheService* appcache_service, int process_id); @@ -34,7 +34,7 @@ class AppCacheDispatcherHost : public BrowserMessageFilter { bool* message_was_ok) OVERRIDE; private: - // BrowserMessageFilter override. + // content::BrowserMessageFilter override. virtual void BadMessageReceived() OVERRIDE; // IPC message handlers diff --git a/content/browser/debugger/worker_devtools_message_filter.h b/content/browser/debugger/worker_devtools_message_filter.h index bfa96bd..839ca35 100644 --- a/content/browser/debugger/worker_devtools_message_filter.h +++ b/content/browser/debugger/worker_devtools_message_filter.h @@ -7,18 +7,18 @@ #pragma once #include "base/callback_forward.h" -#include "content/browser/browser_message_filter.h" +#include "content/public/browser/browser_message_filter.h" namespace content { -class WorkerDevToolsMessageFilter : public BrowserMessageFilter { +class WorkerDevToolsMessageFilter : public content::BrowserMessageFilter { public: explicit WorkerDevToolsMessageFilter(int worker_process_host_id); private: virtual ~WorkerDevToolsMessageFilter(); - // BrowserMessageFilter implementation. + // content::BrowserMessageFilter implementation. virtual bool OnMessageReceived(const IPC::Message& message, bool* message_was_ok) OVERRIDE; // Message handlers. diff --git a/content/browser/device_orientation/message_filter.h b/content/browser/device_orientation/message_filter.h index 2147dae..a675c18 100644 --- a/content/browser/device_orientation/message_filter.h +++ b/content/browser/device_orientation/message_filter.h @@ -7,16 +7,16 @@ #include <map> -#include "content/browser/browser_message_filter.h" #include "content/browser/device_orientation/provider.h" +#include "content/public/browser/browser_message_filter.h" namespace device_orientation { -class MessageFilter : public BrowserMessageFilter { +class MessageFilter : public content::BrowserMessageFilter { public: MessageFilter(); - // BrowserMessageFilter implementation. + // content::BrowserMessageFilter implementation. virtual bool OnMessageReceived(const IPC::Message& message, bool* message_was_ok) OVERRIDE; diff --git a/content/browser/file_system/file_system_dispatcher_host.cc b/content/browser/file_system/file_system_dispatcher_host.cc index 2f60fc9..7034be2 100644 --- a/content/browser/file_system/file_system_dispatcher_host.cc +++ b/content/browser/file_system/file_system_dispatcher_host.cc @@ -24,6 +24,7 @@ #include "webkit/fileapi/file_system_quota_util.h" #include "webkit/fileapi/file_system_util.h" +using content::BrowserMessageFilter; using content::BrowserThread; using content::UserMetricsAction; using fileapi::FileSystemCallbackDispatcher; diff --git a/content/browser/file_system/file_system_dispatcher_host.h b/content/browser/file_system/file_system_dispatcher_host.h index 54f3ff0..17fe2db 100644 --- a/content/browser/file_system/file_system_dispatcher_host.h +++ b/content/browser/file_system/file_system_dispatcher_host.h @@ -9,7 +9,7 @@ #include "base/basictypes.h" #include "base/id_map.h" -#include "content/browser/browser_message_filter.h" +#include "content/public/browser/browser_message_filter.h" #include "webkit/fileapi/file_system_types.h" class FilePath; @@ -29,7 +29,7 @@ class URLRequestContext; class URLRequestContextGetter; } // namespace net -class FileSystemDispatcherHost : public BrowserMessageFilter { +class FileSystemDispatcherHost : public content::BrowserMessageFilter { public: // Used by the renderer process host on the UI thread. FileSystemDispatcherHost( @@ -41,7 +41,7 @@ class FileSystemDispatcherHost : public BrowserMessageFilter { fileapi::FileSystemContext* file_system_context); virtual ~FileSystemDispatcherHost(); - // BrowserMessageFilter implementation. + // content::BrowserMessageFilter implementation. virtual void OnChannelConnected(int32 peer_pid) OVERRIDE; virtual void OverrideThreadForMessage( const IPC::Message& message, diff --git a/content/browser/geolocation/geolocation_dispatcher_host.h b/content/browser/geolocation/geolocation_dispatcher_host.h index c890043..acd46d6 100644 --- a/content/browser/geolocation/geolocation_dispatcher_host.h +++ b/content/browser/geolocation/geolocation_dispatcher_host.h @@ -6,13 +6,13 @@ #define CONTENT_BROWSER_GEOLOCATION_GEOLOCATION_DISPATCHER_HOST_H_ #pragma once -#include "content/browser/browser_message_filter.h" +#include "content/public/browser/browser_message_filter.h" class GeolocationPermissionContext; // GeolocationDispatcherHost is a browser filter for Geolocation messages. // It's the complement of GeolocationDispatcher (owned by RenderView). -class GeolocationDispatcherHost : public BrowserMessageFilter { +class GeolocationDispatcherHost : public content::BrowserMessageFilter { public: static GeolocationDispatcherHost* New( int render_process_id, diff --git a/content/browser/in_process_webkit/dom_storage_message_filter.cc b/content/browser/in_process_webkit/dom_storage_message_filter.cc index 52a3c0e..1261601 100644 --- a/content/browser/in_process_webkit/dom_storage_message_filter.cc +++ b/content/browser/in_process_webkit/dom_storage_message_filter.cc @@ -13,6 +13,7 @@ #include "content/public/browser/browser_thread.h" #include "googleurl/src/gurl.h" +using content::BrowserMessageFilter; using content::BrowserThread; using WebKit::WebStorageArea; diff --git a/content/browser/in_process_webkit/dom_storage_message_filter.h b/content/browser/in_process_webkit/dom_storage_message_filter.h index 1717320..bc6d8fa 100644 --- a/content/browser/in_process_webkit/dom_storage_message_filter.h +++ b/content/browser/in_process_webkit/dom_storage_message_filter.h @@ -8,10 +8,10 @@ #include "base/memory/ref_counted.h" #include "base/process.h" -#include "content/browser/browser_message_filter.h" #include "content/browser/in_process_webkit/dom_storage_area.h" #include "content/browser/in_process_webkit/webkit_context.h" #include "content/common/dom_storage_common.h" +#include "content/public/browser/browser_message_filter.h" class DOMStorageContext; class GURL; @@ -20,12 +20,12 @@ struct DOMStorageMsg_Event_Params; // This class handles the logistics of DOM Storage within the browser process. // It mostly ferries information between IPCs and the WebKit implementations, // but it also handles some special cases like when renderer processes die. -class DOMStorageMessageFilter : public BrowserMessageFilter { +class DOMStorageMessageFilter : public content::BrowserMessageFilter { public: // Only call the constructor from the UI thread. DOMStorageMessageFilter(int process_id, WebKitContext* webkit_context); - // BrowserMessageFilter implementation + // content::BrowserMessageFilter implementation virtual void OnChannelConnected(int32 peer_pid) OVERRIDE; virtual void OverrideThreadForMessage( const IPC::Message& message, diff --git a/content/browser/in_process_webkit/indexed_db_dispatcher_host.cc b/content/browser/in_process_webkit/indexed_db_dispatcher_host.cc index 21fe1ea..9404aef 100644 --- a/content/browser/in_process_webkit/indexed_db_dispatcher_host.cc +++ b/content/browser/in_process_webkit/indexed_db_dispatcher_host.cc @@ -30,6 +30,7 @@ #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebVector.h" #include "webkit/glue/webkit_glue.h" +using content::BrowserMessageFilter; using content::BrowserThread; using content::UserMetricsAction; using WebKit::WebDOMStringList; diff --git a/content/browser/in_process_webkit/indexed_db_dispatcher_host.h b/content/browser/in_process_webkit/indexed_db_dispatcher_host.h index 5f49f6e..283eea1 100644 --- a/content/browser/in_process_webkit/indexed_db_dispatcher_host.h +++ b/content/browser/in_process_webkit/indexed_db_dispatcher_host.h @@ -8,8 +8,8 @@ #include "base/basictypes.h" #include "base/id_map.h" -#include "content/browser/browser_message_filter.h" #include "content/browser/in_process_webkit/webkit_context.h" +#include "content/public/browser/browser_message_filter.h" #include "third_party/WebKit/Source/WebKit/chromium/public/WebExceptionCode.h" class IndexedDBKey; @@ -37,12 +37,12 @@ class SerializedScriptValue; } // Handles all IndexedDB related messages from a particular renderer process. -class IndexedDBDispatcherHost : public BrowserMessageFilter { +class IndexedDBDispatcherHost : public content::BrowserMessageFilter { public: // Only call the constructor from the UI thread. IndexedDBDispatcherHost(int process_id, WebKitContext* webkit_context); - // BrowserMessageFilter implementation. + // content::BrowserMessageFilter implementation. virtual void OnChannelClosing() OVERRIDE; virtual void OverrideThreadForMessage( const IPC::Message& message, diff --git a/content/browser/mime_registry_message_filter.h b/content/browser/mime_registry_message_filter.h index 5e69152..3b27d6b 100644 --- a/content/browser/mime_registry_message_filter.h +++ b/content/browser/mime_registry_message_filter.h @@ -6,9 +6,9 @@ #define CONTENT_BROWSER_MIME_REGISTRY_MESSAGE_FILTER_H_ #include "base/file_path.h" -#include "content/browser/browser_message_filter.h" +#include "content/public/browser/browser_message_filter.h" -class MimeRegistryMessageFilter : public BrowserMessageFilter { +class MimeRegistryMessageFilter : public content::BrowserMessageFilter { public: MimeRegistryMessageFilter(); diff --git a/content/browser/profiler_message_filter.cc b/content/browser/profiler_message_filter.cc index f11b670..7df676e 100644 --- a/content/browser/profiler_message_filter.cc +++ b/content/browser/profiler_message_filter.cc @@ -9,6 +9,7 @@ #include "content/browser/profiler_controller_impl.h" #include "content/common/child_process_messages.h" +using content::BrowserMessageFilter; using content::BrowserThread; ProfilerMessageFilter::ProfilerMessageFilter() { diff --git a/content/browser/profiler_message_filter.h b/content/browser/profiler_message_filter.h index 3790527..79e6e94 100644 --- a/content/browser/profiler_message_filter.h +++ b/content/browser/profiler_message_filter.h @@ -7,22 +7,22 @@ #include <string> -#include "content/browser/browser_message_filter.h" +#include "content/public/browser/browser_message_filter.h" namespace base { class DictionaryValue; } // This class sends and receives profiler messages in the browser process. -class ProfilerMessageFilter : public BrowserMessageFilter { +class ProfilerMessageFilter : public content::BrowserMessageFilter { public: ProfilerMessageFilter(); virtual ~ProfilerMessageFilter(); - // BrowserMessageFilter implementation. + // content::BrowserMessageFilter implementation. virtual void OnChannelConnected(int32 peer_pid) OVERRIDE; - // BrowserMessageFilter implementation. + // content::BrowserMessageFilter implementation. virtual bool OnMessageReceived(const IPC::Message& message, bool* message_was_ok) OVERRIDE; diff --git a/content/browser/renderer_host/blob_message_filter.cc b/content/browser/renderer_host/blob_message_filter.cc index 3c90dec..c5e74c4 100644 --- a/content/browser/renderer_host/blob_message_filter.cc +++ b/content/browser/renderer_host/blob_message_filter.cc @@ -11,6 +11,7 @@ #include "webkit/blob/blob_data.h" #include "webkit/blob/blob_storage_controller.h" +using content::BrowserMessageFilter; using content::BrowserThread; using webkit_blob::BlobData; diff --git a/content/browser/renderer_host/blob_message_filter.h b/content/browser/renderer_host/blob_message_filter.h index 762763a..d8ddf07 100644 --- a/content/browser/renderer_host/blob_message_filter.h +++ b/content/browser/renderer_host/blob_message_filter.h @@ -7,7 +7,7 @@ #include "base/hash_tables.h" #include "base/shared_memory.h" -#include "content/browser/browser_message_filter.h" +#include "content/public/browser/browser_message_filter.h" #include "webkit/blob/blob_data.h" class ChromeBlobStorageContext; @@ -17,13 +17,13 @@ namespace IPC { class Message; } -class BlobMessageFilter : public BrowserMessageFilter { +class BlobMessageFilter : public content::BrowserMessageFilter { public: BlobMessageFilter(int process_id, ChromeBlobStorageContext* blob_storage_context); virtual ~BlobMessageFilter(); - // BrowserMessageFilter implementation. + // content::BrowserMessageFilter implementation. virtual void OnChannelClosing() OVERRIDE; virtual bool OnMessageReceived(const IPC::Message& message, bool* message_was_ok) OVERRIDE; diff --git a/content/browser/renderer_host/clipboard_message_filter.h b/content/browser/renderer_host/clipboard_message_filter.h index 72169e0..8f54822 100644 --- a/content/browser/renderer_host/clipboard_message_filter.h +++ b/content/browser/renderer_host/clipboard_message_filter.h @@ -9,12 +9,12 @@ #include <vector> #include "base/basictypes.h" -#include "content/browser/browser_message_filter.h" +#include "content/public/browser/browser_message_filter.h" #include "ui/base/clipboard/clipboard.h" class GURL; -class ClipboardMessageFilter : public BrowserMessageFilter { +class ClipboardMessageFilter : public content::BrowserMessageFilter { public: ClipboardMessageFilter(); diff --git a/content/browser/renderer_host/database_message_filter.cc b/content/browser/renderer_host/database_message_filter.cc index 6cc293c..1502cbc 100644 --- a/content/browser/renderer_host/database_message_filter.cc +++ b/content/browser/renderer_host/database_message_filter.cc @@ -25,6 +25,7 @@ #include "base/file_descriptor_posix.h" #endif +using content::BrowserMessageFilter; using content::BrowserThread; using content::UserMetricsAction; using quota::QuotaManager; diff --git a/content/browser/renderer_host/database_message_filter.h b/content/browser/renderer_host/database_message_filter.h index a9a1aa6..2bde92d 100644 --- a/content/browser/renderer_host/database_message_filter.h +++ b/content/browser/renderer_host/database_message_filter.h @@ -8,18 +8,18 @@ #include "base/hash_tables.h" #include "base/string16.h" -#include "content/browser/browser_message_filter.h" +#include "content/public/browser/browser_message_filter.h" #include "webkit/database/database_connections.h" #include "webkit/database/database_tracker.h" #include "webkit/quota/quota_types.h" class DatabaseMessageFilter - : public BrowserMessageFilter, + : public content::BrowserMessageFilter, public webkit_database::DatabaseTracker::Observer { public: explicit DatabaseMessageFilter(webkit_database::DatabaseTracker* db_tracker); - // BrowserMessageFilter implementation. + // content::BrowserMessageFilter implementation. virtual void OnChannelClosing() OVERRIDE; virtual void OverrideThreadForMessage( const IPC::Message& message, diff --git a/content/browser/renderer_host/file_utilities_message_filter.h b/content/browser/renderer_host/file_utilities_message_filter.h index 47a1926..5076aac 100644 --- a/content/browser/renderer_host/file_utilities_message_filter.h +++ b/content/browser/renderer_host/file_utilities_message_filter.h @@ -7,7 +7,7 @@ #include "base/basictypes.h" #include "base/file_path.h" -#include "content/browser/browser_message_filter.h" +#include "content/public/browser/browser_message_filter.h" #include "ipc/ipc_platform_file.h" namespace base { @@ -18,11 +18,11 @@ namespace IPC { class Message; } -class FileUtilitiesMessageFilter : public BrowserMessageFilter { +class FileUtilitiesMessageFilter : public content::BrowserMessageFilter { public: explicit FileUtilitiesMessageFilter(int process_id); - // BrowserMessageFilter implementation. + // content::BrowserMessageFilter implementation. virtual void OverrideThreadForMessage( const IPC::Message& message, content::BrowserThread::ID* thread) OVERRIDE; diff --git a/content/browser/renderer_host/gamepad_browser_message_filter.cc b/content/browser/renderer_host/gamepad_browser_message_filter.cc index 38d7110..3701c7f 100644 --- a/content/browser/renderer_host/gamepad_browser_message_filter.cc +++ b/content/browser/renderer_host/gamepad_browser_message_filter.cc @@ -7,6 +7,8 @@ #include "content/browser/gamepad/gamepad_service.h" #include "content/common/gamepad_messages.h" +using content::BrowserMessageFilter; + namespace content { GamepadBrowserMessageFilter::GamepadBrowserMessageFilter( diff --git a/content/browser/renderer_host/gamepad_browser_message_filter.h b/content/browser/renderer_host/gamepad_browser_message_filter.h index 2928b28..042ce64 100644 --- a/content/browser/renderer_host/gamepad_browser_message_filter.h +++ b/content/browser/renderer_host/gamepad_browser_message_filter.h @@ -8,18 +8,18 @@ #include "base/compiler_specific.h" #include "base/shared_memory.h" -#include "content/browser/browser_message_filter.h" +#include "content/public/browser/browser_message_filter.h" namespace content { class GamepadService; class RenderProcessHost; -class GamepadBrowserMessageFilter : public BrowserMessageFilter { +class GamepadBrowserMessageFilter : public content::BrowserMessageFilter { public: explicit GamepadBrowserMessageFilter(RenderProcessHost* rph); - // BrowserMessageFilter implementation. + // content::BrowserMessageFilter implementation. virtual bool OnMessageReceived(const IPC::Message& message, bool* message_was_ok) OVERRIDE; GamepadBrowserMessageFilter(); diff --git a/content/browser/renderer_host/gpu_message_filter.h b/content/browser/renderer_host/gpu_message_filter.h index a1ff2a7..f3fac5b 100644 --- a/content/browser/renderer_host/gpu_message_filter.h +++ b/content/browser/renderer_host/gpu_message_filter.h @@ -7,8 +7,8 @@ #pragma once #include "base/memory/ref_counted.h" -#include "content/browser/browser_message_filter.h" #include "content/common/gpu/gpu_process_launch_causes.h" +#include "content/public/browser/browser_message_filter.h" #include "ui/gfx/native_widget_types.h" class GpuProcessHost; @@ -22,13 +22,13 @@ struct GPUInfo; // A message filter for messages from the renderer to the GpuProcessHost(UIShim) // in the browser. Such messages are typically destined for the GPU process, // but need to be mediated by the browser. -class GpuMessageFilter : public BrowserMessageFilter, +class GpuMessageFilter : public content::BrowserMessageFilter, public base::SupportsWeakPtr<GpuMessageFilter> { public: GpuMessageFilter(int render_process_id, RenderWidgetHelper* render_widget_helper); - // BrowserMessageFilter methods: + // content::BrowserMessageFilter methods: virtual bool OnMessageReceived(const IPC::Message& message, bool* message_was_ok) OVERRIDE; diff --git a/content/browser/renderer_host/media/audio_input_renderer_host.cc b/content/browser/renderer_host/media/audio_input_renderer_host.cc index 8d5131c..a600e0f 100644 --- a/content/browser/renderer_host/media/audio_input_renderer_host.cc +++ b/content/browser/renderer_host/media/audio_input_renderer_host.cc @@ -16,6 +16,7 @@ #include "content/common/media/audio_messages.h" #include "ipc/ipc_logging.h" +using content::BrowserMessageFilter; using content::BrowserThread; AudioInputRendererHost::AudioEntry::AudioEntry() diff --git a/content/browser/renderer_host/media/audio_input_renderer_host.h b/content/browser/renderer_host/media/audio_input_renderer_host.h index 617bd50..d5f1190 100644 --- a/content/browser/renderer_host/media/audio_input_renderer_host.h +++ b/content/browser/renderer_host/media/audio_input_renderer_host.h @@ -63,8 +63,8 @@ #include "base/memory/scoped_ptr.h" #include "base/process.h" #include "base/shared_memory.h" -#include "content/browser/browser_message_filter.h" #include "content/browser/renderer_host/media/audio_input_device_manager_event_handler.h" +#include "content/public/browser/browser_message_filter.h" #include "content/public/browser/browser_thread.h" #include "media/audio/audio_input_controller.h" #include "media/audio/audio_io.h" @@ -78,7 +78,7 @@ class AudioManager; struct AudioParameters; class CONTENT_EXPORT AudioInputRendererHost - : public BrowserMessageFilter, + : public content::BrowserMessageFilter, public media::AudioInputController::EventHandler, public media_stream::AudioInputDeviceManagerEventHandler { public: @@ -107,7 +107,7 @@ class CONTENT_EXPORT AudioInputRendererHost explicit AudioInputRendererHost( const content::ResourceContext* resource_context); - // BrowserMessageFilter implementation. + // content::BrowserMessageFilter implementation. virtual void OnChannelClosing() OVERRIDE; virtual void OnDestruct() const OVERRIDE; virtual bool OnMessageReceived(const IPC::Message& message, diff --git a/content/browser/renderer_host/media/audio_renderer_host.cc b/content/browser/renderer_host/media/audio_renderer_host.cc index 4d331b8..c77c84b 100644 --- a/content/browser/renderer_host/media/audio_renderer_host.cc +++ b/content/browser/renderer_host/media/audio_renderer_host.cc @@ -16,6 +16,7 @@ #include "media/audio/audio_util.h" #include "ipc/ipc_logging.h" +using content::BrowserMessageFilter; using content::BrowserThread; AudioRendererHost::AudioEntry::AudioEntry() diff --git a/content/browser/renderer_host/media/audio_renderer_host.h b/content/browser/renderer_host/media/audio_renderer_host.h index cfa6245..20e11f1 100644 --- a/content/browser/renderer_host/media/audio_renderer_host.h +++ b/content/browser/renderer_host/media/audio_renderer_host.h @@ -60,8 +60,8 @@ #include "base/memory/scoped_ptr.h" #include "base/process.h" #include "base/shared_memory.h" -#include "content/browser/browser_message_filter.h" #include "content/common/content_export.h" +#include "content/public/browser/browser_message_filter.h" #include "content/public/browser/browser_thread.h" #include "media/audio/audio_io.h" #include "media/audio/audio_output_controller.h" @@ -76,7 +76,7 @@ class ResourceContext; } // namespace content class CONTENT_EXPORT AudioRendererHost - : public BrowserMessageFilter, + : public content::BrowserMessageFilter, public media::AudioOutputController::EventHandler { public: struct AudioEntry { @@ -107,7 +107,7 @@ class CONTENT_EXPORT AudioRendererHost // Called from UI thread from the owner of this object. AudioRendererHost(const content::ResourceContext* resource_context); - // BrowserMessageFilter implementation. + // content::BrowserMessageFilter implementation. virtual void OnChannelClosing() OVERRIDE; virtual void OnDestruct() const OVERRIDE; virtual bool OnMessageReceived(const IPC::Message& message, diff --git a/content/browser/renderer_host/media/media_stream_dispatcher_host.cc b/content/browser/renderer_host/media/media_stream_dispatcher_host.cc index b978df8..21a438c 100644 --- a/content/browser/renderer_host/media/media_stream_dispatcher_host.cc +++ b/content/browser/renderer_host/media/media_stream_dispatcher_host.cc @@ -8,6 +8,7 @@ #include "content/common/media/media_stream_messages.h" #include "content/common/media/media_stream_options.h" +using content::BrowserMessageFilter; using content::BrowserThread; namespace media_stream { diff --git a/content/browser/renderer_host/media/media_stream_dispatcher_host.h b/content/browser/renderer_host/media/media_stream_dispatcher_host.h index b57ea58..4f340f0 100644 --- a/content/browser/renderer_host/media/media_stream_dispatcher_host.h +++ b/content/browser/renderer_host/media/media_stream_dispatcher_host.h @@ -9,11 +9,11 @@ #include <string> #include <utility> -#include "content/browser/browser_message_filter.h" #include "content/browser/renderer_host/media/media_stream_manager.h" #include "content/browser/renderer_host/media/media_stream_requester.h" #include "content/common/content_export.h" #include "content/common/media/media_stream_options.h" +#include "content/public/browser/browser_message_filter.h" namespace content { class ResourceContext; @@ -25,7 +25,7 @@ namespace media_stream { // MediaStreamImpl. It's the complement of MediaStreamDispatcher // (owned by RenderView). class CONTENT_EXPORT MediaStreamDispatcherHost - : public BrowserMessageFilter, + : public content::BrowserMessageFilter, public MediaStreamRequester { public: MediaStreamDispatcherHost(const content::ResourceContext* resource_context, @@ -42,7 +42,7 @@ class CONTENT_EXPORT MediaStreamDispatcherHost virtual void AudioDeviceFailed(const std::string& label, int index) OVERRIDE; virtual void VideoDeviceFailed(const std::string& label, int index) OVERRIDE; - // BrowserMessageFilter implementation. + // content::BrowserMessageFilter implementation. virtual bool OnMessageReceived(const IPC::Message& message, bool* message_was_ok) OVERRIDE; virtual void OnChannelClosing() OVERRIDE; diff --git a/content/browser/renderer_host/media/video_capture_host.cc b/content/browser/renderer_host/media/video_capture_host.cc index 026b40e..cee39ee 100644 --- a/content/browser/renderer_host/media/video_capture_host.cc +++ b/content/browser/renderer_host/media/video_capture_host.cc @@ -12,6 +12,7 @@ #include "content/browser/resource_context.h" #include "content/common/media/video_capture_messages.h" +using content::BrowserMessageFilter; using content::BrowserThread; struct VideoCaptureHost::Entry { diff --git a/content/browser/renderer_host/media/video_capture_host.h b/content/browser/renderer_host/media/video_capture_host.h index 21710e6..5ac47e9 100644 --- a/content/browser/renderer_host/media/video_capture_host.h +++ b/content/browser/renderer_host/media/video_capture_host.h @@ -39,9 +39,9 @@ #include <map> #include "base/memory/ref_counted.h" -#include "content/browser/browser_message_filter.h" #include "content/browser/renderer_host/media/video_capture_controller.h" #include "content/common/content_export.h" +#include "content/public/browser/browser_message_filter.h" #include "ipc/ipc_message.h" namespace content { @@ -49,12 +49,12 @@ class ResourceContext; } // namespace content class CONTENT_EXPORT VideoCaptureHost - : public BrowserMessageFilter, + : public content::BrowserMessageFilter, public VideoCaptureControllerEventHandler { public: explicit VideoCaptureHost(const content::ResourceContext* resource_context); - // BrowserMessageFilter implementation. + // content::BrowserMessageFilter implementation. virtual void OnChannelClosing() OVERRIDE; virtual void OnDestruct() const OVERRIDE; virtual bool OnMessageReceived(const IPC::Message& message, diff --git a/content/browser/renderer_host/p2p/socket_dispatcher_host.cc b/content/browser/renderer_host/p2p/socket_dispatcher_host.cc index ee337ce..710a575 100644 --- a/content/browser/renderer_host/p2p/socket_dispatcher_host.cc +++ b/content/browser/renderer_host/p2p/socket_dispatcher_host.cc @@ -16,6 +16,7 @@ #include "net/base/single_request_host_resolver.h" #include "net/base/sys_addrinfo.h" +using content::BrowserMessageFilter; using content::BrowserThread; namespace content { diff --git a/content/browser/renderer_host/p2p/socket_dispatcher_host.h b/content/browser/renderer_host/p2p/socket_dispatcher_host.h index ea89f78..25a3d50 100644 --- a/content/browser/renderer_host/p2p/socket_dispatcher_host.h +++ b/content/browser/renderer_host/p2p/socket_dispatcher_host.h @@ -7,8 +7,8 @@ #include <map> -#include "content/browser/browser_message_filter.h" #include "content/common/p2p_sockets.h" +#include "content/public/browser/browser_message_filter.h" #include "net/base/ip_endpoint.h" #include "net/base/network_change_notifier.h" @@ -18,13 +18,13 @@ class P2PSocketHost; class ResourceContext; class P2PSocketDispatcherHost - : public BrowserMessageFilter, + : public content::BrowserMessageFilter, public net::NetworkChangeNotifier::IPAddressObserver { public: P2PSocketDispatcherHost(const content::ResourceContext* resource_context); virtual ~P2PSocketDispatcherHost(); - // BrowserMessageFilter overrides. + // content::BrowserMessageFilter overrides. virtual void OnChannelClosing() OVERRIDE; virtual void OnDestruct() const OVERRIDE; virtual bool OnMessageReceived(const IPC::Message& message, diff --git a/content/browser/renderer_host/pepper_file_message_filter.h b/content/browser/renderer_host/pepper_file_message_filter.h index 29b98a6..416eb3c 100644 --- a/content/browser/renderer_host/pepper_file_message_filter.h +++ b/content/browser/renderer_host/pepper_file_message_filter.h @@ -14,7 +14,7 @@ #include "base/process.h" #include "base/task.h" #include "build/build_config.h" -#include "content/browser/browser_message_filter.h" +#include "content/public/browser/browser_message_filter.h" #include "ipc/ipc_platform_file.h" #include "webkit/plugins/ppapi/dir_contents.h" @@ -29,12 +29,12 @@ class PepperFilePath; } // A message filter for Pepper-specific File I/O messages. -class PepperFileMessageFilter : public BrowserMessageFilter { +class PepperFileMessageFilter : public content::BrowserMessageFilter { public: PepperFileMessageFilter(int child_id, content::BrowserContext* browser_context); - // BrowserMessageFilter methods: + // content::BrowserMessageFilter methods: virtual void OverrideThreadForMessage( const IPC::Message& message, content::BrowserThread::ID* thread) OVERRIDE; diff --git a/content/browser/renderer_host/pepper_message_filter.h b/content/browser/renderer_host/pepper_message_filter.h index 1afcdc8..8da6c92 100644 --- a/content/browser/renderer_host/pepper_message_filter.h +++ b/content/browser/renderer_host/pepper_message_filter.h @@ -14,8 +14,8 @@ #include "base/memory/scoped_ptr.h" #include "base/process.h" #include "base/time.h" -#include "content/browser/browser_message_filter.h" #include "content/browser/font_list_async.h" +#include "content/public/browser/browser_message_filter.h" #include "net/base/ssl_config_service.h" #include "ppapi/c/pp_stdint.h" @@ -38,14 +38,14 @@ class HostResolver; // PPAPI plugins and any requests that the PPAPI implementation code in the // renderer needs to make. The second is on the plugin->browser channel to // handle requests that out-of-process plugins send directly to the browser. -class PepperMessageFilter : public BrowserMessageFilter { +class PepperMessageFilter : public content::BrowserMessageFilter { public: explicit PepperMessageFilter( const content::ResourceContext* resource_context); explicit PepperMessageFilter(net::HostResolver* host_resolver); virtual ~PepperMessageFilter(); - // BrowserMessageFilter methods. + // content::BrowserMessageFilter methods. virtual bool OnMessageReceived(const IPC::Message& message, bool* message_was_ok) OVERRIDE; diff --git a/content/browser/renderer_host/quota_dispatcher_host.h b/content/browser/renderer_host/quota_dispatcher_host.h index 1d90ef5..77553d9 100644 --- a/content/browser/renderer_host/quota_dispatcher_host.h +++ b/content/browser/renderer_host/quota_dispatcher_host.h @@ -7,7 +7,7 @@ #include "base/basictypes.h" #include "base/id_map.h" -#include "content/browser/browser_message_filter.h" +#include "content/public/browser/browser_message_filter.h" #include "webkit/quota/quota_types.h" class GURL; @@ -22,7 +22,7 @@ class QuotaManager; class QuotaPermissionContext; -class QuotaDispatcherHost : public BrowserMessageFilter { +class QuotaDispatcherHost : public content::BrowserMessageFilter { public: QuotaDispatcherHost(int process_id, quota::QuotaManager* quota_manager, diff --git a/content/browser/renderer_host/render_message_filter.cc b/content/browser/renderer_host/render_message_filter.cc index e32933e..7478a19 100644 --- a/content/browser/renderer_host/render_message_filter.cc +++ b/content/browser/renderer_host/render_message_filter.cc @@ -66,6 +66,7 @@ #include "base/file_descriptor_posix.h" #endif +using content::BrowserMessageFilter; using content::BrowserThread; using content::ChildProcessHostImpl; using content::PluginServiceFilter; diff --git a/content/browser/renderer_host/render_message_filter.h b/content/browser/renderer_host/render_message_filter.h index e61ffa4..4e4d403 100644 --- a/content/browser/renderer_host/render_message_filter.h +++ b/content/browser/renderer_host/render_message_filter.h @@ -18,9 +18,9 @@ #include "base/shared_memory.h" #include "base/string16.h" #include "build/build_config.h" -#include "content/browser/browser_message_filter.h" #include "content/browser/in_process_webkit/webkit_context.h" #include "content/browser/renderer_host/resource_dispatcher_host.h" +#include "content/public/browser/browser_message_filter.h" #include "third_party/WebKit/Source/WebKit/chromium/public/WebPopupType.h" #include "ui/gfx/native_widget_types.h" #include "ui/gfx/surface/transport_dib.h" @@ -63,7 +63,7 @@ struct WebPluginInfo; // This class filters out incoming IPC messages for the renderer process on the // IPC thread. -class RenderMessageFilter : public BrowserMessageFilter { +class RenderMessageFilter : public content::BrowserMessageFilter { public: // Create the filter. RenderMessageFilter(int render_process_id, @@ -76,7 +76,7 @@ class RenderMessageFilter : public BrowserMessageFilter { virtual void OnChannelClosing() OVERRIDE; virtual void OnChannelConnected(int32 peer_pid) OVERRIDE; - // BrowserMessageFilter methods: + // content::BrowserMessageFilter methods: virtual bool OnMessageReceived(const IPC::Message& message, bool* message_was_ok) OVERRIDE; virtual void OnDestruct() const OVERRIDE; diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc index 1ad39b5..f9f23db 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc @@ -116,6 +116,7 @@ #include "third_party/skia/include/core/SkBitmap.h" +using content::BrowserMessageFilter; using content::BrowserThread; using content::ChildProcessHost; using content::ChildProcessHostImpl; diff --git a/content/browser/renderer_host/render_view_host.cc b/content/browser/renderer_host/render_view_host.cc index 4ff4c11..9cedac4 100644 --- a/content/browser/renderer_host/render_view_host.cc +++ b/content/browser/renderer_host/render_view_host.cc @@ -17,7 +17,6 @@ #include "base/time.h" #include "base/utf_string_conversions.h" #include "base/values.h" -#include "content/browser/browser_message_filter.h" #include "content/browser/child_process_security_policy.h" #include "content/browser/cross_site_request_manager.h" #include "content/browser/host_zoom_map.h" @@ -34,6 +33,7 @@ #include "content/common/swapped_out_messages.h" #include "content/common/view_messages.h" #include "content/public/browser/browser_context.h" +#include "content/public/browser/browser_message_filter.h" #include "content/public/browser/content_browser_client.h" #include "content/public/browser/native_web_keyboard_event.h" #include "content/public/browser/notification_details.h" @@ -54,6 +54,7 @@ #include "webkit/glue/webdropdata.h" using base::TimeDelta; +using content::BrowserMessageFilter; using content::BrowserThread; using content::UserMetricsAction; using WebKit::WebConsoleMessage; diff --git a/content/browser/renderer_host/resource_message_filter.cc b/content/browser/renderer_host/resource_message_filter.cc index 5e482a8..771008c 100644 --- a/content/browser/renderer_host/resource_message_filter.cc +++ b/content/browser/renderer_host/resource_message_filter.cc @@ -8,6 +8,8 @@ #include "content/browser/resource_context.h" #include "content/public/browser/browser_thread.h" +using content::BrowserMessageFilter; + ResourceMessageFilter::ResourceMessageFilter( int child_id, content::ProcessType process_type, diff --git a/content/browser/renderer_host/resource_message_filter.h b/content/browser/renderer_host/resource_message_filter.h index e808353..96ef977 100644 --- a/content/browser/renderer_host/resource_message_filter.h +++ b/content/browser/renderer_host/resource_message_filter.h @@ -6,8 +6,8 @@ #define CONTENT_BROWSER_RENDERER_HOST_RESOURCE_MESSAGE_FILTER_H_ #include "base/memory/scoped_ptr.h" -#include "content/browser/browser_message_filter.h" #include "content/common/content_export.h" +#include "content/public/browser/browser_message_filter.h" #include "content/public/common/process_type.h" #include "webkit/glue/resource_type.h" @@ -26,7 +26,8 @@ class URLRequestContext; // delayed by costly UI processing that may be occuring on the main thread of // the browser. It also means that any hangs in starting a network request // will not interfere with browser UI. -class CONTENT_EXPORT ResourceMessageFilter : public BrowserMessageFilter { +class CONTENT_EXPORT ResourceMessageFilter + : public content::BrowserMessageFilter { public: // Allows selecting the net::URLRequestContext used to service requests. class URLRequestContextSelector { @@ -47,7 +48,7 @@ class CONTENT_EXPORT ResourceMessageFilter : public BrowserMessageFilter { URLRequestContextSelector* url_request_context_selector, ResourceDispatcherHost* resource_dispatcher_host); - // BrowserMessageFilter implementation. + // content::BrowserMessageFilter implementation. virtual void OnChannelClosing() OVERRIDE; virtual bool OnMessageReceived(const IPC::Message& message, bool* message_was_ok) OVERRIDE; diff --git a/content/browser/renderer_host/socket_stream_dispatcher_host.h b/content/browser/renderer_host/socket_stream_dispatcher_host.h index f77ff2c..475d206 100644 --- a/content/browser/renderer_host/socket_stream_dispatcher_host.h +++ b/content/browser/renderer_host/socket_stream_dispatcher_host.h @@ -9,8 +9,8 @@ #include <vector> #include "base/id_map.h" -#include "content/browser/browser_message_filter.h" #include "content/browser/renderer_host/resource_message_filter.h" +#include "content/public/browser/browser_message_filter.h" #include "net/socket_stream/socket_stream.h" class GURL; @@ -23,7 +23,7 @@ class ResourceContext; // Dispatches ViewHostMsg_SocketStream_* messages sent from renderer. // It also acts as SocketStream::Delegate so that it sends // ViewMsg_SocketStream_* messages back to renderer. -class SocketStreamDispatcherHost : public BrowserMessageFilter, +class SocketStreamDispatcherHost : public content::BrowserMessageFilter, public net::SocketStream::Delegate { public: SocketStreamDispatcherHost( @@ -31,7 +31,7 @@ class SocketStreamDispatcherHost : public BrowserMessageFilter, const content::ResourceContext* resource_context); virtual ~SocketStreamDispatcherHost(); - // BrowserMessageFilter methods. + // content::BrowserMessageFilter methods. virtual bool OnMessageReceived(const IPC::Message& message, bool* message_was_ok) OVERRIDE; diff --git a/content/browser/renderer_host/text_input_client_message_filter.h b/content/browser/renderer_host/text_input_client_message_filter.h index 4b5ecb1..3b80633 100644 --- a/content/browser/renderer_host/text_input_client_message_filter.h +++ b/content/browser/renderer_host/text_input_client_message_filter.h @@ -6,8 +6,8 @@ #define CONTENT_BROWSER_RENDERER_HOST_TEXT_INPUT_CLIENT_MESSAGE_FILTER_H_ #pragma once -#include "content/browser/browser_message_filter.h" #include "content/common/mac/attributed_string_coder.h" +#include "content/public/browser/browser_message_filter.h" namespace gfx { class Rect; @@ -20,12 +20,12 @@ class Range; // This is a browser-side message filter that lives on the IO thread to handle // replies to messages sent by the TextInputClientMac. See // content/browser/renderer_host/text_input_client_mac.h for more information. -class TextInputClientMessageFilter : public BrowserMessageFilter { +class TextInputClientMessageFilter : public content::BrowserMessageFilter { public: explicit TextInputClientMessageFilter(int child_id); virtual ~TextInputClientMessageFilter(); - // BrowserMessageFilter override: + // content::BrowserMessageFilter override: virtual bool OnMessageReceived(const IPC::Message& message, bool* message_was_ok) OVERRIDE; diff --git a/content/browser/renderer_host/text_input_client_message_filter.mm b/content/browser/renderer_host/text_input_client_message_filter.mm index 44824cb..34e7b87 100644 --- a/content/browser/renderer_host/text_input_client_message_filter.mm +++ b/content/browser/renderer_host/text_input_client_message_filter.mm @@ -15,6 +15,8 @@ #include "ui/base/range/range.h" #include "ui/gfx/rect.h" +using content::BrowserMessageFilter; + TextInputClientMessageFilter::TextInputClientMessageFilter(int child_id) : BrowserMessageFilter(), child_process_id_(child_id) { diff --git a/content/browser/resolve_proxy_msg_helper.h b/content/browser/resolve_proxy_msg_helper.h index 4c66fb7..e80b396 100644 --- a/content/browser/resolve_proxy_msg_helper.h +++ b/content/browser/resolve_proxy_msg_helper.h @@ -10,8 +10,8 @@ #include <string> #include "base/memory/ref_counted.h" -#include "content/browser/browser_message_filter.h" #include "content/common/content_export.h" +#include "content/public/browser/browser_message_filter.h" #include "googleurl/src/gurl.h" #include "net/base/completion_callback.h" #include "net/proxy/proxy_service.h" @@ -30,7 +30,8 @@ class URLRequestContextGetter; // the stored IPC::Message pointers for pending requests. // // This object is expected to live on the IO thread. -class CONTENT_EXPORT ResolveProxyMsgHelper : public BrowserMessageFilter { +class CONTENT_EXPORT ResolveProxyMsgHelper + : public content::BrowserMessageFilter { public: explicit ResolveProxyMsgHelper(net::URLRequestContextGetter* getter); // Constructor used by unittests. @@ -40,7 +41,7 @@ class CONTENT_EXPORT ResolveProxyMsgHelper : public BrowserMessageFilter { // pending queue. virtual ~ResolveProxyMsgHelper(); - // BrowserMessageFilter implementation + // content::BrowserMessageFilter implementation virtual bool OnMessageReceived(const IPC::Message& message, bool* message_was_ok) OVERRIDE; diff --git a/content/browser/speech/speech_input_dispatcher_host.h b/content/browser/speech/speech_input_dispatcher_host.h index a801ff0..a0b7d46 100644 --- a/content/browser/speech/speech_input_dispatcher_host.h +++ b/content/browser/speech/speech_input_dispatcher_host.h @@ -6,9 +6,9 @@ #define CONTENT_BROWSER_SPEECH_SPEECH_INPUT_DISPATCHER_HOST_H_ #include "base/memory/scoped_ptr.h" -#include "content/browser/browser_message_filter.h" #include "content/browser/speech/speech_input_manager.h" #include "content/common/content_export.h" +#include "content/public/browser/browser_message_filter.h" #include "net/url_request/url_request_context_getter.h" struct SpeechInputHostMsg_StartRecognition_Params; @@ -22,7 +22,7 @@ namespace speech_input { // SpeechInputDispatcherHost is a delegate for Speech API messages used by // RenderMessageFilter. // It's the complement of SpeechInputDispatcher (owned by RenderView). -class SpeechInputDispatcherHost : public BrowserMessageFilter, +class SpeechInputDispatcherHost : public content::BrowserMessageFilter, public SpeechInputManager::Delegate { public: class SpeechInputCallers; @@ -40,7 +40,7 @@ class SpeechInputDispatcherHost : public BrowserMessageFilter, virtual void DidCompleteRecording(int caller_id) OVERRIDE; virtual void DidCompleteRecognition(int caller_id) OVERRIDE; - // BrowserMessageFilter implementation. + // content::BrowserMessageFilter implementation. virtual bool OnMessageReceived(const IPC::Message& message, bool* message_was_ok) OVERRIDE; diff --git a/content/browser/trace_controller.cc b/content/browser/trace_controller.cc index 137c4f7..c7e570d 100644 --- a/content/browser/trace_controller.cc +++ b/content/browser/trace_controller.cc @@ -8,13 +8,14 @@ #include "base/command_line.h" #include "base/debug/trace_event.h" #include "base/string_number_conversions.h" -#include "content/browser/browser_message_filter.h" #include "content/browser/trace_message_filter.h" #include "content/browser/trace_subscriber_stdio.h" #include "content/common/child_process_messages.h" +#include "content/public/browser/browser_message_filter.h" #include "content/public/common/content_switches.h" using base::debug::TraceLog; +using content::BrowserMessageFilter; using content::BrowserThread; namespace { diff --git a/content/browser/trace_message_filter.cc b/content/browser/trace_message_filter.cc index 98528e5..98d43db 100644 --- a/content/browser/trace_message_filter.cc +++ b/content/browser/trace_message_filter.cc @@ -7,6 +7,7 @@ #include "content/browser/trace_controller.h" #include "content/common/child_process_messages.h" +using content::BrowserMessageFilter; using content::BrowserThread; TraceMessageFilter::TraceMessageFilter() : diff --git a/content/browser/trace_message_filter.h b/content/browser/trace_message_filter.h index 42df726..ef0d8fa 100644 --- a/content/browser/trace_message_filter.h +++ b/content/browser/trace_message_filter.h @@ -8,20 +8,20 @@ #include <string> #include <vector> -#include "content/browser/browser_message_filter.h" +#include "content/public/browser/browser_message_filter.h" // This class sends and receives trace messages on the browser process. // See also: trace_controller.h // See also: child_trace_message_filter.h -class TraceMessageFilter : public BrowserMessageFilter { +class TraceMessageFilter : public content::BrowserMessageFilter { public: TraceMessageFilter(); virtual ~TraceMessageFilter(); - // BrowserMessageFilter override. + // content::BrowserMessageFilter override. virtual void OnFilterAdded(IPC::Channel* channel) OVERRIDE; - // BrowserMessageFilter implementation. + // content::BrowserMessageFilter implementation. virtual void OnChannelClosing() OVERRIDE; virtual bool OnMessageReceived(const IPC::Message& message, bool* message_was_ok) OVERRIDE; diff --git a/content/browser/worker_host/worker_message_filter.cc b/content/browser/worker_host/worker_message_filter.cc index 2ce3396..e5f8314 100644 --- a/content/browser/worker_host/worker_message_filter.cc +++ b/content/browser/worker_host/worker_message_filter.cc @@ -10,6 +10,7 @@ #include "content/common/view_messages.h" #include "content/common/worker_messages.h" +using content::BrowserMessageFilter; using content::BrowserThread; WorkerMessageFilter::WorkerMessageFilter( diff --git a/content/browser/worker_host/worker_message_filter.h b/content/browser/worker_host/worker_message_filter.h index a2710ba..39bb567 100644 --- a/content/browser/worker_host/worker_message_filter.h +++ b/content/browser/worker_host/worker_message_filter.h @@ -6,7 +6,7 @@ #define CONTENT_BROWSER_WORKER_HOST_WORKER_MESSAGE_FILTER_H_ #include "base/callback.h" -#include "content/browser/browser_message_filter.h" +#include "content/public/browser/browser_message_filter.h" class ResourceDispatcherHost; struct ViewHostMsg_CreateWorker_Params; @@ -16,7 +16,7 @@ class ResourceContext; } // namespace content -class WorkerMessageFilter : public BrowserMessageFilter { +class WorkerMessageFilter : public content::BrowserMessageFilter { public: typedef base::Callback<int(void)> NextRoutingIDCallback; @@ -28,7 +28,7 @@ class WorkerMessageFilter : public BrowserMessageFilter { ResourceDispatcherHost* resource_dispatcher_host, const NextRoutingIDCallback& callback); - // BrowserMessageFilter implementation. + // content::BrowserMessageFilter implementation. virtual void OnChannelClosing() OVERRIDE; virtual bool OnMessageReceived(const IPC::Message& message, bool* message_was_ok) OVERRIDE; diff --git a/content/content_browser.gypi b/content/content_browser.gypi index 20a7299..0759043 100644 --- a/content/content_browser.gypi +++ b/content/content_browser.gypi @@ -27,6 +27,8 @@ 'sources': [ 'public/browser/browser_context.h', 'public/browser/browser_main_parts.h', + 'public/browser/browser_message_filter.cc', + 'public/browser/browser_message_filter.h', 'public/browser/browser_shutdown.h', 'public/browser/browser_thread.h', 'public/browser/browser_thread_delegate.h', @@ -90,8 +92,6 @@ 'browser/browser_main.h', 'browser/browser_main_loop.cc', 'browser/browser_main_loop.h', - 'browser/browser_message_filter.cc', - 'browser/browser_message_filter.h', 'browser/browser_process_sub_thread.cc', 'browser/browser_process_sub_thread.h', 'browser/browser_thread_impl.cc', diff --git a/content/public/browser/browser_message_filter.cc b/content/public/browser/browser_message_filter.cc new file mode 100644 index 0000000..88f7107 --- /dev/null +++ b/content/public/browser/browser_message_filter.cc @@ -0,0 +1,131 @@ +// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "content/public/browser/browser_message_filter.h" + +#include "base/bind.h" +#include "base/bind_helpers.h" +#include "base/logging.h" +#include "base/process.h" +#include "base/process_util.h" +#include "content/public/browser/user_metrics.h" +#include "content/public/common/result_codes.h" +#include "ipc/ipc_sync_message.h" + +using content::BrowserMessageFilter; + +namespace content { + +BrowserMessageFilter::BrowserMessageFilter() + : channel_(NULL), peer_handle_(base::kNullProcessHandle) { +} + +BrowserMessageFilter::~BrowserMessageFilter() { + base::CloseProcessHandle(peer_handle_); +} + +void BrowserMessageFilter::OnFilterAdded(IPC::Channel* channel) { + channel_ = channel; +} + +void BrowserMessageFilter::OnChannelClosing() { + channel_ = NULL; +} + +void BrowserMessageFilter::OnChannelConnected(int32 peer_pid) { + if (!base::OpenProcessHandle(peer_pid, &peer_handle_)) { + NOTREACHED(); + } +} + +bool BrowserMessageFilter::Send(IPC::Message* message) { + if (message->is_sync()) { + // We don't support sending synchronous messages from the browser. If we + // really needed it, we can make this class derive from SyncMessageFilter + // but it seems better to not allow sending synchronous messages from the + // browser, since it might allow a corrupt/malicious renderer to hang us. + NOTREACHED() << "Can't send sync message through BrowserMessageFilter!"; + return false; + } + + if (!BrowserThread::CurrentlyOn(BrowserThread::IO)) { + BrowserThread::PostTask( + BrowserThread::IO, + FROM_HERE, + base::IgnoreReturn<bool>( + base::Bind(&BrowserMessageFilter::Send, this, message))); + return true; + } + + if (channel_) + return channel_->Send(message); + + delete message; + return false; +} + +void BrowserMessageFilter::OverrideThreadForMessage(const IPC::Message& message, + BrowserThread::ID* thread) { +} + +bool BrowserMessageFilter::OnMessageReceived(const IPC::Message& message) { + BrowserThread::ID thread = BrowserThread::IO; + OverrideThreadForMessage(message, &thread); + if (thread == BrowserThread::IO) + return DispatchMessage(message); + + if (thread == BrowserThread::UI && !CheckCanDispatchOnUI(message, this)) + return true; + + BrowserThread::PostTask( + thread, FROM_HERE, + base::IgnoreReturn<bool>( + base::Bind(&BrowserMessageFilter::DispatchMessage, this, message))); + return true; +} + +bool BrowserMessageFilter::DispatchMessage(const IPC::Message& message) { + bool message_was_ok = true; + bool rv = OnMessageReceived(message, &message_was_ok); + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO) || rv) << + "Must handle messages that were dispatched to another thread!"; + if (!message_was_ok) { + content::RecordAction(UserMetricsAction("BadMessageTerminate_BMF")); + BadMessageReceived(); + } + + return rv; +} + +void BrowserMessageFilter::BadMessageReceived() { + base::KillProcess(peer_handle(), content::RESULT_CODE_KILLED_BAD_MESSAGE, + false); +} + +bool BrowserMessageFilter::CheckCanDispatchOnUI(const IPC::Message& message, + IPC::Message::Sender* sender) { +#if defined(OS_WIN) && !defined(USE_AURA) + // On Windows there's a potential deadlock with sync messsages going in + // a circle from browser -> plugin -> renderer -> browser. + // On Linux we can avoid this by avoiding sync messages from browser->plugin. + // On Mac we avoid this by not supporting windowed plugins. + if (message.is_sync() && !message.is_caller_pumping_messages()) { + // NOTE: IF YOU HIT THIS ASSERT, THE SOLUTION IS ALMOST NEVER TO RUN A + // NESTED MESSAGE LOOP IN THE RENDERER!!! + // That introduces reentrancy which causes hard to track bugs. You should + // find a way to either turn this into an asynchronous message, or one + // that can be answered on the IO thread. + NOTREACHED() << "Can't send sync messages to UI thread without pumping " + "messages in the renderer or else deadlocks can occur if the page " + "has windowed plugins! (message type " << message.type() << ")"; + IPC::Message* reply = IPC::SyncMessage::GenerateReply(&message); + reply->set_reply_error(); + sender->Send(reply); + return false; + } +#endif + return true; +} + +} // namespace content diff --git a/content/public/browser/browser_message_filter.h b/content/public/browser/browser_message_filter.h new file mode 100644 index 0000000..16c23e7 --- /dev/null +++ b/content/public/browser/browser_message_filter.h @@ -0,0 +1,75 @@ +// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CONTENT_PUBLIC_BROWSER_BROWSER_MESSAGE_FILTER_H_ +#define CONTENT_PUBLIC_BROWSER_BROWSER_MESSAGE_FILTER_H_ +#pragma once + +#include "base/process.h" +#include "content/common/content_export.h" +#include "content/public/browser/browser_thread.h" +#include "ipc/ipc_channel_proxy.h" + +namespace content { + +// Base class for message filters in the browser process. You can receive and +// send messages on any thread. +class CONTENT_EXPORT BrowserMessageFilter : + public IPC::ChannelProxy::MessageFilter, + public IPC::Message::Sender { + public: + BrowserMessageFilter(); + virtual ~BrowserMessageFilter(); + + // IPC::ChannelProxy::MessageFilter methods. If you override them, make sure + // to call them as well. These are always called on the IO thread. + virtual void OnFilterAdded(IPC::Channel* channel) OVERRIDE; + virtual void OnChannelClosing() OVERRIDE; + virtual void OnChannelConnected(int32 peer_pid) OVERRIDE; + // DON'T OVERRIDE THIS! Override the other version below. + virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE; + + // IPC::Message::Sender implementation. Can be called on any thread. Can't + // send sync messages (since we don't want to block the browser on any other + // process). + virtual bool Send(IPC::Message* message) OVERRIDE; + + // If you want the given message to be dispatched to your OnMessageReceived on + // a different thread, change |thread| to the id of the target thread. + // If you don't handle this message, or want to keep it on the IO thread, do + // nothing. + virtual void OverrideThreadForMessage(const IPC::Message& message, + content::BrowserThread::ID* thread); + + // Override this to receive messages. + // Your function will normally be called on the IO thread. However, if your + // OverrideThreadForMessage modifies the thread used to dispatch the message, + // your function will be called on the requested thread. + virtual bool OnMessageReceived(const IPC::Message& message, + bool* message_was_ok) = 0; + + // Can be called on any thread, after OnChannelConnected is called. + base::ProcessHandle peer_handle() { return peer_handle_; } + + // Checks that the given message can be dispatched on the UI thread, depending + // on the platform. If not, returns false and an error ot the sender. + static bool CheckCanDispatchOnUI(const IPC::Message& message, + IPC::Message::Sender* sender); + + protected: + // Call this if a message couldn't be deserialized. This kills the renderer. + // Can be called on any thread. + virtual void BadMessageReceived(); + + private: + // Dispatches a message to the derived class. + bool DispatchMessage(const IPC::Message& message); + + IPC::Channel* channel_; + base::ProcessHandle peer_handle_; +}; + +} // namespace content + +#endif // CONTENT_PUBLIC_BROWSER_BROWSER_MESSAGE_FILTER_H_ |