Index: chrome/android/java/src/org/chromium/chrome/browser/DeferredStartupHandler.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/DeferredStartupHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/DeferredStartupHandler.java |
index babcd477fdbbfc808aba22796c80aef24dd372cf..df43c09242eaca847bf777715a80910a290d2de6 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/DeferredStartupHandler.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/DeferredStartupHandler.java |
@@ -16,7 +16,6 @@ import android.view.inputmethod.InputMethodInfo; |
import android.view.inputmethod.InputMethodManager; |
import android.view.inputmethod.InputMethodSubtype; |
-import org.chromium.base.CommandLine; |
import org.chromium.base.ContextUtils; |
import org.chromium.base.FieldTrialList; |
import org.chromium.base.Log; |
@@ -42,7 +41,6 @@ import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomiza |
import org.chromium.chrome.browser.physicalweb.PhysicalWeb; |
import org.chromium.chrome.browser.precache.PrecacheLauncher; |
import org.chromium.chrome.browser.preferences.ChromePreferenceManager; |
-import org.chromium.chrome.browser.preferences.privacy.PrivacyPreferencesManager; |
import org.chromium.chrome.browser.share.ShareHelper; |
import org.chromium.chrome.browser.webapps.ChromeWebApkHost; |
import org.chromium.chrome.browser.webapps.WebApkVersionManager; |
@@ -316,27 +314,21 @@ public class DeferredStartupHandler { |
* minidump storage directory. |
*/ |
private void initCrashReporting() { |
- // Perform cleanup prior to checking whether crash reporting is enabled, so that |
- // users who disable crash reporting are still able to eventually recover disk space |
- // dedicated to storing pending crash reports. |
- CrashFileManager crashFileManager = new CrashFileManager(mAppContext.getCacheDir()); |
- crashFileManager.cleanOutAllNonFreshMinidumpFiles(); |
+ RecordHistogram.recordLongTimesHistogram("UMA.Debug.EnableCrashUpload.Uptime3", |
+ mAsyncTaskStartTime - UmaUtils.getForegroundStartTime(), |
+ TimeUnit.MILLISECONDS); |
- // Likewise, there might be pending metrics from previous runs when crash reporting |
- // was enabled. |
+ // Crash reports can be uploaded as part of a background service even while the main |
+ // Chrome activity is not running, and hence regular metrics reporting is not |
+ // possible. Instead, metrics are temporarily written to prefs; export those prefs |
+ // to UMA metrics here. |
MinidumpUploadService.storeBreakpadUploadStatsInUma( |
ChromePreferenceManager.getInstance()); |
- // Now check whether crash reporting is enabled. If it is, broadcast the appropriate |
- // permission. |
- boolean crashReportingDisabled = CommandLine.getInstance().hasSwitch( |
- ChromeSwitches.DISABLE_CRASH_DUMP_UPLOAD); |
- if (crashReportingDisabled) return; |
- PrivacyPreferencesManager.getInstance().enablePotentialCrashUploading(); |
- |
- RecordHistogram.recordLongTimesHistogram("UMA.Debug.EnableCrashUpload.Uptime3", |
- mAsyncTaskStartTime - UmaUtils.getForegroundStartTime(), |
- TimeUnit.MILLISECONDS); |
+ // Likewise, this is a good time to process and clean up any pending or stale crash |
+ // reports left behind by previous runs. |
+ CrashFileManager crashFileManager = new CrashFileManager(mAppContext.getCacheDir()); |
+ crashFileManager.cleanOutAllNonFreshMinidumpFiles(); |
// Finally, uploading any pending crash reports. |
File[] minidumps = crashFileManager.getAllMinidumpFiles( |