| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 <limits> | 5 #include <limits> |
| 6 #include <string> | 6 #include <string> |
| 7 | 7 |
| 8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
| 9 #include "base/guid.h" | 9 #include "base/guid.h" |
| 10 #include "base/strings/string_number_conversions.h" | 10 #include "base/strings/string_number_conversions.h" |
| (...skipping 18 matching lines...) Expand all Loading... |
| 29 std::wstring hkcu_override = base::StringPrintf( | 29 std::wstring hkcu_override = base::StringPrintf( |
| 30 L"hkcu_override\\%ls", base::ASCIIToWide(base::GenerateGUID())); | 30 L"hkcu_override\\%ls", base::ASCIIToWide(base::GenerateGUID())); |
| 31 override_manager_.OverrideRegistry(HKEY_CURRENT_USER, hkcu_override); | 31 override_manager_.OverrideRegistry(HKEY_CURRENT_USER, hkcu_override); |
| 32 | 32 |
| 33 // Create the client state key in the right places. | 33 // Create the client state key in the right places. |
| 34 std::wstring reg_path(google_update::kRegPathClientState); | 34 std::wstring reg_path(google_update::kRegPathClientState); |
| 35 reg_path += L"\\"; | 35 reg_path += L"\\"; |
| 36 reg_path += google_update::kChromeUpgradeCode; | 36 reg_path += google_update::kChromeUpgradeCode; |
| 37 RegKey client_state(HKEY_CURRENT_USER, | 37 RegKey client_state(HKEY_CURRENT_USER, |
| 38 reg_path.c_str(), | 38 reg_path.c_str(), |
| 39 KEY_CREATE_SUB_KEY | KEY_WOW64_32KEY); | 39 KEY_CREATE_SUB_KEY); |
| 40 ASSERT_TRUE(client_state.Valid()); | 40 ASSERT_TRUE(client_state.Valid()); |
| 41 | 41 |
| 42 // Place a bogus "pv" value in the right places to make the last run | 42 // Place a bogus "pv" value in the right places to make the last run |
| 43 // checker believe Chrome is installed. | 43 // checker believe Chrome is installed. |
| 44 std::wstring clients_path(google_update::kRegPathClients); | 44 std::wstring clients_path(google_update::kRegPathClients); |
| 45 clients_path += L"\\"; | 45 clients_path += L"\\"; |
| 46 clients_path += google_update::kChromeUpgradeCode; | 46 clients_path += google_update::kChromeUpgradeCode; |
| 47 RegKey client_key(HKEY_CURRENT_USER, | 47 RegKey client_key(HKEY_CURRENT_USER, |
| 48 clients_path.c_str(), | 48 clients_path.c_str(), |
| 49 KEY_CREATE_SUB_KEY | KEY_SET_VALUE | KEY_WOW64_32KEY); | 49 KEY_CREATE_SUB_KEY | KEY_SET_VALUE); |
| 50 ASSERT_TRUE(client_key.Valid()); | 50 ASSERT_TRUE(client_key.Valid()); |
| 51 client_key.WriteValue(L"pv", L"1.2.3.4"); | 51 client_key.WriteValue(L"pv", L"1.2.3.4"); |
| 52 } | 52 } |
| 53 | 53 |
| 54 bool SetLastRunTime(int64 last_run_time) { | 54 bool SetLastRunTime(int64 last_run_time) { |
| 55 return SetLastRunTimeString(base::Int64ToString16(last_run_time)); | 55 return SetLastRunTimeString(base::Int64ToString16(last_run_time)); |
| 56 } | 56 } |
| 57 | 57 |
| 58 bool SetLastRunTimeString(const base::string16& last_run_time_string) { | 58 bool SetLastRunTimeString(const base::string16& last_run_time_string) { |
| 59 const wchar_t* base_path = google_update::kRegPathClientState; | 59 const wchar_t* base_path = google_update::kRegPathClientState; |
| 60 std::wstring path(base_path); | 60 std::wstring path(base_path); |
| 61 path += L"\\"; | 61 path += L"\\"; |
| 62 path += google_update::kChromeUpgradeCode; | 62 path += google_update::kChromeUpgradeCode; |
| 63 | 63 |
| 64 RegKey client_state( | 64 RegKey client_state(HKEY_CURRENT_USER, path.c_str(), KEY_SET_VALUE); |
| 65 HKEY_CURRENT_USER, path.c_str(), KEY_SET_VALUE | KEY_WOW64_32KEY); | |
| 66 return (client_state.Valid() && | 65 return (client_state.Valid() && |
| 67 client_state.WriteValue( | 66 client_state.WriteValue( |
| 68 google_update::kRegLastRunTimeField, | 67 google_update::kRegLastRunTimeField, |
| 69 last_run_time_string.c_str()) == ERROR_SUCCESS); | 68 last_run_time_string.c_str()) == ERROR_SUCCESS); |
| 70 } | 69 } |
| 71 | 70 |
| 72 private: | 71 private: |
| 73 registry_util::RegistryOverrideManager override_manager_; | 72 registry_util::RegistryOverrideManager override_manager_; |
| 74 }; | 73 }; |
| 75 | 74 |
| (...skipping 16 matching lines...) Expand all Loading... |
| 92 EXPECT_EQ(-1, days_since_last_run); | 91 EXPECT_EQ(-1, days_since_last_run); |
| 93 } | 92 } |
| 94 | 93 |
| 95 TEST_F(GCAPILastRunTest, OutOfRangeLastRun) { | 94 TEST_F(GCAPILastRunTest, OutOfRangeLastRun) { |
| 96 Time last_run = Time::NowFromSystemTime() - TimeDelta::FromDays(-42); | 95 Time last_run = Time::NowFromSystemTime() - TimeDelta::FromDays(-42); |
| 97 EXPECT_TRUE(SetLastRunTime(last_run.ToInternalValue())); | 96 EXPECT_TRUE(SetLastRunTime(last_run.ToInternalValue())); |
| 98 | 97 |
| 99 int days_since_last_run = GoogleChromeDaysSinceLastRun(); | 98 int days_since_last_run = GoogleChromeDaysSinceLastRun(); |
| 100 EXPECT_EQ(-1, days_since_last_run); | 99 EXPECT_EQ(-1, days_since_last_run); |
| 101 } | 100 } |
| OLD | NEW |