Index: ui/base/resource/data_pack.cc |
diff --git a/ui/base/resource/data_pack.cc b/ui/base/resource/data_pack.cc |
index f9fe9b8469eeb35d3369a4c32cb09ace5ba48b0f..b3891c2968de9fad66a27f135a9a89f0b83e39ac 100644 |
--- a/ui/base/resource/data_pack.cc |
+++ b/ui/base/resource/data_pack.cc |
@@ -231,6 +231,23 @@ ui::ScaleFactor DataPack::GetScaleFactor() const { |
return scale_factor_; |
} |
+#if DCHECK_IS_ON() |
+void DataPack::CheckForDuplicateResources( |
+ const ScopedVector<ResourceHandle>& packs) { |
+ for (size_t i = 0; i < resource_count_ + 1; ++i) { |
+ const DataPackEntry* entry = reinterpret_cast<const DataPackEntry*>( |
+ mmap_->data() + kHeaderLength + (i * sizeof(DataPackEntry))); |
+ const uint16 resource_id = entry->resource_id; |
+ const float resource_scale = GetScaleForScaleFactor(scale_factor_); |
+ for (const ResourceHandle* handle : packs) { |
+ DCHECK(GetScaleForScaleFactor(handle->GetScaleFactor()) != |
+ resource_scale || |
+ !handle->HasResource(resource_id)); |
Nico
2015/05/06 01:06:35
(nit: if you want I think you can use dcheck_impli
sadrul
2015/05/06 17:29:24
Done.
|
+ } |
+ } |
+} |
+#endif // DCHECK_IS_ON() |
+ |
// static |
bool DataPack::WritePack(const base::FilePath& path, |
const std::map<uint16, base::StringPiece>& resources, |