Skip to content
  • tkent@chromium.org's avatar
    Framework to show form validation message for invalid controls · 6ded062c
    tkent@chromium.org authored
    https://bugs.webkit.org/show_bug.cgi?id=31718
    
    Reviewed by Dimitri Glazkov.
    
    HTMLFormElement::validateInteractively() shows a validation message for
    an invalid control by HTMLFormControlElement::updateVisibleValidationMessage(),
    and the message is hidden when the invalid control looses focus, becomes
    valid, detached, or the form is submitted again.
    
    Introduce ValidationMessage class to manage visible form validation
    message. It has no implementation to show/hide a message yet.
    
    No new tests. New behavior is disabled by default, and is timing-dependent.
    
    * Android.mk: Add ValidationMessage.
    * CMakeLists.txt: ditto.
    * GNUmakefile.am: ditto.
    * WebCore.gypi: ditto.
    * WebCore.pro: ditto.
    * WebCore.vcproj/WebCore.vcproj: ditto.
    * WebCore.xcodeproj/project.pbxproj: ditto.
    * html/HTMLFormControlElement.cpp:
    (WebCore::HTMLFormControlElement::detach): Hides a validation message.
    (WebCore::HTMLFormControlElement::setNeedsWillValidateCheck):
       Hides a validation message if validation is not needed.
    (WebCore::HTMLFormControlElement::updateVisibleValidationMessage):
    (WebCore::HTMLFormControlElement::hideVisibleValidationMessage):
    (WebCore::HTMLFormControlElement::setNeedsValidityCheck):
      Hides a validation message or updates the validation message.
    (WebCore::HTMLFormControlElement::dispatchBlurEvent):
      Hides a validation message.
    (WebCore::HTMLFormControlElement::visibleValidationMessage):
    * html/HTMLFormControlElement.h:
    * html/HTMLFormElement.cpp:
    (WebCore::HTMLFormElement::validateInteractively):
     - Hide existing validation messages before showing new message.
     - Show new validation message.
    * html/ValidationMessage.cpp: Added.
    (WebCore::ValidationMessage::ValidationMessage):
    (WebCore::ValidationMessage::~ValidationMessage):
    (WebCore::ValidationMessage::create):
    (WebCore::ValidationMessage::setMessage):
    (WebCore::ValidationMessage::hideMessage):
    * html/ValidationMessage.h: Added.
    (WebCore::ValidationMessage::message):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71309 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    6ded062c