OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/ui/android/autofill/card_unmask_prompt_view_android.h" | 5 #include "chrome/browser/ui/android/autofill/card_unmask_prompt_view_android.h" |
6 | 6 |
7 #include "chrome/browser/ui/autofill/card_unmask_prompt_controller.h" | 7 #include "chrome/browser/ui/autofill/card_unmask_prompt_controller.h" |
8 #include "content/public/browser/web_contents.h" | 8 #include "content/public/browser/web_contents.h" |
9 #include "jni/CardUnmaskBridge_jni.h" | 9 #include "jni/CardUnmaskBridge_jni.h" |
10 #include "ui/base/android/view_android.h" | 10 #include "ui/base/android/view_android.h" |
(...skipping 17 matching lines...) Expand all Loading... |
28 CardUnmaskPromptViewAndroid::~CardUnmaskPromptViewAndroid() { | 28 CardUnmaskPromptViewAndroid::~CardUnmaskPromptViewAndroid() { |
29 if (controller_) | 29 if (controller_) |
30 controller_->OnUnmaskDialogClosed(); | 30 controller_->OnUnmaskDialogClosed(); |
31 } | 31 } |
32 | 32 |
33 void CardUnmaskPromptViewAndroid::Show() { | 33 void CardUnmaskPromptViewAndroid::Show() { |
34 JNIEnv* env = base::android::AttachCurrentThread(); | 34 JNIEnv* env = base::android::AttachCurrentThread(); |
35 ui::ViewAndroid* view_android = | 35 ui::ViewAndroid* view_android = |
36 controller_->GetWebContents()->GetNativeView(); | 36 controller_->GetWebContents()->GetNativeView(); |
37 | 37 |
| 38 ScopedJavaLocalRef<jstring> dialog_title = |
| 39 base::android::ConvertUTF16ToJavaString(env, |
| 40 controller_->GetWindowTitle()); |
| 41 ScopedJavaLocalRef<jstring> instructions = |
| 42 base::android::ConvertUTF16ToJavaString( |
| 43 env, controller_->GetInstructionsMessage()); |
38 java_object_.Reset(Java_CardUnmaskBridge_create( | 44 java_object_.Reset(Java_CardUnmaskBridge_create( |
39 env, reinterpret_cast<intptr_t>(this), | 45 env, reinterpret_cast<intptr_t>(this), dialog_title.obj(), |
| 46 instructions.obj(), |
40 view_android->GetWindowAndroid()->GetJavaObject().obj())); | 47 view_android->GetWindowAndroid()->GetJavaObject().obj())); |
41 | 48 |
42 Java_CardUnmaskBridge_show(env, java_object_.obj()); | 49 Java_CardUnmaskBridge_show(env, java_object_.obj()); |
43 } | 50 } |
44 | 51 |
| 52 bool CardUnmaskPromptViewAndroid::CheckUserInputValidity(JNIEnv* env, |
| 53 jobject obj, |
| 54 jstring response) { |
| 55 return controller_->InputTextIsValid( |
| 56 base::android::ConvertJavaStringToUTF16(env, response)); |
| 57 } |
| 58 |
45 void CardUnmaskPromptViewAndroid::OnUserInput(JNIEnv* env, | 59 void CardUnmaskPromptViewAndroid::OnUserInput(JNIEnv* env, |
46 jobject obj, | 60 jobject obj, |
47 jstring response) { | 61 jstring response) { |
48 controller_->OnUnmaskResponse( | 62 controller_->OnUnmaskResponse( |
49 base::android::ConvertJavaStringToUTF16(env, response)); | 63 base::android::ConvertJavaStringToUTF16(env, response)); |
50 } | 64 } |
51 | 65 |
52 void CardUnmaskPromptViewAndroid::PromptDismissed(JNIEnv* env, jobject obj) { | 66 void CardUnmaskPromptViewAndroid::PromptDismissed(JNIEnv* env, jobject obj) { |
53 delete this; | 67 delete this; |
54 } | 68 } |
55 | 69 |
56 void CardUnmaskPromptViewAndroid::ControllerGone() { | 70 void CardUnmaskPromptViewAndroid::ControllerGone() { |
57 controller_ = nullptr; | 71 controller_ = nullptr; |
58 JNIEnv* env = base::android::AttachCurrentThread(); | 72 JNIEnv* env = base::android::AttachCurrentThread(); |
59 Java_CardUnmaskBridge_dismiss(env, java_object_.obj()); | 73 Java_CardUnmaskBridge_dismiss(env, java_object_.obj()); |
60 } | 74 } |
61 | 75 |
62 void CardUnmaskPromptViewAndroid::DisableAndWaitForVerification() { | 76 void CardUnmaskPromptViewAndroid::DisableAndWaitForVerification() { |
63 JNIEnv* env = base::android::AttachCurrentThread(); | 77 JNIEnv* env = base::android::AttachCurrentThread(); |
64 Java_CardUnmaskBridge_disableAndWaitForVerification(env, java_object_.obj()); | 78 Java_CardUnmaskBridge_disableAndWaitForVerification(env, java_object_.obj()); |
65 } | 79 } |
66 | 80 |
67 void CardUnmaskPromptViewAndroid::GotVerificationResult(bool success) { | 81 void CardUnmaskPromptViewAndroid::GotVerificationResult(bool success) { |
68 if (success) { | 82 JNIEnv* env = base::android::AttachCurrentThread(); |
69 // TODO(estade): implement. | 83 Java_CardUnmaskBridge_verificationFinished(env, java_object_.obj(), success); |
70 } else { | |
71 JNIEnv* env = base::android::AttachCurrentThread(); | |
72 Java_CardUnmaskBridge_verificationFailed(env, java_object_.obj()); | |
73 } | |
74 } | 84 } |
75 | 85 |
76 // static | 86 // static |
77 bool CardUnmaskPromptViewAndroid::Register(JNIEnv* env) { | 87 bool CardUnmaskPromptViewAndroid::Register(JNIEnv* env) { |
78 return RegisterNativesImpl(env); | 88 return RegisterNativesImpl(env); |
79 } | 89 } |
80 | 90 |
81 } // namespace autofill | 91 } // namespace autofill |
OLD | NEW |