| OLD | NEW |
| 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 "content/browser/android/content_view_client.h" | 5 #include "content/browser/android/content_view_client.h" |
| 6 | 6 |
| 7 #include <android/keycodes.h> | 7 #include <android/keycodes.h> |
| 8 | 8 |
| 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" |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 113 } | 113 } |
| 114 | 114 |
| 115 void ContentViewClient::OnInterstitialHidden() { | 115 void ContentViewClient::OnInterstitialHidden() { |
| 116 JNIEnv* env = AttachCurrentThread(); | 116 JNIEnv* env = AttachCurrentThread(); |
| 117 ScopedJavaLocalRef<jobject> obj = weak_java_client_.get(env); | 117 ScopedJavaLocalRef<jobject> obj = weak_java_client_.get(env); |
| 118 if (obj.is_null()) | 118 if (obj.is_null()) |
| 119 return; | 119 return; |
| 120 Java_ContentViewClient_onInterstitialHidden(env, obj.obj()); | 120 Java_ContentViewClient_onInterstitialHidden(env, obj.obj()); |
| 121 } | 121 } |
| 122 | 122 |
| 123 bool ContentViewClient::OnJSModalDialog(JavaScriptMessageType type, | |
| 124 bool is_before_unload_dialog, | |
| 125 const GURL& url, | |
| 126 const string16& message, | |
| 127 const string16& default_value) { | |
| 128 JNIEnv* env = AttachCurrentThread(); | |
| 129 ScopedJavaLocalRef<jobject> obj = weak_java_client_.get(env); | |
| 130 if (obj.is_null()) | |
| 131 return false; | |
| 132 ScopedJavaLocalRef<jstring> jurl(ConvertUTF8ToJavaString(env, url.spec())); | |
| 133 ScopedJavaLocalRef<jstring> jmessage(ConvertUTF16ToJavaString(env, message)); | |
| 134 | |
| 135 // Special case for beforeunload dialogs, as that isn't encoded in the | |
| 136 // |type| of the dialog. | |
| 137 if (is_before_unload_dialog) { | |
| 138 return Java_ContentViewClient_onJsBeforeUnload( | |
| 139 env, obj.obj(), | |
| 140 jurl.obj(), | |
| 141 jmessage.obj()); | |
| 142 } | |
| 143 | |
| 144 switch (type) { | |
| 145 case JAVASCRIPT_MESSAGE_TYPE_ALERT: | |
| 146 return Java_ContentViewClient_onJsAlert(env, obj.obj(), | |
| 147 jurl.obj(), | |
| 148 jmessage.obj()); | |
| 149 | |
| 150 case JAVASCRIPT_MESSAGE_TYPE_CONFIRM: | |
| 151 return Java_ContentViewClient_onJsConfirm(env, obj.obj(), | |
| 152 jurl.obj(), | |
| 153 jmessage.obj()); | |
| 154 | |
| 155 case JAVASCRIPT_MESSAGE_TYPE_PROMPT: { | |
| 156 ScopedJavaLocalRef<jstring> jdefault_value( | |
| 157 ConvertUTF16ToJavaString(env, default_value)); | |
| 158 return Java_ContentViewClient_onJsPrompt(env, obj.obj(), | |
| 159 jurl.obj(), | |
| 160 jmessage.obj(), | |
| 161 jdefault_value.obj()); | |
| 162 } | |
| 163 | |
| 164 default: | |
| 165 NOTREACHED(); | |
| 166 return false; | |
| 167 } | |
| 168 } | |
| 169 | |
| 170 ContentViewClientError ContentViewClient::ToContentViewClientError( | 123 ContentViewClientError ContentViewClient::ToContentViewClientError( |
| 171 int net_error) { | 124 int net_error) { |
| 172 // Note: many net::Error constants don't have an obvious mapping. | 125 // Note: many net::Error constants don't have an obvious mapping. |
| 173 // These will be handled by the default case, ERROR_UNKNOWN. | 126 // These will be handled by the default case, ERROR_UNKNOWN. |
| 174 switch(net_error) { | 127 switch(net_error) { |
| 175 case net::ERR_UNSUPPORTED_AUTH_SCHEME: | 128 case net::ERR_UNSUPPORTED_AUTH_SCHEME: |
| 176 return CONTENT_VIEW_CLIENT_ERROR_UNSUPPORTED_AUTH_SCHEME; | 129 return CONTENT_VIEW_CLIENT_ERROR_UNSUPPORTED_AUTH_SCHEME; |
| 177 | 130 |
| 178 case net::ERR_INVALID_AUTH_CREDENTIALS: | 131 case net::ERR_INVALID_AUTH_CREDENTIALS: |
| 179 case net::ERR_MISSING_AUTH_CREDENTIALS: | 132 case net::ERR_MISSING_AUTH_CREDENTIALS: |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 278 | 231 |
| 279 bool RegisterContentViewClient(JNIEnv* env) { | 232 bool RegisterContentViewClient(JNIEnv* env) { |
| 280 if (!HasClass(env, kContentViewClientClassPath)) { | 233 if (!HasClass(env, kContentViewClientClassPath)) { |
| 281 DLOG(ERROR) << "Unable to find class ContentViewClient!"; | 234 DLOG(ERROR) << "Unable to find class ContentViewClient!"; |
| 282 return false; | 235 return false; |
| 283 } | 236 } |
| 284 return RegisterNativesImpl(env); | 237 return RegisterNativesImpl(env); |
| 285 } | 238 } |
| 286 | 239 |
| 287 } // namespace content | 240 } // namespace content |
| OLD | NEW |