Chromium Code Reviews| Index: content/browser/renderer_host/render_message_filter.cc |
| diff --git a/content/browser/renderer_host/render_message_filter.cc b/content/browser/renderer_host/render_message_filter.cc |
| index 13ce2f81908143bf29cb00cdc31c5c8253c351a2..656f56aeb9db5e89281b4dcbee41a757f5665a9e 100644 |
| --- a/content/browser/renderer_host/render_message_filter.cc |
| +++ b/content/browser/renderer_host/render_message_filter.cc |
| @@ -391,6 +391,8 @@ bool RenderMessageFilter::OnMessageReceived(const IPC::Message& message) { |
| IPC_MESSAGE_HANDLER_DELAY_REPLY(ViewHostMsg_LoadFont, OnLoadFont) |
| #endif |
| IPC_MESSAGE_HANDLER(ViewHostMsg_DownloadUrl, OnDownloadUrl) |
| + IPC_MESSAGE_HANDLER(ViewHostMsg_SaveImageFromDataURL, |
| + OnSaveImageFromDataURL) |
| #if defined(ENABLE_PLUGINS) |
| IPC_MESSAGE_HANDLER_DELAY_REPLY(ViewHostMsg_GetPlugins, OnGetPlugins) |
| IPC_MESSAGE_HANDLER(FrameHostMsg_GetPluginInfo, OnGetPluginInfo) |
| @@ -860,11 +862,11 @@ void RenderMessageFilter::OnGetMonitorColorProfile(std::vector<char>* profile) { |
| } |
| #endif |
| -void RenderMessageFilter::OnDownloadUrl(int render_view_id, |
| - const GURL& url, |
| - const Referrer& referrer, |
| - const base::string16& suggested_name, |
| - const bool use_prompt) { |
| +void RenderMessageFilter::DownloadUrl(int render_view_id, |
| + const GURL& url, |
| + const Referrer& referrer, |
| + const base::string16& suggested_name, |
| + const bool use_prompt) { |
| scoped_ptr<DownloadSaveInfo> save_info(new DownloadSaveInfo()); |
| save_info->suggested_name = suggested_name; |
| save_info->prompt_for_save_location = use_prompt; |
| @@ -893,6 +895,23 @@ void RenderMessageFilter::OnDownloadUrl(int render_view_id, |
| ResourceDispatcherHostImpl::DownloadStartedCallback()); |
| } |
| +void RenderMessageFilter::OnDownloadUrl(int render_view_id, |
| + const GURL& url, |
| + const Referrer& referrer, |
| + const base::string16& suggested_name) { |
| + DownloadUrl(render_view_id, url, referrer, suggested_name); |
| +} |
| + |
| +void RenderMessageFilter::OnSaveImageFromDataURL(int render_view_id, |
| + const std::string& data_url) { |
| + // Note: |data_url| has a size limitation. (< 10MB) |
| + // Please refer to RenderViewImpl::saveImageFromDataURL(). |
| + const int MAX_LENGTH_OF_DATA_URL = 1024 * 1024 * 10; |
|
palmer
2014/09/02 17:58:04
This should be a size_t. Note that you are compari
zino
2014/09/03 01:45:58
A stupid mistake. :-P
Done.
|
| + if (data_url.length() < MAX_LENGTH_OF_DATA_URL) |
| + DownloadUrl(render_view_id, GURL(data_url), |
| + Referrer(), base::string16(), true); |
| +} |
| + |
| void RenderMessageFilter::OnCheckNotificationPermission( |
| const GURL& source_origin, int* result) { |
| #if defined(ENABLE_NOTIFICATIONS) |