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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/sync/ChromiumSyncAdapter.java

Issue 59533009: Check library version and handle library load errors (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix BrowserStartupControllerTest Created 7 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: chrome/android/java/src/org/chromium/chrome/browser/sync/ChromiumSyncAdapter.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/ChromiumSyncAdapter.java b/chrome/android/java/src/org/chromium/chrome/browser/sync/ChromiumSyncAdapter.java
index 1e92a67e9dd02526fb75ca548b99055c377fe617..8201472bb156a17e1921512fc80d41aa53df352b 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/sync/ChromiumSyncAdapter.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/sync/ChromiumSyncAdapter.java
@@ -19,6 +19,7 @@ import com.google.protos.ipc.invalidation.Types;
import org.chromium.base.ThreadUtils;
import org.chromium.content.browser.BrowserStartupController;
+import org.chromium.content.common.ProcessInitException;
import java.util.concurrent.Semaphore;
@@ -86,8 +87,14 @@ public abstract class ChromiumSyncAdapter extends AbstractThreadedSyncAdapter {
public void run() {
initCommandLine();
if (mAsyncStartup) {
- BrowserStartupController.get(mApplication)
- .startBrowserProcessesAsync(callback);
+ try {
+ BrowserStartupController.get(mApplication)
+ .startBrowserProcessesAsync(callback);
+ }
+ catch (ProcessInitException e) {
+ Log.e(TAG, "Unable to load native library.", e);
+ System.exit(-1);
+ }
} else {
startBrowserProcessesSync(callback);
}
@@ -104,23 +111,19 @@ public abstract class ChromiumSyncAdapter extends AbstractThreadedSyncAdapter {
private void startBrowserProcessesSync(
final BrowserStartupController.StartupCallback callback) {
- if (BrowserStartupController.get(mApplication).startBrowserProcessesSync(
- BrowserStartupController.MAX_RENDERERS_LIMIT)) {
- new Handler().post(new Runnable() {
- @Override
- public void run() {
- callback.onSuccess(false);
- }
- });
- } else {
- Log.e(TAG, "Unable to start browser process.");
- new Handler().post(new Runnable() {
- @Override
- public void run() {
- callback.onFailure();
- }
- });
+ try {
+ BrowserStartupController.get(mApplication).startBrowserProcessesSync(
+ BrowserStartupController.MAX_RENDERERS_LIMIT);
+ } catch (ProcessInitException e) {
+ Log.e(TAG, "Unable to load native library.", e);
+ System.exit(-1);
}
+ new Handler().post(new Runnable() {
+ @Override
+ public void run() {
+ callback.onSuccess(false);
+ }
+ });
}
private BrowserStartupController.StartupCallback getStartupCallback(
« no previous file with comments | « build/java_apk.gypi ('k') | chrome/android/testshell/java/src/org/chromium/chrome/testshell/ChromiumTestShellActivity.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698