| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/google/google_url_tracker.h" | 5 #include "chrome/browser/google/google_url_tracker.h" |
| 6 | 6 |
| 7 #include <vector> | 7 #include <vector> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 181 if (!queue_wakeup_task_) | 181 if (!queue_wakeup_task_) |
| 182 return; | 182 return; |
| 183 | 183 |
| 184 // Because this function can be called during startup, when kicking off a URL | 184 // Because this function can be called during startup, when kicking off a URL |
| 185 // fetch can eat up 20 ms of time, we delay five seconds, which is hopefully | 185 // fetch can eat up 20 ms of time, we delay five seconds, which is hopefully |
| 186 // long enough to be after startup, but still get results back quickly. | 186 // long enough to be after startup, but still get results back quickly. |
| 187 // Ideally, instead of this timer, we'd do something like "check if the | 187 // Ideally, instead of this timer, we'd do something like "check if the |
| 188 // browser is starting up, and if so, come back later", but there is currently | 188 // browser is starting up, and if so, come back later", but there is currently |
| 189 // no function to do this. | 189 // no function to do this. |
| 190 static const int kStartFetchDelayMS = 5000; | 190 static const int kStartFetchDelayMS = 5000; |
| 191 |
| 191 MessageLoop::current()->PostDelayedTask(FROM_HERE, | 192 MessageLoop::current()->PostDelayedTask(FROM_HERE, |
| 192 base::Bind(&GoogleURLTracker::FinishSleep, | 193 base::Bind(&GoogleURLTracker::FinishSleep, |
| 193 weak_ptr_factory_.GetWeakPtr()), | 194 weak_ptr_factory_.GetWeakPtr()), |
| 194 kStartFetchDelayMS); | 195 base::TimeDelta::FromMilliseconds(kStartFetchDelayMS)); |
| 195 } | 196 } |
| 196 | 197 |
| 197 void GoogleURLTracker::FinishSleep() { | 198 void GoogleURLTracker::FinishSleep() { |
| 198 in_startup_sleep_ = false; | 199 in_startup_sleep_ = false; |
| 199 StartFetchIfDesirable(); | 200 StartFetchIfDesirable(); |
| 200 } | 201 } |
| 201 | 202 |
| 202 void GoogleURLTracker::StartFetchIfDesirable() { | 203 void GoogleURLTracker::StartFetchIfDesirable() { |
| 203 // Bail if a fetch isn't appropriate right now. This function will be called | 204 // Bail if a fetch isn't appropriate right now. This function will be called |
| 204 // again each time one of the preconditions changes, so we'll fetch | 205 // again each time one of the preconditions changes, so we'll fetch |
| (...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 392 | 393 |
| 393 // |tab_contents| can be NULL during tests. | 394 // |tab_contents| can be NULL during tests. |
| 394 InfoBarTabHelper* infobar_helper = NULL; | 395 InfoBarTabHelper* infobar_helper = NULL; |
| 395 if (web_contents) { | 396 if (web_contents) { |
| 396 TabContentsWrapper* wrapper = | 397 TabContentsWrapper* wrapper = |
| 397 TabContentsWrapper::GetCurrentWrapperForContents(web_contents); | 398 TabContentsWrapper::GetCurrentWrapperForContents(web_contents); |
| 398 infobar_helper = wrapper->infobar_tab_helper(); | 399 infobar_helper = wrapper->infobar_tab_helper(); |
| 399 } | 400 } |
| 400 infobar_ = (*infobar_creator_)(infobar_helper, this, fetched_google_url_); | 401 infobar_ = (*infobar_creator_)(infobar_helper, this, fetched_google_url_); |
| 401 } | 402 } |
| OLD | NEW |