12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- // Copyright 2014 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- #ifndef COMPONENTS_CRX_FILE_ID_UTIL_H_
- #define COMPONENTS_CRX_FILE_ID_UTIL_H_
- #include "base/strings/string_piece.h"
- #include <stddef.h>
- #include <stdint.h>
- #include <string>
- namespace base {
- class FilePath;
- }
- namespace crx_file {
- namespace id_util {
- // The number of bytes in a legal id.
- extern const size_t kIdSize;
- // Generates an extension ID from arbitrary input. The same input string will
- // always generate the same output ID.
- std::string GenerateId(base::StringPiece input);
- // Generates an ID from a HEX string. The same input string will always generate
- // the same output ID.
- std::string GenerateIdFromHex(const std::string& input);
- // Generates an ID from the first |kIdSize| bytes of a SHA256 hash.
- // |hash_size| must be at least |kIdSize|.
- std::string GenerateIdFromHash(const uint8_t* hash, size_t hash_size);
- // Generates an ID for an extension in the given path.
- // Used while developing extensions, before they have a key.
- std::string GenerateIdForPath(const base::FilePath& path);
- // Returns the hash of an extension ID in hex.
- std::string HashedIdInHex(const std::string& id);
- // Normalizes the path for use by the extension. On Windows, this will make
- // sure the drive letter is uppercase.
- base::FilePath MaybeNormalizePath(const base::FilePath& path);
- // Checks if |id| is a valid extension-id. Extension-ids are used for anything
- // that comes in a CRX file, including apps, extensions, and components.
- bool IdIsValid(const std::string& id);
- } // namespace id_util
- } // namespace crx_file
- #endif // COMPONENTS_CRX_FILE_ID_UTIL_H_
|