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)
This commit is contained in:
parent
246997dbd9
commit
918a0ea3a4
|
@ -4,6 +4,6 @@
|
||||||
maxLength=titleMaxLength
|
maxLength=titleMaxLength
|
||||||
placeholderKey=composer.titlePlaceholder
|
placeholderKey=composer.titlePlaceholder
|
||||||
disabled=composer.loading
|
disabled=composer.loading
|
||||||
autocomplete="off"}}
|
autocomplete="discourse"}}
|
||||||
|
|
||||||
{{popup-input-tip validation=validation}}
|
{{popup-input-tip validation=validation}}
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
tabindex="1"
|
tabindex="1"
|
||||||
usernames=usernames
|
usernames=usernames
|
||||||
hasGroups=hasGroups
|
hasGroups=hasGroups
|
||||||
autocomplete="off"}}
|
autocomplete="discourse"}}
|
||||||
{{else}}
|
{{else}}
|
||||||
<div class='ac-wrap composer-user-selector-limited' {{action "toggleSelector"}}>
|
<div class='ac-wrap composer-user-selector-limited' {{action "toggleSelector"}}>
|
||||||
<span>{{limitedUsernames}}</span>
|
<span>{{limitedUsernames}}</span>
|
||||||
|
|
|
@ -39,7 +39,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{conditional-loading-spinner condition=loading}}
|
{{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}}
|
{{popup-input-tip validation=validation}}
|
||||||
{{plugin-outlet name="after-d-editor" tagName="" args=outletArgs}}
|
{{plugin-outlet name="after-d-editor" tagName="" args=outletArgs}}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
<div class='main-column'>
|
<div class='main-column'>
|
||||||
<div class='filter'>
|
<div class='filter'>
|
||||||
{{d-icon 'search'}}
|
{{d-icon 'search'}}
|
||||||
<input type='text' name="filter" placeholder="{{i18n 'emoji_picker.filter_placeholder'}}" autocomplete="off"/>
|
<input type='text' name="filter" placeholder="{{i18n 'emoji_picker.filter_placeholder'}}" autocomplete="discourse"/>
|
||||||
<button class='clear-filter'>
|
<button class='clear-filter'>
|
||||||
{{d-icon 'times'}}
|
{{d-icon 'times'}}
|
||||||
</button>
|
</button>
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
<form>
|
<form>
|
||||||
<div class="input username-input">
|
<div class="input username-input">
|
||||||
<label>{{i18n 'user.username.title'}}</label>
|
<label>{{i18n 'user.username.title'}}</label>
|
||||||
{{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"}}
|
{{input-tip validation=usernameValidation id="username-validation"}}
|
||||||
<div class="instructions">{{i18n 'user.username.instructions'}}</div>
|
<div class="instructions">{{i18n 'user.username.instructions'}}</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
{{user-selector single="true"
|
{{user-selector single="true"
|
||||||
usernames=new_user
|
usernames=new_user
|
||||||
placeholderKey="topic.change_owner.placeholder"
|
placeholderKey="topic.change_owner.placeholder"
|
||||||
autocomplete="off"}}
|
autocomplete="discourse"}}
|
||||||
</form>
|
</form>
|
||||||
{{/d-modal-body}}
|
{{/d-modal-body}}
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
<tr class="input">
|
<tr class="input">
|
||||||
<td class="label"><label for='new-account-username'>{{i18n 'user.username.title'}}</label></td>
|
<td class="label"><label for='new-account-username'>{{i18n 'user.username.title'}}</label></td>
|
||||||
<td>
|
<td>
|
||||||
{{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"}}
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="instructions">
|
<tr class="instructions">
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
hasGroups=hasGroups
|
hasGroups=hasGroups
|
||||||
usernames=emailOrUsername
|
usernames=emailOrUsername
|
||||||
placeholderKey=placeholderKey
|
placeholderKey=placeholderKey
|
||||||
autocomplete="off"}}
|
autocomplete="discourse"}}
|
||||||
{{else}}
|
{{else}}
|
||||||
{{text-field value=emailOrUsername placeholderKey="topic.invite_reply.email_placeholder"}}
|
{{text-field value=emailOrUsername placeholderKey="topic.invite_reply.email_placeholder"}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
Loading…
Reference in New Issue