Index: chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/ClearBrowsingDataPreferences.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/ClearBrowsingDataPreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/ClearBrowsingDataPreferences.java |
index ae0ad9c391d31a3321fad1a0a5dab00048ca8ebd..2145fb3a63178398541ed3d0d42eeb73f7497625 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/ClearBrowsingDataPreferences.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/ClearBrowsingDataPreferences.java |
@@ -15,6 +15,7 @@ import android.widget.ListView; |
import org.chromium.base.VisibleForTesting; |
import org.chromium.base.metrics.RecordHistogram; |
+import org.chromium.base.metrics.RecordUserAction; |
import org.chromium.chrome.R; |
import org.chromium.chrome.browser.BrowsingDataType; |
import org.chromium.chrome.browser.ChromeFeatureList; |
@@ -213,6 +214,8 @@ public class ClearBrowsingDataPreferences extends PreferenceFragment |
private ProgressDialog mProgressDialog; |
private Item[] mItems; |
+ // This is a constant on the C++ side. |
+ private int mMaxImportantSites; |
// This is the sorted list of important registerable domains. If null, then we haven't finished |
// fetching them yet. |
private String[] mSortedImportantDomains; |
@@ -344,11 +347,17 @@ public class ClearBrowsingDataPreferences extends PreferenceFragment |
* </ol> |
*/ |
private boolean shouldShowImportantSitesDialog() { |
- if (mSortedImportantDomains == null || mSortedImportantDomains.length == 0) return false; |
+ if (!ChromeFeatureList.isEnabled(ChromeFeatureList.IMPORTANT_SITES_IN_CBD)) return false; |
EnumSet<DialogOption> selectedOptions = getSelectedOptions(); |
- return ChromeFeatureList.isEnabled(ChromeFeatureList.IMPORTANT_SITES_IN_CBD) |
- && (selectedOptions.contains(DialogOption.CLEAR_CACHE) |
- || selectedOptions.contains(DialogOption.CLEAR_COOKIES_AND_SITE_DATA)); |
+ if (!selectedOptions.contains(DialogOption.CLEAR_CACHE) |
+ && !selectedOptions.contains(DialogOption.CLEAR_COOKIES_AND_SITE_DATA)) { |
+ return false; |
+ } |
+ boolean haveImportantSites = |
+ mSortedImportantDomains != null && mSortedImportantDomains.length != 0; |
+ RecordHistogram.recordBooleanHistogram( |
+ "History.ClearBrowsingData.ImportantDialogShown", haveImportantSites); |
+ return haveImportantSites; |
} |
@Override |
@@ -395,6 +404,8 @@ public class ClearBrowsingDataPreferences extends PreferenceFragment |
@Override |
public void onCreate(Bundle savedInstanceState) { |
super.onCreate(savedInstanceState); |
+ RecordUserAction.record("ClearBrowsingData_DialogCreated"); |
+ mMaxImportantSites = PrefServiceBridge.getMaxImportantSites(); |
PrefServiceBridge.getInstance().requestInfoAboutOtherFormsOfBrowsingHistory(this); |
getActivity().setTitle(R.string.clear_browsing_data_title); |
addPreferencesFromResource(R.xml.clear_browsing_data_preferences); |
@@ -565,6 +576,10 @@ public class ClearBrowsingDataPreferences extends PreferenceFragment |
@Override |
public void onImportantRegisterableDomainsReady(String[] domains, String[] exampleOrigins) { |
+ // mMaxImportantSites is a constant on the C++ side. |
+ int domainLength = domains != null ? domains.length : 0; |
+ RecordHistogram.recordCustomCountHistogram("History.ClearBrowsingData.NumImportant", |
+ domainLength, 0, mMaxImportantSites + 1, mMaxImportantSites + 1); |
mSortedImportantDomains = Arrays.copyOf(domains, domains.length); |
mSortedExampleOrigins = Arrays.copyOf(exampleOrigins, exampleOrigins.length); |
} |
@@ -579,6 +594,14 @@ public class ClearBrowsingDataPreferences extends PreferenceFragment |
// Deselected means that the user is excluding the domain from being cleared. |
String[] deselectedDomains = data.getStringArrayExtra( |
ConfirmImportantSitesDialogFragment.DESELECTED_DOMAINS_TAG); |
+ int deselectedLength = deselectedDomains != null ? deselectedDomains.length : 0; |
+ // mMaxImportantSites is a constant on the C++ side. |
+ RecordHistogram.recordCustomCountHistogram( |
+ "History.ClearBrowsingData.ImportantDeselectedNum", deselectedLength, 0, |
+ mMaxImportantSites + 1, mMaxImportantSites + 1); |
+ RecordHistogram.recordPercentageHistogram( |
+ "History.ClearBrowsingData.ImportantDeselectedPercent", |
+ deselectedDomains.length * 100 / mSortedImportantDomains.length); |
Mark P
2016/06/30 05:29:09
I'm a little confused by what you're doing here.
dmurph
2016/06/30 20:16:29
Here we want to figure out the percent of sites th
|
clearBrowsingData(getSelectedOptions(), deselectedDomains); |
} |
} |