Chromium Code Reviews| 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); |
| } |
| } |