}
// Writes info about the machine's GPU into the |machine|.
-void AddGpuInfoToFingerprint(Fingerprint::MachineCharacteristics* machine) {
- const gpu::GPUInfo& gpu_info =
- content::GpuDataManager::GetInstance()->GetGPUInfo();
- if (!gpu_info.finalized)
+void AddGpuInfoToFingerprint(Fingerprint::MachineCharacteristics* machine,
+ const content::GpuDataManager& gpu_data_manager) {
+ if (!gpu_data_manager.IsEssentialGpuInfoAvailable())
return;
+ const gpu::GPUInfo gpu_info = gpu_data_manager.GetGPUInfo();
+
Fingerprint::MachineCharacteristics::Graphics* graphics =
machine->mutable_graphics_card();
graphics->set_vendor_id(gpu_info.gpu.vendor_id);
// Load GPU data if needed.
if (gpu_data_manager_->GpuAccessAllowed(NULL) &&
- !gpu_data_manager_->IsCompleteGpuInfoAvailable()) {
+ !gpu_data_manager_->IsEssentialGpuInfoAvailable()) {
gpu_observer_.Add(gpu_data_manager_);
gpu_data_manager_->RequestCompleteGpuInfoIfNeeded();
}
}
void FingerprintDataLoader::OnGpuInfoUpdate() {
- if (!gpu_data_manager_->IsCompleteGpuInfoAvailable())
+ if (!gpu_data_manager_->IsEssentialGpuInfoAvailable())
return;
gpu_observer_.Remove(gpu_data_manager_);
// fill the fingerprint and clean up.
if (!timeout_timer_.IsRunning() ||
((!gpu_data_manager_->GpuAccessAllowed(NULL) ||
- gpu_data_manager_->IsCompleteGpuInfoAvailable()) &&
+ gpu_data_manager_->IsEssentialGpuInfoAvailable()) &&
fonts_ &&
!waiting_on_plugins_ &&
(geoposition_.Validate() ||
AddAcceptLanguagesToFingerprint(accept_languages_, machine);
AddScreenInfoToFingerprint(screen_info_, machine);
AddCpuInfoToFingerprint(machine);
- AddGpuInfoToFingerprint(machine);
+ AddGpuInfoToFingerprint(machine, *gpu_data_manager_);
// TODO(isherman): Record the user_and_device_name_hash.
// TODO(isherman): Record the partition size of the hard drives?