diff --git a/addons/web/static/src/js/fields/basic_fields.js b/addons/web/static/src/js/fields/basic_fields.js index 4590f490932..c21443eba3b 100644 --- a/addons/web/static/src/js/fields/basic_fields.js +++ b/addons/web/static/src/js/fields/basic_fields.js @@ -262,7 +262,7 @@ var InputField = DebouncedField.extend({ inputAttrs = _.extend(inputAttrs, { type: 'password', autocomplete: 'new-password' }); inputVal = this.value || ''; } else { - inputAttrs = _.extend(inputAttrs, { type: 'text', autocomplete: this.attrs.autocomplete }); + inputAttrs = _.extend(inputAttrs, { type: 'text', autocomplete: this.attrs.autocomplete || 'none'}); inputVal = this._formatValue(this.value); } diff --git a/addons/web/static/tests/views/form_tests.js b/addons/web/static/tests/views/form_tests.js index 16524ba171d..8f035211ba0 100644 --- a/addons/web/static/tests/views/form_tests.js +++ b/addons/web/static/tests/views/form_tests.js @@ -6637,6 +6637,25 @@ QUnit.module('Views', { form.destroy(); }); + QUnit.test('input autocomplete attribute set to none by default', async function (assert) { + assert.expect(1); + + var form = await createView({ + View: FormView, + model: 'partner', + data: this.data, + arch: '
' + + '' + + '', + res_id: 1, + }); + + await testUtils.form.clickEdit(form); + assert.hasAttrValue(form.$('input[name="display_name"]'), 'autocomplete', 'none', + "attribute autocomplete should be set to none by default"); + form.destroy(); + }); + QUnit.test('context is correctly passed after save & new in FormViewDialog', async function (assert) { assert.expect(3);