New issue
Advanced search Search tips

Issue 783025 link

Starred by 2 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: iOS
Pri: 2
Type: Bug



Sign in to add a comment

I can not log in when form ID / PW is automatically entered on iOS (iPad) chrome 62.0.3202.70

Reported by kazuya.t...@monstar-lab.com, Nov 9 2017

Issue description

Steps to reproduce the problem:
1.  iPadでchromeから https://admin.toku-p.earth-car.com にアクセス
2. パスワードの保存を確認後再度アクセス
3. アクセス時にID/PWが自動入力されていることを確認
4. ログインボタンを押下
5. ログインができない

What is the expected behavior?
自動入力で問題なくログインができる事

What went wrong?
検証した結果、自動入力されていてもフォーム内が未入力と認識されログインができない状態です。
iOS(iPad)のchrome最新版以外のブラウザ版chrome等では起こっていません。フォームの開発はangular2を使用しています。

Did this work before? N/A 

Chrome version: 62.0.3202.70  Channel: stable
OS Version: 11
Flash Version: 

61の時はコピー&ペーストでログインをしようとしたら未入力と認識されログインできない別の現象がありました。こちらは現在の62.0.3202.70にて解決がされている様です。
 
It will also occur at the following URL
https://toku-p.earth-car.com/login

Comment 2 by kochi@chromium.org, Nov 9 2017

Components: -Blink UI>Browser>Autofill
Is this only happening on iOS?
Did you check on other platforms (with Chrome)?

Yes. Only Chrome of iOS (iPad) came out.
It has not happened in browser chrome or other browser on iPad/PC.
 

Cc: pkl@chromium.org mahmadi@chromium.org
Owner: olivierrobin@chromium.org
Status: Assigned (was: Unconfirmed)

Comment 5 by pkl@chromium.org, Nov 10 2017

This is likely to be web site dependent. Since Chrome fills forms using JavaScript and depending on the web site's JS, they may incorrectly think that user hasn't entered anything into the username / password field(s).

This happens on some other web sites too.

Comment 6 by pkl@chromium.org, Nov 10 2017

Summary: I can not log in when form ID / PW is automatically entered on iOS (iPad) chrome 62.0.3202.70 (was: iOS(iPad)のchrome 62.0.3202.70にてフォームのID/PWが自動入力された時にログインができない)
(Use google translate to change summary to English to help with future triage.)
Cc: -mahmadi@chromium.org olivierrobin@chromium.org
Components: -UI>Browser>Autofill UI>Browser>Passwords
Owner: dvadym@chromium.org
So it is passwords and not autofill

Comment 8 by pkl@chromium.org, Nov 10 2017

It's likely affecting both. I consider JavaScript filled forms are not also recognized by web site's (JS-based) validation checks as "filled by human".
I think this is because we trigger a "change" event and not an "input" event.

Comment 10 by pkl@chromium.org, Nov 10 2017

This is one other case I've "fixed". Can you think of a different/better fix?
https://chromium-review.googlesource.com/c/chromium/src/+/615363
You can also send an 'input' event
like the answer here:
https://stackoverflow.com/questions/42795059/programatically-fill-reactjs-form

This works for filling fields on React powered pages, and maybe with other frameworks.
We can do the same way as Password Manager & Autofill is doing on other platforms, namely to send all possible input related events: focus, input, change, blur events

Blink code that doing this is here https://cs.chromium.org/chromium/src/third_party/WebKit/Source/core/exported/WebFormControlElement.cpp?sq=package:chromium&dr&l=95
OK. Thank you for your kind response. I would like to check this javascript a bit more.
Project Member

Comment 14 by bugdroid1@chromium.org, Dec 1 2017

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

commit 55518e17850cac0bdc6fca7b24092bea479e34db
Author: Olivier Robin <olivierrobin@chromium.org>
Date: Fri Dec 01 15:32:35 2017

Send input event on element change.

Some javascript frameworks (e.g. React) or pages have a cache version of input fields in
pages.
This cache will override the autofill value of the fields.
When value is changed, events must be sent to update these cache.
When a user type in a field, the following events are usually sent:
- keydown
- input
- change
- keyup
By testing, most framework use use one of these events, and some framework use
the data field of the event as new value.

Send these events when updating fields.

Bug: 783025, 728631, 732360
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Change-Id: I147a4471ecd2e389cfca57d2aa9d78f61360aa61
Reviewed-on: https://chromium-review.googlesource.com/771674
Commit-Queue: Olivier Robin <olivierrobin@chromium.org>
Reviewed-by: Moe Ahmadi <mahmadi@chromium.org>
Reviewed-by: Peter Lee <pkl@chromium.org>
Cr-Commit-Position: refs/heads/master@{#520946}
[modify] https://crrev.com/55518e17850cac0bdc6fca7b24092bea479e34db/components/autofill/ios/browser/resources/autofill_controller.js
[modify] https://crrev.com/55518e17850cac0bdc6fca7b24092bea479e34db/ios/web/web_state/js/resources/common.js

Thank you very much. Here I will respond to you tomorrow so we will respond.
I confirmed it at the latest version of 63.0.3239.73, but it seems I have not fixed it. .
We are planning to deal with it separately by javascript on this side.
Thank you very much.
Cc: dvadym@chromium.org
Owner: ----
Status: Available (was: Assigned)
The solution from comment 14 is implemented only for non-password autofill, so it wouldn't change anything password autofill.

I've tried the same solution for Password Autofill. While I'm not sure whether it would fix for the site from this bug, it breaks filling on reddit.com (only username is autofilled on reddit with the fix). So I'm not sure whether it's worth to implement emulating user autofill by sending change events. On other platforms we had some bugs related to this.

I leave this bug open, if somebody would like to investigate what would be consequences in making this fix and whether it's worth to do.

Sign in to add a comment