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

Side by Side Diff: content/browser/frame_host/render_frame_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: review comments, merge Created 4 years, 6 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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_FRAME_HOST_RENDER_FRAME_MESSAGE_FILTER_H_ 5 #ifndef CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_MESSAGE_FILTER_H_
6 #define CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_MESSAGE_FILTER_H_ 6 #define CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_MESSAGE_FILTER_H_
7 7
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <set> 10 #include <set>
(...skipping 13 matching lines...) Expand all
24 class GURL; 24 class GURL;
25 25
26 namespace net { 26 namespace net {
27 class URLRequestContext; 27 class URLRequestContext;
28 class URLRequestContextGetter; 28 class URLRequestContextGetter;
29 } 29 }
30 30
31 namespace content { 31 namespace content {
32 class BrowserContext; 32 class BrowserContext;
33 class PluginServiceImpl; 33 class PluginServiceImpl;
34 struct Referrer;
34 class RenderWidgetHelper; 35 class RenderWidgetHelper;
35 class ResourceContext; 36 class ResourceContext;
36 struct WebPluginInfo; 37 struct WebPluginInfo;
37 38
38 // RenderFrameMessageFilter intercepts FrameHost messages on the IO thread 39 // RenderFrameMessageFilter intercepts FrameHost messages on the IO thread
39 // that require low-latency processing. The canonical example of this is 40 // that require low-latency processing. The canonical example of this is
40 // child-frame creation which is a sync IPC that provides the renderer 41 // child-frame creation which is a sync IPC that provides the renderer
41 // with the routing id for a newly created RenderFrame. 42 // with the routing id for a newly created RenderFrame.
42 // 43 //
43 // This object is created on the UI thread and used on the IO thread. 44 // This object is created on the UI thread and used on the IO thread.
44 class RenderFrameMessageFilter : public BrowserMessageFilter { 45 class CONTENT_EXPORT RenderFrameMessageFilter : public BrowserMessageFilter {
45 public: 46 public:
46 RenderFrameMessageFilter(int render_process_id, 47 RenderFrameMessageFilter(int render_process_id,
47 PluginServiceImpl* plugin_service, 48 PluginServiceImpl* plugin_service,
48 BrowserContext* browser_context, 49 BrowserContext* browser_context,
49 net::URLRequestContextGetter* request_context, 50 net::URLRequestContextGetter* request_context,
50 RenderWidgetHelper* render_widget_helper); 51 RenderWidgetHelper* render_widget_helper);
51 52
52 // BrowserMessageFilter methods: 53 // BrowserMessageFilter methods:
53 bool OnMessageReceived(const IPC::Message& message) override; 54 bool OnMessageReceived(const IPC::Message& message) override;
54 55
56 protected:
57 friend class TestSaveImageFromDataURL;
58
59 // This method will be overridden by TestSaveImageFromDataURL class for test.
60 virtual void DownloadUrl(int render_view_id,
61 int render_frame_id,
62 const GURL& url,
63 const Referrer& referrer,
64 const base::string16& suggested_name,
65 const bool use_prompt) const;
66
55 private: 67 private:
56 class OpenChannelToPpapiPluginCallback; 68 class OpenChannelToPpapiPluginCallback;
57 class OpenChannelToPpapiBrokerCallback; 69 class OpenChannelToPpapiBrokerCallback;
58 70
59 ~RenderFrameMessageFilter() override; 71 ~RenderFrameMessageFilter() override;
60 72
61 void OnCreateChildFrame(const FrameHostMsg_CreateChildFrame_Params& params, 73 void OnCreateChildFrame(const FrameHostMsg_CreateChildFrame_Params& params,
62 int* new_render_frame_id); 74 int* new_render_frame_id);
63 void OnSetCookie(int render_frame_id, 75 void OnSetCookie(int render_frame_id,
64 const GURL& url, 76 const GURL& url,
(...skipping 13 matching lines...) Expand all
78 const GURL& url, 90 const GURL& url,
79 const GURL& first_party_for_cookies, 91 const GURL& first_party_for_cookies,
80 IPC::Message* reply_msg, 92 IPC::Message* reply_msg,
81 const net::CookieList& cookie_list); 93 const net::CookieList& cookie_list);
82 94
83 // Writes the cookies to reply messages, and sends the message. 95 // Writes the cookies to reply messages, and sends the message.
84 // Callback functions for getting cookies from cookie store. 96 // Callback functions for getting cookies from cookie store.
85 void SendGetCookiesResponse(IPC::Message* reply_msg, 97 void SendGetCookiesResponse(IPC::Message* reply_msg,
86 const std::string& cookies); 98 const std::string& cookies);
87 99
100 void OnDownloadUrl(int render_view_id,
101 int render_frame_id,
102 const GURL& url,
103 const Referrer& referrer,
104 const base::string16& suggested_name);
105 void OnSaveImageFromDataURL(int render_view_id,
106 int render_frame_id,
107 const std::string& url_str);
108
88 void OnAre3DAPIsBlocked(int render_frame_id, 109 void OnAre3DAPIsBlocked(int render_frame_id,
89 const GURL& top_origin_url, 110 const GURL& top_origin_url,
90 ThreeDAPIType requester, 111 ThreeDAPIType requester,
91 bool* blocked); 112 bool* blocked);
92 113
93 void OnRenderProcessGone(); 114 void OnRenderProcessGone();
94 115
95 #if defined(ENABLE_PLUGINS) 116 #if defined(ENABLE_PLUGINS)
96 void OnGetPlugins(bool refresh, IPC::Message* reply_msg); 117 void OnGetPlugins(bool refresh, IPC::Message* reply_msg);
97 void GetPluginsCallback(IPC::Message* reply_msg, 118 void GetPluginsCallback(IPC::Message* reply_msg,
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 165
145 // Whether this process is used for incognito contents. 166 // Whether this process is used for incognito contents.
146 bool incognito_; 167 bool incognito_;
147 168
148 const int render_process_id_; 169 const int render_process_id_;
149 }; 170 };
150 171
151 } // namespace content 172 } // namespace content
152 173
153 #endif // CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_MESSAGE_FILTER_H_ 174 #endif // CONTENT_BROWSER_FRAME_HOST_RENDER_FRAME_MESSAGE_FILTER_H_
OLDNEW
« no previous file with comments | « content/browser/frame_host/render_frame_host_impl.cc ('k') | content/browser/frame_host/render_frame_message_filter.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698