Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / components / password_manager / content / browser / content_password_manager_driver.h
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
3 // found in the LICENSE file.
4
5 #ifndef COMPONENTS_PASSWORD_MANAGER_CONTENT_BROWSER_CONTENT_PASSWORD_MANAGER_DRIVER_H_
6 #define COMPONENTS_PASSWORD_MANAGER_CONTENT_BROWSER_CONTENT_PASSWORD_MANAGER_DRIVER_H_
7
8 #include "base/basictypes.h"
9 #include "base/compiler_specific.h"
10 #include "components/password_manager/core/browser/password_autofill_manager.h"
11 #include "components/password_manager/core/browser/password_generation_manager.h"
12 #include "components/password_manager/core/browser/password_manager.h"
13 #include "components/password_manager/core/browser/password_manager_driver.h"
14 #include "content/public/browser/web_contents_observer.h"
15
16 namespace autofill {
17 class AutofillManager;
18 struct PasswordForm;
19 }
20
21 namespace content {
22 class WebContents;
23 }
24
25 namespace password_manager {
26
27 class ContentPasswordManagerDriver : public PasswordManagerDriver,
28                                      public content::WebContentsObserver {
29  public:
30   ContentPasswordManagerDriver(
31       content::WebContents* web_contents,
32       PasswordManagerClient* client,
33       autofill::AutofillManagerDelegate* autofill_manager_delegate);
34   virtual ~ContentPasswordManagerDriver();
35
36   // PasswordManagerDriver implementation.
37   virtual void FillPasswordForm(const autofill::PasswordFormFillData& form_data)
38       OVERRIDE;
39   virtual bool DidLastPageLoadEncounterSSLErrors() OVERRIDE;
40   virtual bool IsOffTheRecord() OVERRIDE;
41   virtual void AllowPasswordGenerationForForm(autofill::PasswordForm* form)
42       OVERRIDE;
43   virtual void AccountCreationFormsFound(
44       const std::vector<autofill::FormData>& forms) OVERRIDE;
45   virtual void AcceptPasswordAutofillSuggestion(
46       const base::string16& username,
47       const base::string16& password) OVERRIDE;
48
49   virtual PasswordGenerationManager* GetPasswordGenerationManager() OVERRIDE;
50   virtual PasswordManager* GetPasswordManager() OVERRIDE;
51   virtual autofill::AutofillManager* GetAutofillManager() OVERRIDE;
52   virtual PasswordAutofillManager* GetPasswordAutofillManager() OVERRIDE;
53
54   // content::WebContentsObserver overrides.
55   virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
56   virtual void DidNavigateMainFrame(
57       const content::LoadCommittedDetails& details,
58       const content::FrameNavigateParams& params) OVERRIDE;
59
60  private:
61   PasswordManager password_manager_;
62   PasswordGenerationManager password_generation_manager_;
63   PasswordAutofillManager password_autofill_manager_;
64
65   DISALLOW_COPY_AND_ASSIGN(ContentPasswordManagerDriver);
66 };
67
68 }  // namespace password_manager
69
70 #endif  // COMPONENTS_PASSWORD_MANAGER_CONTENT_BROWSER_CONTENT_PASSWORD_MANAGER_DRIVER_H_