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 "content/browser/ssl/ssl_manager.h" | 5 #include "content/browser/ssl/ssl_manager.h" |
6 | 6 |
7 #include "base/utf_string_conversions.h" | 7 #include "base/utf_string_conversions.h" |
8 #include "content/browser/browser_thread.h" | 8 #include "content/browser/browser_thread.h" |
9 #include "content/browser/load_from_memory_cache_details.h" | 9 #include "content/browser/load_from_memory_cache_details.h" |
10 #include "content/browser/renderer_host/resource_dispatcher_host.h" | 10 #include "content/browser/renderer_host/resource_dispatcher_host.h" |
(...skipping 29 matching lines...) Expand all Loading... |
40 request, | 40 request, |
41 info->resource_type(), | 41 info->resource_type(), |
42 cert_error, | 42 cert_error, |
43 cert), | 43 cert), |
44 &SSLCertErrorHandler::Dispatch)); | 44 &SSLCertErrorHandler::Dispatch)); |
45 } | 45 } |
46 | 46 |
47 // static | 47 // static |
48 void SSLManager::NotifySSLInternalStateChanged() { | 48 void SSLManager::NotifySSLInternalStateChanged() { |
49 NotificationService::current()->Notify( | 49 NotificationService::current()->Notify( |
50 NotificationType::SSL_INTERNAL_STATE_CHANGED, | 50 content::NOTIFICATION_SSL_INTERNAL_STATE_CHANGED, |
51 NotificationService::AllSources(), | 51 NotificationService::AllSources(), |
52 NotificationService::NoDetails()); | 52 NotificationService::NoDetails()); |
53 } | 53 } |
54 | 54 |
55 // static | 55 // static |
56 std::string SSLManager::SerializeSecurityInfo(int cert_id, | 56 std::string SSLManager::SerializeSecurityInfo(int cert_id, |
57 int cert_status, | 57 int cert_status, |
58 int security_bits, | 58 int security_bits, |
59 int ssl_connection_status) { | 59 int ssl_connection_status) { |
60 Pickle pickle; | 60 Pickle pickle; |
(...skipping 29 matching lines...) Expand all Loading... |
90 pickle.ReadInt(&iter, ssl_connection_status); | 90 pickle.ReadInt(&iter, ssl_connection_status); |
91 } | 91 } |
92 | 92 |
93 SSLManager::SSLManager(NavigationController* controller) | 93 SSLManager::SSLManager(NavigationController* controller) |
94 : backend_(controller), | 94 : backend_(controller), |
95 policy_(new SSLPolicy(&backend_)), | 95 policy_(new SSLPolicy(&backend_)), |
96 controller_(controller) { | 96 controller_(controller) { |
97 DCHECK(controller_); | 97 DCHECK(controller_); |
98 | 98 |
99 // Subscribe to various notifications. | 99 // Subscribe to various notifications. |
100 registrar_.Add(this, NotificationType::FAIL_PROVISIONAL_LOAD_WITH_ERROR, | 100 registrar_.Add(this, content::NOTIFICATION_FAIL_PROVISIONAL_LOAD_WITH_ERROR, |
101 Source<NavigationController>(controller_)); | 101 Source<NavigationController>(controller_)); |
102 registrar_.Add(this, NotificationType::RESOURCE_RESPONSE_STARTED, | 102 registrar_.Add(this, content::NOTIFICATION_RESOURCE_RESPONSE_STARTED, |
103 Source<RenderViewHostDelegate>(controller_->tab_contents())); | 103 Source<RenderViewHostDelegate>(controller_->tab_contents())); |
104 registrar_.Add(this, NotificationType::RESOURCE_RECEIVED_REDIRECT, | 104 registrar_.Add(this, content::NOTIFICATION_RESOURCE_RECEIVED_REDIRECT, |
105 Source<RenderViewHostDelegate>(controller_->tab_contents())); | 105 Source<RenderViewHostDelegate>(controller_->tab_contents())); |
106 registrar_.Add(this, NotificationType::LOAD_FROM_MEMORY_CACHE, | 106 registrar_.Add(this, content::NOTIFICATION_LOAD_FROM_MEMORY_CACHE, |
107 Source<NavigationController>(controller_)); | 107 Source<NavigationController>(controller_)); |
108 registrar_.Add(this, NotificationType::SSL_INTERNAL_STATE_CHANGED, | 108 registrar_.Add(this, content::NOTIFICATION_SSL_INTERNAL_STATE_CHANGED, |
109 NotificationService::AllSources()); | 109 NotificationService::AllSources()); |
110 } | 110 } |
111 | 111 |
112 SSLManager::~SSLManager() { | 112 SSLManager::~SSLManager() { |
113 } | 113 } |
114 | 114 |
115 void SSLManager::DidCommitProvisionalLoad( | 115 void SSLManager::DidCommitProvisionalLoad( |
116 const NotificationDetails& in_details) { | 116 const NotificationDetails& in_details) { |
117 content::LoadCommittedDetails* details = | 117 content::LoadCommittedDetails* details = |
118 Details<content::LoadCommittedDetails>(in_details).ptr(); | 118 Details<content::LoadCommittedDetails>(in_details).ptr(); |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
151 bool SSLManager::ProcessedSSLErrorFromRequest() const { | 151 bool SSLManager::ProcessedSSLErrorFromRequest() const { |
152 NavigationEntry* entry = controller_->GetActiveEntry(); | 152 NavigationEntry* entry = controller_->GetActiveEntry(); |
153 if (!entry) { | 153 if (!entry) { |
154 NOTREACHED(); | 154 NOTREACHED(); |
155 return false; | 155 return false; |
156 } | 156 } |
157 | 157 |
158 return net::IsCertStatusError(entry->ssl().cert_status()); | 158 return net::IsCertStatusError(entry->ssl().cert_status()); |
159 } | 159 } |
160 | 160 |
161 void SSLManager::Observe(NotificationType type, | 161 void SSLManager::Observe(int type, |
162 const NotificationSource& source, | 162 const NotificationSource& source, |
163 const NotificationDetails& details) { | 163 const NotificationDetails& details) { |
164 // Dispatch by type. | 164 // Dispatch by type. |
165 switch (type.value) { | 165 switch (type) { |
166 case NotificationType::FAIL_PROVISIONAL_LOAD_WITH_ERROR: | 166 case content::NOTIFICATION_FAIL_PROVISIONAL_LOAD_WITH_ERROR: |
167 // Do nothing. | 167 // Do nothing. |
168 break; | 168 break; |
169 case NotificationType::RESOURCE_RESPONSE_STARTED: | 169 case content::NOTIFICATION_RESOURCE_RESPONSE_STARTED: |
170 DidStartResourceResponse(Details<ResourceRequestDetails>(details).ptr()); | 170 DidStartResourceResponse(Details<ResourceRequestDetails>(details).ptr()); |
171 break; | 171 break; |
172 case NotificationType::RESOURCE_RECEIVED_REDIRECT: | 172 case content::NOTIFICATION_RESOURCE_RECEIVED_REDIRECT: |
173 DidReceiveResourceRedirect( | 173 DidReceiveResourceRedirect( |
174 Details<ResourceRedirectDetails>(details).ptr()); | 174 Details<ResourceRedirectDetails>(details).ptr()); |
175 break; | 175 break; |
176 case NotificationType::LOAD_FROM_MEMORY_CACHE: | 176 case content::NOTIFICATION_LOAD_FROM_MEMORY_CACHE: |
177 DidLoadFromMemoryCache( | 177 DidLoadFromMemoryCache( |
178 Details<LoadFromMemoryCacheDetails>(details).ptr()); | 178 Details<LoadFromMemoryCacheDetails>(details).ptr()); |
179 break; | 179 break; |
180 case NotificationType::SSL_INTERNAL_STATE_CHANGED: | 180 case content::NOTIFICATION_SSL_INTERNAL_STATE_CHANGED: |
181 DidChangeSSLInternalState(); | 181 DidChangeSSLInternalState(); |
182 break; | 182 break; |
183 default: | 183 default: |
184 NOTREACHED() << "The SSLManager received an unexpected notification."; | 184 NOTREACHED() << "The SSLManager received an unexpected notification."; |
185 } | 185 } |
186 } | 186 } |
187 | 187 |
188 void SSLManager::DidLoadFromMemoryCache(LoadFromMemoryCacheDetails* details) { | 188 void SSLManager::DidLoadFromMemoryCache(LoadFromMemoryCacheDetails* details) { |
189 // Simulate loading this resource through the usual path. | 189 // Simulate loading this resource through the usual path. |
190 // Note that we specify SUB_RESOURCE as the resource type as WebCore only | 190 // Note that we specify SUB_RESOURCE as the resource type as WebCore only |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
233 // case of the Web Inspector. | 233 // case of the Web Inspector. |
234 if (!entry) | 234 if (!entry) |
235 return; | 235 return; |
236 | 236 |
237 NavigationEntry::SSLStatus original_ssl_status = entry->ssl(); // Copy! | 237 NavigationEntry::SSLStatus original_ssl_status = entry->ssl(); // Copy! |
238 | 238 |
239 policy()->UpdateEntry(entry, controller_->tab_contents()); | 239 policy()->UpdateEntry(entry, controller_->tab_contents()); |
240 | 240 |
241 if (!entry->ssl().Equals(original_ssl_status)) { | 241 if (!entry->ssl().Equals(original_ssl_status)) { |
242 NotificationService::current()->Notify( | 242 NotificationService::current()->Notify( |
243 NotificationType::SSL_VISIBLE_STATE_CHANGED, | 243 content::NOTIFICATION_SSL_VISIBLE_STATE_CHANGED, |
244 Source<NavigationController>(controller_), | 244 Source<NavigationController>(controller_), |
245 NotificationService::NoDetails()); | 245 NotificationService::NoDetails()); |
246 } | 246 } |
247 } | 247 } |
OLD | NEW |