| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/safe_browsing/incident_reporting/environment_data_colle
ction_win.h" | 5 #include "chrome/browser/safe_browsing/incident_reporting/environment_data_colle
ction_win.h" |
| 6 | 6 |
| 7 #include <stdint.h> |
| 8 |
| 7 #include <set> | 9 #include <set> |
| 8 #include <string> | 10 #include <string> |
| 9 | 11 |
| 10 #include "base/i18n/case_conversion.h" | 12 #include "base/i18n/case_conversion.h" |
| 13 #include "base/macros.h" |
| 11 #include "base/memory/ref_counted.h" | 14 #include "base/memory/ref_counted.h" |
| 12 #include "base/metrics/histogram_macros.h" | 15 #include "base/metrics/histogram_macros.h" |
| 13 #include "base/strings/string16.h" | 16 #include "base/strings/string16.h" |
| 14 #include "base/strings/string_util.h" | 17 #include "base/strings/string_util.h" |
| 15 #include "base/strings/utf_string_conversions.h" | 18 #include "base/strings/utf_string_conversions.h" |
| 16 #include "base/win/registry.h" | 19 #include "base/win/registry.h" |
| 17 #include "base/win/win_util.h" | 20 #include "base/win/win_util.h" |
| 18 #include "chrome/browser/install_verification/win/module_info.h" | 21 #include "chrome/browser/install_verification/win/module_info.h" |
| 19 #include "chrome/browser/install_verification/win/module_verification_common.h" | 22 #include "chrome/browser/install_verification/win/module_verification_common.h" |
| 20 #include "chrome/browser/net/service_providers_win.h" | 23 #include "chrome/browser/net/service_providers_win.h" |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 85 DWORD max_value_name_len = 0; | 88 DWORD max_value_name_len = 0; |
| 86 DWORD max_value_len = 0; | 89 DWORD max_value_len = 0; |
| 87 LONG result = RegQueryInfoKey( | 90 LONG result = RegQueryInfoKey( |
| 88 key.Handle(), NULL, NULL, NULL, &num_subkeys, &max_subkey_name_len, NULL, | 91 key.Handle(), NULL, NULL, NULL, &num_subkeys, &max_subkey_name_len, NULL, |
| 89 &num_values, &max_value_name_len, &max_value_len, NULL, NULL); | 92 &num_values, &max_value_name_len, &max_value_len, NULL, NULL); |
| 90 | 93 |
| 91 DWORD max_name_len = std::max(max_subkey_name_len, max_value_name_len) + 1; | 94 DWORD max_name_len = std::max(max_subkey_name_len, max_value_name_len) + 1; |
| 92 std::vector<wchar_t> name_buffer(max_name_len); | 95 std::vector<wchar_t> name_buffer(max_name_len); |
| 93 // Read the values. | 96 // Read the values. |
| 94 if (num_values != 0) { | 97 if (num_values != 0) { |
| 95 std::vector<uint8> value_buffer(max_value_len != 0 ? max_value_len : 1); | 98 std::vector<uint8_t> value_buffer(max_value_len != 0 ? max_value_len : 1); |
| 96 DWORD name_size = 0; | 99 DWORD name_size = 0; |
| 97 DWORD value_type = REG_NONE; | 100 DWORD value_type = REG_NONE; |
| 98 DWORD value_size = 0; | 101 DWORD value_size = 0; |
| 99 | 102 |
| 100 std::wstring name_str; | 103 std::wstring name_str; |
| 101 RegistryValueProto* registry_value; | 104 RegistryValueProto* registry_value; |
| 102 for (DWORD i = 0; i < num_values;) { | 105 for (DWORD i = 0; i < num_values;) { |
| 103 name_size = static_cast<DWORD>(name_buffer.size()); | 106 name_size = static_cast<DWORD>(name_buffer.size()); |
| 104 value_size = static_cast<DWORD>(value_buffer.size()); | 107 value_size = static_cast<DWORD>(value_buffer.size()); |
| 105 result = ::RegEnumValue(key.Handle(), i, &name_buffer[0], &name_size, | 108 result = ::RegEnumValue(key.Handle(), i, &name_buffer[0], &name_size, |
| (...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 315 void CollectPlatformOSData(ClientIncidentReport_EnvironmentData_OS* os_data) { | 318 void CollectPlatformOSData(ClientIncidentReport_EnvironmentData_OS* os_data) { |
| 316 const std::string reg_data_param_value = variations::GetVariationParamValue( | 319 const std::string reg_data_param_value = variations::GetVariationParamValue( |
| 317 "SafeBrowsingIncidentReportingService", "collect_reg_data"); | 320 "SafeBrowsingIncidentReportingService", "collect_reg_data"); |
| 318 if (reg_data_param_value == "true") { | 321 if (reg_data_param_value == "true") { |
| 319 CollectRegistryData(kRegKeysToCollect, arraysize(kRegKeysToCollect), | 322 CollectRegistryData(kRegKeysToCollect, arraysize(kRegKeysToCollect), |
| 320 os_data->mutable_registry_key()); | 323 os_data->mutable_registry_key()); |
| 321 } | 324 } |
| 322 CollectDomainEnrollmentData(os_data); | 325 CollectDomainEnrollmentData(os_data); |
| 323 } | 326 } |
| 324 } // namespace safe_browsing | 327 } // namespace safe_browsing |
| OLD | NEW |