Index: content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java |
diff --git a/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java b/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java |
index df636694f45b4e868dcf8bf803d67968f1a5375b..0d55839034b89594d4f246f53cf11350d8e283f7 100644 |
--- a/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java |
+++ b/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java |
@@ -14,6 +14,7 @@ import org.chromium.base.Log; |
import org.chromium.base.ThreadUtils; |
import org.chromium.base.TraceEvent; |
import org.chromium.base.VisibleForTesting; |
+import org.chromium.base.annotations.SuppressFBWarnings; |
import org.chromium.base.library_loader.Linker; |
import org.chromium.base.process_launcher.ChildProcessCreationParams; |
import org.chromium.base.process_launcher.FileDescriptorInfo; |
@@ -182,9 +183,6 @@ public class ChildProcessLauncher { |
private static Map<Integer, BaseChildProcessConnection> sServiceMap = |
new ConcurrentHashMap<Integer, BaseChildProcessConnection>(); |
- // Lock for getBindingManager() |
- private static final Object sBindingManagerLock = new Object(); |
- |
// These variables are used for the warm up sandboxed connection. |
// |sSpareSandboxedConnection| is non-null when there is a pending connection. Note it's cleared |
// to null again after the connection is used for a real child process. |
@@ -204,13 +202,13 @@ public class ChildProcessLauncher { |
// Lazy initialize sBindingManager |
// TODO(boliu): This should be internal to content. |
+ @SuppressFBWarnings("LI_LAZY_INIT_STATIC") // Method is single thread. |
public static BindingManager getBindingManager() { |
- synchronized (sBindingManagerLock) { |
- if (sBindingManager == null) { |
- sBindingManager = BindingManagerImpl.createBindingManager(); |
- } |
- return sBindingManager; |
+ assert LauncherThread.runningOnLauncherThread(); |
+ if (sBindingManager == null) { |
+ sBindingManager = BindingManagerImpl.createBindingManager(); |
} |
+ return sBindingManager; |
} |
@VisibleForTesting |