1. Clearly ComponentLoader::GetExtensionID() leaks |manifest| as ComponentExtensionInfo doesn't directly take ownership of the DictionaryValue.
However, the function is unused :)
2. ComponentLoader::Add(const base::DictionaryValue*, const base::FilePath&, bool) leaks DictionaryValue when it bails out early:
ComponentExtensionInfo info(parsed_manifest, root_directory);
if (!ignore_whitelist_for_testing_ &&
!skip_whitelist &&
!IsComponentExtensionWhitelisted(info.extension_id))
return std::string(); // |parsed_manifest| is leaked.
Comment 1 by bugdroid1@chromium.org
, Nov 18 2016