mirror of
https://github.com/bitwarden/browser.git
synced 2024-10-06 05:28:51 +02:00
notification bar fixes for edge cases
This commit is contained in:
parent
8a7e04ddc2
commit
3c296dc5d4
@ -5,7 +5,8 @@
|
|||||||
pageHref = null,
|
pageHref = null,
|
||||||
observer = null,
|
observer = null,
|
||||||
domObservationCollectTimeout = null,
|
domObservationCollectTimeout = null,
|
||||||
iframed = isIframed();
|
iframed = isIframed(),
|
||||||
|
submitButtonNames = ['log in', 'sign in', 'login', 'go', 'submit', 'continue'];
|
||||||
|
|
||||||
if (window.location.hostname.indexOf('bitwarden.com') === -1) {
|
if (window.location.hostname.indexOf('bitwarden.com') === -1) {
|
||||||
chrome.storage.local.get('neverDomains', function (obj) {
|
chrome.storage.local.get('neverDomains', function (obj) {
|
||||||
@ -79,7 +80,18 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (var j = 0; j < mutations[i].addedNodes.length; j++) {
|
for (var j = 0; j < mutations[i].addedNodes.length; j++) {
|
||||||
if (!mutations[i].addedNodes[j]) {
|
var addedNode = mutations[i].addedNodes[j];
|
||||||
|
if (!addedNode) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (addedNode.tagName && addedNode.tagName.toLowerCase() == 'form' &&
|
||||||
|
(!addedNode.dataset || !addedNode.dataset.bitwardenWatching)) {
|
||||||
|
doCollect = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!addedNode.querySelectorAll) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -164,11 +176,39 @@
|
|||||||
function listen(form) {
|
function listen(form) {
|
||||||
form.removeEventListener('submit', formSubmitted, false);
|
form.removeEventListener('submit', formSubmitted, false);
|
||||||
form.addEventListener('submit', formSubmitted, false);
|
form.addEventListener('submit', formSubmitted, false);
|
||||||
var submitButton = form.querySelector('input[type="submit"], button[type="submit"]');
|
var submitButton = form.querySelector(
|
||||||
|
'input[type="submit"], input[type="image"], button[type="submit"], button:not([type])');
|
||||||
if (submitButton) {
|
if (submitButton) {
|
||||||
submitButton.removeEventListener('click', formSubmitted, false);
|
submitButton.removeEventListener('click', formSubmitted, false);
|
||||||
submitButton.addEventListener('click', formSubmitted, false);
|
submitButton.addEventListener('click', formSubmitted, false);
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
var possibleSubmitButtons = form.querySelectorAll('a, span, button[type="button"], input[type="button"]');
|
||||||
|
for (var i = 0; i < possibleSubmitButtons.length; i++) {
|
||||||
|
var button = possibleSubmitButtons[i];
|
||||||
|
if (!button || !button.tagName) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
var buttonText;
|
||||||
|
if (button.tagName.toLowerCase() === 'input') {
|
||||||
|
buttonText = button.value;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
buttonText = button.innerText;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!buttonText) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
buttonText = buttonText.trim().toLowerCase();
|
||||||
|
if (submitButtonNames.indexOf(buttonText) > -1) {
|
||||||
|
button.removeEventListener('click', formSubmitted, false);
|
||||||
|
button.addEventListener('click', formSubmitted, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function locateFields(formDataObj) {
|
function locateFields(formDataObj) {
|
||||||
|
Loading…
Reference in New Issue
Block a user