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

Unified Diff: base/android/java/src/org/chromium/base/PathUtils.java

Issue 1708763003: Fix strict mode violation in TabPersistentStore.cleanupPersistentData() (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@tab-persist-1
Patch Set: fix test, address commetns Created 4 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: base/android/java/src/org/chromium/base/PathUtils.java
diff --git a/base/android/java/src/org/chromium/base/PathUtils.java b/base/android/java/src/org/chromium/base/PathUtils.java
index 09c3b082409a052df102c591c3d69709969f1345..991ec25aa87cd9408a706619dc808dcc4a9d3c83 100644
--- a/base/android/java/src/org/chromium/base/PathUtils.java
+++ b/base/android/java/src/org/chromium/base/PathUtils.java
@@ -10,6 +10,7 @@ import android.os.AsyncTask;
import android.os.Environment;
import android.os.StrictMode;
import android.os.SystemClock;
+import android.support.annotation.WorkerThread;
import org.chromium.base.annotations.CalledByNative;
import org.chromium.base.annotations.MainDex;
@@ -33,6 +34,7 @@ public abstract class PathUtils {
private static AsyncTask<String, Void, String[]> sDirPathFetchTask;
private static File sThumbnailDirectory;
+ private static Object sLazyInitLock = new Object();
gone 2016/02/18 17:45:35 private static final? Can't imagine ever recreati
agrieve 2016/02/23 21:28:38 Deleted in favour of using sDirPathFetchTask
// Prevent instantiation.
private PathUtils() {}
@@ -103,18 +105,18 @@ public abstract class PathUtils {
return getDirectoryPath(CACHE_DIRECTORY);
}
+ @WorkerThread
public static File getThumbnailCacheDirectory(Context appContext) {
+ ThreadUtils.assertOnFileThread();
if (sThumbnailDirectory == null) {
- // Temporarily allowing disk access while fixing. TODO: http://crbug.com/473356
- StrictMode.ThreadPolicy oldPolicy = StrictMode.allowThreadDiskReads();
- StrictMode.allowThreadDiskWrites();
- try {
- long time = SystemClock.elapsedRealtime();
- sThumbnailDirectory = appContext.getDir(THUMBNAIL_DIRECTORY, Context.MODE_PRIVATE);
- RecordHistogram.recordTimesHistogram("Android.StrictMode.ThumbnailCacheDir",
- SystemClock.elapsedRealtime() - time, TimeUnit.MILLISECONDS);
- } finally {
- StrictMode.setThreadPolicy(oldPolicy);
+ synchronized (sLazyInitLock) {
+ if (sThumbnailDirectory == null) {
+ long time = SystemClock.elapsedRealtime();
+ sThumbnailDirectory =
+ appContext.getDir(THUMBNAIL_DIRECTORY, Context.MODE_PRIVATE);
+ RecordHistogram.recordTimesHistogram("Android.StrictMode.ThumbnailCacheDir",
+ SystemClock.elapsedRealtime() - time, TimeUnit.MILLISECONDS);
+ }
}
}
return sThumbnailDirectory;

Powered by Google App Engine
This is Rietveld 408576698