| Index: components/autofill/core/browser/autofill_provider_android.h
|
| diff --git a/components/autofill/core/browser/autofill_provider_android.h b/components/autofill/core/browser/autofill_provider_android.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..db978880be9d6906ed8e35760a2094008f8672b5
|
| --- /dev/null
|
| +++ b/components/autofill/core/browser/autofill_provider_android.h
|
| @@ -0,0 +1,65 @@
|
| +// Copyright 2017 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef COMPONENTS_AUTOFILL_CORE_BROWSER_AUTOFILL_PROVIDER_ANDROID_H_
|
| +#define COMPONENTS_AUTOFILL_CORE_BROWSER_AUTOFILL_PROVIDER_ANDROID_H_
|
| +
|
| +#include "base/android/jni_weak_ref.h"
|
| +#include "base/memory/weak_ptr.h"
|
| +#include "components/autofill/core/browser/autofill_provider.h"
|
| +
|
| +namespace autofill {
|
| +
|
| +class FormDataAndroid;
|
| +
|
| +class AutofillProviderAndroid : public AutofillProvider {
|
| + public:
|
| + AutofillProviderAndroid(const base::android::JavaParamRef<jobject>& jcaller);
|
| + virtual ~AutofillProviderAndroid();
|
| +
|
| + // Override AutofillProvider methods
|
| + void OnQueryFormFieldAutofill(AutofillManager* manager,
|
| + int32_t id,
|
| + const FormData& form,
|
| + const FormFieldData& field,
|
| + const gfx::RectF& bounding_box) override;
|
| +
|
| + void OnTextFieldDidChange(AutofillManager* manager,
|
| + const FormData& form,
|
| + const FormFieldData& field,
|
| + const base::TimeTicks& timestamp) override;
|
| +
|
| + void OnWillSubmitForm(AutofillManager* manager,
|
| + const FormData& form,
|
| + const base::TimeTicks& timestamp) override;
|
| +
|
| + void OnFocusNoLongerOnForm(AutofillManager* manager) override;
|
| +
|
| + void OnDidFillAutofillFormData(AutofillManager* manager,
|
| + const FormData& form,
|
| + base::TimeTicks timestamp) override;
|
| +
|
| + // Methods called by Java.
|
| + void OnAutofillAvailable(JNIEnv* env, jobject jcaller, jobject formData);
|
| +
|
| + private:
|
| + void OnFocusChanged(bool focus_on_form,
|
| + size_t index,
|
| + const gfx::RectF& bounding_box);
|
| +
|
| + bool ValidateManager(AutofillManager* manager);
|
| +
|
| + int32_t id_;
|
| + std::unique_ptr<FormDataAndroid> form_;
|
| + base::WeakPtr<AutofillManager> manager_;
|
| + JavaObjectWeakGlobalRef java_ref_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(AutofillProviderAndroid);
|
| +};
|
| +
|
| +bool RegisterAutofillProvider(JNIEnv* env);
|
| +
|
| +} // namespace autofill
|
| +
|
| +#endif // COMPONENTS_AUTOFILL_CORE_BROWSER_AUTOFILL_PROVIDER_ANDROID_H_
|
|
|