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 3// found in the LICENSE file. 4 5#ifndef EXTENSIONS_COMMON_MANIFEST_HANDLER_HELPERS_H_ 6#define EXTENSIONS_COMMON_MANIFEST_HANDLER_HELPERS_H_ 7 8#include <string> 9 10#include "base/memory/scoped_ptr.h" 11#include "base/strings/string16.h" 12 13class ExtensionIconSet; 14 15namespace base { 16class DictionaryValue; 17} 18 19namespace extensions { 20namespace manifest_handler_helpers { 21 22// Strips leading slashes from the file path. Returns true iff the final path is 23// non empty. 24bool NormalizeAndValidatePath(std::string* path); 25 26// Loads icon paths defined in dictionary |icons_value| into ExtensionIconSet 27// |icons|. |icons_value| is a dictionary value {icon size -> icon path}. Icons 28// in |icons_value| whose size is not in |icon_sizes| will be ignored. 29// Returns success. If load fails, |error| will be set. 30bool LoadIconsFromDictionary(const base::DictionaryValue* icons_value, 31 const int* icon_sizes, 32 size_t num_icon_sizes, 33 ExtensionIconSet* icons, 34 base::string16* error); 35 36} // namespace manifest_handler_helpers 37} // namespace extensions 38 39#endif // EXTENSIONS_COMMON_MANIFEST_HANDLER_HELPERS_H_ 40