| OLD | NEW |
| 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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 // This code glues the RLZ library DLL with Chrome. It allows Chrome to work | 5 // This code glues the RLZ library DLL with Chrome. It allows Chrome to work |
| 6 // with or without the DLL being present. If the DLL is not present the | 6 // with or without the DLL being present. If the DLL is not present the |
| 7 // functions do nothing and just return false. | 7 // functions do nothing and just return false. |
| 8 | 8 |
| 9 #include "chrome/browser/rlz/rlz.h" | 9 #include "chrome/browser/rlz/rlz.h" |
| 10 | 10 |
| (...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 145 : directory_key_(directory_key), first_run_(first_run) { | 145 : directory_key_(directory_key), first_run_(first_run) { |
| 146 } | 146 } |
| 147 virtual ~DelayedInitTask() { | 147 virtual ~DelayedInitTask() { |
| 148 } | 148 } |
| 149 virtual void Run() { | 149 virtual void Run() { |
| 150 if (!LoadRLZLibrary(directory_key_)) | 150 if (!LoadRLZLibrary(directory_key_)) |
| 151 return; | 151 return; |
| 152 // For non-interactive tests we don't do the rest of the initialization. | 152 // For non-interactive tests we don't do the rest of the initialization. |
| 153 if (::GetEnvironmentVariableW(env_vars::kHeadless, NULL, 0)) | 153 if (::GetEnvironmentVariableW(env_vars::kHeadless, NULL, 0)) |
| 154 return; | 154 return; |
| 155 if (first_run_) { | 155 |
| 156 std::wstring omnibox_rlz; |
| 157 RLZTracker::GetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, &omnibox_rlz); |
| 158 |
| 159 if (first_run_ || omnibox_rlz.empty()) { |
| 156 // Record the installation of chrome. | 160 // Record the installation of chrome. |
| 157 RLZTracker::RecordProductEvent(RLZTracker::CHROME, | 161 RLZTracker::RecordProductEvent(RLZTracker::CHROME, |
| 158 RLZTracker::CHROME_OMNIBOX, | 162 RLZTracker::CHROME_OMNIBOX, |
| 159 RLZTracker::INSTALL); | 163 RLZTracker::INSTALL); |
| 160 RLZTracker::RecordProductEvent(RLZTracker::CHROME, | 164 RLZTracker::RecordProductEvent(RLZTracker::CHROME, |
| 161 RLZTracker::CHROME_HOME_PAGE, | 165 RLZTracker::CHROME_HOME_PAGE, |
| 162 RLZTracker::INSTALL); | 166 RLZTracker::INSTALL); |
| 163 // Record if google is the initial search provider. | 167 // Record if google is the initial search provider. |
| 164 if (IsGoogleDefaultSearch()) { | 168 if (IsGoogleDefaultSearch()) { |
| 165 RLZTracker::RecordProductEvent(RLZTracker::CHROME, | 169 RLZTracker::RecordProductEvent(RLZTracker::CHROME, |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 197 }; | 201 }; |
| 198 | 202 |
| 199 } // namespace | 203 } // namespace |
| 200 | 204 |
| 201 bool RLZTracker::InitRlz(int directory_key) { | 205 bool RLZTracker::InitRlz(int directory_key) { |
| 202 return LoadRLZLibrary(directory_key); | 206 return LoadRLZLibrary(directory_key); |
| 203 } | 207 } |
| 204 | 208 |
| 205 bool RLZTracker::InitRlzDelayed(int directory_key, bool first_run) { | 209 bool RLZTracker::InitRlzDelayed(int directory_key, bool first_run) { |
| 206 // Schedule the delayed init items. | 210 // Schedule the delayed init items. |
| 207 const int kOneHundredSeconds = 100000; | 211 const int kTwentySeconds = 20 * 1000; |
| 208 MessageLoop::current()->PostDelayedTask(FROM_HERE, | 212 MessageLoop::current()->PostDelayedTask(FROM_HERE, |
| 209 new DelayedInitTask(directory_key, first_run), kOneHundredSeconds); | 213 new DelayedInitTask(directory_key, first_run), kTwentySeconds); |
| 210 return true; | 214 return true; |
| 211 } | 215 } |
| 212 | 216 |
| 213 bool RLZTracker::RecordProductEvent(Product product, AccessPoint point, | 217 bool RLZTracker::RecordProductEvent(Product product, AccessPoint point, |
| 214 Event event) { | 218 Event event) { |
| 215 return (record_event) ? record_event(product, point, event, NULL) : false; | 219 return (record_event) ? record_event(product, point, event, NULL) : false; |
| 216 } | 220 } |
| 217 | 221 |
| 218 bool RLZTracker::ClearAllProductEvents(Product product) { | 222 bool RLZTracker::ClearAllProductEvents(Product product) { |
| 219 return (clear_all_events) ? clear_all_events(product, NULL) : false; | 223 return (clear_all_events) ? clear_all_events(product, NULL) : false; |
| (...skipping 26 matching lines...) Expand all Loading... |
| 246 bool RLZTracker::SendFinancialPing(Product product, | 250 bool RLZTracker::SendFinancialPing(Product product, |
| 247 const wchar_t* product_signature, | 251 const wchar_t* product_signature, |
| 248 const wchar_t* product_brand, | 252 const wchar_t* product_brand, |
| 249 const wchar_t* product_id, | 253 const wchar_t* product_id, |
| 250 const wchar_t* product_lang) { | 254 const wchar_t* product_lang) { |
| 251 AccessPoint points[] = {CHROME_OMNIBOX, CHROME_HOME_PAGE, NO_ACCESS_POINT}; | 255 AccessPoint points[] = {CHROME_OMNIBOX, CHROME_HOME_PAGE, NO_ACCESS_POINT}; |
| 252 return (send_ping) ? send_ping(product, points, product_signature, | 256 return (send_ping) ? send_ping(product, points, product_signature, |
| 253 product_brand, product_id, product_lang, NULL) : false; | 257 product_brand, product_id, product_lang, NULL) : false; |
| 254 } | 258 } |
| 255 | 259 |
| OLD | NEW |