OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 #include "chrome/browser/renderer_host/chrome_render_message_filter.h" | 5 #include "chrome/browser/renderer_host/chrome_render_message_filter.h" |
6 | 6 |
7 #include "base/file_path.h" | 7 #include "base/file_path.h" |
8 #include "base/metrics/histogram.h" | 8 #include "base/metrics/histogram.h" |
9 #include "chrome/browser/automation/automation_resource_message_filter.h" | 9 #include "chrome/browser/automation/automation_resource_message_filter.h" |
10 #include "chrome/browser/browser_process.h" | 10 #include "chrome/browser/browser_process.h" |
11 #include "chrome/browser/content_settings/host_content_settings_map.h" | 11 #include "chrome/browser/content_settings/host_content_settings_map.h" |
12 #include "chrome/browser/content_settings/tab_specific_content_settings.h" | 12 #include "chrome/browser/content_settings/tab_specific_content_settings.h" |
| 13 #include "chrome/browser/download/mhtml_generation_manager.h" |
13 #include "chrome/browser/extensions/extension_event_router.h" | 14 #include "chrome/browser/extensions/extension_event_router.h" |
14 #include "chrome/browser/extensions/extension_function_dispatcher.h" | 15 #include "chrome/browser/extensions/extension_function_dispatcher.h" |
15 #include "chrome/browser/extensions/extension_message_service.h" | 16 #include "chrome/browser/extensions/extension_message_service.h" |
16 #include "chrome/browser/metrics/histogram_synchronizer.h" | 17 #include "chrome/browser/metrics/histogram_synchronizer.h" |
17 #include "chrome/browser/nacl_host/nacl_process_host.h" | 18 #include "chrome/browser/nacl_host/nacl_process_host.h" |
18 #include "chrome/browser/net/chrome_url_request_context.h" | 19 #include "chrome/browser/net/chrome_url_request_context.h" |
19 #include "chrome/browser/net/predictor_api.h" | 20 #include "chrome/browser/net/predictor_api.h" |
20 #include "chrome/browser/prefs/pref_member.h" | 21 #include "chrome/browser/prefs/pref_member.h" |
21 #include "chrome/browser/profiles/profile.h" | 22 #include "chrome/browser/profiles/profile.h" |
22 #include "chrome/browser/task_manager/task_manager.h" | 23 #include "chrome/browser/task_manager/task_manager.h" |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
91 IPC_MESSAGE_HANDLER(ViewHostMsg_AllowDOMStorage, OnAllowDOMStorage) | 92 IPC_MESSAGE_HANDLER(ViewHostMsg_AllowDOMStorage, OnAllowDOMStorage) |
92 IPC_MESSAGE_HANDLER(ViewHostMsg_AllowFileSystem, OnAllowFileSystem) | 93 IPC_MESSAGE_HANDLER(ViewHostMsg_AllowFileSystem, OnAllowFileSystem) |
93 IPC_MESSAGE_HANDLER(ViewHostMsg_AllowIndexedDB, OnAllowIndexedDB) | 94 IPC_MESSAGE_HANDLER(ViewHostMsg_AllowIndexedDB, OnAllowIndexedDB) |
94 IPC_MESSAGE_HANDLER(ViewHostMsg_GetPluginContentSetting, | 95 IPC_MESSAGE_HANDLER(ViewHostMsg_GetPluginContentSetting, |
95 OnGetPluginContentSetting) | 96 OnGetPluginContentSetting) |
96 IPC_MESSAGE_HANDLER(ViewHostMsg_CanTriggerClipboardRead, | 97 IPC_MESSAGE_HANDLER(ViewHostMsg_CanTriggerClipboardRead, |
97 OnCanTriggerClipboardRead) | 98 OnCanTriggerClipboardRead) |
98 IPC_MESSAGE_HANDLER(ViewHostMsg_CanTriggerClipboardWrite, | 99 IPC_MESSAGE_HANDLER(ViewHostMsg_CanTriggerClipboardWrite, |
99 OnCanTriggerClipboardWrite) | 100 OnCanTriggerClipboardWrite) |
100 IPC_MESSAGE_HANDLER(ViewHostMsg_ClearPredictorCache, OnClearPredictorCache) | 101 IPC_MESSAGE_HANDLER(ViewHostMsg_ClearPredictorCache, OnClearPredictorCache) |
| 102 IPC_MESSAGE_HANDLER(ViewHostMsg_SavedPageAsMHTML, OnSavedPageAsMHTML) |
101 IPC_MESSAGE_UNHANDLED(handled = false) | 103 IPC_MESSAGE_UNHANDLED(handled = false) |
102 IPC_END_MESSAGE_MAP() | 104 IPC_END_MESSAGE_MAP() |
103 | 105 |
104 if ((message.type() == ViewHostMsg_GetCookies::ID || | 106 if ((message.type() == ViewHostMsg_GetCookies::ID || |
105 message.type() == ViewHostMsg_SetCookie::ID) && | 107 message.type() == ViewHostMsg_SetCookie::ID) && |
106 AutomationResourceMessageFilter::ShouldFilterCookieMessages( | 108 AutomationResourceMessageFilter::ShouldFilterCookieMessages( |
107 render_process_id_, message.routing_id())) { | 109 render_process_id_, message.routing_id())) { |
108 // ChromeFrame then we need to get/set cookies from the external host. | 110 // ChromeFrame then we need to get/set cookies from the external host. |
109 IPC_BEGIN_MESSAGE_MAP_EX(ChromeRenderMessageFilter, message, | 111 IPC_BEGIN_MESSAGE_MAP_EX(ChromeRenderMessageFilter, message, |
110 *message_was_ok) | 112 *message_was_ok) |
(...skipping 19 matching lines...) Expand all Loading... |
130 void ChromeRenderMessageFilter::OverrideThreadForMessage( | 132 void ChromeRenderMessageFilter::OverrideThreadForMessage( |
131 const IPC::Message& message, BrowserThread::ID* thread) { | 133 const IPC::Message& message, BrowserThread::ID* thread) { |
132 switch (message.type()) { | 134 switch (message.type()) { |
133 case ViewHostMsg_ResourceTypeStats::ID: | 135 case ViewHostMsg_ResourceTypeStats::ID: |
134 #if defined(USE_TCMALLOC) | 136 #if defined(USE_TCMALLOC) |
135 case ViewHostMsg_RendererTcmalloc::ID: | 137 case ViewHostMsg_RendererTcmalloc::ID: |
136 #endif | 138 #endif |
137 case ExtensionHostMsg_AddListener::ID: | 139 case ExtensionHostMsg_AddListener::ID: |
138 case ExtensionHostMsg_RemoveListener::ID: | 140 case ExtensionHostMsg_RemoveListener::ID: |
139 case ExtensionHostMsg_CloseChannel::ID: | 141 case ExtensionHostMsg_CloseChannel::ID: |
| 142 case ViewHostMsg_UpdatedCacheStats::ID: |
| 143 case ViewHostMsg_SavedPageAsMHTML::ID: |
140 *thread = BrowserThread::UI; | 144 *thread = BrowserThread::UI; |
141 break; | 145 break; |
142 case ViewHostMsg_UpdatedCacheStats::ID: | |
143 *thread = BrowserThread::UI; | |
144 default: | 146 default: |
145 break; | 147 break; |
146 } | 148 } |
147 } | 149 } |
148 | 150 |
149 void ChromeRenderMessageFilter::OnLaunchNaCl( | 151 void ChromeRenderMessageFilter::OnLaunchNaCl( |
150 const std::wstring& url, int channel_descriptor, IPC::Message* reply_msg) { | 152 const std::wstring& url, int channel_descriptor, IPC::Message* reply_msg) { |
151 NaClProcessHost* host = new NaClProcessHost(url); | 153 NaClProcessHost* host = new NaClProcessHost(url); |
152 host->Launch(this, channel_descriptor, reply_msg); | 154 host->Launch(this, channel_descriptor, reply_msg); |
153 } | 155 } |
(...skipping 339 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
493 reply_msg, url); | 495 reply_msg, url); |
494 } | 496 } |
495 | 497 |
496 void ChromeRenderMessageFilter::OnSetCookie(const IPC::Message& message, | 498 void ChromeRenderMessageFilter::OnSetCookie(const IPC::Message& message, |
497 const GURL& url, | 499 const GURL& url, |
498 const GURL& first_party_for_cookies, | 500 const GURL& first_party_for_cookies, |
499 const std::string& cookie) { | 501 const std::string& cookie) { |
500 AutomationResourceMessageFilter::SetCookiesForUrl( | 502 AutomationResourceMessageFilter::SetCookiesForUrl( |
501 render_process_id_, message.routing_id(), url, cookie); | 503 render_process_id_, message.routing_id(), url, cookie); |
502 } | 504 } |
| 505 |
| 506 |
| 507 void ChromeRenderMessageFilter::OnSavedPageAsMHTML(int job_id, bool success) { |
| 508 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 509 g_browser_process->mhtml_generation_manager()-> |
| 510 MHTMLGenerated(job_id, success); |
| 511 } |
OLD | NEW |