Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(80)

Side by Side Diff: content/browser/renderer_host/render_message_filter.h

Issue 1836973003: Move download messages from Renderer to Frame filter. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698