| Index: chrome/android/java/src/org/chromium/chrome/browser/physicalweb/PhysicalWebEnvironment.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/PhysicalWebEnvironment.java b/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/PhysicalWebEnvironment.java
|
| index 26655d3e0a1233d0bea741edd50e8f661e668c2d..1974889950e09e257522b3be5bcc96c19271c828 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/PhysicalWebEnvironment.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/PhysicalWebEnvironment.java
|
| @@ -4,13 +4,13 @@
|
|
|
| package org.chromium.chrome.browser.physicalweb;
|
|
|
| -import org.chromium.base.ThreadUtils;
|
| import org.chromium.chrome.browser.ChromeApplication;
|
|
|
| /**
|
| * Tool that reports information about conflicting clients.
|
| */
|
| public class PhysicalWebEnvironment {
|
| + private static final Object INSTANCE_LOCK = new Object();
|
| private static PhysicalWebEnvironment sInstance = null;
|
|
|
| /**
|
| @@ -20,9 +20,10 @@ public class PhysicalWebEnvironment {
|
| * @return an instance of this class (or subclass) as decided by the application parameter
|
| */
|
| public static PhysicalWebEnvironment getInstance(ChromeApplication chromeApplication) {
|
| - ThreadUtils.assertOnUiThread();
|
| - if (sInstance == null) {
|
| - sInstance = chromeApplication.createPhysicalWebEnvironment();
|
| + synchronized (INSTANCE_LOCK) {
|
| + if (sInstance == null) {
|
| + sInstance = chromeApplication.createPhysicalWebEnvironment();
|
| + }
|
| }
|
| return sInstance;
|
| }
|
|
|