OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "extensions/browser/verified_contents.h" | 5 #include "extensions/browser/verified_contents.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include "base/base64url.h" | 9 #include "base/base64url.h" |
10 #include "base/files/file_util.h" | 10 #include "base/files/file_util.h" |
(...skipping 28 matching lines...) Expand all Loading... |
39 const char kSignedContentKey[] = "signed_content"; | 39 const char kSignedContentKey[] = "signed_content"; |
40 const char kTreeHashPerFile[] = "treehash per file"; | 40 const char kTreeHashPerFile[] = "treehash per file"; |
41 const char kTreeHash[] = "treehash"; | 41 const char kTreeHash[] = "treehash"; |
42 const char kWebstoreKId[] = "webstore"; | 42 const char kWebstoreKId[] = "webstore"; |
43 | 43 |
44 // Helper function to iterate over a list of dictionaries, returning the | 44 // Helper function to iterate over a list of dictionaries, returning the |
45 // dictionary that has |key| -> |value| in it, if any, or NULL. | 45 // dictionary that has |key| -> |value| in it, if any, or NULL. |
46 DictionaryValue* FindDictionaryWithValue(const ListValue* list, | 46 DictionaryValue* FindDictionaryWithValue(const ListValue* list, |
47 std::string key, | 47 std::string key, |
48 std::string value) { | 48 std::string value) { |
49 for (ListValue::const_iterator i = list->begin(); i != list->end(); ++i) { | 49 for (const auto& i : *list) { |
50 if (!(*i)->IsType(Value::TYPE_DICTIONARY)) | 50 DictionaryValue* dictionary; |
| 51 if (!i->GetAsDictionary(&dictionary)) |
51 continue; | 52 continue; |
52 DictionaryValue* dictionary = static_cast<DictionaryValue*>(*i); | |
53 std::string found_value; | 53 std::string found_value; |
54 if (dictionary->GetString(key, &found_value) && found_value == value) | 54 if (dictionary->GetString(key, &found_value) && found_value == value) |
55 return dictionary; | 55 return dictionary; |
56 } | 56 } |
57 return NULL; | 57 return NULL; |
58 } | 58 } |
59 | 59 |
60 } // namespace | 60 } // namespace |
61 | 61 |
62 namespace extensions { | 62 namespace extensions { |
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
319 reinterpret_cast<const uint8_t*>(payload.data()), payload.size()); | 319 reinterpret_cast<const uint8_t*>(payload.data()), payload.size()); |
320 | 320 |
321 if (!signature_verifier.VerifyFinal()) { | 321 if (!signature_verifier.VerifyFinal()) { |
322 VLOG(1) << "Could not verify signature - VerifyFinal failure"; | 322 VLOG(1) << "Could not verify signature - VerifyFinal failure"; |
323 return false; | 323 return false; |
324 } | 324 } |
325 return true; | 325 return true; |
326 } | 326 } |
327 | 327 |
328 } // namespace extensions | 328 } // namespace extensions |
OLD | NEW |