1f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved. 2f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// found in the LICENSE file. 4f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 5f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#include "chrome/browser/install_verification/win/module_verification_test.h" 6f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 7f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#include <Windows.h> 8f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 9f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#include <vector> 10f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#include "chrome/browser/install_verification/win/loaded_modules_snapshot.h" 11f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#include "chrome/browser/install_verification/win/module_list.h" 12f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 13f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)std::set<size_t> ModuleVerificationTest::reported_module_ids_; 14f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 15f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)void ModuleVerificationTest::SetUp() { 16f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) reported_module_ids_.clear(); 17f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)} 18f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 19f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)bool ModuleVerificationTest::GetLoadedModuleInfoSet( 20f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) std::set<ModuleInfo>* loaded_module_info_set) { 21f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) std::vector<HMODULE> snapshot; 22f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) if (!GetLoadedModulesSnapshot(&snapshot)) 23f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) return false; 24f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) ModuleList::FromLoadedModuleSnapshot(snapshot)->GetModuleInfoSet( 25f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) loaded_module_info_set); 26f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) return true; 27f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)} 28f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 29f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// static 30f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)void ModuleVerificationTest::ReportModule(size_t module_id) { 31f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) reported_module_ids_.insert(module_id); 32f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)} 33