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 #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/bind.h" | 7 #include "base/bind.h" |
8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
9 #include "base/file_util.h" | 9 #include "base/file_util.h" |
10 #include "base/metrics/histogram.h" | 10 #include "base/metrics/histogram.h" |
11 #include "chrome/browser/automation/automation_resource_message_filter.h" | 11 #include "chrome/browser/automation/automation_resource_message_filter.h" |
12 #include "chrome/browser/browser_process.h" | 12 #include "chrome/browser/browser_process.h" |
13 #include "chrome/browser/content_settings/cookie_settings.h" | 13 #include "chrome/browser/content_settings/cookie_settings.h" |
14 #include "chrome/browser/content_settings/tab_specific_content_settings.h" | 14 #include "chrome/browser/content_settings/tab_specific_content_settings.h" |
15 #include "chrome/browser/extensions/extension_event_router.h" | 15 #include "chrome/browser/extensions/extension_event_router.h" |
16 #include "chrome/browser/extensions/extension_function_dispatcher.h" | 16 #include "chrome/browser/extensions/extension_function_dispatcher.h" |
17 #include "chrome/browser/extensions/extension_info_map.h" | 17 #include "chrome/browser/extensions/extension_info_map.h" |
18 #include "chrome/browser/extensions/extension_message_service.h" | 18 #include "chrome/browser/extensions/extension_message_service.h" |
19 #include "chrome/browser/extensions/extension_process_manager.h" | 19 #include "chrome/browser/extensions/extension_process_manager.h" |
20 #include "chrome/browser/metrics/histogram_synchronizer.h" | 20 #include "chrome/browser/metrics/histogram_synchronizer.h" |
21 #include "chrome/browser/nacl_host/nacl_process_host.h" | 21 #include "chrome/browser/nacl_host/nacl_process_host.h" |
22 #include "chrome/browser/net/chrome_url_request_context.h" | 22 #include "chrome/browser/net/chrome_url_request_context.h" |
23 #include "chrome/browser/net/predictor.h" | 23 #include "chrome/browser/net/predictor.h" |
24 #include "chrome/browser/prerender/prerender_link_manager.h" | |
24 #include "chrome/browser/profiles/profile.h" | 25 #include "chrome/browser/profiles/profile.h" |
25 #include "chrome/browser/task_manager/task_manager.h" | 26 #include "chrome/browser/task_manager/task_manager.h" |
26 #include "chrome/common/chrome_notification_types.h" | 27 #include "chrome/common/chrome_notification_types.h" |
27 #include "chrome/common/chrome_switches.h" | 28 #include "chrome/common/chrome_switches.h" |
28 #include "chrome/common/extensions/extension_file_util.h" | 29 #include "chrome/common/extensions/extension_file_util.h" |
29 #include "chrome/common/extensions/extension_message_bundle.h" | 30 #include "chrome/common/extensions/extension_message_bundle.h" |
30 #include "chrome/common/extensions/extension_messages.h" | 31 #include "chrome/common/extensions/extension_messages.h" |
31 #include "chrome/common/render_messages.h" | 32 #include "chrome/common/render_messages.h" |
33 #include "chrome/common/prerender_messages.h" | |
32 #include "chrome/common/url_constants.h" | 34 #include "chrome/common/url_constants.h" |
33 #include "content/public/browser/notification_service.h" | 35 #include "content/public/browser/notification_service.h" |
34 #include "content/public/browser/render_process_host.h" | 36 #include "content/public/browser/render_process_host.h" |
35 #include "content/public/common/process_type.h" | 37 #include "content/public/common/process_type.h" |
36 #include "googleurl/src/gurl.h" | 38 #include "googleurl/src/gurl.h" |
37 #include "third_party/WebKit/Source/WebKit/chromium/public/WebSecurityOrigin.h" | 39 #include "third_party/WebKit/Source/WebKit/chromium/public/WebSecurityOrigin.h" |
38 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebString.h" | 40 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebString.h" |
39 #include "webkit/plugins/npapi/plugin_list.h" | 41 #include "webkit/plugins/npapi/plugin_list.h" |
40 | 42 |
41 #if defined(USE_TCMALLOC) | 43 #if defined(USE_TCMALLOC) |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
101 OnWriteTcmallocHeapProfile) | 103 OnWriteTcmallocHeapProfile) |
102 #endif | 104 #endif |
103 IPC_MESSAGE_HANDLER(ChromeViewHostMsg_AllowDatabase, OnAllowDatabase) | 105 IPC_MESSAGE_HANDLER(ChromeViewHostMsg_AllowDatabase, OnAllowDatabase) |
104 IPC_MESSAGE_HANDLER(ChromeViewHostMsg_AllowDOMStorage, OnAllowDOMStorage) | 106 IPC_MESSAGE_HANDLER(ChromeViewHostMsg_AllowDOMStorage, OnAllowDOMStorage) |
105 IPC_MESSAGE_HANDLER(ChromeViewHostMsg_AllowFileSystem, OnAllowFileSystem) | 107 IPC_MESSAGE_HANDLER(ChromeViewHostMsg_AllowFileSystem, OnAllowFileSystem) |
106 IPC_MESSAGE_HANDLER(ChromeViewHostMsg_AllowIndexedDB, OnAllowIndexedDB) | 108 IPC_MESSAGE_HANDLER(ChromeViewHostMsg_AllowIndexedDB, OnAllowIndexedDB) |
107 IPC_MESSAGE_HANDLER(ChromeViewHostMsg_CanTriggerClipboardRead, | 109 IPC_MESSAGE_HANDLER(ChromeViewHostMsg_CanTriggerClipboardRead, |
108 OnCanTriggerClipboardRead) | 110 OnCanTriggerClipboardRead) |
109 IPC_MESSAGE_HANDLER(ChromeViewHostMsg_CanTriggerClipboardWrite, | 111 IPC_MESSAGE_HANDLER(ChromeViewHostMsg_CanTriggerClipboardWrite, |
110 OnCanTriggerClipboardWrite) | 112 OnCanTriggerClipboardWrite) |
113 IPC_MESSAGE_HANDLER(PrerenderMsg_NewLinkPrerender, OnNewLinkPrerender) | |
cbentzel
2012/03/29 00:13:37
Could these get moved to a separate class which is
gavinp
2012/04/20 17:54:15
Prerendering is confusing enough without mixing up
| |
114 IPC_MESSAGE_HANDLER(PrerenderMsg_RemovedLinkPrerender, | |
115 OnRemovedLinkPrerender) | |
116 IPC_MESSAGE_HANDLER(PrerenderMsg_UnloadedLinkPrerender, | |
117 OnUnloadedLinkPrerender) | |
111 IPC_MESSAGE_UNHANDLED(handled = false) | 118 IPC_MESSAGE_UNHANDLED(handled = false) |
112 IPC_END_MESSAGE_MAP() | 119 IPC_END_MESSAGE_MAP() |
113 | 120 |
114 #if defined(ENABLE_AUTOMATION) | 121 #if defined(ENABLE_AUTOMATION) |
115 if ((message.type() == ChromeViewHostMsg_GetCookies::ID || | 122 if ((message.type() == ChromeViewHostMsg_GetCookies::ID || |
116 message.type() == ChromeViewHostMsg_SetCookie::ID) && | 123 message.type() == ChromeViewHostMsg_SetCookie::ID) && |
117 AutomationResourceMessageFilter::ShouldFilterCookieMessages( | 124 AutomationResourceMessageFilter::ShouldFilterCookieMessages( |
118 render_process_id_, message.routing_id())) { | 125 render_process_id_, message.routing_id())) { |
119 // ChromeFrame then we need to get/set cookies from the external host. | 126 // ChromeFrame then we need to get/set cookies from the external host. |
120 IPC_BEGIN_MESSAGE_MAP_EX(ChromeRenderMessageFilter, message, | 127 IPC_BEGIN_MESSAGE_MAP_EX(ChromeRenderMessageFilter, message, |
(...skipping 384 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
505 | 512 |
506 void ChromeRenderMessageFilter::OnSetCookie(const IPC::Message& message, | 513 void ChromeRenderMessageFilter::OnSetCookie(const IPC::Message& message, |
507 const GURL& url, | 514 const GURL& url, |
508 const GURL& first_party_for_cookies, | 515 const GURL& first_party_for_cookies, |
509 const std::string& cookie) { | 516 const std::string& cookie) { |
510 #if defined(ENABLE_AUTOMATION) | 517 #if defined(ENABLE_AUTOMATION) |
511 AutomationResourceMessageFilter::SetCookiesForUrl( | 518 AutomationResourceMessageFilter::SetCookiesForUrl( |
512 render_process_id_, message.routing_id(), url, cookie); | 519 render_process_id_, message.routing_id(), url, cookie); |
513 #endif | 520 #endif |
514 } | 521 } |
522 | |
523 void ChromeRenderMessageFilter::OnNewLinkPrerender( | |
524 int prerender_id, | |
525 int render_view_route_id, | |
526 const GURL& url, | |
527 const content::Referrer& referrer, | |
528 const gfx::Size& size) { | |
529 BrowserThread::PostTask( | |
530 BrowserThread::UI, FROM_HERE, | |
531 base::Bind( | |
532 &prerender::PrerenderLinkManager::OnNewLinkPrerender, | |
533 profile_, prerender_id, render_process_id_, render_view_route_id, | |
534 url, referrer, size)); | |
535 } | |
536 | |
537 void ChromeRenderMessageFilter::OnRemovedLinkPrerender( | |
538 int prerender_id) { | |
539 BrowserThread::PostTask( | |
540 BrowserThread::UI, FROM_HERE, | |
541 base::Bind( | |
542 &prerender::PrerenderLinkManager::OnRemovedLinkPrerender, | |
543 profile_, prerender_id, render_process_id_)); | |
544 } | |
545 void ChromeRenderMessageFilter::OnUnloadedLinkPrerender( | |
546 int prerender_id) { | |
547 BrowserThread::PostTask( | |
548 BrowserThread::UI, FROM_HERE, | |
549 base::Bind( | |
550 &prerender::PrerenderLinkManager::OnUnloadedLinkPrerender, | |
551 profile_, prerender_id, render_process_id_)); | |
552 } | |
OLD | NEW |