146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved.
246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// found in the LICENSE file.
446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)
546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#ifndef COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_STUB_PASSWORD_MANAGER_DRIVER_H_
646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#define COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_STUB_PASSWORD_MANAGER_DRIVER_H_
746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)
846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#include "components/password_manager/core/browser/password_manager_driver.h"
946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)
1046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)namespace password_manager {
1146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)
1246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// Use this class as a base for mock or test drivers to avoid stubbing
1346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// uninteresting pure virtual methods. All the implemented methods are just
1446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// trivial stubs. Do NOT use in production, only use in tests.
1546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)class StubPasswordManagerDriver : public PasswordManagerDriver {
1646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) public:
1746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  StubPasswordManagerDriver();
1846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  virtual ~StubPasswordManagerDriver();
1946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)
2046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  // PasswordManagerDriver:
2146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  virtual void FillPasswordForm(
2246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)      const autofill::PasswordFormFillData& form_data) OVERRIDE;
2346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  virtual bool DidLastPageLoadEncounterSSLErrors() OVERRIDE;
2446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  virtual bool IsOffTheRecord() OVERRIDE;
2546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  virtual void AllowPasswordGenerationForForm(
26116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch      const autofill::PasswordForm& form) OVERRIDE;
2746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  virtual void AccountCreationFormsFound(
2846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)      const std::vector<autofill::FormData>& forms) OVERRIDE;
2946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  virtual void FillSuggestion(const base::string16& username,
3046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)                              const base::string16& password) OVERRIDE;
3146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  virtual void PreviewSuggestion(const base::string16& username,
3246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)                                 const base::string16& password) OVERRIDE;
3346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  virtual void ClearPreviewedForm() OVERRIDE;
3446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  virtual PasswordGenerationManager* GetPasswordGenerationManager() OVERRIDE;
3546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  virtual PasswordManager* GetPasswordManager() OVERRIDE;
3646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  virtual PasswordAutofillManager* GetPasswordAutofillManager() OVERRIDE;
3746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  virtual autofill::AutofillManager* GetAutofillManager() OVERRIDE;
3846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)
3946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) private:
4046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  DISALLOW_COPY_AND_ASSIGN(StubPasswordManagerDriver);
4146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)};
4246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)
4346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)}  // namespace password_manager
4446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)
4546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#endif  // COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_STUB_PASSWORD_MANAGER_DRIVER_H_
46