From 918a0ea3a428e0e3ea4bcfb887df711bc895c0d8 Mon Sep 17 00:00:00 2001 From: Sam Date: Wed, 20 Feb 2019 10:15:39 +1100 Subject: [PATCH] FIX: use autocomplete="discourse" to disable Chrome address autofill https://stackoverflow.com/a/47822599/17174 Chrome 63 and up start ignoring `autofill="off"` Per: https://bugs.chromium.org/p/chromium/issues/detail?id=468153#c164 > The tricky part here is that somewhere along the journey of the web autocomplete=off become a default for many form fields, without any real thought being given as to whether or not that was good for users. This doesn't mean there aren't very valid cases where you don't want the browser autofilling data (e.g. on CRM systems), but by and large, we see those as the minority cases. And as a result, we started ignoring autocomplete=off for Chrome Autofill data So to work around this decision we now explicitly say: autocomplete="discourse" when we don't want Chrome to randomly fill in addressed (aka. always) --- .../discourse/templates/components/composer-title.hbs | 2 +- .../discourse/templates/components/composer-user-selector.hbs | 2 +- .../javascripts/discourse/templates/components/d-editor.hbs | 2 +- .../javascripts/discourse/templates/emoji-picker.raw.hbs.erb | 2 +- app/assets/javascripts/discourse/templates/invites/show.hbs | 2 +- .../javascripts/discourse/templates/modal/change-owner.hbs | 2 +- .../javascripts/discourse/templates/modal/create-account.hbs | 2 +- app/assets/javascripts/discourse/templates/modal/invite.hbs | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/app/assets/javascripts/discourse/templates/components/composer-title.hbs b/app/assets/javascripts/discourse/templates/components/composer-title.hbs index 63d81f88a6e..76f63dac1f0 100644 --- a/app/assets/javascripts/discourse/templates/components/composer-title.hbs +++ b/app/assets/javascripts/discourse/templates/components/composer-title.hbs @@ -4,6 +4,6 @@ maxLength=titleMaxLength placeholderKey=composer.titlePlaceholder disabled=composer.loading - autocomplete="off"}} + autocomplete="discourse"}} {{popup-input-tip validation=validation}} diff --git a/app/assets/javascripts/discourse/templates/components/composer-user-selector.hbs b/app/assets/javascripts/discourse/templates/components/composer-user-selector.hbs index 62473a5a82f..7ee33ef939a 100644 --- a/app/assets/javascripts/discourse/templates/components/composer-user-selector.hbs +++ b/app/assets/javascripts/discourse/templates/components/composer-user-selector.hbs @@ -7,7 +7,7 @@ tabindex="1" usernames=usernames hasGroups=hasGroups - autocomplete="off"}} + autocomplete="discourse"}} {{else}}
{{limitedUsernames}} diff --git a/app/assets/javascripts/discourse/templates/components/d-editor.hbs b/app/assets/javascripts/discourse/templates/components/d-editor.hbs index 41694e0b9db..b0aec1ede63 100644 --- a/app/assets/javascripts/discourse/templates/components/d-editor.hbs +++ b/app/assets/javascripts/discourse/templates/components/d-editor.hbs @@ -39,7 +39,7 @@
{{conditional-loading-spinner condition=loading}} - {{textarea autocomplete="off" tabindex=tabindex value=value class="d-editor-input" placeholder=placeholderTranslated disabled=disabled}} + {{textarea autocomplete="discourse" tabindex=tabindex value=value class="d-editor-input" placeholder=placeholderTranslated disabled=disabled}} {{popup-input-tip validation=validation}} {{plugin-outlet name="after-d-editor" tagName="" args=outletArgs}} diff --git a/app/assets/javascripts/discourse/templates/emoji-picker.raw.hbs.erb b/app/assets/javascripts/discourse/templates/emoji-picker.raw.hbs.erb index 40c14709db3..dd04f149d36 100644 --- a/app/assets/javascripts/discourse/templates/emoji-picker.raw.hbs.erb +++ b/app/assets/javascripts/discourse/templates/emoji-picker.raw.hbs.erb @@ -19,7 +19,7 @@
{{d-icon 'search'}} - + diff --git a/app/assets/javascripts/discourse/templates/invites/show.hbs b/app/assets/javascripts/discourse/templates/invites/show.hbs index e8877238d36..6b3b461a0cf 100644 --- a/app/assets/javascripts/discourse/templates/invites/show.hbs +++ b/app/assets/javascripts/discourse/templates/invites/show.hbs @@ -24,7 +24,7 @@
- {{input value=accountUsername id="new-account-username" name="username" maxlength=maxUsernameLength autocomplete="off"}} + {{input value=accountUsername id="new-account-username" name="username" maxlength=maxUsernameLength autocomplete="discourse"}}  {{input-tip validation=usernameValidation id="username-validation"}}
{{i18n 'user.username.instructions'}}
diff --git a/app/assets/javascripts/discourse/templates/modal/change-owner.hbs b/app/assets/javascripts/discourse/templates/modal/change-owner.hbs index 62b55d40e33..ecec3312b51 100644 --- a/app/assets/javascripts/discourse/templates/modal/change-owner.hbs +++ b/app/assets/javascripts/discourse/templates/modal/change-owner.hbs @@ -6,7 +6,7 @@ {{user-selector single="true" usernames=new_user placeholderKey="topic.change_owner.placeholder" - autocomplete="off"}} + autocomplete="discourse"}}
{{/d-modal-body}} diff --git a/app/assets/javascripts/discourse/templates/modal/create-account.hbs b/app/assets/javascripts/discourse/templates/modal/create-account.hbs index 7b084f376b4..29daa50b7e4 100644 --- a/app/assets/javascripts/discourse/templates/modal/create-account.hbs +++ b/app/assets/javascripts/discourse/templates/modal/create-account.hbs @@ -28,7 +28,7 @@ - {{input value=accountUsername id="new-account-username" name="username" maxlength=maxUsernameLength autocomplete="off"}} + {{input value=accountUsername id="new-account-username" name="username" maxlength=maxUsernameLength autocomplete="discourse"}} diff --git a/app/assets/javascripts/discourse/templates/modal/invite.hbs b/app/assets/javascripts/discourse/templates/modal/invite.hbs index 40deca7ac3e..d8f44663ea4 100644 --- a/app/assets/javascripts/discourse/templates/modal/invite.hbs +++ b/app/assets/javascripts/discourse/templates/modal/invite.hbs @@ -22,7 +22,7 @@ hasGroups=hasGroups usernames=emailOrUsername placeholderKey=placeholderKey - autocomplete="off"}} + autocomplete="discourse"}} {{else}} {{text-field value=emailOrUsername placeholderKey="topic.invite_reply.email_placeholder"}} {{/if}}