Form-associated custom element: Close a validation bubble on blur

... as built-in form controls do.

HTMLElement with formAssociated flag didn't have code to close a
validation bubble on blur. HTMLFormControlElement had it in
DispatchBlurEvent(). This CL adds a focus change callback to
ValidationMessageClient, ChromeClientImpl calls it, and
ValidationMessageClientImpl closes a visible validation bubble in
it.  We don't need to override DispatchBlurEvent() in each of
form control classes.

This CL also fixes internals.isValidationMessageVisible() so that it
supports form-associated custom elements.

Change-Id: Ic950031348618eebe66f1c52077074b54771503c
Bug: 905922
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1611074
Reviewed-by: Hayato Ito <hayato@chromium.org>
Commit-Queue: Kent Tamura <tkent@chromium.org>
Cr-Commit-Position: refs/heads/master@{#659832}
11 files changed