| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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_contents_client_bridge.h" | 5 #include "android_webview/native/aw_contents_client_bridge.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 #include <utility> | 8 #include <utility> |
| 9 | 9 |
| 10 #include "android_webview/common/devtools_instrumentation.h" | 10 #include "android_webview/common/devtools_instrumentation.h" |
| (...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 264 // the UI thread. | 264 // the UI thread. |
| 265 content::BrowserThread::PostTaskAndReply( | 265 content::BrowserThread::PostTaskAndReply( |
| 266 content::BrowserThread::IO, FROM_HERE, | 266 content::BrowserThread::IO, FROM_HERE, |
| 267 base::Bind(&RecordClientCertificateKey, base::RetainedRef(client_cert), | 267 base::Bind(&RecordClientCertificateKey, base::RetainedRef(client_cert), |
| 268 base::Passed(&private_key)), | 268 base::Passed(&private_key)), |
| 269 base::Bind(&content::ClientCertificateDelegate::ContinueWithCertificate, | 269 base::Bind(&content::ClientCertificateDelegate::ContinueWithCertificate, |
| 270 base::Owned(delegate), base::RetainedRef(client_cert))); | 270 base::Owned(delegate), base::RetainedRef(client_cert))); |
| 271 } | 271 } |
| 272 | 272 |
| 273 void AwContentsClientBridge::RunJavaScriptDialog( | 273 void AwContentsClientBridge::RunJavaScriptDialog( |
| 274 content::JavaScriptMessageType message_type, | 274 content::JavaScriptDialogType dialog_type, |
| 275 const GURL& origin_url, | 275 const GURL& origin_url, |
| 276 const base::string16& message_text, | 276 const base::string16& message_text, |
| 277 const base::string16& default_prompt_text, | 277 const base::string16& default_prompt_text, |
| 278 const content::JavaScriptDialogManager::DialogClosedCallback& callback) { | 278 const content::JavaScriptDialogManager::DialogClosedCallback& callback) { |
| 279 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 279 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 280 JNIEnv* env = AttachCurrentThread(); | 280 JNIEnv* env = AttachCurrentThread(); |
| 281 | 281 |
| 282 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); | 282 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); |
| 283 if (obj.is_null()) { | 283 if (obj.is_null()) { |
| 284 callback.Run(false, base::string16()); | 284 callback.Run(false, base::string16()); |
| 285 return; | 285 return; |
| 286 } | 286 } |
| 287 | 287 |
| 288 int callback_id = pending_js_dialog_callbacks_.Add( | 288 int callback_id = pending_js_dialog_callbacks_.Add( |
| 289 base::MakeUnique<content::JavaScriptDialogManager::DialogClosedCallback>( | 289 base::MakeUnique<content::JavaScriptDialogManager::DialogClosedCallback>( |
| 290 callback)); | 290 callback)); |
| 291 ScopedJavaLocalRef<jstring> jurl( | 291 ScopedJavaLocalRef<jstring> jurl( |
| 292 ConvertUTF8ToJavaString(env, origin_url.spec())); | 292 ConvertUTF8ToJavaString(env, origin_url.spec())); |
| 293 ScopedJavaLocalRef<jstring> jmessage( | 293 ScopedJavaLocalRef<jstring> jmessage( |
| 294 ConvertUTF16ToJavaString(env, message_text)); | 294 ConvertUTF16ToJavaString(env, message_text)); |
| 295 | 295 |
| 296 switch (message_type) { | 296 switch (dialog_type) { |
| 297 case content::JAVASCRIPT_MESSAGE_TYPE_ALERT: { | 297 case content::JAVASCRIPT_DIALOG_TYPE_ALERT: { |
| 298 devtools_instrumentation::ScopedEmbedderCallbackTask("onJsAlert"); | 298 devtools_instrumentation::ScopedEmbedderCallbackTask("onJsAlert"); |
| 299 Java_AwContentsClientBridge_handleJsAlert(env, obj, jurl, jmessage, | 299 Java_AwContentsClientBridge_handleJsAlert(env, obj, jurl, jmessage, |
| 300 callback_id); | 300 callback_id); |
| 301 break; | 301 break; |
| 302 } | 302 } |
| 303 case content::JAVASCRIPT_MESSAGE_TYPE_CONFIRM: { | 303 case content::JAVASCRIPT_DIALOG_TYPE_CONFIRM: { |
| 304 devtools_instrumentation::ScopedEmbedderCallbackTask("onJsConfirm"); | 304 devtools_instrumentation::ScopedEmbedderCallbackTask("onJsConfirm"); |
| 305 Java_AwContentsClientBridge_handleJsConfirm(env, obj, jurl, jmessage, | 305 Java_AwContentsClientBridge_handleJsConfirm(env, obj, jurl, jmessage, |
| 306 callback_id); | 306 callback_id); |
| 307 break; | 307 break; |
| 308 } | 308 } |
| 309 case content::JAVASCRIPT_MESSAGE_TYPE_PROMPT: { | 309 case content::JAVASCRIPT_DIALOG_TYPE_PROMPT: { |
| 310 ScopedJavaLocalRef<jstring> jdefault_value( | 310 ScopedJavaLocalRef<jstring> jdefault_value( |
| 311 ConvertUTF16ToJavaString(env, default_prompt_text)); | 311 ConvertUTF16ToJavaString(env, default_prompt_text)); |
| 312 devtools_instrumentation::ScopedEmbedderCallbackTask("onJsPrompt"); | 312 devtools_instrumentation::ScopedEmbedderCallbackTask("onJsPrompt"); |
| 313 Java_AwContentsClientBridge_handleJsPrompt(env, obj, jurl, jmessage, | 313 Java_AwContentsClientBridge_handleJsPrompt(env, obj, jurl, jmessage, |
| 314 jdefault_value, callback_id); | 314 jdefault_value, callback_id); |
| 315 break; | 315 break; |
| 316 } | 316 } |
| 317 default: | 317 default: |
| 318 NOTREACHED(); | 318 NOTREACHED(); |
| 319 } | 319 } |
| (...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 528 pending_client_cert_request_delegates_.Remove(request_id); | 528 pending_client_cert_request_delegates_.Remove(request_id); |
| 529 | 529 |
| 530 delete delegate; | 530 delete delegate; |
| 531 } | 531 } |
| 532 | 532 |
| 533 bool RegisterAwContentsClientBridge(JNIEnv* env) { | 533 bool RegisterAwContentsClientBridge(JNIEnv* env) { |
| 534 return RegisterNativesImpl(env); | 534 return RegisterNativesImpl(env); |
| 535 } | 535 } |
| 536 | 536 |
| 537 } // namespace android_webview | 537 } // namespace android_webview |
| OLD | NEW |