- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / browser / chromeos / options / passphrase_textfield.h
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
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_