Closed Bug 1386120 Opened 7 years ago Closed 7 years ago

Flip "dom.forms.autocomplete.formautofill" according to the availability of Form Autofill feature

Categories

(Toolkit :: Form Manager, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla57
Tracking Status
firefox56 --- fixed
firefox57 --- fixed

People

(Reporter: lchang, Assigned: lchang)

References

(Blocks 1 open bug)

Details

(Whiteboard: [form autofill:MVP])

Attachments

(1 file)

"dom.forms.autocomplete.formautofill" is used for feature detection. We should enable it when Form Autofill is enabled, and vice versa.
Assignee: nobody → lchang
Status: NEW → ASSIGNED
Comment on attachment 8892304 [details]
Bug 1386120 - Flip "dom.forms.autocomplete.formautofill" according to the availability of Form Autofill feature.

https://reviewboard.mozilla.org/r/163254/#review169112

Since you already discussed this pref with MattN and John, I think having a comment for the pref would be sufficient in this patch.

::: browser/extensions/formautofill/bootstrap.js:44
(Diff revision 1)
>  
>    insertStyleSheet(domWindow, STYLESHEET_URI);
>  }
>  
>  function startup() {
>    if (Services.prefs.getStringPref("extensions.formautofill.available") != "on") {

nit: I think having a short comment about this dom pref might be a good idea.
Attachment #8892304 - Flags: review?(schung) → review+
Comment on attachment 8892304 [details]
Bug 1386120 - Flip "dom.forms.autocomplete.formautofill" according to the availability of Form Autofill feature.

https://reviewboard.mozilla.org/r/163254/#review169526
Attachment #8892304 - Flags: review+
hg error in cmd: hg rebase -s b1c8a8099189 -d 40709a4338d4: abort: can't rebase public changeset b1c8a8099189
(see 'hg help phases' for details)
Pushed by lchang@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/ec2ab90ea263
Flip "dom.forms.autocomplete.formautofill" according to the availability of Form Autofill feature. r=MattN,steveck
Backed out for failing xpcshell's test_Macys.js and test_isFieldEligibleForAutofill.js:

https://hg.mozilla.org/integration/autoland/rev/4fa7c5c735923b93a79869e57a692e61c721c87e

Push which ran tests which failed: https://treeherder.mozilla.org/#/jobs?repo=autoland&revision=192f97d9e35570001b871ae2ff69bb5dc96c63b8&filter-resultStatus=testfailed&filter-resultStatus=busted&filter-resultStatus=exception&filter-resultStatus=retry&filter-resultStatus=runnable
Failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=120654182&repo=autoland

[task 2017-08-03T09:08:58.426026Z] 09:08:58     INFO -  TEST-PASS | browser/extensions/formautofill/test/unit/heuristics/third_party/test_Macys.js |  - Expected field count. - 0 == 0
[task 2017-08-03T09:08:58.427934Z] 09:08:58     INFO -  (xpcshell/head.js) | test run_next_test 1 finished (2)
[task 2017-08-03T09:08:58.430174Z] 09:08:58     INFO -  (xpcshell/head.js) | test run_next_test 2 pending (2)
[task 2017-08-03T09:08:58.434974Z] 09:08:58     INFO -  (xpcshell/head.js) | test finished (2)
[task 2017-08-03T09:08:58.437335Z] 09:08:58     INFO -  browser/extensions/formautofill/test/unit/heuristics/third_party/test_Macys.js | Starting
[task 2017-08-03T09:08:58.439142Z] 09:08:58     INFO -  (xpcshell/head.js) | test pending (2)
[task 2017-08-03T09:08:58.440917Z] 09:08:58     INFO -  "Starting test fixture: Checkout_Payment.html"
[task 2017-08-03T09:08:58.442756Z] 09:08:58     INFO -  TEST-PASS | browser/extensions/formautofill/test/unit/heuristics/third_party/test_Macys.js |  - Expected form count. - 2 == 2
[task 2017-08-03T09:08:58.444809Z] 09:08:58     INFO -  "FieldName Prediction Results: off,given-name,family-name,address-line1,address-line2,address-level2,address-level1,postal-code,tel,email"
[task 2017-08-03T09:08:58.449437Z] 09:08:58  WARNING -  TEST-UNEXPECTED-FAIL | browser/extensions/formautofill/test/unit/heuristics/third_party/test_Macys.js |  - Expected field count. - 10 == 9
[task 2017-08-03T09:08:58.452070Z] 09:08:58     INFO -  /home/worker/workspace/build/tests/xpcshell/tests/browser/extensions/formautofill/test/unit/head.js:runHeuristicsTest/</<:141
[task 2017-08-03T09:08:58.453731Z] 09:08:58     INFO -  exiting test
[task 2017-08-03T09:08:58.455506Z] 09:08:58     INFO -  (xpcshell/head.js) | test run_next_test 2 finished (2)
[task 2017-08-03T09:08:58.458451Z] 09:08:58     INFO -  Unexpected exception 2147500036
[task 2017-08-03T09:08:58.460504Z] 09:08:58     INFO -  undefined
[task 2017-08-03T09:08:58.462276Z] 09:08:58     INFO -  exiting test
Flags: needinfo?(lchang)
I'll look into it. Thanks.
Flags: needinfo?(lchang)
Pushed by lchang@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/1fc6d0fa83ab
Flip "dom.forms.autocomplete.formautofill" according to the availability of Form Autofill feature. r=MattN,steveck
Pushed by archaeopteryx@coole-files.de:
https://hg.mozilla.org/integration/autoland/rev/90ef3b6a55cb
Update wpt expectations for autofill on select element. r=wpt-pass
Pushed by archaeopteryx@coole-files.de:
https://hg.mozilla.org/integration/autoland/rev/db11ec58efb6
Update wpt expectations for autofill. r=wpt-pass
Depends on: 1387634
Depends on: 1389998
Verified using latest 56 beta 6 that this is fixed across platforms (Windows 10 64bit, macOS 10.12.6 and Ubuntu 16.04 64bit).

The current behavior is that "extensions.formautofill.available" dictates the value of "dom.forms.autocomplete.formautofill" and not the other way around:
 - extensions.formautofill.available is on - dom.forms.autocomplete.formautofill is true
 - extensions.formautofill.available is detect - dom.forms.autocomplete.formautofill is false

Not sure what vice versa means from comment 0 though. Should "dom.forms.autocomplete.formautofill" also enable/disable Autofill or not? If no than this is indeed verified on 56.
Flags: needinfo?(lchang)
(In reply to Bogdan Maris, QA [:bogdan_maris] from comment #18)
>  - extensions.formautofill.available is on -
> dom.forms.autocomplete.formautofill is true
>  - extensions.formautofill.available is detect -
> dom.forms.autocomplete.formautofill is false

You can also verify it by :
 - extensions.formautofill.available is off - dom.forms.autocomplete.formautofill is false

The value "detect" is a bit complicated because it means the availability of Form Autofill will be determined at runtime. It won't always set "dom.forms.autocomplete.formautofill" to false.


> Not sure what vice versa means from comment 0 though. Should
> "dom.forms.autocomplete.formautofill" also enable/disable Autofill or not?
> If no than this is indeed verified on 56.

No, changing "dom.forms.autocomplete.formautofill" shouldn't affect the availability of Form Autofill.
Flags: needinfo?(lchang)
You need to log in before you can comment on or make changes to this bug.