1 | // Copyright (c) 2012 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. |
4 | |
5 | package org.chromium.android_webview; |
6 | |
7 | import org.chromium.base.CalledByNative; |
8 | import org.chromium.base.JNINamespace; |
9 | |
10 | @JNINamespace("android_webview") |
11 | public class AwHttpAuthHandler { |
12 | |
13 | private int mNativeAwHttpAuthHandler; |
14 | private final boolean mFirstAttempt; |
15 | |
16 | public void proceed(String username, String password) { |
17 | if (mNativeAwHttpAuthHandler != 0) { |
18 | nativeProceed(mNativeAwHttpAuthHandler, username, password); |
19 | mNativeAwHttpAuthHandler = 0; |
20 | } |
21 | } |
22 | |
23 | public void cancel() { |
24 | if (mNativeAwHttpAuthHandler != 0) { |
25 | nativeCancel(mNativeAwHttpAuthHandler); |
26 | mNativeAwHttpAuthHandler = 0; |
27 | } |
28 | } |
29 | |
30 | public boolean isFirstAttempt() { |
31 | return mFirstAttempt; |
32 | } |
33 | |
34 | @CalledByNative |
35 | public static AwHttpAuthHandler create(int nativeAwAuthHandler, boolean firstAttempt) { |
36 | return new AwHttpAuthHandler(nativeAwAuthHandler, firstAttempt); |
37 | } |
38 | |
39 | private AwHttpAuthHandler(int nativeAwHttpAuthHandler, boolean firstAttempt) { |
40 | mNativeAwHttpAuthHandler = nativeAwHttpAuthHandler; |
41 | mFirstAttempt = firstAttempt; |
42 | } |
43 | |
44 | @CalledByNative |
45 | void handlerDestroyed() { |
46 | mNativeAwHttpAuthHandler = 0; |
47 | } |
48 | |
49 | private native void nativeProceed(int nativeAwHttpAuthHandler, |
50 | String username, String password); |
51 | private native void nativeCancel(int nativeAwHttpAuthHandler); |
52 | } |