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

Side by Side Diff: chrome/browser/ui/views/login_view.h

Issue 1384283003: Do not involve PasswordManagerDriver in filling HTTP-auth forms; also check realm (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Complete with new tests Created 5 years, 2 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 (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 #ifndef CHROME_BROWSER_UI_VIEWS_LOGIN_VIEW_H_ 5 #ifndef CHROME_BROWSER_UI_VIEWS_LOGIN_VIEW_H_
6 #define CHROME_BROWSER_UI_VIEWS_LOGIN_VIEW_H_ 6 #define CHROME_BROWSER_UI_VIEWS_LOGIN_VIEW_H_
7 7
8 #include "base/compiler_specific.h" 8 #include "base/compiler_specific.h"
9 #include "components/autofill/core/common/password_form.h"
9 #include "components/password_manager/core/browser/login_model.h" 10 #include "components/password_manager/core/browser/login_model.h"
10 #include "ui/views/view.h" 11 #include "ui/views/view.h"
11 12
12 namespace views { 13 namespace views {
13 class Label; 14 class Label;
14 class Textfield; 15 class Textfield;
15 } 16 }
16 17
17 // This class is responsible for displaying the contents of a login window 18 // This class is responsible for displaying the contents of a login window
18 // for HTTP/FTP authentication. 19 // for HTTP/FTP authentication.
19 class LoginView : public views::View, 20 class LoginView : public views::View,
20 public password_manager::LoginModelObserver { 21 public password_manager::LoginModelObserver {
21 public: 22 public:
22 // |model| is observed for the entire lifetime of the LoginView. 23 // |model| is observed for the entire lifetime of the LoginView.
23 // Therefore |model| should not be destroyed before the LoginView object. 24 // Therefore |model| should not be destroyed before the LoginView object.
24 LoginView(const base::string16& explanation, 25 LoginView(const base::string16& explanation,
25 password_manager::LoginModel* model); 26 password_manager::LoginModel* model,
27 const autofill::PasswordForm* observed_form);
26 ~LoginView() override; 28 ~LoginView() override;
27 29
28 // Access the data in the username/password text fields. 30 // Access the data in the username/password text fields.
29 const base::string16& GetUsername() const; 31 const base::string16& GetUsername() const;
30 const base::string16& GetPassword() const; 32 const base::string16& GetPassword() const;
31 33
32 // password_manager::LoginModelObserver: 34 // password_manager::LoginModelObserver:
33 void OnAutofillDataAvailable(const base::string16& username, 35 void OnAutofillDataAvailableInternal(const base::string16& username,
34 const base::string16& password) override; 36 const base::string16& password) override;
35 void OnLoginModelDestroying() override; 37 void OnLoginModelDestroying() override;
36 38
37 // Used by LoginHandlerWin to set the initial focus. 39 // Used by LoginHandlerWin to set the initial focus.
38 views::View* GetInitiallyFocusedView(); 40 views::View* GetInitiallyFocusedView();
39 41
40 private: 42 private:
41 // views::View: 43 // views::View:
42 const char* GetClassName() const override; 44 const char* GetClassName() const override;
43 45
44 // Non-owning refs to the input text fields. 46 // Non-owning refs to the input text fields.
45 views::Textfield* username_field_; 47 views::Textfield* username_field_;
46 views::Textfield* password_field_; 48 views::Textfield* password_field_;
47 49
48 // Button labels 50 // Button labels
49 views::Label* username_label_; 51 views::Label* username_label_;
50 views::Label* password_label_; 52 views::Label* password_label_;
51 53
52 // Authentication message. 54 // Authentication message.
53 views::Label* message_label_; 55 views::Label* message_label_;
54 56
55 // If not null, points to a model we need to notify of our own destruction 57 // If not null, points to a model we need to notify of our own destruction
56 // so it doesn't try and access this when its too late. 58 // so it doesn't try and access this when its too late.
57 password_manager::LoginModel* login_model_; 59 password_manager::LoginModel* login_model_;
58 60
59 DISALLOW_COPY_AND_ASSIGN(LoginView); 61 DISALLOW_COPY_AND_ASSIGN(LoginView);
60 }; 62 };
61 63
62 #endif // CHROME_BROWSER_UI_VIEWS_LOGIN_VIEW_H_ 64 #endif // CHROME_BROWSER_UI_VIEWS_LOGIN_VIEW_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698