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

Side by Side Diff: android_webview/native/aw_http_auth_handler.cc

Issue 11663006: [Android WebView] Count the number of HTTP auth attempts we make. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years 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
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 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 "android_webview/native/aw_http_auth_handler.h" 5 #include "android_webview/native/aw_http_auth_handler.h"
6 6
7 #include "android_webview/browser/aw_login_delegate.h" 7 #include "android_webview/browser/aw_login_delegate.h"
8 #include "android_webview/native/aw_contents.h" 8 #include "android_webview/native/aw_contents.h"
9 #include "base/android/jni_android.h" 9 #include "base/android/jni_android.h"
10 #include "base/android/jni_string.h" 10 #include "base/android/jni_string.h"
11 #include "jni/AwHttpAuthHandler_jni.h" 11 #include "jni/AwHttpAuthHandler_jni.h"
12 #include "net/base/auth.h" 12 #include "net/base/auth.h"
13 #include "content/public/browser/web_contents.h" 13 #include "content/public/browser/web_contents.h"
14 14
15 using base::android::ConvertJavaStringToUTF16; 15 using base::android::ConvertJavaStringToUTF16;
16 16
17 namespace android_webview { 17 namespace android_webview {
18 18
19 AwHttpAuthHandler::AwHttpAuthHandler( 19 AwHttpAuthHandler::AwHttpAuthHandler(AwLoginDelegate* login_delegate,
20 AwLoginDelegate* login_delegate, net::AuthChallengeInfo* auth_info) : 20 net::AuthChallengeInfo* auth_info,
21 login_delegate_(make_scoped_refptr(login_delegate)), 21 bool first_auth_attempt)
22 host_(auth_info->challenger.host()), 22 : login_delegate_(make_scoped_refptr(login_delegate)),
23 realm_(auth_info->realm) { 23 host_(auth_info->challenger.host()),
24 realm_(auth_info->realm) {
24 JNIEnv* env = base::android::AttachCurrentThread(); 25 JNIEnv* env = base::android::AttachCurrentThread();
25 http_auth_handler_.Reset( 26 http_auth_handler_.Reset(
26 Java_AwHttpAuthHandler_create(env, reinterpret_cast<jint>(this))); 27 Java_AwHttpAuthHandler_create(
28 env, reinterpret_cast<jint>(this), first_auth_attempt));
27 } 29 }
28 30
29 AwHttpAuthHandler:: ~AwHttpAuthHandler() { 31 AwHttpAuthHandler:: ~AwHttpAuthHandler() {
30 // TODO(joth): tell java counterpart, so it can null its native back-pointer. 32 // TODO(joth): tell java counterpart, so it can null its native back-pointer.
joth 2012/12/21 18:59:43 call Java_AwHttpAuthHandler_handerDestroyed();
31 } 33 }
32 34
33 void AwHttpAuthHandler::Proceed(JNIEnv* env, 35 void AwHttpAuthHandler::Proceed(JNIEnv* env,
34 jobject obj, 36 jobject obj,
35 jstring user, 37 jstring user,
36 jstring password) { 38 jstring password) {
37 login_delegate_->Proceed(ConvertJavaStringToUTF16(env, user), 39 login_delegate_->Proceed(ConvertJavaStringToUTF16(env, user),
38 ConvertJavaStringToUTF16(env, password)); 40 ConvertJavaStringToUTF16(env, password));
39 } 41 }
40 42
41 void AwHttpAuthHandler::Cancel(JNIEnv* env, jobject obj) { 43 void AwHttpAuthHandler::Cancel(JNIEnv* env, jobject obj) {
42 login_delegate_->Cancel(); 44 login_delegate_->Cancel();
43 } 45 }
44 46
45 void AwHttpAuthHandler::HandleOnUIThread(content::WebContents* web_contents) { 47 void AwHttpAuthHandler::HandleOnUIThread(content::WebContents* web_contents) {
46 DCHECK(web_contents); 48 DCHECK(web_contents);
47 AwContents* aw_contents = AwContents::FromWebContents(web_contents); 49 AwContents* aw_contents = AwContents::FromWebContents(web_contents);
48 50
49 aw_contents->onReceivedHttpAuthRequest( 51 aw_contents->onReceivedHttpAuthRequest(
50 http_auth_handler_, host_, realm_); 52 http_auth_handler_, host_, realm_);
51 } 53 }
52 54
53 // static 55 // static
54 AwHttpAuthHandlerBase* AwHttpAuthHandlerBase::Create( 56 AwHttpAuthHandlerBase* AwHttpAuthHandlerBase::Create(
55 AwLoginDelegate* login_delegate, net::AuthChallengeInfo* auth_info) { 57 AwLoginDelegate* login_delegate,
56 return new AwHttpAuthHandler(login_delegate, auth_info); 58 net::AuthChallengeInfo* auth_info,
59 bool first_auth_attempt) {
60 return new AwHttpAuthHandler(login_delegate, auth_info, first_auth_attempt);
57 } 61 }
58 62
59 bool RegisterAwHttpAuthHandler(JNIEnv* env) { 63 bool RegisterAwHttpAuthHandler(JNIEnv* env) {
60 return RegisterNativesImpl(env) >= 0; 64 return RegisterNativesImpl(env) >= 0;
61 } 65 }
62 66
63 } // namespace android_webview 67 } // namespace android_webview
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698