New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 662040 link

Starred by 8 users

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Bug-Regression



Sign in to add a comment

Failed to locate a binder for interface: autofill::mojom::AutofillDriver

Reported by jostein....@gmail.com, Nov 3 2016

Issue description

Steps to reproduce the problem:
1. Start android app activity that use a webview component

2. Look at the adb log output for line with text: "E/chromium: [ERROR:interface_registry.cc(99)] Failed to locate a binder for interface: autofill::mojom::AutofillDriver"

3. In the apps webview, try any html form input fields that should provide autofill suggestions when.

What is the expected behavior?
The html input fields should display autofill suggestions based on previous input, as chrome usually does.

What went wrong?
No autofill suggestions are displayed in webview.

Did this work before? Yes Probably latest before 54.0.2840.68

Does this work in other browsers? Yes

Chrome version: 54.0.2840.68  Channel: stable
OS Version: 6.0.1
Flash Version: 

Works in normal Chrome on Android, just not in a webview.
 
Components: Mobile>WebView UI>Browser>Autofill
Labels: -Pri-2 -Hotlist-Interop Pri-1

Comment 2 by ma...@chromium.org, Nov 3 2016

I'm not aware of Autofill (address, credit card) working in the Android Webview. Possibly autocomplete suggestions. 

Are you talking about the Chromium webview or the Chrome Custom tabs? Sounds like the former?

Comment 3 by torne@chromium.org, Nov 3 2016

Yeah, WebView does not have autofill at all.
Yes it is probably what you call autocomplete (The feature that works on general input fields) that don't work. Sorry for the confusion.

And yes, this is in a chromium webview. Not tested in custom tabs.
Attached is a minimal app to reproduce the issue.

Can be installed on test device with "gradlew installDebug".
ChromiumIssue662040.zip
8.6 MB Download

Comment 6 by ma...@chromium.org, Nov 4 2016

Owner: leon....@intel.com
Status: Available (was: Unconfirmed)
Thanks for the example app! Pinging Han Leon for his knowledge of the mojo bindings.

Comment 7 by leon....@intel.com, Nov 7 2016

Status: Started (was: Available)
I noticed this:
"
Did this work before? Yes Probably latest before 54.0.2840.68
"

Hi, jostein.proresult, would you please help to check whether 54.0.2840.1(or some other stable one near that) is OK or not? This could help to locate the root cause. Thanks.
Hi leon,

Is there somewhere I can download and install 54.0.2840.1? Could not find a release archive.

Comment 9 by leon....@intel.com, Nov 8 2016

Usually I fetch the code to build for myself,, and sorry I have no idea where to get the release archive.

I have got some idea about root cause of this bug and am trying to figure out how to fix this. But as I'm not familiar with chromium android webview related, it may take some time.

Comment 10 by leon....@intel.com, Nov 10 2016

Uploaded a CL to fix this issue: https://codereview.chromium.org/2491103003/

Hi, jostein.proresult, is it possible for you to patch this CL to your local machine and help verify for your app? Thanks.
Hi, I don't have a build environment for building chromium from source. From the build documentation it looks like my workstation is not powerful enough.

Would it be possible for you to provide a precompiled patched apk that I can install on my Android testdevice?

Comment 12 by leon....@intel.com, Nov 11 2016

Attachment is android webview shell apk built out for 'chromium master code + patch of the CL(https://codereview.chromium.org/2491103003/)', it can install/run on android device. Thanks for the testing help.
AndroidWebView.apk.zip
26.1 MB Download
Thanks, I've tested the patched shell now. 

It now displayed the autocomplete suggestion as it did in earlier versions, but when T selected a suggestion it's value was not inserted into the input element as it should.


As a side note I would also like to mention that in regular Chrome on Android the autocomplete suggestions appear when the input element receives focus, while in the webview it appears after the first keypress, and then of course filtered based on the first input character. But this difference is not a regression, and so I guess not a bug.
Cc: sgu...@chromium.org
 Issue 664742  has been merged into this issue.
