OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "ui/base/resource/data_pack.h" | 5 #include "ui/base/resource/data_pack.h" |
6 | 6 |
7 #include <errno.h> | 7 #include <errno.h> |
8 | 8 |
9 #include "base/files/file_util.h" | 9 #include "base/files/file_util.h" |
10 #include "base/files/memory_mapped_file.h" | 10 #include "base/files/memory_mapped_file.h" |
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
224 } | 224 } |
225 | 225 |
226 ResourceHandle::TextEncodingType DataPack::GetTextEncodingType() const { | 226 ResourceHandle::TextEncodingType DataPack::GetTextEncodingType() const { |
227 return text_encoding_type_; | 227 return text_encoding_type_; |
228 } | 228 } |
229 | 229 |
230 ui::ScaleFactor DataPack::GetScaleFactor() const { | 230 ui::ScaleFactor DataPack::GetScaleFactor() const { |
231 return scale_factor_; | 231 return scale_factor_; |
232 } | 232 } |
233 | 233 |
234 #if DCHECK_IS_ON() | |
235 void DataPack::CheckForDuplicateResources( | |
236 const ScopedVector<ResourceHandle>& packs) { | |
237 for (size_t i = 0; i < resource_count_ + 1; ++i) { | |
238 const DataPackEntry* entry = reinterpret_cast<const DataPackEntry*>( | |
239 mmap_->data() + kHeaderLength + (i * sizeof(DataPackEntry))); | |
240 const uint16 resource_id = entry->resource_id; | |
241 const float resource_scale = GetScaleForScaleFactor(scale_factor_); | |
242 for (const ResourceHandle* handle : packs) { | |
243 DCHECK(GetScaleForScaleFactor(handle->GetScaleFactor()) != | |
244 resource_scale || | |
245 !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.
| |
246 } | |
247 } | |
248 } | |
249 #endif // DCHECK_IS_ON() | |
250 | |
234 // static | 251 // static |
235 bool DataPack::WritePack(const base::FilePath& path, | 252 bool DataPack::WritePack(const base::FilePath& path, |
236 const std::map<uint16, base::StringPiece>& resources, | 253 const std::map<uint16, base::StringPiece>& resources, |
237 TextEncodingType textEncodingType) { | 254 TextEncodingType textEncodingType) { |
238 FILE* file = base::OpenFile(path, "wb"); | 255 FILE* file = base::OpenFile(path, "wb"); |
239 if (!file) | 256 if (!file) |
240 return false; | 257 return false; |
241 | 258 |
242 if (fwrite(&kFileFormatVersion, sizeof(kFileFormatVersion), 1, file) != 1) { | 259 if (fwrite(&kFileFormatVersion, sizeof(kFileFormatVersion), 1, file) != 1) { |
243 LOG(ERROR) << "Failed to write file version"; | 260 LOG(ERROR) << "Failed to write file version"; |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
316 return false; | 333 return false; |
317 } | 334 } |
318 } | 335 } |
319 | 336 |
320 base::CloseFile(file); | 337 base::CloseFile(file); |
321 | 338 |
322 return true; | 339 return true; |
323 } | 340 } |
324 | 341 |
325 } // namespace ui | 342 } // namespace ui |
OLD | NEW |