| Index: chrome/browser/safe_browsing/ui_manager.cc
 | 
| diff --git a/chrome/browser/safe_browsing/ui_manager.cc b/chrome/browser/safe_browsing/ui_manager.cc
 | 
| index cfb91cc27255ead1de1155bd6234d33a5fee8b16..e056eef78878dc458fd9e2397884ba7fb96f4bc6 100644
 | 
| --- a/chrome/browser/safe_browsing/ui_manager.cc
 | 
| +++ b/chrome/browser/safe_browsing/ui_manager.cc
 | 
| @@ -371,23 +371,36 @@ void SafeBrowsingUIManager::AddToWhitelist(const UnsafeResource& resource) {
 | 
|    site_list->Insert(whitelisted_url);
 | 
|  }
 | 
|  
 | 
| +bool SafeBrowsingUIManager::IsWhitelisted(const UnsafeResource& resource) {
 | 
| +  NavigationEntry* entry = nullptr;
 | 
| +  if (resource.is_subresource) {
 | 
| +    entry = resource.GetNavigationEntryForResource();
 | 
| +  }
 | 
| +  return IsUrlWhitelistedForWebContents(resource.url, resource.is_subresource,
 | 
| +                                        entry,
 | 
| +                                        resource.web_contents_getter.Run());
 | 
| +}
 | 
| +
 | 
|  // Check if the user has already ignored a SB warning for this WebContents and
 | 
|  // top-level domain.
 | 
| -bool SafeBrowsingUIManager::IsWhitelisted(const UnsafeResource& resource) {
 | 
| +bool SafeBrowsingUIManager::IsUrlWhitelistedForWebContents(
 | 
| +    const GURL& url,
 | 
| +    bool is_subresource,
 | 
| +    NavigationEntry* entry,
 | 
| +    content::WebContents* web_contents) {
 | 
|    DCHECK_CURRENTLY_ON(BrowserThread::UI);
 | 
|  
 | 
|    GURL maybe_whitelisted_url;
 | 
| -  if (resource.is_subresource) {
 | 
| -    NavigationEntry* entry = resource.GetNavigationEntryForResource();
 | 
| +  if (is_subresource) {
 | 
|      if (!entry)
 | 
|        return false;
 | 
|      maybe_whitelisted_url = entry->GetURL();
 | 
|    } else {
 | 
| -    maybe_whitelisted_url = resource.url;
 | 
| +    maybe_whitelisted_url = url;
 | 
|    }
 | 
|  
 | 
| -  WhitelistUrlSet* site_list = static_cast<WhitelistUrlSet*>(
 | 
| -      resource.web_contents_getter.Run()->GetUserData(kWhitelistKey));
 | 
| +  WhitelistUrlSet* site_list =
 | 
| +      static_cast<WhitelistUrlSet*>(web_contents->GetUserData(kWhitelistKey));
 | 
|    if (!site_list)
 | 
|      return false;
 | 
|    return site_list->Contains(maybe_whitelisted_url);
 | 
| 
 |