Form validation: Validation bubble should be closed on document unload process.

This CL fixes a bug that a validation bubble is not closed by page navigation in
some cases.

We close a validation message on Page::documentDetached(). However it seems it was
too late to communicate with the browser process in some cases. So, this CL moves
it to Document unload timing.

 * Add ValidationMessage::willUnloadDocument(), which closes a validation bubble,
  and Document::dispatchUnloadEvents() calls it indirectly through Page.

 * HTMLFormControlElement prevents from showing a validation message after the
  unload processing.

BUG=704560

Review-Url: https://codereview.chromium.org/2771193002
Cr-Commit-Position: refs/heads/master@{#459701}
8 files changed