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 63d81f88a6..76f63dac1f 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 62473a5a82..7ee33ef939 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 41694e0b9d..b0aec1ede6 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 40c14709db..dd04f149d3 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 e8877238d3..6b3b461a0c 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 62b55d40e3..ecec3312b5 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 7b084f376b..29daa50b7e 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 40deca7ac3..d8f44663ea 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}}