'Validate the `icons` property in the manifest:
* Ensure that, if the icons property is present, a 128px icon is
provided.
* Ensure that each icon size is a valid integer.
* Ensure that each icon file is valid by calling _validate_icon_file().'

def validate_icons(self, manifest_json):

    icons = manifest_json.get('icons', {})
    if icons:
        if ('128' not in icons):
            self.error('ICONS_NO_128')
        for (icon_size, icon_path) in icons.iteritems():
            try:
                icon_size = int(icon_size)
                if (icon_size <= 0):
                    raise ValueError
            except ValueError:
                self.error('ICON_INVALID_SIZE', icon_size=unicode(icon_size))
            self._validate_icon_file(icon_path, icon_size)
