Index: content/browser/download/download_item_impl.cc |
diff --git a/content/browser/download/download_item_impl.cc b/content/browser/download/download_item_impl.cc |
index dd08306e35e0f91cb76e444afd46fb453847da30..a8341b1daafb70b47fec34344ce203209beac0d3 100644 |
--- a/content/browser/download/download_item_impl.cc |
+++ b/content/browser/download/download_item_impl.cc |
@@ -1131,9 +1131,17 @@ void DownloadItemImpl::MockDownloadOpenForTesting() { open_enabled_ = false; } |
DownloadItem::ExternalData* |
DownloadItemImpl::GetExternalData(const void* key) { |
- if (!ContainsKey(external_data_map_, key)) |
- return NULL; |
- return external_data_map_[key]; |
+ // The behavior of the const overload is identical with the exception of the |
+ // constness of |this| and the return value. |
+ return const_cast<DownloadItem::ExternalData*>( |
+ static_cast<const DownloadItemImpl&>(*this).GetExternalData(key)); |
+} |
+ |
+const DownloadItem::ExternalData* |
+DownloadItemImpl::GetExternalData(const void* key) const { |
+ std::map<const void*, ExternalData*>::const_iterator it = |
+ external_data_map_.find(key); |
+ return (it == external_data_map_.end()) ? NULL : it->second; |
} |
void DownloadItemImpl::SetExternalData( |