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

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

Issue 2480293004: Mandate unique_ptr for base::IDMap in IDMapOwnPointer mode. (Closed)
Patch Set: Make changes requested by danakj, fix a few more headers Created 4 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
« no previous file with comments | « android_webview/browser/aw_permission_manager.cc ('k') | base/id_map.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 <utility> 8 #include <utility>
8 9
9 #include "android_webview/common/devtools_instrumentation.h" 10 #include "android_webview/common/devtools_instrumentation.h"
10 #include "android_webview/native/aw_contents.h" 11 #include "android_webview/native/aw_contents.h"
11 #include "base/android/jni_android.h" 12 #include "base/android/jni_android.h"
12 #include "base/android/jni_array.h" 13 #include "base/android/jni_array.h"
13 #include "base/android/jni_string.h" 14 #include "base/android/jni_string.h"
14 #include "base/callback_helpers.h" 15 #include "base/callback_helpers.h"
15 #include "base/macros.h" 16 #include "base/macros.h"
16 #include "base/memory/ref_counted.h" 17 #include "base/memory/ref_counted.h"
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 std::string der_string; 96 std::string der_string;
96 net::X509Certificate::GetDEREncoded(cert->os_cert_handle(), &der_string); 97 net::X509Certificate::GetDEREncoded(cert->os_cert_handle(), &der_string);
97 ScopedJavaLocalRef<jbyteArray> jcert = base::android::ToJavaByteArray( 98 ScopedJavaLocalRef<jbyteArray> jcert = base::android::ToJavaByteArray(
98 env, reinterpret_cast<const uint8_t*>(der_string.data()), 99 env, reinterpret_cast<const uint8_t*>(der_string.data()),
99 der_string.length()); 100 der_string.length());
100 ScopedJavaLocalRef<jstring> jurl(ConvertUTF8ToJavaString( 101 ScopedJavaLocalRef<jstring> jurl(ConvertUTF8ToJavaString(
101 env, request_url.spec())); 102 env, request_url.spec()));
102 // We need to add the callback before making the call to java side, 103 // We need to add the callback before making the call to java side,
103 // as it may do a synchronous callback prior to returning. 104 // as it may do a synchronous callback prior to returning.
104 int request_id = pending_cert_error_callbacks_.Add( 105 int request_id = pending_cert_error_callbacks_.Add(
105 new CertErrorCallback(callback)); 106 base::MakeUnique<CertErrorCallback>(callback));
106 *cancel_request = !Java_AwContentsClientBridge_allowCertificateError( 107 *cancel_request = !Java_AwContentsClientBridge_allowCertificateError(
107 env, obj, cert_error, jcert, jurl, request_id); 108 env, obj, cert_error, jcert, jurl, request_id);
108 // if the request is cancelled, then cancel the stored callback 109 // if the request is cancelled, then cancel the stored callback
109 if (*cancel_request) { 110 if (*cancel_request) {
110 pending_cert_error_callbacks_.Remove(request_id); 111 pending_cert_error_callbacks_.Remove(request_id);
111 } 112 }
112 } 113 }
113 114
114 void AwContentsClientBridge::ProceedSslError(JNIEnv* env, 115 void AwContentsClientBridge::ProceedSslError(JNIEnv* env,
115 const JavaRef<jobject>& obj, 116 const JavaRef<jobject>& obj,
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
273 DCHECK_CURRENTLY_ON(BrowserThread::UI); 274 DCHECK_CURRENTLY_ON(BrowserThread::UI);
274 JNIEnv* env = AttachCurrentThread(); 275 JNIEnv* env = AttachCurrentThread();
275 276
276 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); 277 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env);
277 if (obj.is_null()) { 278 if (obj.is_null()) {
278 callback.Run(false, base::string16()); 279 callback.Run(false, base::string16());
279 return; 280 return;
280 } 281 }
281 282
282 int callback_id = pending_js_dialog_callbacks_.Add( 283 int callback_id = pending_js_dialog_callbacks_.Add(
283 new content::JavaScriptDialogManager::DialogClosedCallback(callback)); 284 base::MakeUnique<content::JavaScriptDialogManager::DialogClosedCallback>(
285 callback));
284 ScopedJavaLocalRef<jstring> jurl( 286 ScopedJavaLocalRef<jstring> jurl(
285 ConvertUTF8ToJavaString(env, origin_url.spec())); 287 ConvertUTF8ToJavaString(env, origin_url.spec()));
286 ScopedJavaLocalRef<jstring> jmessage( 288 ScopedJavaLocalRef<jstring> jmessage(
287 ConvertUTF16ToJavaString(env, message_text)); 289 ConvertUTF16ToJavaString(env, message_text));
288 290
289 switch (message_type) { 291 switch (message_type) {
290 case content::JAVASCRIPT_MESSAGE_TYPE_ALERT: { 292 case content::JAVASCRIPT_MESSAGE_TYPE_ALERT: {
291 devtools_instrumentation::ScopedEmbedderCallbackTask("onJsAlert"); 293 devtools_instrumentation::ScopedEmbedderCallbackTask("onJsAlert");
292 Java_AwContentsClientBridge_handleJsAlert(env, obj, jurl, jmessage, 294 Java_AwContentsClientBridge_handleJsAlert(env, obj, jurl, jmessage,
293 callback_id); 295 callback_id);
(...skipping 27 matching lines...) Expand all
321 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); 323 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env);
322 if (obj.is_null()) { 324 if (obj.is_null()) {
323 callback.Run(false, base::string16()); 325 callback.Run(false, base::string16());
324 return; 326 return;
325 } 327 }
326 328
327 const base::string16 message_text = 329 const base::string16 message_text =
328 l10n_util::GetStringUTF16(IDS_BEFOREUNLOAD_MESSAGEBOX_MESSAGE); 330 l10n_util::GetStringUTF16(IDS_BEFOREUNLOAD_MESSAGEBOX_MESSAGE);
329 331
330 int callback_id = pending_js_dialog_callbacks_.Add( 332 int callback_id = pending_js_dialog_callbacks_.Add(
331 new content::JavaScriptDialogManager::DialogClosedCallback(callback)); 333 base::MakeUnique<content::JavaScriptDialogManager::DialogClosedCallback>(
334 callback));
332 ScopedJavaLocalRef<jstring> jurl( 335 ScopedJavaLocalRef<jstring> jurl(
333 ConvertUTF8ToJavaString(env, origin_url.spec())); 336 ConvertUTF8ToJavaString(env, origin_url.spec()));
334 ScopedJavaLocalRef<jstring> jmessage( 337 ScopedJavaLocalRef<jstring> jmessage(
335 ConvertUTF16ToJavaString(env, message_text)); 338 ConvertUTF16ToJavaString(env, message_text));
336 339
337 devtools_instrumentation::ScopedEmbedderCallbackTask("onJsBeforeUnload"); 340 devtools_instrumentation::ScopedEmbedderCallbackTask("onJsBeforeUnload");
338 Java_AwContentsClientBridge_handleJsBeforeUnload(env, obj, jurl, jmessage, 341 Java_AwContentsClientBridge_handleJsBeforeUnload(env, obj, jurl, jmessage,
339 callback_id); 342 callback_id);
340 } 343 }
341 344
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
449 pending_client_cert_request_delegates_.Remove(request_id); 452 pending_client_cert_request_delegates_.Remove(request_id);
450 453
451 delete delegate; 454 delete delegate;
452 } 455 }
453 456
454 bool RegisterAwContentsClientBridge(JNIEnv* env) { 457 bool RegisterAwContentsClientBridge(JNIEnv* env) {
455 return RegisterNativesImpl(env); 458 return RegisterNativesImpl(env);
456 } 459 }
457 460
458 } // namespace android_webview 461 } // namespace android_webview
OLDNEW
« no previous file with comments | « android_webview/browser/aw_permission_manager.cc ('k') | base/id_map.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698