Move form validation message bubble into content/, wire up to Android WebView.

At the moment, when form validation inside Blink fails (e.g. entering an invalid email address in an <input type=email />) we call out to chrome/ to show some UI to the user to indicate the error and give the opportunity to correct it.

This change moves the IPC to content/ (via RenderViewHost) and plumbs the validation handlers through WebContents and WebContentsDelegate. This gives content embedders the opportunity to receive the Blink callback.

There should be no behavior change; the implementation for showing the bubble on desktop platforms remains in the chrome/ layer. On Android it is moved into the WebContentsDelegateAndroid component such that Android WebView can share the code.

BUG=293608
[email protected], [email protected], [email protected], [email protected], [email protected]

Review URL: https://codereview.chromium.org/23609053

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@240420 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h
index e790f152..0db67f21 100644
--- a/content/browser/web_contents/web_contents_impl.h
+++ b/content/browser/web_contents/web_contents_impl.h
@@ -698,6 +698,12 @@
                            bool has_video,
                            bool has_audio,
                            bool is_playing);
+  void OnShowValidationMessage(const gfx::Rect& anchor_in_root_view,
+                               const string16& main_text,
+                               const string16& sub_text);
+  void OnHideValidationMessage();
+  void OnMoveValidationMessage(const gfx::Rect& anchor_in_root_view);
+
 
   // Called by derived classes to indicate that we're no longer waiting for a
   // response. This won't actually update the throbber, but it will get picked