Labels: M-55 ReleaseBlock-Stable

Comment 17 by leon....@intel.com, Nov 21 2016

Labels: Merge-Request-54
Hi, sgurun@, thanks a lot for help landing the fix CL. 
I suppose we should also merge it onto M54 and M55, would you mind if I set Merge-Request-54 and Merge-Request-55 labels here directly? Thanks.

Comment 18 by leon....@intel.com, Nov 21 2016

Labels: -Merge-Request-54
Labels: Merge-Request-55
too late for M54. we can merge to M55.

Comment 20 by dimu@chromium.org, Nov 21 2016

Labels: -Merge-Request-55 Merge-Approved-55 Hotlist-Merge-Approved
Your change meets the bar and is auto-approved for M55 (branch: 2883)
Would be good to roll out update as soon as possible. Had to issue downgrade to stock WebView on many devices after M54
Project Member

Comment 22 by bugdroid1@chromium.org, Nov 21 2016

Labels: -merge-approved-55 merge-merged-2883
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2da1a8d4e2a5289b195e6de4335d216f9ddf6758

commit 2da1a8d4e2a5289b195e6de4335d216f9ddf6758
Author: Selim Gurun <sgurun@chromium.org>
Date: Mon Nov 21 22:18:18 2016

[Autofill]Enable mojo AutofillDriver for android_webview.

BUG= 662040 

