Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(253)

Unified Diff: ios/web/net/crw_ssl_status_updater.mm

Issue 2875153003: Added web::GetCommittedItemWithUniqueID function. (Closed)
Patch Set: Added GetCommittedItemIndexWithUniqueID Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ios/web/navigation/navigation_manager_util_unittest.mm ('k') | ios/web/web_state/ui/crw_web_controller.mm » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ios/web/net/crw_ssl_status_updater.mm
diff --git a/ios/web/net/crw_ssl_status_updater.mm b/ios/web/net/crw_ssl_status_updater.mm
index 9dee9036cec439d80e81e4c5eee05347d363e293..7840caa43da5e6a7b9b8a9bfc80b4237373ecc7e 100644
--- a/ios/web/net/crw_ssl_status_updater.mm
+++ b/ios/web/net/crw_ssl_status_updater.mm
@@ -6,6 +6,7 @@
#import "base/mac/scoped_nsobject.h"
#import "base/strings/sys_string_conversions.h"
+#include "ios/web/navigation/navigation_manager_util.h"
#import "ios/web/public/navigation_item.h"
#import "ios/web/public/navigation_manager.h"
#include "ios/web/public/ssl_status.h"
@@ -125,29 +126,25 @@ using web::SecurityStyle;
host:(NSString*)host
withSecurityStyle:(SecurityStyle)style
certStatus:(CertStatus)certStatus {
- // The searched item almost always be the last one, so walk backward rather
- // than forward.
- for (int i = _navigationManager->GetItemCount() - 1; 0 <= i; i--) {
- web::NavigationItem* item = _navigationManager->GetItemAtIndex(i);
- if (item->GetUniqueID() != navigationItemID)
- continue;
-
- // NavigationItem's UniqueID is preserved even after redirects, so
- // checking that cert and URL match is necessary.
- scoped_refptr<net::X509Certificate> cert(web::CreateCertFromTrust(trust));
- std::string GURLHost = base::SysNSStringToUTF8(host);
- web::SSLStatus& SSLStatus = item->GetSSL();
- if (item->GetURL().SchemeIsCryptographic() && !!SSLStatus.certificate &&
- SSLStatus.certificate->Equals(cert.get()) &&
- item->GetURL().host() == GURLHost) {
- web::SSLStatus previousSSLStatus = item->GetSSL();
- SSLStatus.cert_status = certStatus;
- SSLStatus.security_style = style;
- if (!previousSSLStatus.Equals(SSLStatus)) {
- [self didChangeSSLStatusForNavigationItem:item];
- }
- }
+ web::NavigationItem* item =
+ web::GetCommittedItemWithUniqueID(_navigationManager, navigationItemID);
+ if (!item)
return;
+
+ // NavigationItem's UniqueID is preserved even after redirects, so
+ // checking that cert and URL match is necessary.
+ scoped_refptr<net::X509Certificate> cert(web::CreateCertFromTrust(trust));
+ std::string GURLHost = base::SysNSStringToUTF8(host);
+ web::SSLStatus& SSLStatus = item->GetSSL();
+ if (item->GetURL().SchemeIsCryptographic() && !!SSLStatus.certificate &&
+ SSLStatus.certificate->Equals(cert.get()) &&
+ item->GetURL().host() == GURLHost) {
+ web::SSLStatus previousSSLStatus = item->GetSSL();
+ SSLStatus.cert_status = certStatus;
+ SSLStatus.security_style = style;
+ if (!previousSSLStatus.Equals(SSLStatus)) {
+ [self didChangeSSLStatusForNavigationItem:item];
+ }
}
}
« no previous file with comments | « ios/web/navigation/navigation_manager_util_unittest.mm ('k') | ios/web/web_state/ui/crw_web_controller.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698