| Index: chrome/android/java/src/org/chromium/chrome/browser/autofill/CardUnmaskBridge.java | 
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/autofill/CardUnmaskBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/autofill/CardUnmaskBridge.java | 
| index d52b518a1be2a041d32e51da4c994d512c42a97f..2d04ca440fbefc17f4194588c2f366a3da9e92fa 100644 | 
| --- a/chrome/android/java/src/org/chromium/chrome/browser/autofill/CardUnmaskBridge.java | 
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/autofill/CardUnmaskBridge.java | 
| @@ -21,7 +21,8 @@ public class CardUnmaskBridge implements CardUnmaskPromptDelegate { | 
| private final long mNativeCardUnmaskPromptViewAndroid; | 
| private final CardUnmaskPrompt mCardUnmaskPrompt; | 
|  | 
| -    public CardUnmaskBridge(long nativeCardUnmaskPromptViewAndroid, WindowAndroid windowAndroid) { | 
| +    public CardUnmaskBridge(long nativeCardUnmaskPromptViewAndroid, String title, | 
| +            String instructions, WindowAndroid windowAndroid) { | 
| mNativeCardUnmaskPromptViewAndroid = nativeCardUnmaskPromptViewAndroid; | 
| Activity activity = windowAndroid.getActivity().get(); | 
| if (activity == null) { | 
| @@ -35,14 +36,14 @@ public class CardUnmaskBridge implements CardUnmaskPromptDelegate { | 
| } | 
| }); | 
| } else { | 
| -            mCardUnmaskPrompt = new CardUnmaskPrompt(activity, this); | 
| +            mCardUnmaskPrompt = new CardUnmaskPrompt(activity, this, title, instructions); | 
| } | 
| } | 
|  | 
| @CalledByNative | 
| -    private static CardUnmaskBridge create(long nativeUnmaskPrompt, | 
| -            WindowAndroid windowAndroid) { | 
| -        return new CardUnmaskBridge(nativeUnmaskPrompt, windowAndroid); | 
| +    private static CardUnmaskBridge create(long nativeUnmaskPrompt, String title, | 
| +            String instructions, WindowAndroid windowAndroid) { | 
| +        return new CardUnmaskBridge(nativeUnmaskPrompt, title, instructions, windowAndroid); | 
| } | 
|  | 
| @Override | 
| @@ -51,6 +52,11 @@ public class CardUnmaskBridge implements CardUnmaskPromptDelegate { | 
| } | 
|  | 
| @Override | 
| +    public boolean checkUserInputValidity(String userResponse) { | 
| +        return nativeCheckUserInputValidity(mNativeCardUnmaskPromptViewAndroid, userResponse); | 
| +    } | 
| + | 
| +    @Override | 
| public void onUserInput(String userResponse) { | 
| nativeOnUserInput(mNativeCardUnmaskPromptViewAndroid, userResponse); | 
| } | 
| @@ -83,11 +89,13 @@ public class CardUnmaskBridge implements CardUnmaskPromptDelegate { | 
| * Indicate that verification failed, allow user to retry. | 
| */ | 
| @CalledByNative | 
| -    private void verificationFailed() { | 
| -        if (mCardUnmaskPrompt != null) mCardUnmaskPrompt.verificationFailed(); | 
| +    private void verificationFinished(boolean success) { | 
| +        if (mCardUnmaskPrompt != null) mCardUnmaskPrompt.verificationFinished(success); | 
| } | 
|  | 
| private native void nativePromptDismissed(long nativeCardUnmaskPromptViewAndroid); | 
| +    private native boolean nativeCheckUserInputValidity( | 
| +            long nativeCardUnmaskPromptViewAndroid, String userResponse); | 
| private native void nativeOnUserInput( | 
| long nativeCardUnmaskPromptViewAndroid, String userResponse); | 
| } | 
|  |