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

Side by Side Diff: chrome/browser/autofill/android/personal_data_manager_android.cc

Issue 2183203002: Check for null card/profile before recording usage stats (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 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 "chrome/browser/autofill/android/personal_data_manager_android.h" 5 #include "chrome/browser/autofill/android/personal_data_manager_android.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <algorithm> 8 #include <algorithm>
9 #include <memory> 9 #include <memory>
10 #include <utility> 10 #include <utility>
(...skipping 546 matching lines...) Expand 10 before | Expand all | Expand 10 after
557 bool PersonalDataManagerAndroid::Register(JNIEnv* env) { 557 bool PersonalDataManagerAndroid::Register(JNIEnv* env) {
558 return RegisterNativesImpl(env); 558 return RegisterNativesImpl(env);
559 } 559 }
560 560
561 void PersonalDataManagerAndroid::RecordAndLogProfileUse( 561 void PersonalDataManagerAndroid::RecordAndLogProfileUse(
562 JNIEnv* env, 562 JNIEnv* env,
563 const JavaParamRef<jobject>& unused_obj, 563 const JavaParamRef<jobject>& unused_obj,
564 const JavaParamRef<jstring>& jguid) { 564 const JavaParamRef<jstring>& jguid) {
565 AutofillProfile* profile = personal_data_manager_->GetProfileByGUID( 565 AutofillProfile* profile = personal_data_manager_->GetProfileByGUID(
566 ConvertJavaStringToUTF8(env, jguid)); 566 ConvertJavaStringToUTF8(env, jguid));
567 personal_data_manager_->RecordUseOf(*profile); 567 if (profile)
568 personal_data_manager_->RecordUseOf(*profile);
568 } 569 }
569 570
570 void PersonalDataManagerAndroid::SetProfileUseStatsForTesting( 571 void PersonalDataManagerAndroid::SetProfileUseStatsForTesting(
571 JNIEnv* env, 572 JNIEnv* env,
572 const JavaParamRef<jobject>& unused_obj, 573 const JavaParamRef<jobject>& unused_obj,
573 const JavaParamRef<jstring>& jguid, 574 const JavaParamRef<jstring>& jguid,
574 jint count, 575 jint count,
575 jint date) { 576 jint date) {
576 DCHECK(count >= 0 && date >= 0); 577 DCHECK(count >= 0 && date >= 0);
577 578
(...skipping 21 matching lines...) Expand all
599 ConvertJavaStringToUTF8(env, jguid)); 600 ConvertJavaStringToUTF8(env, jguid));
600 return profile->use_date().ToTimeT(); 601 return profile->use_date().ToTimeT();
601 } 602 }
602 603
603 void PersonalDataManagerAndroid::RecordAndLogCreditCardUse( 604 void PersonalDataManagerAndroid::RecordAndLogCreditCardUse(
604 JNIEnv* env, 605 JNIEnv* env,
605 const JavaParamRef<jobject>& unused_obj, 606 const JavaParamRef<jobject>& unused_obj,
606 const JavaParamRef<jstring>& jguid) { 607 const JavaParamRef<jstring>& jguid) {
607 CreditCard* card = personal_data_manager_->GetCreditCardByGUID( 608 CreditCard* card = personal_data_manager_->GetCreditCardByGUID(
608 ConvertJavaStringToUTF8(env, jguid)); 609 ConvertJavaStringToUTF8(env, jguid));
609 personal_data_manager_->RecordUseOf(*card); 610 if (card)
611 personal_data_manager_->RecordUseOf(*card);
610 } 612 }
611 613
612 void PersonalDataManagerAndroid::SetCreditCardUseStatsForTesting( 614 void PersonalDataManagerAndroid::SetCreditCardUseStatsForTesting(
613 JNIEnv* env, 615 JNIEnv* env,
614 const JavaParamRef<jobject>& unused_obj, 616 const JavaParamRef<jobject>& unused_obj,
615 const JavaParamRef<jstring>& jguid, 617 const JavaParamRef<jstring>& jguid,
616 jint count, 618 jint count,
617 jint date) { 619 jint date) {
618 DCHECK(count >= 0 && date >= 0); 620 DCHECK(count >= 0 && date >= 0);
619 621
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
741 base::android::ConvertJavaStringToUTF16(env, jcountry_name))); 743 base::android::ConvertJavaStringToUTF16(env, jcountry_name)));
742 } 744 }
743 745
744 static jlong Init(JNIEnv* env, const JavaParamRef<jobject>& obj) { 746 static jlong Init(JNIEnv* env, const JavaParamRef<jobject>& obj) {
745 PersonalDataManagerAndroid* personal_data_manager_android = 747 PersonalDataManagerAndroid* personal_data_manager_android =
746 new PersonalDataManagerAndroid(env, obj); 748 new PersonalDataManagerAndroid(env, obj);
747 return reinterpret_cast<intptr_t>(personal_data_manager_android); 749 return reinterpret_cast<intptr_t>(personal_data_manager_android);
748 } 750 }
749 751
750 } // namespace autofill 752 } // namespace autofill
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698