Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(446)

Side by Side Diff: chrome/browser/ui/android/chrome_http_auth_handler.cc

Issue 10821116: Upstream ChromeHttpAuthHandler (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased downstream and added the recent changes Created 8 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2011 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 #include "chrome/browser/ui/android/chrome_http_auth_handler.h"
6
7 #include <jni.h>
8
9 #include "base/android/jni_android.h"
10 #include "base/android/jni_string.h"
11 #include "base/android/scoped_java_ref.h"
12 #include "base/logging.h"
13 #include "base/string16.h"
14 #include "grit/generated_resources.h"
15 #include "jni/ChromeHttpAuthHandler_jni.h"
16 #include "ui/base/l10n/l10n_util.h"
17
18 using base::android::AttachCurrentThread;
19 using base::android::CheckException;
20 using base::android::ConvertJavaStringToUTF16;
21 using base::android::ConvertUTF16ToJavaString;
22 using base::android::ScopedJavaLocalRef;
23
24 ChromeHttpAuthHandler::ChromeHttpAuthHandler(const string16& explanation)
25 : observer_(NULL),
26 explanation_(explanation) {
27 }
28
29 ChromeHttpAuthHandler::~ChromeHttpAuthHandler() {}
30
31 void ChromeHttpAuthHandler::Init() {
32 DCHECK(java_chrome_http_auth_handler_.is_null());
33 JNIEnv* env = AttachCurrentThread();
34 java_chrome_http_auth_handler_.Reset(
35 Java_ChromeHttpAuthHandler_create(env, reinterpret_cast<jint>(this)));
36 }
37
38 void ChromeHttpAuthHandler::SetObserver(LoginHandler* observer) {
39 observer_ = observer;
40 }
41
42 jobject ChromeHttpAuthHandler::GetJavaObject() {
43 return java_chrome_http_auth_handler_.obj();
44 }
45
46 void ChromeHttpAuthHandler::OnAutofillDataAvailable(const string16& username,
47 const string16& password) {
48 DCHECK(java_chrome_http_auth_handler_.obj() != NULL);
49 JNIEnv* env = base::android::AttachCurrentThread();
50 ScopedJavaLocalRef<jstring> j_username =
51 ConvertUTF16ToJavaString(env, username);
52 ScopedJavaLocalRef<jstring> j_password =
53 ConvertUTF16ToJavaString(env, password);
54 Java_ChromeHttpAuthHandler_onAutofillDataAvailable(
55 env, java_chrome_http_auth_handler_.obj(),
56 j_username.obj(), j_password.obj());
57 }
58
59 void ChromeHttpAuthHandler::SetAuth(JNIEnv* env,
60 jobject,
61 jstring username,
62 jstring password) {
63 if (observer_) {
64 string16 username16 = ConvertJavaStringToUTF16(env, username);
65 string16 password16 = ConvertJavaStringToUTF16(env, password);
66 observer_->SetAuth(username16, password16);
67 }
68 }
69
70 void ChromeHttpAuthHandler::CancelAuth(JNIEnv* env, jobject) {
71 if (observer_)
72 observer_->CancelAuth();
73 }
74
75 ScopedJavaLocalRef<jstring> ChromeHttpAuthHandler::GetMessageTitle(
76 JNIEnv* env, jobject) {
77 return ConvertUTF16ToJavaString(env,
78 l10n_util::GetStringUTF16(IDS_LOGIN_DIALOG_TITLE));
79 }
80
81 ScopedJavaLocalRef<jstring> ChromeHttpAuthHandler::GetMessageBody(
82 JNIEnv* env, jobject) {
83 return ConvertUTF16ToJavaString(env, explanation_);
84 }
85
86 ScopedJavaLocalRef<jstring> ChromeHttpAuthHandler::GetUsernameLabelText(
87 JNIEnv* env, jobject) {
88 return ConvertUTF16ToJavaString(env,
89 l10n_util::GetStringUTF16(IDS_LOGIN_DIALOG_USERNAME_FIELD));
90 }
91
92 ScopedJavaLocalRef<jstring> ChromeHttpAuthHandler::GetPasswordLabelText(
93 JNIEnv* env, jobject) {
94 return ConvertUTF16ToJavaString(env,
95 l10n_util::GetStringUTF16(IDS_LOGIN_DIALOG_PASSWORD_FIELD));
96 }
97
98 ScopedJavaLocalRef<jstring> ChromeHttpAuthHandler::GetOkButtonText(
99 JNIEnv* env, jobject) {
100 return ConvertUTF16ToJavaString(env,
101 l10n_util::GetStringUTF16(IDS_LOGIN_DIALOG_OK_BUTTON_LABEL));
102 }
103
104 ScopedJavaLocalRef<jstring> ChromeHttpAuthHandler::GetCancelButtonText(
105 JNIEnv* env, jobject) {
106 return ConvertUTF16ToJavaString(env, l10n_util::GetStringUTF16(IDS_CANCEL));
107 }
108
109 // Register native methods
110 bool RegisterChromeHttpAuthHandler(JNIEnv* env) {
111 return RegisterNativesImpl(env);
112 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698