Home | History | Annotate | Download | only in options
      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  private:
     31   void SetFakePassphrase();
     32   void ClearFakePassphrase();
     33 
     34   bool show_fake_;
     35   bool changed_;
     36 };
     37 
     38 }  // namespace chromeos
     39 
     40 #endif  // CHROME_BROWSER_CHROMEOS_OPTIONS_PASSPHRASE_TEXTFIELD_H_
     41