Index: third_party/WebKit/Source/core/html/forms/BaseTextInputType.h |
diff --git a/third_party/WebKit/Source/core/html/forms/BaseTextInputType.h b/third_party/WebKit/Source/core/html/forms/BaseTextInputType.h |
index 1e73e6382014ba7c951a543a4cb1f89d30d8b5ba..b83977ec188b9b9c7ed182c94ea796809b0598ac 100644 |
--- a/third_party/WebKit/Source/core/html/forms/BaseTextInputType.h |
+++ b/third_party/WebKit/Source/core/html/forms/BaseTextInputType.h |
@@ -35,11 +35,14 @@ |
namespace blink { |
+class ScriptRegexp; |
+ |
// Base of email, password, search, tel, text, and URL types. |
// They support maxlength, selection functions, and so on. |
class BaseTextInputType : public TextFieldInputType { |
protected: |
- BaseTextInputType(HTMLInputElement& element) : TextFieldInputType(element) { } |
+ BaseTextInputType(HTMLInputElement&); |
+ ~BaseTextInputType() override; |
private: |
bool tooLong(const String&, HTMLTextFormControlElement::NeedsToCheckDirtyFlag) const final; |
@@ -50,6 +53,11 @@ private: |
bool supportsPlaceholder() const final; |
bool supportsSelectionAPI() const override; |
bool supportsAutocapitalize() const override; |
+ |
+ // m_regexp and m_patternForRegexp are mutable because they are kinds of |
+ // cache. |
+ mutable std::unique_ptr<ScriptRegexp> m_regexp; |
+ mutable AtomicString m_patternForRegexp; |
}; |
} // namespace blink |