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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/superviseduser/SupervisedUserContentProvider.java

Issue 1890203002: Implement Web Restrictions in WebView. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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: chrome/android/java/src/org/chromium/chrome/browser/superviseduser/SupervisedUserContentProvider.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/superviseduser/SupervisedUserContentProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/superviseduser/SupervisedUserContentProvider.java
index 5d46b9af41313935c1badb72270086742d22208b..0d1244395de75451f026937c8d592993dcad6ea4 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/superviseduser/SupervisedUserContentProvider.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/superviseduser/SupervisedUserContentProvider.java
@@ -18,7 +18,7 @@ import org.chromium.base.VisibleForTesting;
import org.chromium.base.annotations.CalledByNative;
import org.chromium.base.library_loader.ProcessInitException;
import org.chromium.chrome.browser.init.ChromeBrowserInitializer;
-import org.chromium.components.webrestrictions.WebRestrictionsContentProvider;
+import org.chromium.components.webrestrictions.browser.WebRestrictionsContentProvider;
import java.util.concurrent.CountDownLatch;
@@ -50,25 +50,36 @@ public class SupervisedUserContentProvider extends WebRestrictionsContentProvide
mNativeSupervisedUserContentProvider = nativeProvider;
}
- static class SupervisedUserQueryReply {
+ static class SupervisedUserReply<T> {
Bernhard Bauer 2016/04/18 14:48:34 I still think you could do this with a BlockingQue
aberent 2016/05/18 20:06:49 Done.
final CountDownLatch mLatch = new CountDownLatch(1);
- private WebRestrictionsResult mResult;
+ T mResult;
+ void onQueryFinished(T reply) {
+ // This must be called precisely once per query.
+ assert mResult == null;
+ assert mLatch.getCount() == 1;
+ mResult = reply;
+ mLatch.countDown();
+ }
+
+ T getResult() throws InterruptedException {
+ mLatch.await();
Bernhard Bauer 2016/04/18 14:48:34 Right now we block indefinitely, right? We might w
aberent 2016/05/18 20:06:49 Done.
+ return mResult;
+ }
+ }
+
+ static class SupervisedUserQueryReply extends SupervisedUserReply<WebRestrictionsResult> {
// One of the following three functions must be called precisely once per query.
@CalledByNative("SupervisedUserQueryReply")
void onQueryComplete() {
- assert mResult == null;
-
- mResult = new WebRestrictionsResult(true, null, null);
- mLatch.countDown();
+ onQueryFinished(new WebRestrictionsResult(true, null, null));
}
@CalledByNative("SupervisedUserQueryReply")
void onQueryFailed(int reason, int allowAccessRequests, int isChildAccount,
String profileImageUrl, String profileImageUrl2, String custodian,
String custodianEmail, String secondCustodian, String secondCustodianEmail) {
- assert mResult == null;
int errorInt[] = new int[] {reason, allowAccessRequests, isChildAccount};
String errorString[] = new String[] {
profileImageUrl,
@@ -78,20 +89,11 @@ public class SupervisedUserContentProvider extends WebRestrictionsContentProvide
secondCustodian,
secondCustodianEmail
};
- mResult = new WebRestrictionsResult(false, errorInt, errorString);
- mLatch.countDown();
+ onQueryFinished(new WebRestrictionsResult(false, errorInt, errorString));
}
void onQueryFailedNoErrorData() {
- assert mResult == null;
-
- mResult = new WebRestrictionsResult(false, null, null);
- mLatch.countDown();
- }
-
- WebRestrictionsResult getResult() throws InterruptedException {
- mLatch.await();
- return mResult;
+ onQueryFinished(new WebRestrictionsResult(false, null, null));
}
}
@@ -129,21 +131,10 @@ public class SupervisedUserContentProvider extends WebRestrictionsContentProvide
return true;
}
- static class SupervisedUserInsertReply {
- final CountDownLatch mLatch = new CountDownLatch(1);
- boolean mResult;
-
+ static class SupervisedUserInsertReply extends SupervisedUserReply<Boolean> {
@CalledByNative("SupervisedUserInsertReply")
void onInsertRequestSendComplete(boolean result) {
- // This must be called precisely once per query.
- assert mLatch.getCount() == 1;
- mResult = result;
- mLatch.countDown();
- }
-
- boolean getResult() throws InterruptedException {
- mLatch.await();
- return mResult;
+ onQueryFinished(result);
}
}

Powered by Google App Engine
This is Rietveld 408576698