1010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved.
2010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// found in the LICENSE file.
4010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
5010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)package org.chromium.android_webview.test;
6010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
7010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)import android.test.suitebuilder.annotation.SmallTest;
8010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
9010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)import org.chromium.android_webview.AwContentsStatics;
10010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)import org.chromium.base.test.util.Feature;
11010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)import org.chromium.content.browser.test.util.CallbackHelper;
12010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
13010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)/**
14010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * AwContentsStatics tests.
15010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) */
16010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)public class AwContentsStaticsTest extends AwTestBase {
17010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
18010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)    private static class ClearClientCertCallbackHelper extends CallbackHelper
19010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)            implements Runnable {
20010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)        @Override
21010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)        public void run() {
22010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)            notifyCalled();
23010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)        }
24010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)    }
25010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
26010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)    @Feature({"AndroidWebView"})
27010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)    @SmallTest
28010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)    public void testClearClientCertPreferences() throws Throwable {
29010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)        final ClearClientCertCallbackHelper callbackHelper = new ClearClientCertCallbackHelper();
30010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)        int currentCallCount = callbackHelper.getCallCount();
31010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)        runTestOnUiThread(new Runnable() {
32010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)            @Override
33010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)            public void run() {
34010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)                // Make sure calling clearClientCertPreferences with null callback does not
35010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)                // cause a crash.
36010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)                AwContentsStatics.clearClientCertPreferences(null);
37010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)                AwContentsStatics.clearClientCertPreferences(callbackHelper);
38010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)            }
39010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)        });
40010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)        callbackHelper.waitForCallback(currentCallCount);
41010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)    }
42010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)}
43