Review-Url: https://codereview.chromium.org/2491103003
Cr-Commit-Position: refs/heads/master@{#433418}
(cherry picked from commit e404109db1d011479ea0fee59c5d415f44d73b22)

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

Cr-Commit-Position: refs/branch-heads/2883@{#636}
Cr-Branched-From: 614d31daee2f61b0180df403a8ad43f20b9f6dd7-refs/heads/master@{#423768}

[modify] https://crrev.com/2da1a8d4e2a5289b195e6de4335d216f9ddf6758/android_webview/BUILD.gn
[modify] https://crrev.com/2da1a8d4e2a5289b195e6de4335d216f9ddf6758/android_webview/browser/aw_content_browser_client.cc
[modify] https://crrev.com/2da1a8d4e2a5289b195e6de4335d216f9ddf6758/android_webview/browser/aw_content_browser_client.h

Status: Fixed (was: Started)
#21, sorry about it. 

Normally, we would catch this regression. We have a CTS test for it. But the test was never backported to Android L and we don't have a bot testing newer versions of CTS tests.

Now we are fixing both fronts.
Project Member

Comment 25 by bugdroid1@chromium.org, Nov 22 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/854cb95c022f596772fa41270996ff436e7bd789

commit 854cb95c022f596772fa41270996ff436e7bd789
Author: sgurun <sgurun@chromium.org>
Date: Tue Nov 22 02:51:04 2016

Revert of [Autofill]Enable mojo AutofillDriver for android_webview. (patchset #1 id:1 of https://codereview.chromium.org/2517253003/ )

Reason for revert:
breaks build.

Original issue's description:
> [Autofill]Enable mojo AutofillDriver for android_webview.
>
> BUG= 662040 
>
> Review-Url: https://codereview.chromium.org/2491103003
> Cr-Commit-Position: refs/heads/master@{#433418}
> (cherry picked from commit e404109db1d011479ea0fee59c5d415f44d73b22)
>
> Committed: https://chromium.googlesource.com/chromium/src/+/2da1a8d4e2a5289b195e6de4335d216f9ddf6758

TBR=
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 662040 

Review-Url: https://codereview.chromium.org/2518243002
Cr-Commit-Position: refs/branch-heads/2883@{#643}
Cr-Branched-From: 614d31daee2f61b0180df403a8ad43f20b9f6dd7-refs/heads/master@{#423768}

[modify] https://crrev.com/854cb95c022f596772fa41270996ff436e7bd789/android_webview/BUILD.gn
[modify] https://crrev.com/854cb95c022f596772fa41270996ff436e7bd789/android_webview/browser/aw_content_browser_client.cc
[modify] https://crrev.com/854cb95c022f596772fa41270996ff436e7bd789/android_webview/browser/aw_content_browser_client.h

Status: Assigned (was: Fixed)
we had to revert this because it breaks M55 builds. There seems to be refactoring in services that are not compatible.

Would you be able to fix the CL?

Comment 27 by leon....@intel.com, Nov 22 2016

OK I'll start to fix the build issue and land it to M55 branch.
thanks
Hi, just wondering if you noticed my comment #13, that the autocomplete in the first CL revision did not work as intended, and have tested that in the latest revision?

(when I selected a suggestion it's value was not inserted into the input element)

Comment 31 by leon....@intel.com, Nov 22 2016

Hi jostein.proresult, the apk I uploaded before is for master branch, I've been thinking that problem(value not inserted) is caused by some other development on master. And I've tried to upload the latest apk built from my local machine but found it's too big to upload. #Now the max size for attachments has been resized to 10.0 MB.

Hi sgurun@, would you please help to confirm the problem(selected value not inserted) locally? Or help to provide the latest apk(including the fix CL) to jostein? Thanks.
Labels: M-56
this also missed branch point for M56. 
and also I see the same behavior described as #31, so the issue not fixed yet.
I've tested both apks now on httpbin.io/forms/post and a separate page.

The M55 build works as it should for me. The Master build has the same problem as before, not inserting autocomplete selections in input.

So M55 looks good to me.

Comment 36 by leon....@intel.com, Nov 23 2016

Yeah you are right, httpbin.io/forms/post is OK for M55 but NG for master.

The root cause is that recently master branch enforced the authorities check of accessing mojo interfaces between mojo services, but android_webview is not fully considered. I'll prepare a CL to fix this.

Comment 37 by leon....@intel.com, Nov 24 2016

Waiting for landing of https://codereview.chromium.org/2523193002/, after that we need to merge both https://codereview.chromium.org/2491103003 and https://codereview.chromium.org/2523193002/ into M56(branch 2919).

#Note: M55 has already been fixed by https://chromium.googlesource.com/chromium/src.git/+/b0152a63b6a341a79949f97b8d77ea876d73727c, no further work needed.
Project Member

Comment 38 by bugdroid1@chromium.org, Nov 28 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9540b28d2181dc7d9cd86c3b7999bf5f4a23dc1f

commit 9540b28d2181dc7d9cd86c3b7999bf5f4a23dc1f
Author: leon.han <leon.han@intel.com>
Date: Mon Nov 28 21:42:38 2016

[Autofill] Add a content_renderer manifest overlay for android_webview.

This CL creates a content_renderer service manifest overly for android_webview
to enable autofill mojo interfaces to be accessed well from content_browser
service.

BUG= 662040 

Review-Url: https://codereview.chromium.org/2523193002
Cr-Commit-Position: refs/heads/master@{#434722}

[modify] https://crrev.com/9540b28d2181dc7d9cd86c3b7999bf5f4a23dc1f/android_webview/browser/aw_content_browser_client.cc
[add] https://crrev.com/9540b28d2181dc7d9cd86c3b7999bf5f4a23dc1f/android_webview/browser/aw_renderer_manifest_overlay.json
[modify] https://crrev.com/9540b28d2181dc7d9cd86c3b7999bf5f4a23dc1f/android_webview/ui/aw_resources.grd

Labels: -M-55
Not an M-55 blocker per c#37.

Comment 40 by leon....@intel.com, Nov 29 2016

Labels: Merge-Request-56

Comment 41 by dimu@chromium.org, Nov 29 2016

Labels: -Merge-Request-56 Merge-Approved-56
Your change meets the bar and is auto-approved for M56 (branch: 2924)
Project Member

Comment 42 by bugdroid1@chromium.org, Nov 29 2016

Labels: -merge-approved-56 merge-merged-2924
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/081aa046769b8a2dc51c624ed5e60ad30663fa4c

commit 081aa046769b8a2dc51c624ed5e60ad30663fa4c
Author: Han Leon <leon.han@intel.com>
Date: Tue Nov 29 05:07:29 2016

[M56] [Autofill]Enable mojo AutofillDriver for android_webview.

BUG= 662040 
TBR=sgurun@chromium.org

Review-Url: https://codereview.chromium.org/2491103003
Cr-Commit-Position: refs/heads/master@{#433418}
(cherry picked from commit e404109db1d011479ea0fee59c5d415f44d73b22)

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

Cr-Commit-Position: refs/branch-heads/2924@{#149}
Cr-Branched-From: 3a87aecc31cd1ffe751dd72c04e5a96a1fc8108a-refs/heads/master@{#433059}

[modify] https://crrev.com/081aa046769b8a2dc51c624ed5e60ad30663fa4c/android_webview/BUILD.gn
[modify] https://crrev.com/081aa046769b8a2dc51c624ed5e60ad30663fa4c/android_webview/browser/aw_content_browser_client.cc
[modify] https://crrev.com/081aa046769b8a2dc51c624ed5e60ad30663fa4c/android_webview/browser/aw_content_browser_client.h

Project Member

Comment 43 by bugdroid1@chromium.org, Nov 29 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/85e1545ceaa76023b286c8a7d5e238276d0046dd

commit 85e1545ceaa76023b286c8a7d5e238276d0046dd
Author: Han Leon <leon.han@intel.com>
Date: Tue Nov 29 05:27:08 2016

[M56] [Autofill] Add a content_renderer manifest overlay for android_webview.

This CL creates a content_renderer service manifest overly for android_webview
to enable autofill mojo interfaces to be accessed well from content_browser
service.

BUG= 662040 
TBR=tsepez@chromium.org,sgurun@chromium.org

Review-Url: https://codereview.chromium.org/2523193002
Cr-Commit-Position: refs/heads/master@{#434722}
(cherry picked from commit 9540b28d2181dc7d9cd86c3b7999bf5f4a23dc1f)

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

Cr-Commit-Position: refs/branch-heads/2924@{#150}
Cr-Branched-From: 3a87aecc31cd1ffe751dd72c04e5a96a1fc8108a-refs/heads/master@{#433059}

[modify] https://crrev.com/85e1545ceaa76023b286c8a7d5e238276d0046dd/android_webview/browser/aw_content_browser_client.cc
[add] https://crrev.com/85e1545ceaa76023b286c8a7d5e238276d0046dd/android_webview/browser/aw_renderer_manifest_overlay.json
[modify] https://crrev.com/85e1545ceaa76023b286c8a7d5e238276d0046dd/android_webview/ui/aw_resources.grd

Comment 44 by leon....@intel.com, Nov 29 2016

Locally confirmed on Android device that the latest M56(branch 2924) have been fixed after merged above 2 CLs.
great, thanks! 


Comment 46 Deleted

Verified the fix on Samsung Tabs2(MMb29K),Acer Predator(LMY47I),Galaxy S7 ( MMB29M) , LG G4 / MRA58K ,HONOR 5X (KIW-L24 ), Samsung 6 edge LRX22G having WebView version 56.0.2924.13 on the forms httpbin.io/forms/post ,http://www.w3schools.com/html/html_forms.asp and  http://test.domain.com/sheet ,

Comment 48 by chm...@gmail.com, Dec 9 2016

In android_webview, there is a similar issue about "Failed to locate a binder for interface: autofill::mojom::PasswordManagerDriver".
Maybe it should be fixed in another issue, I have tried to fix it with attachment.
0001-PasswordManager-Enable-mojo-PasswordManagerDriver-fo.patch
2.8 KB Download
WebView isn't supposed to depend on the password manager code. I think this has already been fixed on master?

Comment 50 by leon....@intel.com, Dec 10 2016

Yes WebView does not support password manager feature, intentionally WebView has no implementation of this interface autofill::mojom::PasswordManagerDriver, but render codes always request this interface without knowing the embedder is WebView or Chrome, then "Failed to locate a binder for interface: autofill::mojom::PasswordManagerDriver" message displays. This is not a real bug.
Cc: boliu@chromium.org roc...@chromium.org m...@chromium.org
 Issue 675051  has been merged into this issue.
If it's possible for renderer code to request this interface in a webview environment, then the browser process should at least register a dummy binder for that interface which drops the request.

Otherwise this dumps an annoying log message. In general we want to keep the annoying log message around because it's proven very useful for highlighting real bugs, so even though this isn't a "real" bug, it should be fixed.
Project Member

Comment 53 by bugdroid1@chromium.org, Dec 20 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5f1bacb6d4ee52aca467b5d9b1ae35d5d5f5790b

commit 5f1bacb6d4ee52aca467b5d9b1ae35d5d5f5790b
Author: leon.han <leon.han@intel.com>
Date: Tue Dec 20 01:44:09 2016

[android_webview] Register a dummy binder for autofill::mojom::PasswordManagerDriver

Although WebView does not support password manager feature, renderer code
could still request this interface, so we register a dummy binder which
just drops the incoming request, to avoid the 'Failed to locate a binder
for interface' error log.

BUG= 662040 

Review-Url: https://codereview.chromium.org/2584903003
Cr-Commit-Position: refs/heads/master@{#439659}

[modify] https://crrev.com/5f1bacb6d4ee52aca467b5d9b1ae35d5d5f5790b/android_webview/browser/aw_content_browser_client.cc

Comment 54 by leon....@intel.com, Dec 20 2016

Labels: -merge-merged-2924 Merge-Request-56
Request to merge above CL into M56.

Comment 55 by dimu@chromium.org, Dec 20 2016

Labels: -Merge-Request-56 Merge-Approved-56
Your change meets the bar and is auto-approved for M56 (branch: 2924)
Project Member

Comment 56 by bugdroid1@chromium.org, Dec 20 2016

Labels: -merge-approved-56 merge-merged-2924
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/803c4735ab34ae2cbb321c1054b2cb38d927c172

commit 803c4735ab34ae2cbb321c1054b2cb38d927c172
Author: Han Leon <leon.han@intel.com>
Date: Tue Dec 20 02:33:02 2016

[M56] [android_webview] Register a dummy binder for autofill::mojom::PasswordManagerDriver

Although WebView does not support password manager feature, renderer code
could still request this interface, so we register a dummy binder which
just drops the incoming request, to avoid the 'Failed to locate a binder
for interface' error log.

BUG= 662040 
TBR=boliu@chromium.org

Review-Url: https://codereview.chromium.org/2584903003
Cr-Commit-Position: refs/heads/master@{#439659}
(cherry picked from commit 5f1bacb6d4ee52aca467b5d9b1ae35d5d5f5790b)

Review-Url: https://codereview.chromium.org/2593463002 .
Cr-Commit-Position: refs/branch-heads/2924@{#560}
Cr-Branched-From: 3a87aecc31cd1ffe751dd72c04e5a96a1fc8108a-refs/heads/master@{#433059}

[modify] https://crrev.com/803c4735ab34ae2cbb321c1054b2cb38d927c172/android_webview/browser/aw_content_browser_client.cc

Comment 57 by aluo@chromium.org, Jan 4 2017

Verified fixed in M56 56.0.2924.51 Galaxy A5 LMY55X.
Status: Fixed (was: Assigned)

Sign in to add a comment