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

Side by Side Diff: chrome/browser/ui/android/autofill/credit_card_scanner_view_android.cc

Issue 2800833003: Revert of Android: Remove GetApplicationContext part 2 (Closed)
Patch Set: Created 3 years, 8 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/ui/android/autofill/credit_card_scanner_view_android.h" 5 #include "chrome/browser/ui/android/autofill/credit_card_scanner_view_android.h"
6 6
7 #include <memory> 7 #include <memory>
8 8
9 #include "base/android/context_utils.h"
9 #include "base/android/jni_android.h" 10 #include "base/android/jni_android.h"
10 #include "base/android/jni_string.h" 11 #include "base/android/jni_string.h"
11 #include "base/feature_list.h" 12 #include "base/feature_list.h"
12 #include "base/memory/ptr_util.h" 13 #include "base/memory/ptr_util.h"
13 #include "chrome/browser/ui/android/view_android_helper.h" 14 #include "chrome/browser/ui/android/view_android_helper.h"
14 #include "chrome/browser/ui/autofill/credit_card_scanner_view_delegate.h" 15 #include "chrome/browser/ui/autofill/credit_card_scanner_view_delegate.h"
15 #include "components/autofill/core/browser/autofill_experiments.h" 16 #include "components/autofill/core/browser/autofill_experiments.h"
16 #include "components/autofill/core/browser/credit_card.h" 17 #include "components/autofill/core/browser/credit_card.h"
17 #include "components/autofill/core/browser/field_types.h" 18 #include "components/autofill/core/browser/field_types.h"
18 #include "content/public/browser/android/content_view_core.h" 19 #include "content/public/browser/android/content_view_core.h"
19 #include "jni/CreditCardScannerBridge_jni.h" 20 #include "jni/CreditCardScannerBridge_jni.h"
20 #include "ui/android/view_android.h" 21 #include "ui/android/view_android.h"
21 #include "ui/android/window_android.h" 22 #include "ui/android/window_android.h"
22 23
23 using base::android::JavaParamRef; 24 using base::android::JavaParamRef;
24 25
25 namespace autofill { 26 namespace autofill {
26 27
27 // static 28 // static
28 bool CreditCardScannerView::CanShow() { 29 bool CreditCardScannerView::CanShow() {
29 JNIEnv* env = base::android::AttachCurrentThread(); 30 JNIEnv* env = base::android::AttachCurrentThread();
30 base::android::ScopedJavaGlobalRef<jobject> java_object( 31 base::android::ScopedJavaGlobalRef<jobject> java_object(
31 Java_CreditCardScannerBridge_create(env, 0, nullptr)); 32 Java_CreditCardScannerBridge_create(
33 env, 0, base::android::GetApplicationContext(), nullptr));
32 return Java_CreditCardScannerBridge_canScan(env, java_object); 34 return Java_CreditCardScannerBridge_canScan(env, java_object);
33 } 35 }
34 36
35 // static 37 // static
36 std::unique_ptr<CreditCardScannerView> CreditCardScannerView::Create( 38 std::unique_ptr<CreditCardScannerView> CreditCardScannerView::Create(
37 const base::WeakPtr<CreditCardScannerViewDelegate>& delegate, 39 const base::WeakPtr<CreditCardScannerViewDelegate>& delegate,
38 content::WebContents* web_contents) { 40 content::WebContents* web_contents) {
39 return base::WrapUnique( 41 return base::WrapUnique(
40 new CreditCardScannerViewAndroid(delegate, web_contents)); 42 new CreditCardScannerViewAndroid(delegate, web_contents));
41 } 43 }
42 44
43 // static 45 // static
44 bool CreditCardScannerViewAndroid::Register(JNIEnv* env) { 46 bool CreditCardScannerViewAndroid::Register(JNIEnv* env) {
45 return RegisterNativesImpl(env); 47 return RegisterNativesImpl(env);
46 } 48 }
47 49
48 CreditCardScannerViewAndroid::CreditCardScannerViewAndroid( 50 CreditCardScannerViewAndroid::CreditCardScannerViewAndroid(
49 const base::WeakPtr<CreditCardScannerViewDelegate>& delegate, 51 const base::WeakPtr<CreditCardScannerViewDelegate>& delegate,
50 content::WebContents* web_contents) 52 content::WebContents* web_contents)
51 : delegate_(delegate), 53 : delegate_(delegate),
52 java_object_(Java_CreditCardScannerBridge_create( 54 java_object_(Java_CreditCardScannerBridge_create(
53 base::android::AttachCurrentThread(), 55 base::android::AttachCurrentThread(),
54 reinterpret_cast<intptr_t>(this), 56 reinterpret_cast<intptr_t>(this),
57 base::android::GetApplicationContext(),
55 web_contents->GetJavaWebContents())) {} 58 web_contents->GetJavaWebContents())) {}
56 59
57 CreditCardScannerViewAndroid::~CreditCardScannerViewAndroid() {} 60 CreditCardScannerViewAndroid::~CreditCardScannerViewAndroid() {}
58 61
59 void CreditCardScannerViewAndroid::ScanCancelled( 62 void CreditCardScannerViewAndroid::ScanCancelled(
60 JNIEnv* env, 63 JNIEnv* env,
61 const JavaParamRef<jobject>& object) { 64 const JavaParamRef<jobject>& object) {
62 delegate_->ScanCancelled(); 65 delegate_->ScanCancelled();
63 } 66 }
64 67
(...skipping 17 matching lines...) Expand all
82 85
83 delegate_->ScanCompleted(card); 86 delegate_->ScanCompleted(card);
84 } 87 }
85 88
86 void CreditCardScannerViewAndroid::Show() { 89 void CreditCardScannerViewAndroid::Show() {
87 JNIEnv* env = base::android::AttachCurrentThread(); 90 JNIEnv* env = base::android::AttachCurrentThread();
88 Java_CreditCardScannerBridge_scan(env, java_object_); 91 Java_CreditCardScannerBridge_scan(env, java_object_);
89 } 92 }
90 93
91 } // namespace autofill 94 } // namespace autofill
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698