OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CONTENT_BROWSER_RENDERER_HOST_RENDER_MESSAGE_FILTER_H_ | 5 #ifndef CONTENT_BROWSER_RENDERER_HOST_RENDER_MESSAGE_FILTER_H_ |
6 #define CONTENT_BROWSER_RENDERER_HOST_RENDER_MESSAGE_FILTER_H_ | 6 #define CONTENT_BROWSER_RENDERER_HOST_RENDER_MESSAGE_FILTER_H_ |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 #include <stdint.h> | 9 #include <stdint.h> |
10 | 10 |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
89 | 89 |
90 namespace content { | 90 namespace content { |
91 class BrowserContext; | 91 class BrowserContext; |
92 class CacheStorageContextImpl; | 92 class CacheStorageContextImpl; |
93 class CacheStorageCache; | 93 class CacheStorageCache; |
94 class DOMStorageContextWrapper; | 94 class DOMStorageContextWrapper; |
95 class MediaInternals; | 95 class MediaInternals; |
96 class RenderWidgetHelper; | 96 class RenderWidgetHelper; |
97 class ResourceContext; | 97 class ResourceContext; |
98 class ResourceDispatcherHostImpl; | 98 class ResourceDispatcherHostImpl; |
99 struct Referrer; | |
100 | 99 |
101 // This class filters out incoming IPC messages for the renderer process on the | 100 // This class filters out incoming IPC messages for the renderer process on the |
102 // IPC thread. | 101 // IPC thread. |
103 class CONTENT_EXPORT RenderMessageFilter : public BrowserMessageFilter { | 102 class CONTENT_EXPORT RenderMessageFilter : public BrowserMessageFilter { |
104 public: | 103 public: |
105 // Create the filter. | 104 // Create the filter. |
106 RenderMessageFilter(int render_process_id, | 105 RenderMessageFilter(int render_process_id, |
107 BrowserContext* browser_context, | 106 BrowserContext* browser_context, |
108 net::URLRequestContextGetter* request_context, | 107 net::URLRequestContextGetter* request_context, |
109 RenderWidgetHelper* render_widget_helper, | 108 RenderWidgetHelper* render_widget_helper, |
110 media::AudioManager* audio_manager, | 109 media::AudioManager* audio_manager, |
111 MediaInternals* media_internals, | 110 MediaInternals* media_internals, |
112 DOMStorageContextWrapper* dom_storage_context, | 111 DOMStorageContextWrapper* dom_storage_context, |
113 CacheStorageContextImpl* cache_storage_context); | 112 CacheStorageContextImpl* cache_storage_context); |
114 | 113 |
115 // BrowserMessageFilter methods: | 114 // BrowserMessageFilter methods: |
116 bool OnMessageReceived(const IPC::Message& message) override; | 115 bool OnMessageReceived(const IPC::Message& message) override; |
117 void OnDestruct() const override; | 116 void OnDestruct() const override; |
118 void OverrideThreadForMessage(const IPC::Message& message, | 117 void OverrideThreadForMessage(const IPC::Message& message, |
119 BrowserThread::ID* thread) override; | 118 BrowserThread::ID* thread) override; |
120 base::TaskRunner* OverrideTaskRunnerForMessage( | 119 base::TaskRunner* OverrideTaskRunnerForMessage( |
121 const IPC::Message& message) override; | 120 const IPC::Message& message) override; |
122 | 121 |
123 int render_process_id() const { return render_process_id_; } | 122 int render_process_id() const { return render_process_id_; } |
124 | 123 |
125 protected: | 124 protected: |
126 ~RenderMessageFilter() override; | 125 ~RenderMessageFilter() override; |
127 | 126 |
128 // This method will be overridden by TestSaveImageFromDataURL class for test. | |
129 virtual void DownloadUrl(int render_view_id, | |
130 int render_frame_id, | |
131 const GURL& url, | |
132 const Referrer& referrer, | |
133 const base::string16& suggested_name, | |
134 const bool use_prompt) const; | |
135 | |
136 private: | 127 private: |
137 friend class BrowserThread; | 128 friend class BrowserThread; |
138 friend class base::DeleteHelper<RenderMessageFilter>; | 129 friend class base::DeleteHelper<RenderMessageFilter>; |
139 | 130 |
140 void OnGetProcessMemorySizes(size_t* private_bytes, size_t* shared_bytes); | 131 void OnGetProcessMemorySizes(size_t* private_bytes, size_t* shared_bytes); |
141 void OnCreateWindow(const ViewHostMsg_CreateWindow_Params& params, | 132 void OnCreateWindow(const ViewHostMsg_CreateWindow_Params& params, |
142 ViewHostMsg_CreateWindow_Reply* reply); | 133 ViewHostMsg_CreateWindow_Reply* reply); |
143 void OnCreateWidget(int opener_id, | 134 void OnCreateWidget(int opener_id, |
144 blink::WebPopupType popup_type, | 135 blink::WebPopupType popup_type, |
145 int* route_id); | 136 int* route_id); |
146 void OnCreateFullscreenWidget(int opener_id, int* route_id); | 137 void OnCreateFullscreenWidget(int opener_id, int* route_id); |
147 | 138 |
148 #if defined(OS_MACOSX) | 139 #if defined(OS_MACOSX) |
149 // Messages for OOP font loading. | 140 // Messages for OOP font loading. |
150 void OnLoadFont(const FontDescriptor& font, IPC::Message* reply_msg); | 141 void OnLoadFont(const FontDescriptor& font, IPC::Message* reply_msg); |
151 void SendLoadFontReply(IPC::Message* reply, FontLoader::Result* result); | 142 void SendLoadFontReply(IPC::Message* reply, FontLoader::Result* result); |
152 #elif defined(OS_WIN) | 143 #elif defined(OS_WIN) |
153 void OnPreCacheFontCharacters(const LOGFONT& log_font, | 144 void OnPreCacheFontCharacters(const LOGFONT& log_font, |
154 const base::string16& characters); | 145 const base::string16& characters); |
155 #endif | 146 #endif |
156 | 147 |
157 void OnGenerateRoutingID(int* route_id); | 148 void OnGenerateRoutingID(int* route_id); |
158 void OnDownloadUrl(int render_view_id, | |
159 int render_frame_id, | |
160 const GURL& url, | |
161 const Referrer& referrer, | |
162 const base::string16& suggested_name); | |
163 void OnSaveImageFromDataURL(int render_view_id, | |
164 int render_frame_id, | |
165 const std::string& url_str); | |
166 | 149 |
167 void OnGetAudioHardwareConfig(media::AudioParameters* input_params, | 150 void OnGetAudioHardwareConfig(media::AudioParameters* input_params, |
168 media::AudioParameters* output_params); | 151 media::AudioParameters* output_params); |
169 | 152 |
170 #if defined(OS_WIN) | 153 #if defined(OS_WIN) |
171 // Used to look up the monitor color profile. | 154 // Used to look up the monitor color profile. |
172 void OnGetMonitorColorProfile(std::vector<char>* profile); | 155 void OnGetMonitorColorProfile(std::vector<char>* profile); |
173 #endif | 156 #endif |
174 | 157 |
175 // Message handlers called on the browser IO thread: | 158 // Message handlers called on the browser IO thread: |
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
278 CacheStorageContextImpl* cache_storage_context_; | 261 CacheStorageContextImpl* cache_storage_context_; |
279 | 262 |
280 base::WeakPtrFactory<RenderMessageFilter> weak_ptr_factory_; | 263 base::WeakPtrFactory<RenderMessageFilter> weak_ptr_factory_; |
281 | 264 |
282 DISALLOW_COPY_AND_ASSIGN(RenderMessageFilter); | 265 DISALLOW_COPY_AND_ASSIGN(RenderMessageFilter); |
283 }; | 266 }; |
284 | 267 |
285 } // namespace content | 268 } // namespace content |
286 | 269 |
287 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_MESSAGE_FILTER_H_ | 270 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_MESSAGE_FILTER_H_ |
OLD | NEW |