Commit 0ac4090c authored by Side Yilmaz's avatar Side Yilmaz Committed by Commit Bot

Adding Profile.Incognito.Lifetime metric for iOS.

Profile.Incognito.Lifetime metric is not working in iOS currently. This
CL add Profile.Incognito.Lifetime metric to iOS app.

Bug: 1067163
Change-Id: I17cdc2fe493a15c8a1cd57bbf6abb2d7429bab11
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2137344
Commit-Queue: Side YILMAZ <sideyilmaz@chromium.org>
Reviewed-by: default avatarRamin Halavati <rhalavati@chromium.org>
Reviewed-by: default avatarSylvain Defresne <sdefresne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#757458}
parent ef5ec6eb
......@@ -5,6 +5,7 @@
#include "ios/chrome/browser/browser_state/off_the_record_chrome_browser_state_impl.h"
#include "base/logging.h"
#include "base/metrics/histogram_functions.h"
#include "base/sequenced_task_runner.h"
#include "base/task/post_task.h"
#include "components/keyed_service/ios/browser_state_dependency_manager.h"
......@@ -25,6 +26,7 @@ OffTheRecordChromeBrowserStateImpl::OffTheRecordChromeBrowserStateImpl(
: ChromeBrowserState(std::move(io_task_runner)),
otr_state_path_(otr_path),
original_chrome_browser_state_(original_chrome_browser_state),
start_time_(base::Time::Now()),
prefs_(CreateIncognitoBrowserStatePrefs(
static_cast<sync_preferences::PrefServiceSyncable*>(
original_chrome_browser_state->GetPrefs()))) {
......@@ -40,6 +42,11 @@ OffTheRecordChromeBrowserStateImpl::~OffTheRecordChromeBrowserStateImpl() {
if (pref_proxy_config_tracker_)
pref_proxy_config_tracker_->DetachFromPrefService();
const base::TimeDelta duration = base::Time::Now() - start_time_;
base::UmaHistogramCustomCounts(
"Profile.Incognito.Lifetime", duration.InMinutes(), 1,
base::TimeDelta::FromDays(28).InMinutes(), 100);
// Clears any data the network stack contains that may be related to the
// OTR session.
GetApplicationContext()->GetIOSChromeIOThread()->ChangedToOnTheRecord();
......
......@@ -52,6 +52,9 @@ class OffTheRecordChromeBrowserStateImpl : public ChromeBrowserState {
base::FilePath otr_state_path_;
ChromeBrowserState* original_chrome_browser_state_; // weak
// Creation time of the off-the-record BrowserState.
const base::Time start_time_;
std::unique_ptr<sync_preferences::PrefServiceSyncable> prefs_;
std::unique_ptr<OffTheRecordChromeBrowserStateIOData::Handle> io_data_;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment