Chromium Code Reviews| 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 |