• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2012 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 CHROME_BROWSER_CHROMEOS_OPTIONS_PASSPHRASE_TEXTFIELD_H_
6 #define CHROME_BROWSER_CHROMEOS_OPTIONS_PASSPHRASE_TEXTFIELD_H_
7 
8 #include <string>
9 
10 #include "ui/views/controls/textfield/textfield.h"
11 
12 namespace chromeos {
13 
14 class PassphraseTextfield : public views::Textfield {
15  public:
16   PassphraseTextfield();
17 
18   // If show_fake is true, then the text field will show a fake password.
19   void SetShowFake(bool show_fake);
20 
21   // Override views::Textfield so that when focus is gained, then clear out the
22   // fake password if appropriate. Replace it when focus is lost if the user has
23   // not typed in a new password.
24   virtual void OnFocus() OVERRIDE;
25   virtual void OnBlur() OVERRIDE;
26 
27   // Returns the passphrase. If it's unchanged, then returns an empty string.
28   std::string GetPassphrase();
29 
show_fake()30   bool show_fake() const { return show_fake_; }
31 
32  private:
33   void SetFakePassphrase();
34   void ClearFakePassphrase();
35 
36   bool show_fake_;
37   bool changed_;
38 };
39 
40 }  // namespace chromeos
41 
42 #endif  // CHROME_BROWSER_CHROMEOS_OPTIONS_PASSPHRASE_TEXTFIELD_H_
43