| Index: components/password_manager/content/browser/content_password_manager_driver.h
|
| diff --git a/components/password_manager/content/browser/content_password_manager_driver.h b/components/password_manager/content/browser/content_password_manager_driver.h
|
| index 0660883d2f9da36ef7a590043570984c781b0f41..e4ed94cd1210fa1935b1dbcaf839ac4e528e4ea5 100644
|
| --- a/components/password_manager/content/browser/content_password_manager_driver.h
|
| +++ b/components/password_manager/content/browser/content_password_manager_driver.h
|
| @@ -11,12 +11,14 @@
|
| #include "base/compiler_specific.h"
|
| #include "base/macros.h"
|
| #include "components/autofill/content/public/interfaces/autofill_agent.mojom.h"
|
| +#include "components/autofill/content/public/interfaces/autofill_driver.mojom.h"
|
| #include "components/autofill/core/common/password_form_field_prediction_map.h"
|
| #include "components/autofill/core/common/password_form_generation_data.h"
|
| #include "components/password_manager/core/browser/password_autofill_manager.h"
|
| #include "components/password_manager/core/browser/password_generation_manager.h"
|
| #include "components/password_manager/core/browser/password_manager.h"
|
| #include "components/password_manager/core/browser/password_manager_driver.h"
|
| +#include "mojo/public/cpp/bindings/binding.h"
|
|
|
| namespace autofill {
|
| class AutofillManager;
|
| @@ -39,7 +41,9 @@ enum class BadMessageReason;
|
|
|
| // There is one ContentPasswordManagerDriver per RenderFrameHost.
|
| // The lifetime is managed by the ContentPasswordManagerDriverFactory.
|
| -class ContentPasswordManagerDriver : public PasswordManagerDriver {
|
| +class ContentPasswordManagerDriver
|
| + : public PasswordManagerDriver,
|
| + public autofill::mojom::PasswordManagerDriver {
|
| public:
|
| ContentPasswordManagerDriver(content::RenderFrameHost* render_frame_host,
|
| PasswordManagerClient* client,
|
| @@ -50,6 +54,8 @@ class ContentPasswordManagerDriver : public PasswordManagerDriver {
|
| static ContentPasswordManagerDriver* GetForRenderFrameHost(
|
| content::RenderFrameHost* render_frame_host);
|
|
|
| + void BindRequest(autofill::mojom::PasswordManagerDriverRequest request);
|
| +
|
| // PasswordManagerDriver implementation.
|
| void FillPasswordForm(
|
| const autofill::PasswordFormFillData& form_data) override;
|
| @@ -78,25 +84,36 @@ class ContentPasswordManagerDriver : public PasswordManagerDriver {
|
| PasswordManager* GetPasswordManager() override;
|
| PasswordAutofillManager* GetPasswordAutofillManager() override;
|
|
|
| - bool HandleMessage(const IPC::Message& message);
|
| void DidNavigateFrame(const content::LoadCommittedDetails& details,
|
| const content::FrameNavigateParams& params);
|
|
|
| - // Pass-throughs to PasswordManager.
|
| - void OnPasswordFormsParsed(const std::vector<autofill::PasswordForm>& forms);
|
| + // autofill::mojom::PasswordManagerDriver:
|
| + void PasswordFormsParsed(
|
| + const std::vector<autofill::PasswordForm>& forms) override;
|
| + void PasswordFormsRendered(
|
| + const std::vector<autofill::PasswordForm>& visible_forms,
|
| + bool did_stop_loading) override;
|
| + void PasswordFormSubmitted(
|
| + const autofill::PasswordForm& password_form) override;
|
| + void InPageNavigation(const autofill::PasswordForm& password_form) override;
|
| + void PresaveGeneratedPassword(
|
| + const autofill::PasswordForm& password_form) override;
|
| + void PasswordNoLongerGenerated(
|
| + const autofill::PasswordForm& password_form) override;
|
| + void ShowPasswordSuggestions(int key,
|
| + base::i18n::TextDirection text_direction,
|
| + const base::string16& typed_username,
|
| + int options,
|
| + const gfx::RectF& bounds) override;
|
| + void PasswordAutofillAgentConstructed() override;
|
| + void RecordSavePasswordProgress(const std::string& log) override;
|
| + void SaveGenerationFieldDetectedByClassifier(
|
| + const autofill::PasswordForm& password_form,
|
| + const base::string16& generation_field) override;
|
| +
|
| void OnPasswordFormsParsedNoRenderCheck(
|
| const std::vector<autofill::PasswordForm>& forms);
|
| - void OnPasswordFormsRendered(
|
| - const std::vector<autofill::PasswordForm>& visible_forms,
|
| - bool did_stop_loading);
|
| - void OnPasswordFormSubmitted(const autofill::PasswordForm& password_form);
|
| - void OnInPageNavigation(const autofill::PasswordForm& password_form);
|
| - void OnPresaveGeneratedPassword(const autofill::PasswordForm& password_form);
|
| - void OnPasswordNoLongerGenerated(const autofill::PasswordForm& password_form);
|
| void OnFocusedPasswordFormFound(const autofill::PasswordForm& password_form);
|
| - void OnSaveGenerationFieldDetectedByClassifier(
|
| - const autofill::PasswordForm& password_form,
|
| - const base::string16& generation_field);
|
|
|
| private:
|
| bool CheckChildProcessSecurityPolicy(const GURL& url,
|
| @@ -104,6 +121,11 @@ class ContentPasswordManagerDriver : public PasswordManagerDriver {
|
|
|
| const autofill::mojom::AutofillAgentPtr& GetAutofillAgent();
|
|
|
| + const autofill::mojom::PasswordAutofillAgentPtr& GetPasswordAutofillAgent();
|
| +
|
| + const autofill::mojom::PasswordGenerationAgentPtr&
|
| + GetPasswordGenerationAgent();
|
| +
|
| content::RenderFrameHost* render_frame_host_;
|
| PasswordManagerClient* client_;
|
| PasswordGenerationManager password_generation_manager_;
|
| @@ -115,6 +137,14 @@ class ContentPasswordManagerDriver : public PasswordManagerDriver {
|
| // it to each other over IPC. The counter below is used to generate new IDs.
|
| int next_free_key_;
|
|
|
| + autofill::mojom::PasswordAutofillAgentPtr password_autofill_agent_;
|
| +
|
| + autofill::mojom::PasswordGenerationAgentPtr password_gen_agent_;
|
| +
|
| + mojo::Binding<autofill::mojom::PasswordManagerDriver> binding_;
|
| +
|
| + base::WeakPtrFactory<ContentPasswordManagerDriver> weak_factory_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(ContentPasswordManagerDriver);
|
| };
|
|
|
|
|