1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 package org.chromium.android_webview.test.util;
7 import android.webkit.ValueCallback;
9 import org.chromium.android_webview.AwQuotaManagerBridge;
10 import org.chromium.android_webview.test.AwTestBase;
11 import org.chromium.content.browser.test.util.CallbackHelper;
13 import java.util.concurrent.Callable;
16 * This class provides common methods for AwQuotaManagerBridge related tests
18 public class AwQuotaManagerBridgeTestUtil {
20 public static AwQuotaManagerBridge getQuotaManagerBridge(AwTestBase awTestBase)
22 return awTestBase.runTestOnUiThreadAndGetResult(new Callable<AwQuotaManagerBridge>() {
24 public AwQuotaManagerBridge call() throws Exception {
25 return AwQuotaManagerBridge.getInstance();
30 private static class GetOriginsCallbackHelper extends CallbackHelper {
31 private AwQuotaManagerBridge.Origins mOrigins;
33 public void notifyCalled(AwQuotaManagerBridge.Origins origins) {
38 public AwQuotaManagerBridge.Origins getOrigins() {
39 assert getCallCount() > 0;
44 public static AwQuotaManagerBridge.Origins getOrigins(AwTestBase awTestBase)
46 final GetOriginsCallbackHelper callbackHelper = new GetOriginsCallbackHelper();
47 final AwQuotaManagerBridge bridge = getQuotaManagerBridge(awTestBase);
49 int callCount = callbackHelper.getCallCount();
50 awTestBase.getInstrumentation().runOnMainSync(new Runnable() {
54 new ValueCallback<AwQuotaManagerBridge.Origins>() {
56 public void onReceiveValue(AwQuotaManagerBridge.Origins origins) {
57 callbackHelper.notifyCalled(origins);
62 callbackHelper.waitForCallback(callCount);
64 return callbackHelper.getOrigins();