Consider: * each field in its own Shadow Root * username and password fields together in a shadow root within a <form> * username and password fields together in a shadow root wrapping a <form> All features should work for these elements e.g. * capture * autocomplete * context menu We can switch from `event.target` to `event.composedTarget` for many event listeners to at least get the non-native anonymous content element. Issues: * [`input` event is composed but `change` isn't](https://github.com/whatwg/html/issues/5453)
Bug 1629226 Comment 0 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
Consider: * each field in its own Shadow Root * username and password fields together in a shadow root within a <form> * username and password fields together in a shadow root wrapping a <form> All features should work for these elements e.g. * capture * autocomplete * context menu * We can switch from `event.target` to `event.composedTarget` for many event listeners to at least get the non-native anonymous content element. * We can traverse up the tree using `node.getRootNode().host` to find relevant fields. Issues: * [`input` event is composed but `change` isn't](https://github.com/whatwg/html/issues/5453)
Consider: * each field in its own Shadow Root * username and password fields together in a shadow root within a <form> * username and password fields together in a shadow root wrapping a <form> All features should work for these elements e.g. * capture * autocomplete * context menu Tactics: * We can switch from `event.target` to `event.composedTarget` for many event listeners to at least get the non-native anonymous content element. * We can traverse up the tree using `node.getRootNode().host` to find relevant fields. Issues: * [`input` event is composed but `change` isn't](https://github.com/whatwg/html/issues/5453)
Consider: * each field in its own Shadow Root e.g. https://www.virustotal.com/gui/sign-in * username and password fields together in a shadow root a <form> ancestor * username and password fields together in a <form> within a shadow root e.g. https://bugs.mattn.ca/pwmgr/login_and_change_form.html All features should work for these elements e.g. * capture * autocomplete * context menu Tactics: * We can switch from `event.target` to `event.composedTarget` for many event listeners to at least get the non-native anonymous content element. * We can traverse up the tree using `node.getRootNode().host` to find relevant fields. Issues: * [`input` event is composed but `change` isn't](https://github.com/whatwg/html/issues/5453)
Consider: * each field in its own Shadow Root e.g. https://www.virustotal.com/gui/sign-in * username and password fields together in a shadow root a <form> ancestor * username and password fields together in a <form> within a shadow root e.g. https://bugs.mattn.ca/pwmgr/login_and_change_form.html All features should work for these elements e.g. * capture * autocomplete from the username field (fills both username and password) * autocomplete from the password field (only fills a password) * context menu from the username field (fills both username and password) * context menu from the password field (only fills a password) Tactics: * We can switch from `event.target` to `event.composedTarget` for many event listeners to at least get the non-native anonymous content element. * We can traverse up the tree using `node.getRootNode().host` to find relevant fields. Issues: * [`input` event is composed but `change` isn't](https://github.com/whatwg/html/issues/5453)
Consider: 1. each field in its own Shadow Root e.g. https://www.virustotal.com/gui/sign-in 2. username and password fields together in a shadow root a <form> ancestor 3. username and password fields together in a <form> within a shadow root e.g. https://bugs.mattn.ca/pwmgr/login_and_change_form.html All features should work for these elements e.g. * capture * autocomplete from the username field (fills both username and password) * autocomplete from the password field (only fills a password) * context menu from the username field (fills both username and password) * context menu from the password field (only fills a password) Tactics: * We can switch from `event.target` to `event.composedTarget` for many event listeners to at least get the non-native anonymous content element. * We can traverse up the tree using `node.getRootNode().host` to find relevant fields. Issues: * [`input` event is composed but `change` isn't](https://github.com/whatwg/html/issues/5453)
Consider: 1. each field in its own Shadow Root e.g. https://www.virustotal.com/gui/sign-in 2. username and password fields together in a shadow root a <form> ancestor 3. username and password fields together in a <form> within a shadow root e.g. https://bugs.mattn.ca/pwmgr/login_and_change_form.html All features should work for these elements e.g. * capture * on submission * dismissed capture on edit * autocomplete from the username field (fills both username and password) * autocomplete from the password field (only fills a password) * context menu from the username field (fills both username and password) * context menu from the password field (only fills a password) * `input` and `change` listeners in LoginManagerChild unrelated to capture * e.g. clearing the yellow highlight Tactics: * We can switch from `event.target` to `event.composedTarget` for many event listeners to at least get the non-native anonymous content element. * We can traverse up the tree using `node.getRootNode().host` to find relevant fields. Issues: * [`input` event is composed but `change` isn't](https://github.com/whatwg/html/issues/5453)
Consider: 1. each field in its own Shadow Root e.g. https://www.virustotal.com/gui/sign-in 2. username and password fields together in a shadow root a <form> ancestor 3. username and password fields together in a <form> within a shadow root e.g. https://bugs.mattn.ca/pwmgr/login_and_change_form.html All features should work for these elements e.g. * capture * on submission * dismissed capture on edit * generated password auto-saving of edits * autocomplete from the username field (fills both username and password) * autocomplete from the password field (only fills a password) * context menu from the username field (fills both username and password) * context menu from the password field (only fills a password) * `input` and `change` listeners in LoginManagerChild unrelated to capture * e.g. clearing the yellow highlight Tactics: * We can switch from `event.target` to `event.composedTarget` for many event listeners to at least get the non-native anonymous content element. * We can traverse up the tree using `node.getRootNode().host` to find relevant fields. Issues: * [`input` event is composed but `change` isn't](https://github.com/whatwg/html/issues/5453)
Consider: 1. each field in its own Shadow Root e.g. https://www.virustotal.com/gui/sign-in 2. username and password fields together in a shadow root a <form> ancestor https://bugs.mattn.ca/pwmgr/login_and_change_form.html#shadow-inside-form 3. username and password fields together in a <form> within a shadow root e.g. https://bugs.mattn.ca/pwmgr/login_and_change_form.html#shadow All features should work for these elements e.g. * capture * on submission * dismissed capture on edit * generated password auto-saving of edits * autocomplete from the username field (fills both username and password) * autocomplete from the password field (only fills a password) * context menu from the username field (fills both username and password) * context menu from the password field (only fills a password) * `input` and `change` listeners in LoginManagerChild unrelated to capture * e.g. clearing the yellow highlight Tactics: * We can switch from `event.target` to `event.composedTarget` for many event listeners to at least get the non-native anonymous content element. * We can traverse up the tree using `node.getRootNode().host` to find relevant fields. Issues: * [`input` event is composed but `change` isn't](https://github.com/whatwg/html/issues/5453)
Consider: 1. each field in its own Shadow Root e.g. https://www.virustotal.com/gui/sign-in 2. username and password fields together in a shadow root a <form> ancestor https://bugs.mattn.ca/pwmgr/login_and_change_form.html#shadow-inside-form 3. username and password fields together in a <form> within a shadow root e.g. https://bugs.mattn.ca/pwmgr/login_and_change_form.html#shadow All features should work for these elements e.g. * capture * on submission * dismissed capture on edit * generated password auto-saving of edits * autocomplete from the username field (fills both username and password) * autocomplete from the password field (only fills a password) * Audit NewPasswordModel.jsm code to ensure it properly handles Shadow DOM * context menu from the username field (fills both username and password) * context menu from the password field (only fills a password) * `input` and `change` listeners in LoginManagerChild unrelated to capture * e.g. clearing the yellow highlight * Audit rest of LoginManagerChild to ensure it properly handles Shadow DOM Tactics: * We can switch from `event.target` to `event.composedTarget` for many event listeners to at least get the non-native anonymous content element. * We can traverse up the tree using `node.getRootNode().host` to find relevant fields. Issues: * [`input` event is composed but `change` isn't](https://github.com/whatwg/html/issues/5453)
Consider: 1. each field in its own Shadow Root e.g. https://www.virustotal.com/gui/sign-in 2. username and password fields together in a shadow root a <form> ancestor https://bugs.mattn.ca/pwmgr/login_and_change_form.html#shadow-inside-form 3. username and password fields together in a <form> within a shadow root e.g. https://bugs.mattn.ca/pwmgr/login_and_change_form.html#shadow All features should work for these elements e.g. * capture * on submission * dismissed capture on edit * generated password auto-saving of edits * autocomplete from the username field (fills both username and password) * autocomplete from the password field (only fills a password) * Audit NewPasswordModel.jsm code to ensure it properly handles Shadow DOM * context menu from the username field (fills both username and password) * context menu from the password field (only fills a password) * `input`/`change`/`focus`/`blur` listeners in LoginManagerChild unrelated to capture * e.g. clearing the yellow highlight * mask/unmask generated password fields * Audit rest of LoginManagerChild to ensure it properly handles Shadow DOM Tactics: * We can switch from `event.target` to `event.composedTarget` for many event listeners to at least get the non-native anonymous content element. * We can traverse up the tree using `node.getRootNode().host` to find relevant fields. Issues: * [`input` event is composed but `change` isn't](https://github.com/whatwg/html/issues/5453)
Consider: 1. each field in its own Shadow Root e.g. https://www.virustotal.com/gui/sign-in 2. username and password fields together in a shadow root with a "form" ancestor https://bugs.mattn.ca/pwmgr/login_and_change_form.html#shadow-inside-form 3. username and password fields together in a "form" within a shadow root e.g. https://bugs.mattn.ca/pwmgr/login_and_change_form.html#shadow All features should work for these elements e.g. * capture * on submission * dismissed capture on edit * generated password auto-saving of edits * autocomplete from the username field (fills both username and password) * autocomplete from the password field (only fills a password) * Audit NewPasswordModel.jsm code to ensure it properly handles Shadow DOM * context menu from the username field (fills both username and password) * context menu from the password field (only fills a password) * `input`/`change`/`focus`/`blur` listeners in LoginManagerChild unrelated to capture * e.g. clearing the yellow highlight * mask/unmask generated password fields * Audit rest of LoginManagerChild to ensure it properly handles Shadow DOM Tactics: * We can switch from `event.target` to `event.composedTarget` for many event listeners to at least get the non-native anonymous content element. * We can traverse up the tree using `node.getRootNode().host` to find relevant fields. Issues: * [`input` event is composed but `change` isn't](https://github.com/whatwg/html/issues/5453)