[WebView Autofill] fix the broken autofill

WebView autofill was broken by
https://chromium-review.googlesource.com/c/587034

WebView autofill calls AutofillAgent at very early stage, it relies
on OnInterfaceRequestForFrame to work, this patch moves the
BinderRegistry to AwRenderFrameExt, also overrides
OnInterfaceRequestForFrame in AwRenderFrameExt.

BUG=752277

Change-Id: I7c3138e6a7b65f4165b5d1066f72ce44404f7e60
Reviewed-on: https://chromium-review.googlesource.com/609400
Commit-Queue: Tao Bai <[email protected]>
Reviewed-by: Ben Goodger <[email protected]>
Cr-Commit-Position: refs/heads/master@{#493202}
diff --git a/android_webview/renderer/aw_render_frame_ext.h b/android_webview/renderer/aw_render_frame_ext.h
index 9fd50194..55d4b38 100644
--- a/android_webview/renderer/aw_render_frame_ext.h
+++ b/android_webview/renderer/aw_render_frame_ext.h
@@ -7,6 +7,8 @@
 
 #include "base/macros.h"
 #include "content/public/renderer/render_frame_observer.h"
+#include "services/service_manager/public/cpp/binder_registry.h"
+#include "third_party/skia/include/core/SkColor.h"
 #include "ui/gfx/geometry/point_f.h"
 #include "ui/gfx/geometry/size.h"
 #include "ui/gfx/geometry/size_f.h"
@@ -31,6 +33,9 @@
   ~AwRenderFrameExt() override;
 
   // RenderFrameObserver:
+  void OnInterfaceRequestForFrame(
+      const std::string& interface_name,
+      mojo::ScopedMessagePipeHandle* interface_pipe) override;
   void DidCommitProvisionalLoad(bool is_new_navigation,
                                 bool is_same_document_navigation) override;
 
@@ -57,11 +62,11 @@
 
   url::Origin last_origin_;
 
+  std::unique_ptr<service_manager::BinderRegistry> registry_;
+
   DISALLOW_COPY_AND_ASSIGN(AwRenderFrameExt);
 };
 
 }  // namespace android_webview
 
 #endif  // ANDROID_WEBVIEW_RENDERER_AW_RENDER_FRAME_EXT_H_
-
-