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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/customtabs/RequestThrottler.java

Issue 2917053004: customtabs: Load the SharedPreferences only once, in the background. (Closed)
Patch Set: Please FindBugs. Created 3 years, 7 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
« no previous file with comments | « chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/android/java/src/org/chromium/chrome/browser/customtabs/RequestThrottler.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/RequestThrottler.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/RequestThrottler.java
index 4d415f88d17d0b77df7d4514783d2c9f14c34ce5..875ee98f36c6dd7296ed78385f528cb8d751b394 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/RequestThrottler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/RequestThrottler.java
@@ -17,6 +17,7 @@ import org.chromium.base.annotations.SuppressFBWarnings;
import java.util.Map;
import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicBoolean;
/**
* Applications are throttled in two ways:
@@ -46,6 +47,7 @@ class RequestThrottler {
private static final String LAST_REQUEST = "last_request_";
private static final String BANNED_UNTIL = "banned_until_";
+ private static final AtomicBoolean sAccessedSharedPreferences = new AtomicBoolean();
private static SparseArray<RequestThrottler> sUidToThrottler;
private final SharedPreferences mSharedPreferences;
@@ -200,6 +202,8 @@ class RequestThrottler {
// TODO(crbug.com/635567): Fix this properly.
@SuppressLint("CommitPrefEdits")
static void loadInBackground(final Context context) {
+ boolean alreadyDone = !sAccessedSharedPreferences.compareAndSet(false, true);
+ if (alreadyDone) return;
new AsyncTask<Void, Void, Void>() {
@Override
protected Void doInBackground(Void... params) {
« no previous file with comments | « chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698