| Index: chrome/browser/autofill/phone_number_i18n.h
|
| ===================================================================
|
| --- chrome/browser/autofill/phone_number_i18n.h (revision 90107)
|
| +++ chrome/browser/autofill/phone_number_i18n.h (working copy)
|
| @@ -10,10 +10,16 @@
|
| #include <vector>
|
|
|
| #include "base/compiler_specific.h"
|
| +#include "base/memory/scoped_ptr.h"
|
| #include "base/string16.h"
|
|
|
| +namespace i18n {
|
| +namespace phonenumbers {
|
| +class PhoneNumber;
|
| +}
|
| +}
|
| +
|
| // Utilities to process, normalize and compare international phone numbers.
|
| -
|
| namespace autofill_i18n {
|
|
|
| // Most of the following functions require |locale| to operate. The |locale| is
|
| @@ -88,6 +94,36 @@
|
| const string16& number_b,
|
| const std::string& country_code);
|
|
|
| +// The cached phone number, does parsing only once, improves performance.
|
| +class PhoneObject {
|
| + public:
|
| + PhoneObject(const string16& number, const std::string& locale);
|
| + PhoneObject(const PhoneObject&);
|
| + PhoneObject();
|
| + ~PhoneObject();
|
| +
|
| + string16 GetCountryCode() const { return country_code_; }
|
| + string16 GetCityCode() const { return city_code_; }
|
| + string16 GetNumber() const { return number_; }
|
| + std::string GetLocale() const { return locale_; }
|
| +
|
| + string16 GetWholeNumber() const;
|
| +
|
| + PhoneMatch ComparePhones(const string16& phone) const;
|
| +
|
| + PhoneObject& operator=(const PhoneObject& other);
|
| +
|
| + bool IsValidNumber() const { return i18n_number_ != NULL; }
|
| +
|
| + private:
|
| + string16 city_code_;
|
| + string16 country_code_;
|
| + string16 number_;
|
| + mutable string16 whole_number_; // Set on first request.
|
| + std::string locale_;
|
| + scoped_ptr<i18n::phonenumbers::PhoneNumber> i18n_number_;
|
| +};
|
| +
|
| } // namespace autofill_i18n
|
|
|
| #endif // CHROME_BROWSER_AUTOFILL_PHONE_NUMBER_I18N_H_
|
|
|