| 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/chrome_content_browser_client.h" | 5 #include "chrome/browser/chrome_content_browser_client.h" |
| 6 | 6 |
| 7 #include <set> | 7 #include <set> |
| 8 #include <utility> | 8 #include <utility> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 1743 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1754 if (expired_previous_decision) | 1754 if (expired_previous_decision) |
| 1755 options_mask |= SSLBlockingPage::EXPIRED_BUT_PREVIOUSLY_ALLOWED; | 1755 options_mask |= SSLBlockingPage::EXPIRED_BUT_PREVIOUSLY_ALLOWED; |
| 1756 SSLBlockingPage* ssl_blocking_page = new SSLBlockingPage( | 1756 SSLBlockingPage* ssl_blocking_page = new SSLBlockingPage( |
| 1757 tab, cert_error, ssl_info, request_url, options_mask, callback); | 1757 tab, cert_error, ssl_info, request_url, options_mask, callback); |
| 1758 ssl_blocking_page->Show(); | 1758 ssl_blocking_page->Show(); |
| 1759 } | 1759 } |
| 1760 | 1760 |
| 1761 void ChromeContentBrowserClient::SelectClientCertificate( | 1761 void ChromeContentBrowserClient::SelectClientCertificate( |
| 1762 int render_process_id, | 1762 int render_process_id, |
| 1763 int render_frame_id, | 1763 int render_frame_id, |
| 1764 const net::HttpNetworkSession* network_session, | |
| 1765 net::SSLCertRequestInfo* cert_request_info, | 1764 net::SSLCertRequestInfo* cert_request_info, |
| 1766 const base::Callback<void(net::X509Certificate*)>& callback) { | 1765 const base::Callback<void(net::X509Certificate*)>& callback) { |
| 1767 content::RenderFrameHost* rfh = content::RenderFrameHost::FromID( | 1766 content::RenderFrameHost* rfh = content::RenderFrameHost::FromID( |
| 1768 render_process_id, render_frame_id); | 1767 render_process_id, render_frame_id); |
| 1769 WebContents* tab = WebContents::FromRenderFrameHost(rfh); | 1768 WebContents* tab = WebContents::FromRenderFrameHost(rfh); |
| 1770 if (!tab) { | 1769 if (!tab) { |
| 1771 NOTREACHED(); | 1770 // TODO(davidben): This makes the request hang, but returning no certificate |
| 1771 // also breaks. It should abort the request. See https://crbug.com/417092 |
| 1772 return; | 1772 return; |
| 1773 } | 1773 } |
| 1774 | 1774 |
| 1775 prerender::PrerenderContents* prerender_contents = | 1775 prerender::PrerenderContents* prerender_contents = |
| 1776 prerender::PrerenderContents::FromWebContents(tab); | 1776 prerender::PrerenderContents::FromWebContents(tab); |
| 1777 if (prerender_contents) { | 1777 if (prerender_contents) { |
| 1778 prerender_contents->Destroy( | 1778 prerender_contents->Destroy( |
| 1779 prerender::FINAL_STATUS_SSL_CLIENT_CERTIFICATE_REQUESTED); | 1779 prerender::FINAL_STATUS_SSL_CLIENT_CERTIFICATE_REQUESTED); |
| 1780 return; | 1780 return; |
| 1781 } | 1781 } |
| (...skipping 25 matching lines...) Expand all Loading... |
| 1807 // Use the first certificate that is matched by the filter. | 1807 // Use the first certificate that is matched by the filter. |
| 1808 callback.Run(all_client_certs[i].get()); | 1808 callback.Run(all_client_certs[i].get()); |
| 1809 return; | 1809 return; |
| 1810 } | 1810 } |
| 1811 } | 1811 } |
| 1812 } else { | 1812 } else { |
| 1813 NOTREACHED(); | 1813 NOTREACHED(); |
| 1814 } | 1814 } |
| 1815 } | 1815 } |
| 1816 | 1816 |
| 1817 chrome::ShowSSLClientCertificateSelector(tab, network_session, | 1817 chrome::ShowSSLClientCertificateSelector(tab, cert_request_info, callback); |
| 1818 cert_request_info, callback); | |
| 1819 } | 1818 } |
| 1820 | 1819 |
| 1821 void ChromeContentBrowserClient::AddCertificate( | 1820 void ChromeContentBrowserClient::AddCertificate( |
| 1822 net::CertificateMimeType cert_type, | 1821 net::CertificateMimeType cert_type, |
| 1823 const void* cert_data, | 1822 const void* cert_data, |
| 1824 size_t cert_size, | 1823 size_t cert_size, |
| 1825 int render_process_id, | 1824 int render_process_id, |
| 1826 int render_frame_id) { | 1825 int render_frame_id) { |
| 1827 chrome::SSLAddCertificate(cert_type, cert_data, cert_size, | 1826 chrome::SSLAddCertificate(cert_type, cert_data, cert_size, |
| 1828 render_process_id, render_frame_id); | 1827 render_process_id, render_frame_id); |
| (...skipping 845 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2674 switches::kDisableWebRtcEncryption, | 2673 switches::kDisableWebRtcEncryption, |
| 2675 }; | 2674 }; |
| 2676 to_command_line->CopySwitchesFrom(from_command_line, | 2675 to_command_line->CopySwitchesFrom(from_command_line, |
| 2677 kWebRtcDevSwitchNames, | 2676 kWebRtcDevSwitchNames, |
| 2678 arraysize(kWebRtcDevSwitchNames)); | 2677 arraysize(kWebRtcDevSwitchNames)); |
| 2679 } | 2678 } |
| 2680 } | 2679 } |
| 2681 #endif // defined(ENABLE_WEBRTC) | 2680 #endif // defined(ENABLE_WEBRTC) |
| 2682 | 2681 |
| 2683 } // namespace chrome | 2682 } // namespace chrome |
| OLD | NEW |