OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/common/manifest_handlers/requirements_info.h" | 5 #include "extensions/common/manifest_handlers/requirements_info.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 | 8 |
9 #include "base/lazy_instance.h" | 9 #include "base/lazy_instance.h" |
10 #include "base/strings/utf_string_conversions.h" | 10 #include "base/strings/utf_string_conversions.h" |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
110 &features) || | 110 &features) || |
111 !features) { | 111 !features) { |
112 *error = ErrorUtils::FormatErrorMessageUTF16( | 112 *error = ErrorUtils::FormatErrorMessageUTF16( |
113 errors::kInvalidRequirement, iter.key()); | 113 errors::kInvalidRequirement, iter.key()); |
114 return false; | 114 return false; |
115 } | 115 } |
116 | 116 |
117 for (base::ListValue::const_iterator feature_iter = features->begin(); | 117 for (base::ListValue::const_iterator feature_iter = features->begin(); |
118 feature_iter != features->end(); ++feature_iter) { | 118 feature_iter != features->end(); ++feature_iter) { |
119 std::string feature; | 119 std::string feature; |
120 if (feature_iter->GetAsString(&feature)) { | 120 if ((*feature_iter)->GetAsString(&feature)) { |
121 if (feature == "webgl") { | 121 if (feature == "webgl") { |
122 requirements->webgl = true; | 122 requirements->webgl = true; |
123 } else if (feature == "css3d") { | 123 } else if (feature == "css3d") { |
124 // css3d is always available, so no check is needed, but no error is | 124 // css3d is always available, so no check is needed, but no error is |
125 // generated. | 125 // generated. |
126 } else { | 126 } else { |
127 *error = ErrorUtils::FormatErrorMessageUTF16( | 127 *error = ErrorUtils::FormatErrorMessageUTF16( |
128 errors::kInvalidRequirement, iter.key()); | 128 errors::kInvalidRequirement, iter.key()); |
129 return false; | 129 return false; |
130 } | 130 } |
(...skipping 20 matching lines...) Expand all Loading... |
151 *error = base::ASCIIToUTF16(errors::kInvalidRequirements); | 151 *error = base::ASCIIToUTF16(errors::kInvalidRequirements); |
152 return false; | 152 return false; |
153 } | 153 } |
154 } | 154 } |
155 | 155 |
156 extension->SetManifestData(keys::kRequirements, std::move(requirements)); | 156 extension->SetManifestData(keys::kRequirements, std::move(requirements)); |
157 return true; | 157 return true; |
158 } | 158 } |
159 | 159 |
160 } // namespace extensions | 160 } // namespace extensions |
OLD | NEW |