Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(17)

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java

Issue 2282273002: Remove the obsolete MinidumpDirectoryObserver experiment. (Closed)
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.chrome.browser.init; 5 package org.chromium.chrome.browser.init;
6 6
7 import android.app.Activity; 7 import android.app.Activity;
8 import android.content.Context; 8 import android.content.Context;
9 import android.os.AsyncTask; 9 import android.os.AsyncTask;
10 import android.os.Build; 10 import android.os.Build;
11 import android.os.Handler; 11 import android.os.Handler;
12 import android.os.Looper; 12 import android.os.Looper;
13 import android.os.Process; 13 import android.os.Process;
14 import android.os.StrictMode; 14 import android.os.StrictMode;
15 import android.text.TextUtils;
16 15
17 import com.squareup.leakcanary.LeakCanary; 16 import com.squareup.leakcanary.LeakCanary;
18 17
19 import org.chromium.base.ActivityState; 18 import org.chromium.base.ActivityState;
20 import org.chromium.base.ApplicationStatus; 19 import org.chromium.base.ApplicationStatus;
21 import org.chromium.base.ApplicationStatus.ActivityStateListener; 20 import org.chromium.base.ApplicationStatus.ActivityStateListener;
22 import org.chromium.base.BaseSwitches; 21 import org.chromium.base.BaseSwitches;
23 import org.chromium.base.CommandLine; 22 import org.chromium.base.CommandLine;
24 import org.chromium.base.ContentUriUtils; 23 import org.chromium.base.ContentUriUtils;
25 import org.chromium.base.ContextUtils; 24 import org.chromium.base.ContextUtils;
26 import org.chromium.base.Log; 25 import org.chromium.base.Log;
27 import org.chromium.base.PathUtils; 26 import org.chromium.base.PathUtils;
28 import org.chromium.base.ResourceExtractor; 27 import org.chromium.base.ResourceExtractor;
29 import org.chromium.base.ThreadUtils; 28 import org.chromium.base.ThreadUtils;
30 import org.chromium.base.TraceEvent; 29 import org.chromium.base.TraceEvent;
31 import org.chromium.base.annotations.RemovableInRelease; 30 import org.chromium.base.annotations.RemovableInRelease;
32 import org.chromium.base.library_loader.LibraryLoader; 31 import org.chromium.base.library_loader.LibraryLoader;
33 import org.chromium.base.library_loader.LibraryProcessType; 32 import org.chromium.base.library_loader.LibraryProcessType;
34 import org.chromium.base.library_loader.ProcessInitException; 33 import org.chromium.base.library_loader.ProcessInitException;
35 import org.chromium.chrome.browser.ChromeApplication; 34 import org.chromium.chrome.browser.ChromeApplication;
36 import org.chromium.chrome.browser.ChromeStrictMode; 35 import org.chromium.chrome.browser.ChromeStrictMode;
37 import org.chromium.chrome.browser.ChromeSwitches; 36 import org.chromium.chrome.browser.ChromeSwitches;
38 import org.chromium.chrome.browser.FileProviderHelper; 37 import org.chromium.chrome.browser.FileProviderHelper;
39 import org.chromium.chrome.browser.crash.MinidumpDirectoryObserver; 38 import org.chromium.chrome.browser.crash.MinidumpDirectoryObserver;
40 import org.chromium.chrome.browser.device.DeviceClassManager; 39 import org.chromium.chrome.browser.device.DeviceClassManager;
41 import org.chromium.chrome.browser.services.GoogleServicesManager; 40 import org.chromium.chrome.browser.services.GoogleServicesManager;
42 import org.chromium.chrome.browser.tabmodel.document.DocumentTabModelImpl; 41 import org.chromium.chrome.browser.tabmodel.document.DocumentTabModelImpl;
43 import org.chromium.chrome.browser.webapps.ActivityAssigner; 42 import org.chromium.chrome.browser.webapps.ActivityAssigner;
44 import org.chromium.chrome.browser.webapps.ChromeWebApkHost; 43 import org.chromium.chrome.browser.webapps.ChromeWebApkHost;
45 import org.chromium.components.variations.VariationsAssociatedData;
46 import org.chromium.content.app.ContentApplication; 44 import org.chromium.content.app.ContentApplication;
47 import org.chromium.content.browser.BrowserStartupController; 45 import org.chromium.content.browser.BrowserStartupController;
48 import org.chromium.content.browser.ChildProcessCreationParams; 46 import org.chromium.content.browser.ChildProcessCreationParams;
49 import org.chromium.content.browser.DeviceUtils; 47 import org.chromium.content.browser.DeviceUtils;
50 import org.chromium.content.browser.SpeechRecognition; 48 import org.chromium.content.browser.SpeechRecognition;
51 import org.chromium.net.NetworkChangeNotifier; 49 import org.chromium.net.NetworkChangeNotifier;
52 import org.chromium.policy.CombinedPolicyProvider; 50 import org.chromium.policy.CombinedPolicyProvider;
53 import org.chromium.ui.base.DeviceFormFactor; 51 import org.chromium.ui.base.DeviceFormFactor;
54 52
55 import java.util.LinkedList; 53 import java.util.LinkedList;
(...skipping 334 matching lines...) Expand 10 before | Expand all | Expand 10 after
390 388
391 SpeechRecognition.initialize(mApplication); 389 SpeechRecognition.initialize(mApplication);
392 } 390 }
393 391
394 private void onFinishNativeInitialization() { 392 private void onFinishNativeInitialization() {
395 if (mNativeInitializationComplete) return; 393 if (mNativeInitializationComplete) return;
396 394
397 mNativeInitializationComplete = true; 395 mNativeInitializationComplete = true;
398 ContentUriUtils.setFileProviderUtil(new FileProviderHelper()); 396 ContentUriUtils.setFileProviderUtil(new FileProviderHelper());
399 397
400 if (TextUtils.equals("true", VariationsAssociatedData.getVariationParamV alue( 398 // Start the file observer to watch the minidump directory.
401 MinidumpDirectoryObserver.MINIDUMP_EXPERIMENT_NAME, "Enabled"))) { 399 new AsyncTask<Void, Void, MinidumpDirectoryObserver>() {
400 @Override
401 protected MinidumpDirectoryObserver doInBackground(Void... params) {
402 return new MinidumpDirectoryObserver();
403 }
402 404
403 // Start the file observer to watch the minidump directory. 405 @Override
404 new AsyncTask<Void, Void, MinidumpDirectoryObserver>() { 406 protected void onPostExecute(MinidumpDirectoryObserver minidumpDirec toryObserver) {
405 @Override 407 mMinidumpDirectoryObserver = minidumpDirectoryObserver;
406 protected MinidumpDirectoryObserver doInBackground(Void... param s) { 408 mMinidumpDirectoryObserver.startWatching();
407 return new MinidumpDirectoryObserver(); 409 }
408 } 410 }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
409
410 @Override
411 protected void onPostExecute(MinidumpDirectoryObserver minidumpD irectoryObserver) {
412 mMinidumpDirectoryObserver = minidumpDirectoryObserver;
413 mMinidumpDirectoryObserver.startWatching();
414 }
415 }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
416 }
417 } 411 }
418 412
419 private void waitForDebuggerIfNeeded() { 413 private void waitForDebuggerIfNeeded() {
420 if (CommandLine.getInstance().hasSwitch(BaseSwitches.WAIT_FOR_JAVA_DEBUG GER)) { 414 if (CommandLine.getInstance().hasSwitch(BaseSwitches.WAIT_FOR_JAVA_DEBUG GER)) {
421 Log.e(TAG, "Waiting for Java debugger to connect..."); 415 Log.e(TAG, "Waiting for Java debugger to connect...");
422 android.os.Debug.waitForDebugger(); 416 android.os.Debug.waitForDebugger();
423 Log.e(TAG, "Java debugger connected. Resuming execution."); 417 Log.e(TAG, "Java debugger connected. Resuming execution.");
424 } 418 }
425 } 419 }
426 420
427 private ActivityStateListener createActivityStateListener() { 421 private ActivityStateListener createActivityStateListener() {
428 return new ActivityStateListener() { 422 return new ActivityStateListener() {
429 @Override 423 @Override
430 public void onActivityStateChange(Activity activity, int newState) { 424 public void onActivityStateChange(Activity activity, int newState) {
431 if (newState == ActivityState.CREATED || newState == ActivitySta te.DESTROYED) { 425 if (newState == ActivityState.CREATED || newState == ActivitySta te.DESTROYED) {
432 // Android destroys Activities at some point after a locale change, but doesn't 426 // Android destroys Activities at some point after a locale change, but doesn't
433 // kill the process. This can lead to a bug where Chrome is halfway RTL, where 427 // kill the process. This can lead to a bug where Chrome is halfway RTL, where
434 // stale natively-loaded resources are not reloaded (http:// crbug.com/552618). 428 // stale natively-loaded resources are not reloaded (http:// crbug.com/552618).
435 if (!mInitialLocale.equals(Locale.getDefault())) { 429 if (!mInitialLocale.equals(Locale.getDefault())) {
436 Log.e(TAG, "Killing process because of locale change."); 430 Log.e(TAG, "Killing process because of locale change.");
437 Process.killProcess(Process.myPid()); 431 Process.killProcess(Process.myPid());
438 } 432 }
439 433
440 DeviceFormFactor.resetValuesIfNeeded(mApplication); 434 DeviceFormFactor.resetValuesIfNeeded(mApplication);
441 } 435 }
442 } 436 }
443 }; 437 };
444 } 438 }
445 } 439 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698