components/download: migrate to crypto/hash APIs

MERGED2026crypto
2026. 9. 2.minsubb13 프로필 이미지minsubb13

components/download 디렉토리에 crypto/sha2.h와 crypto/secure_hash.h 헤더를 crypto/hash.h로 migration.

문제 설명

//crypto 모듈은 sha2.h, secure_hash.h를 제거하고 hash.h로 migration하는 작업을 진행 중

해결 내용

components/download 디렉토리의 sha2.h, secure_hash.h를 찾아서 hash.h로 migration.

  • components/download는 internal과 external로 나뉘어 있고, 각 디렉토리에서 secure_hash를 사용중
  • components/download/internal/common/base_file.cc에는 BaseFile::Initialize 함수가 매개변수로
    std::unique_ptr<crypto::SecureHash> hash_state;를 사용중
  • 따라서, BaseFile::Initialize 메서드를 사용하고 있는 모든 코드를 탐색해서 해당 코드의 호출부도 같이 수정할 필요가 있었음
  • std::unique_ptr<crypto::SecureHash> hash_statestd::optional<crypto::hash::Hasher> hash_state로 변경 가능함
  • 또한, 기존의 unique_ptr 문법을 맞추기 위해, std::move, std::exchange를 사용함

테스트 방법

CQ dry run 통과

배운 점

함수 인자에 secure_hash가 들어가서 생각보다 큰 범위의 migration 이었는데 무사히
잘 마칠 수 있었다.

참고 자료

crbug: https://crbug.com/372283556