Home | History | Annotate | Download | only in extensions
      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
      3 // found in the LICENSE file.
      4 
      5 #ifndef CHROME_COMMON_EXTENSIONS_MANIFEST_HANDLER_HELPERS_H_
      6 #define CHROME_COMMON_EXTENSIONS_MANIFEST_HANDLER_HELPERS_H_
      7 
      8 #include <string>
      9 
     10 #include "base/memory/scoped_ptr.h"
     11 #include "base/strings/string16.h"
     12 
     13 class ExtensionIconSet;
     14 
     15 namespace base {
     16 class DictionaryValue;
     17 }
     18 
     19 namespace extensions {
     20 namespace manifest_handler_helpers {
     21 
     22 // Strips leading slashes from the file path. Returns true iff the final path is
     23 // non empty.
     24 bool 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.
     30 bool LoadIconsFromDictionary(const base::DictionaryValue* icons_value,
     31                              const int* icon_sizes,
     32                              size_t num_icon_sizes,
     33                              ExtensionIconSet* icons,
     34                              string16* error);
     35 
     36 }  // namespace manifest_handler_helpers
     37 }  // namespace extensions
     38 
     39 #endif  // CHROME_COMMON_EXTENSIONS_MANIFEST_HANDLER_HELPERS_H_
     40