| Index: chrome/browser/renderer_host/resource_message_filter.h
|
| ===================================================================
|
| --- chrome/browser/renderer_host/resource_message_filter.h (revision 69057)
|
| +++ chrome/browser/renderer_host/resource_message_filter.h (working copy)
|
| @@ -1,539 +0,0 @@
|
| -// Copyright (c) 2010 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 CHROME_BROWSER_RENDERER_HOST_RESOURCE_MESSAGE_FILTER_H_
|
| -#define CHROME_BROWSER_RENDERER_HOST_RESOURCE_MESSAGE_FILTER_H_
|
| -#pragma once
|
| -
|
| -#if defined(OS_WIN)
|
| -#include <windows.h>
|
| -#endif
|
| -
|
| -#include <string>
|
| -#include <vector>
|
| -
|
| -#include "app/clipboard/clipboard.h"
|
| -#include "app/surface/transport_dib.h"
|
| -#include "base/callback.h"
|
| -#include "base/file_path.h"
|
| -#include "base/linked_ptr.h"
|
| -#include "base/process.h"
|
| -#include "base/ref_counted.h"
|
| -#include "base/string16.h"
|
| -#include "base/task.h"
|
| -#include "build/build_config.h"
|
| -#include "chrome/browser/in_process_webkit/webkit_context.h"
|
| -#include "chrome/browser/net/resolve_proxy_msg_helper.h"
|
| -#include "chrome/browser/renderer_host/resource_dispatcher_host.h"
|
| -#include "chrome/common/content_settings.h"
|
| -#include "gfx/native_widget_types.h"
|
| -#include "ipc/ipc_channel_proxy.h"
|
| -#include "third_party/WebKit/WebKit/chromium/public/WebCache.h"
|
| -#include "third_party/WebKit/WebKit/chromium/public/WebPopupType.h"
|
| -
|
| -class ChromeURLRequestContext;
|
| -struct FontDescriptor;
|
| -class GeolocationDispatcherHostOld;
|
| -class HostZoomMap;
|
| -class NotificationsPrefsCache;
|
| -class PpapiPluginProcessHost;
|
| -class Profile;
|
| -class RenderWidgetHelper;
|
| -class URLRequestContextGetter;
|
| -struct ViewHostMsg_CreateWindow_Params;
|
| -struct ViewHostMsg_CreateWorker_Params;
|
| -struct WebPluginInfo;
|
| -
|
| -namespace base {
|
| -struct PlatformFileInfo;
|
| -class SharedMemory;
|
| -}
|
| -
|
| -namespace net {
|
| -class CookieStore;
|
| -}
|
| -
|
| -namespace printing {
|
| -class PrinterQuery;
|
| -class PrintJobManager;
|
| -}
|
| -
|
| -namespace webkit_glue {
|
| -struct WebCookie;
|
| -}
|
| -
|
| -struct ViewHostMsg_ScriptedPrint_Params;
|
| -#if defined(OS_POSIX) && !defined(OS_MACOSX)
|
| -struct ViewHostMsg_DidPrintPage_Params;
|
| -#endif
|
| -
|
| -// This class filters out incoming IPC messages for network requests and
|
| -// processes them on the IPC thread. As a result, network requests are not
|
| -// 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 ResourceMessageFilter : public IPC::ChannelProxy::MessageFilter,
|
| - public ResourceDispatcherHost::Receiver,
|
| - public ResolveProxyMsgHelper::Delegate {
|
| - public:
|
| - // Create the filter.
|
| - ResourceMessageFilter(ResourceDispatcherHost* resource_dispatcher_host,
|
| - int child_id,
|
| - PluginService* plugin_service,
|
| - printing::PrintJobManager* print_job_manager,
|
| - Profile* profile,
|
| - RenderWidgetHelper* render_widget_helper);
|
| -
|
| - // IPC::ChannelProxy::MessageFilter methods:
|
| - virtual void OnFilterAdded(IPC::Channel* channel);
|
| - virtual void OnChannelConnected(int32 peer_pid);
|
| - virtual void OnChannelError();
|
| - virtual void OnChannelClosing();
|
| - virtual bool OnMessageReceived(const IPC::Message& message);
|
| - virtual void OnDestruct() const;
|
| -
|
| - // ResourceDispatcherHost::Receiver methods:
|
| - virtual bool Send(IPC::Message* message);
|
| - virtual URLRequestContext* GetRequestContext(
|
| - uint32 request_id,
|
| - const ViewHostMsg_Resource_Request& request_data);
|
| -
|
| - ResourceDispatcherHost* resource_dispatcher_host() {
|
| - return resource_dispatcher_host_;
|
| - }
|
| - bool off_the_record() { return off_the_record_; }
|
| - CallbackWithReturnValue<int>::Type* next_route_id_callback() {
|
| - return next_route_id_callback_.get();
|
| - }
|
| -
|
| - // Returns either the extension URLRequestContext or regular URLRequestContext
|
| - // depending on whether |url| is an extension URL.
|
| - // Only call on the IO thread.
|
| - ChromeURLRequestContext* GetRequestContextForURL(const GURL& url);
|
| -
|
| - private:
|
| - friend class BrowserThread;
|
| - friend class DeleteTask<ResourceMessageFilter>;
|
| -
|
| - virtual ~ResourceMessageFilter();
|
| -
|
| - void OnMsgCreateWindow(const ViewHostMsg_CreateWindow_Params& params,
|
| - int* route_id,
|
| - int64* cloned_session_storage_namespace_id);
|
| - void OnMsgCreateWidget(int opener_id,
|
| - WebKit::WebPopupType popup_type,
|
| - int* route_id);
|
| - void OnMsgCreateFullscreenWidget(int opener_id,
|
| - WebKit::WebPopupType popup_type,
|
| - int* route_id);
|
| - void OnSetCookie(const IPC::Message& message,
|
| - const GURL& url,
|
| - const GURL& first_party_for_cookies,
|
| - const std::string& cookie);
|
| - void OnGetCookies(const GURL& url,
|
| - const GURL& first_party_for_cookies,
|
| - IPC::Message* reply_msg);
|
| - void OnGetRawCookies(const GURL& url,
|
| - const GURL& first_party_for_cookies,
|
| - IPC::Message* reply_msg);
|
| - void OnDeleteCookie(const GURL& url,
|
| - const std::string& cookieName);
|
| - void OnCookiesEnabled(const GURL& url,
|
| - const GURL& first_party_for_cookies,
|
| - IPC::Message* reply_msg);
|
| - void OnPluginFileDialog(const IPC::Message& msg,
|
| - bool multiple_files,
|
| - const std::wstring& title,
|
| - const std::wstring& filter,
|
| - uint32 user_data);
|
| -
|
| -#if defined(OS_MACOSX)
|
| - void OnLoadFont(const FontDescriptor& font,
|
| - uint32* handle_size,
|
| - base::SharedMemoryHandle* handle);
|
| -#endif
|
| -
|
| -#if defined(OS_WIN) // This hack is Windows-specific.
|
| - // Cache fonts for the renderer. See ResourceMessageFilter::OnPreCacheFont
|
| - // implementation for more details.
|
| - void OnPreCacheFont(LOGFONT font);
|
| -#endif
|
| -
|
| -#if !defined(OS_MACOSX)
|
| - // Not handled in the IO thread on Mac.
|
| - void OnGetScreenInfo(gfx::NativeViewId window, IPC::Message* reply);
|
| -#endif
|
| - void OnGetPlugins(bool refresh, IPC::Message* reply_msg);
|
| - void OnGetPluginsOnFileThread(bool refresh, IPC::Message* reply_msg);
|
| - void OnGetPluginInfo(const GURL& url,
|
| - const GURL& policy_url,
|
| - const std::string& mime_type,
|
| - IPC::Message* reply_msg);
|
| - void OnGetPluginInfoOnFileThread(const GURL& url,
|
| - const GURL& policy_url,
|
| - const std::string& mime_type,
|
| - IPC::Message* reply_msg);
|
| - void OnGotPluginInfo(bool found,
|
| - const WebPluginInfo& info,
|
| - const std::string& actual_mime_type,
|
| - const GURL& policy_url,
|
| - IPC::Message* reply_msg);
|
| - void OnOpenChannelToPlugin(const GURL& url,
|
| - const std::string& mime_type,
|
| - IPC::Message* reply_msg);
|
| - void OnOpenChannelToPepperPlugin(const FilePath& path,
|
| - IPC::Message* reply_msg);
|
| - void OnLaunchNaCl(const std::wstring& url,
|
| - int channel_descriptor,
|
| - IPC::Message* reply_msg);
|
| - void OnCreateWorker(const ViewHostMsg_CreateWorker_Params& params,
|
| - int* route_id);
|
| - void OnLookupSharedWorker(const ViewHostMsg_CreateWorker_Params& params,
|
| - bool* exists,
|
| - int* route_id,
|
| - bool* url_error);
|
| - void OnDocumentDetached(unsigned long long document_id);
|
| - void OnCancelCreateDedicatedWorker(int route_id);
|
| - void OnForwardToWorker(const IPC::Message& msg);
|
| - void OnDownloadUrl(const IPC::Message& message,
|
| - const GURL& url,
|
| - const GURL& referrer);
|
| - void OnPlatformCheckSpelling(const string16& word, int tag, bool* correct);
|
| - void OnPlatformFillSuggestionList(const string16& word,
|
| - std::vector<string16>* suggestions);
|
| - void OnGetDocumentTag(IPC::Message* reply_msg);
|
| - void OnDocumentWithTagClosed(int tag);
|
| - void OnShowSpellingPanel(bool show);
|
| - void OnUpdateSpellingPanelWithMisspelledWord(const string16& word);
|
| - void OnDnsPrefetch(const std::vector<std::string>& hostnames);
|
| - void OnRendererHistograms(int sequence_number,
|
| - const std::vector<std::string>& histogram_info);
|
| -#if defined(USE_TCMALLOC)
|
| - void OnRendererTcmalloc(base::ProcessId pid, const std::string& output);
|
| -#endif
|
| - void OnReceiveContextMenuMsg(const IPC::Message& msg);
|
| - // Clipboard messages
|
| - void OnClipboardWriteObjectsAsync(const Clipboard::ObjectMap& objects);
|
| - void OnClipboardWriteObjectsSync(const Clipboard::ObjectMap& objects,
|
| - base::SharedMemoryHandle bitmap_handle);
|
| -
|
| - void OnClipboardIsFormatAvailable(Clipboard::FormatType format,
|
| - Clipboard::Buffer buffer,
|
| - IPC::Message* reply);
|
| - void OnClipboardReadText(Clipboard::Buffer buffer, IPC::Message* reply);
|
| - void OnClipboardReadAsciiText(Clipboard::Buffer buffer, IPC::Message* reply);
|
| - void OnClipboardReadHTML(Clipboard::Buffer buffer, IPC::Message* reply);
|
| -#if defined(OS_MACOSX)
|
| - void OnClipboardFindPboardWriteString(const string16& text);
|
| -#endif
|
| - void OnClipboardReadAvailableTypes(Clipboard::Buffer buffer,
|
| - IPC::Message* reply);
|
| - void OnClipboardReadData(Clipboard::Buffer buffer, const string16& type,
|
| - IPC::Message* reply);
|
| - void OnClipboardReadFilenames(Clipboard::Buffer buffer, IPC::Message* reply);
|
| -
|
| - void OnCheckNotificationPermission(const GURL& source_url,
|
| - int* permission_level);
|
| -
|
| -#if !defined(OS_MACOSX)
|
| - // Not handled in the IO thread on Mac.
|
| - void OnGetWindowRect(gfx::NativeViewId window, IPC::Message* reply);
|
| - void OnGetRootWindowRect(gfx::NativeViewId window, IPC::Message* reply);
|
| -#endif
|
| -
|
| - void OnRevealFolderInOS(const FilePath& path);
|
| - void OnGetCPBrowsingContext(uint32* context);
|
| -
|
| -#if defined(OS_WIN)
|
| - // Used to pass resulting EMF from renderer to browser in printing.
|
| - void OnDuplicateSection(base::SharedMemoryHandle renderer_handle,
|
| - base::SharedMemoryHandle* browser_handle);
|
| -#endif
|
| -
|
| -#if defined(OS_POSIX) && !defined(OS_MACOSX)
|
| - // Used to ask the browser allocate a temporary file for the renderer
|
| - // to fill in resulting PDF in renderer.
|
| - void OnAllocateTempFileForPrinting(IPC::Message* reply_msg);
|
| - void OnTempFileForPrintingWritten(int fd_in_browser);
|
| -#endif
|
| -
|
| -#if defined(OS_POSIX)
|
| - // Used to ask the browser to allocate a block of shared memory for the
|
| - // renderer to send back data in, since shared memory can't be created
|
| - // in the renderer on POSIX due to the sandbox.
|
| - void OnAllocateSharedMemoryBuffer(uint32 buffer_size,
|
| - base::SharedMemoryHandle* handle);
|
| -#endif
|
| -
|
| - void OnResourceTypeStats(const WebKit::WebCache::ResourceTypeStats& stats);
|
| - static void OnResourceTypeStatsOnUIThread(
|
| - const WebKit::WebCache::ResourceTypeStats&,
|
| - base::ProcessId renderer_id);
|
| -
|
| - void OnV8HeapStats(int v8_memory_allocated, int v8_memory_used);
|
| - static void OnV8HeapStatsOnUIThread(int v8_memory_allocated,
|
| - int v8_memory_used,
|
| - base::ProcessId renderer_id);
|
| -
|
| - void OnDidZoomURL(const IPC::Message& message,
|
| - double zoom_level,
|
| - bool remember,
|
| - const GURL& url);
|
| - void UpdateHostZoomLevelsOnUIThread(double zoom_level,
|
| - bool remember,
|
| - const GURL& url,
|
| - int render_process_id,
|
| - int render_view_id);
|
| -
|
| - void OnResolveProxy(const GURL& url, IPC::Message* reply_msg);
|
| -
|
| - // ResolveProxyMsgHelper::Delegate implementation:
|
| - virtual void OnResolveProxyCompleted(IPC::Message* reply_msg,
|
| - int result,
|
| - const std::string& proxy_list);
|
| -
|
| - // A javascript code requested to print the current page. This is done in two
|
| - // steps and this is the first step. Get the print setting right here
|
| - // synchronously. It will hang the I/O completely.
|
| - void OnGetDefaultPrintSettings(IPC::Message* reply_msg);
|
| - void OnGetDefaultPrintSettingsReply(
|
| - scoped_refptr<printing::PrinterQuery> printer_query,
|
| - IPC::Message* reply_msg);
|
| -
|
| - // A javascript code requested to print the current page. The renderer host
|
| - // have to show to the user the print dialog and returns the selected print
|
| - // settings.
|
| - void OnScriptedPrint(const ViewHostMsg_ScriptedPrint_Params& params,
|
| - IPC::Message* reply_msg);
|
| - void OnScriptedPrintReply(
|
| - scoped_refptr<printing::PrinterQuery> printer_query,
|
| - int routing_id,
|
| - IPC::Message* reply_msg);
|
| -
|
| - // Browser side transport DIB allocation
|
| - void OnAllocTransportDIB(size_t size,
|
| - bool cache_in_browser,
|
| - TransportDIB::Handle* result);
|
| - void OnFreeTransportDIB(TransportDIB::Id dib_id);
|
| -
|
| - void OnOpenChannelToExtension(int routing_id,
|
| - const std::string& source_extension_id,
|
| - const std::string& target_extension_id,
|
| - const std::string& channel_name, int* port_id);
|
| - void OpenChannelToExtensionOnUIThread(int source_process_id,
|
| - int source_routing_id,
|
| - int receiver_port_id,
|
| - const std::string& source_extension_id,
|
| - const std::string& target_extension_id,
|
| - const std::string& channel_name);
|
| - void OnOpenChannelToTab(int routing_id, int tab_id,
|
| - const std::string& extension_id,
|
| - const std::string& channel_name, int* port_id);
|
| - void OpenChannelToTabOnUIThread(int source_process_id, int source_routing_id,
|
| - int receiver_port_id,
|
| - int tab_id, const std::string& extension_id,
|
| - const std::string& channel_name);
|
| -
|
| - void OnCloseCurrentConnections();
|
| - void OnSetCacheMode(bool enabled);
|
| - void OnClearCache(IPC::Message* reply_msg);
|
| - void OnCacheableMetadataAvailable(const GURL& url,
|
| - double expected_response_time,
|
| - const std::vector<char>& data);
|
| - void OnEnableSpdy(bool enable);
|
| - void OnKeygen(uint32 key_size_index, const std::string& challenge_string,
|
| - const GURL& url, IPC::Message* reply_msg);
|
| - void OnKeygenOnWorkerThread(
|
| - int key_size_in_bits,
|
| - const std::string& challenge_string,
|
| - const GURL& url,
|
| - IPC::Message* reply_msg);
|
| - void OnGetExtensionMessageBundle(const std::string& extension_id,
|
| - IPC::Message* reply_msg);
|
| - void OnGetExtensionMessageBundleOnFileThread(
|
| - const FilePath& extension_path,
|
| - const std::string& extension_id,
|
| - const std::string& default_locale,
|
| - IPC::Message* reply_msg);
|
| - void OnEstablishGpuChannel();
|
| - void OnSynchronizeGpu(IPC::Message* reply);
|
| -
|
| - void OnAsyncOpenFile(const IPC::Message& msg,
|
| - const FilePath& path,
|
| - int flags,
|
| - int message_id);
|
| - void AsyncOpenFileOnFileThread(const FilePath& path,
|
| - int flags,
|
| - int message_id,
|
| - int routing_id);
|
| -
|
| -#if defined(USE_X11)
|
| - void SendDelayedReply(IPC::Message* reply_msg);
|
| - void DoOnGetScreenInfo(gfx::NativeViewId view, IPC::Message* reply_msg);
|
| - void DoOnGetWindowRect(gfx::NativeViewId view, IPC::Message* reply_msg);
|
| - void DoOnGetRootWindowRect(gfx::NativeViewId view, IPC::Message* reply_msg);
|
| - void DoOnClipboardIsFormatAvailable(Clipboard::FormatType format,
|
| - Clipboard::Buffer buffer,
|
| - IPC::Message* reply_msg);
|
| - void DoOnClipboardReadText(Clipboard::Buffer buffer, IPC::Message* reply_msg);
|
| - void DoOnClipboardReadAsciiText(Clipboard::Buffer buffer,
|
| - IPC::Message* reply_msg);
|
| - void DoOnClipboardReadHTML(Clipboard::Buffer buffer, IPC::Message* reply_msg);
|
| - void DoOnClipboardReadAvailableTypes(Clipboard::Buffer buffer,
|
| - IPC::Message* reply_msg);
|
| - void DoOnClipboardReadData(Clipboard::Buffer buffer, const string16& type,
|
| - IPC::Message* reply_msg);
|
| - void DoOnClipboardReadFilenames(Clipboard::Buffer buffer,
|
| - IPC::Message* reply_msg);
|
| - void DoOnAllocateTempFileForPrinting(IPC::Message* reply_msg);
|
| -#endif
|
| -
|
| - bool CheckBenchmarkingEnabled() const;
|
| - bool CheckPreparsedJsCachingEnabled() const;
|
| -
|
| - // We have our own clipboard because we want to access the clipboard on the
|
| - // IO thread instead of forwarding (possibly synchronous) messages to the UI
|
| - // thread. This instance of the clipboard should be accessed only on the IO
|
| - // thread.
|
| - static Clipboard* GetClipboard();
|
| -
|
| - // The channel associated with the renderer connection. This pointer is not
|
| - // owned by this class.
|
| - IPC::Channel* channel_;
|
| -
|
| - // Cached resource request dispatcher host and plugin service, guaranteed to
|
| - // be non-null if Init succeeds. We do not own the objects, they are managed
|
| - // by the BrowserProcess, which has a wider scope than we do.
|
| - ResourceDispatcherHost* resource_dispatcher_host_;
|
| - PluginService* plugin_service_;
|
| - printing::PrintJobManager* print_job_manager_;
|
| -
|
| - // The Profile associated with our renderer process. This should only be
|
| - // accessed on the UI thread!
|
| - Profile* profile_;
|
| -
|
| - // Helper class for handling PluginProcessHost_ResolveProxy messages (manages
|
| - // the requests to the proxy service).
|
| - ResolveProxyMsgHelper resolve_proxy_msg_helper_;
|
| -
|
| - // Contextual information to be used for requests created here.
|
| - scoped_refptr<URLRequestContextGetter> request_context_;
|
| -
|
| - // A request context specific for media resources.
|
| - scoped_refptr<URLRequestContextGetter> media_request_context_;
|
| -
|
| - // A request context that holds a cookie store for chrome-extension URLs.
|
| - scoped_refptr<URLRequestContextGetter> extensions_request_context_;
|
| -
|
| - scoped_refptr<RenderWidgetHelper> render_widget_helper_;
|
| -
|
| - // A cache of notifications preferences which is used to handle
|
| - // Desktop Notifications permission messages.
|
| - scoped_refptr<NotificationsPrefsCache> notification_prefs_;
|
| -
|
| - // Handles zoom-related messages.
|
| - scoped_refptr<HostZoomMap> host_zoom_map_;
|
| -
|
| - // Whether this process is used for off the record tabs.
|
| - bool off_the_record_;
|
| -
|
| - bool cloud_print_enabled_;
|
| -
|
| - base::TimeTicks last_plugin_refresh_time_; // Initialized to 0.
|
| -
|
| - // A list of all Ppapi plugin processes for this renderer.
|
| - std::vector<linked_ptr<PpapiPluginProcessHost> > ppapi_plugin_hosts_;
|
| -
|
| - // A callback to create a routing id for the associated renderer process.
|
| - scoped_ptr<CallbackWithReturnValue<int>::Type> next_route_id_callback_;
|
| -
|
| - // Used to handle geolocation-related messages.
|
| - scoped_refptr<GeolocationDispatcherHostOld> geolocation_dispatcher_host_;
|
| -
|
| - scoped_refptr<WebKitContext> webkit_context_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(ResourceMessageFilter);
|
| -};
|
| -
|
| -// These classes implement completion callbacks for getting and setting
|
| -// cookies.
|
| -class SetCookieCompletion : public net::CompletionCallback {
|
| - public:
|
| - SetCookieCompletion(int render_process_id,
|
| - int render_view_id,
|
| - const GURL& url,
|
| - const std::string& cookie_line,
|
| - ChromeURLRequestContext* context);
|
| - virtual ~SetCookieCompletion();
|
| -
|
| - virtual void RunWithParams(const Tuple1<int>& params);
|
| -
|
| - int render_process_id() const {
|
| - return render_process_id_;
|
| - }
|
| -
|
| - int render_view_id() const {
|
| - return render_view_id_;
|
| - }
|
| -
|
| - private:
|
| - int render_process_id_;
|
| - int render_view_id_;
|
| - GURL url_;
|
| - std::string cookie_line_;
|
| - scoped_refptr<ChromeURLRequestContext> context_;
|
| -};
|
| -
|
| -class GetCookiesCompletion : public net::CompletionCallback {
|
| - public:
|
| - GetCookiesCompletion(int render_process_id,
|
| - int render_view_id,
|
| - const GURL& url, IPC::Message* reply_msg,
|
| - ResourceMessageFilter* filter,
|
| - ChromeURLRequestContext* context,
|
| - bool raw_cookies);
|
| - virtual ~GetCookiesCompletion();
|
| -
|
| - virtual void RunWithParams(const Tuple1<int>& params);
|
| -
|
| - int render_process_id() const {
|
| - return render_process_id_;
|
| - }
|
| -
|
| - int render_view_id() const {
|
| - return render_view_id_;
|
| - }
|
| -
|
| - void set_cookie_store(net::CookieStore* cookie_store);
|
| -
|
| - net::CookieStore* cookie_store() {
|
| - return cookie_store_.get();
|
| - }
|
| -
|
| - private:
|
| - GURL url_;
|
| - IPC::Message* reply_msg_;
|
| - scoped_refptr<ResourceMessageFilter> filter_;
|
| - scoped_refptr<ChromeURLRequestContext> context_;
|
| - int render_process_id_;
|
| - int render_view_id_;
|
| - bool raw_cookies_;
|
| - scoped_refptr<net::CookieStore> cookie_store_;
|
| -};
|
| -
|
| -class CookiesEnabledCompletion : public net::CompletionCallback {
|
| - public:
|
| - CookiesEnabledCompletion(IPC::Message* reply_msg,
|
| - ResourceMessageFilter* filter);
|
| - virtual ~CookiesEnabledCompletion();
|
| -
|
| - virtual void RunWithParams(const Tuple1<int>& params);
|
| -
|
| - private:
|
| - IPC::Message* reply_msg_;
|
| - scoped_refptr<ResourceMessageFilter> filter_;
|
| -};
|
| -
|
| -#endif // CHROME_BROWSER_RENDERER_HOST_RESOURCE_MESSAGE_FILTER_H_
|
|
|