| OLD | NEW |
| 1 // Copyright (c) 2014 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 "components/browser_watcher/watcher_metrics_provider_win.h" | 5 #include "components/browser_watcher/watcher_metrics_provider_win.h" |
| 6 | 6 |
| 7 #include <stddef.h> |
| 8 #include <stdint.h> |
| 9 |
| 7 #include <cstdlib> | 10 #include <cstdlib> |
| 8 | 11 |
| 9 #include "base/process/process_handle.h" | 12 #include "base/process/process_handle.h" |
| 10 #include "base/strings/string16.h" | 13 #include "base/strings/string16.h" |
| 11 #include "base/strings/stringprintf.h" | 14 #include "base/strings/stringprintf.h" |
| 12 #include "base/test/histogram_tester.h" | 15 #include "base/test/histogram_tester.h" |
| 13 #include "base/test/test_reg_util_win.h" | 16 #include "base/test/test_reg_util_win.h" |
| 14 #include "base/test/test_simple_task_runner.h" | 17 #include "base/test/test_simple_task_runner.h" |
| 15 #include "base/win/registry.h" | 18 #include "base/win/registry.h" |
| 16 #include "components/browser_watcher/exit_funnel_win.h" | 19 #include "components/browser_watcher/exit_funnel_win.h" |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 52 // Write the exit code to registry. | 55 // Write the exit code to registry. |
| 53 LONG result = key.WriteValue(key_name.c_str(), exit_code); | 56 LONG result = key.WriteValue(key_name.c_str(), exit_code); |
| 54 ASSERT_EQ(result, ERROR_SUCCESS); | 57 ASSERT_EQ(result, ERROR_SUCCESS); |
| 55 } | 58 } |
| 56 | 59 |
| 57 size_t ExitCodeRegistryPathValueCount() { | 60 size_t ExitCodeRegistryPathValueCount() { |
| 58 base::win::RegKey key(HKEY_CURRENT_USER, kRegistryPath, KEY_READ); | 61 base::win::RegKey key(HKEY_CURRENT_USER, kRegistryPath, KEY_READ); |
| 59 return key.GetValueCount(); | 62 return key.GetValueCount(); |
| 60 } | 63 } |
| 61 | 64 |
| 62 void AddExitFunnelEvent(int pid, const base::char16* name, int64 value) { | 65 void AddExitFunnelEvent(int pid, const base::char16* name, int64_t value) { |
| 63 base::string16 key_name = | 66 base::string16 key_name = |
| 64 base::StringPrintf(L"%ls\\%d-%d", kRegistryPath, pid, pid); | 67 base::StringPrintf(L"%ls\\%d-%d", kRegistryPath, pid, pid); |
| 65 | 68 |
| 66 base::win::RegKey key(HKEY_CURRENT_USER, key_name.c_str(), KEY_WRITE); | 69 base::win::RegKey key(HKEY_CURRENT_USER, key_name.c_str(), KEY_WRITE); |
| 67 ASSERT_EQ(key.WriteValue(name, &value, sizeof(value), REG_QWORD), | 70 ASSERT_EQ(key.WriteValue(name, &value, sizeof(value), REG_QWORD), |
| 68 ERROR_SUCCESS); | 71 ERROR_SUCCESS); |
| 69 } | 72 } |
| 70 | 73 |
| 71 protected: | 74 protected: |
| 72 registry_util::RegistryOverrideManager override_manager_; | 75 registry_util::RegistryOverrideManager override_manager_; |
| (...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 195 provider.OnRecordingDisabled(); | 198 provider.OnRecordingDisabled(); |
| 196 // Flush the task(s). | 199 // Flush the task(s). |
| 197 test_task_runner_->RunPendingTasks(); | 200 test_task_runner_->RunPendingTasks(); |
| 198 } | 201 } |
| 199 | 202 |
| 200 // We expect only 100 of the funnels have been scrubbed. | 203 // We expect only 100 of the funnels have been scrubbed. |
| 201 EXPECT_EQ(100u, it.SubkeyCount()); | 204 EXPECT_EQ(100u, it.SubkeyCount()); |
| 202 } | 205 } |
| 203 | 206 |
| 204 } // namespace browser_watcher | 207 } // namespace browser_watcher |
| OLD | NEW |