Chromium Code Reviews| Index: chrome/browser/metrics/desktop_session_duration/chrome_visibility_observer.cc |
| diff --git a/chrome/browser/metrics/desktop_session_duration/chrome_visibility_observer.cc b/chrome/browser/metrics/desktop_session_duration/chrome_visibility_observer.cc |
| index 8cce013524d4746bb2c7c5af59728c4c37ce1c31..84ebc25287146b8f835798ac0c6637078d59290d 100644 |
| --- a/chrome/browser/metrics/desktop_session_duration/chrome_visibility_observer.cc |
| +++ b/chrome/browser/metrics/desktop_session_duration/chrome_visibility_observer.cc |
| @@ -14,6 +14,12 @@ |
| namespace metrics { |
| +namespace { |
| + |
| +const base::TimeDelta kZeroTime = base::TimeDelta::FromSeconds(0); |
| + |
| +} // namespace |
| + |
| ChromeVisibilityObserver::ChromeVisibilityObserver() : weak_factory_(this) { |
| BrowserList::AddObserver(this); |
| InitVisibilityGapTimeout(); |
| @@ -23,8 +29,9 @@ ChromeVisibilityObserver::~ChromeVisibilityObserver() { |
| BrowserList::RemoveObserver(this); |
| } |
| -void ChromeVisibilityObserver::SendVisibilityChangeEvent(bool active) { |
| - DesktopSessionDurationTracker::Get()->OnVisibilityChanged(active); |
| +void ChromeVisibilityObserver::SendVisibilityChangeEvent( |
| + bool active, base::TimeDelta time_ago) { |
|
Alexei Svitkine (slow)
2016/10/03 16:50:33
Nit: I think convention is 1 param per line if the
chrisha
2016/10/03 18:06:09
Done.
|
| + DesktopSessionDurationTracker::Get()->OnVisibilityChanged(active, time_ago); |
| } |
| void ChromeVisibilityObserver::CancelVisibilityChange() { |
| @@ -35,14 +42,14 @@ void ChromeVisibilityObserver::OnBrowserSetLastActive(Browser* browser) { |
| if (weak_factory_.HasWeakPtrs()) |
| CancelVisibilityChange(); |
| else |
| - SendVisibilityChangeEvent(true); |
| + SendVisibilityChangeEvent(true, kZeroTime); |
| } |
| void ChromeVisibilityObserver::OnBrowserNoLongerActive(Browser* browser) { |
| base::ThreadTaskRunnerHandle::Get()->PostDelayedTask( |
| FROM_HERE, |
| base::Bind(&ChromeVisibilityObserver::SendVisibilityChangeEvent, |
| - weak_factory_.GetWeakPtr(), false), |
| + weak_factory_.GetWeakPtr(), false, visibility_gap_timeout_), |
| visibility_gap_timeout_); |
| } |
| @@ -51,7 +58,7 @@ void ChromeVisibilityObserver::OnBrowserRemoved(Browser* browser) { |
| // is not visible anymore immediately without waiting. |
| if (BrowserList::GetInstance()->empty()) { |
| CancelVisibilityChange(); |
| - SendVisibilityChangeEvent(false); |
| + SendVisibilityChangeEvent(false, kZeroTime); |
| } |
| } |