1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-14 23:33:31 +00:00

detect login form submitted and show notification

This commit is contained in:
Kyle Spearrin
2016-12-30 02:09:54 -05:00
parent 54e8867ce7
commit 4bd34598b1
7 changed files with 403 additions and 124 deletions

54
src/notification/bar.css Normal file
View File

@@ -0,0 +1,54 @@
body {
background-color: #ffffff;
padding: 0;
margin: 0;
height: 100%;
font-size: 14px;
line-height: 16px;
color: #333333;
font-family: Arial, Helvetica, sans-serif;
}
table {
width: 100%;
}
.outter-table > tbody > tr > td {
padding: 0 0 0 10px;
border-bottom: 1px solid #333333;
height: 40px;
}
.outter-table > tbody > tr > td:last-child {
padding-right: 10px;
}
.inner-table td {
padding: 0 10px 0 0;
}
.inner-table td:last-child {
padding: 0;
}
.inner-table td button {
margin-left: 5px;
}
img {
border: 0;
margin: 0;
padding: 0;
}
#logo {
width: 24px;
height: 24px;
display: block;
}
#close {
width: 18px;
height: 18px;
display: block;
}

View File

@@ -3,74 +3,41 @@
<head>
<title></title>
<meta charset="utf-8" />
<style>
body {
background-color: #ffffff;
padding: 0;
margin: 0;
height: 100%;
font-size: 14px;
line-height: 20px;
color: #333333;
font-family: Arial, Helvetica, sans-serif;
}
table {
width: 100%;
}
table td {
height: 40px;
padding: 0 0 0 10px;
border-bottom: 1px solid #333333;
}
table td:last-child {
padding-right: 10px;
}
img {
border: 0;
margin: 0;
padding: 0;
}
#logo {
width: 24px;
height: 24px;
display: block;
}
#content {
}
#close {
width: 18px;
height: 18px;
display: block;
}
</style>
<script>
!(function () {
});
</script>
<link rel="stylesheet" type="text/css" href="bar.css" />
</head>
<body>
<table cellpadding="0" cellspacing="0">
<tr>
<td width="24">
<img id="logo" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAAclBMVEUAAAAzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzOkbymMAAAAJXRSTlMAAQIICQsMGBkaKkJYWWl0dXeMjpWXm6WmtcXM0dPr7fH3+fv9KIjKuwAAAIRJREFUKM/dzUkCgkAMBdHfCArOIypBW4S6/xVdNCqDJ7BWSd4iknKG5ZIkMW4AdzMzs+cI1mG3f4N6ADfqMJR9cFAG2PVhDtsAWQ8igyyAzl3Yw6W9K/YfcAfw8RuUVS1MrlCl+pZ6gM3iAX6mbknR/ikS9XOrBmiWTqOmR05T/SzqLi/Z3CbrA3nnNwAAAABJRU5ErkJggg==" />
</td>
<td id="content">
This is the notification bar
</td>
<td align="right" width="18">
<a href="#" title="Close">
<img id="close" alt="X" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAAWlBMVEUAAAAzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMHgWvyAAAAHXRSTlMAAgMFCA4RLTE0NVlrbG97naCotbe5z+Lk5ujr/TBmF6UAAAB+SURBVBhXXc7JEsJQCETRm3l2ikZj0v//my7ol0rJBjhFAUB+X2oimnUEyF/SFtZKugKzZGslSSOlZAvRCpNtiKwGuLiOaOHPQs6WBB6W4ZA+Dfm/kxx2Elvnxvu2mmKPsk93F7K3Jf1yg+prCXtmQPXZO9+eNGcAZIUFSuAHidYU7gWlVOAAAAAASUVORK5CYII=" />
</a>
</td>
</tr>
<table class="outter-table" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td width="24">
<img id="logo" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAAclBMVEUAAAAzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzOkbymMAAAAJXRSTlMAAQIICQsMGBkaKkJYWWl0dXeMjpWXm6WmtcXM0dPr7fH3+fv9KIjKuwAAAIRJREFUKM/dzUkCgkAMBdHfCArOIypBW4S6/xVdNCqDJ7BWSd4iknKG5ZIkMW4AdzMzs+cI1mG3f4N6ADfqMJR9cFAG2PVhDtsAWQ8igyyAzl3Yw6W9K/YfcAfw8RuUVS1MrlCl+pZ6gM3iAX6mbknR/ikS9XOrBmiWTqOmR05T/SzqLi/Z3CbrA3nnNwAAAABJRU5ErkJggg==" />
</td>
<td id="content"></td>
<td align="right" width="18">
<a href="#" title="Close" id="close-button">
<img id="close" alt="X" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAAWlBMVEUAAAAzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMHgWvyAAAAHXRSTlMAAgMFCA4RLTE0NVlrbG97naCotbe5z+Lk5ujr/TBmF6UAAAB+SURBVBhXXc7JEsJQCETRm3l2ikZj0v//my7ol0rJBjhFAUB+X2oimnUEyF/SFtZKugKzZGslSSOlZAvRCpNtiKwGuLiOaOHPQs6WBB6W4ZA+Dfm/kxx2Elvnxvu2mmKPsk93F7K3Jf1yg+prCXtmQPXZO9+eNGcAZIUFSuAHidYU7gWlVOAAAAAASUVORK5CYII=" />
</a>
</td>
</tr>
</tbody>
</table>
<div id="templates" style="display: none;">
<table class="inner-table" cellpadding="0" cellspacing="0" id="template-add">
<tbody>
<tr>
<td>Should bitwarden remember this password for you?</td>
<td align="right" width="200">
<button class="add-save">Save Site</button>
<button class="add-never">Never</button>
</td>
</tr>
</tbody>
</table>
<div id="template-alert">
This is an alert.
</div>
</div>
<script src="../lib/jquery/jquery.js"></script>
<script src="bar.js"></script>
</body>
</html>

48
src/notification/bar.js Normal file
View File

@@ -0,0 +1,48 @@
$(function () {
var content = document.getElementById('content'),
template_add = document.getElementById('template-add'),
template_alert = document.getElementById('template-alert');
if (getQueryVariable('add')) {
setContent(template_add);
var add = $('#template-add-clone'),
addButton = $('#template-add-clone.add-save'),
neverButton = $('#template-add-clone.add-never');
}
else if (getQueryVariable('info')) {
setContent(template_alert);
$('#template-alert-clone').text(getQueryVariable('info'));
}
$('#close-button').click(function (e) {
e.preventDefault();
chrome.runtime.sendMessage({
command: 'bgCloseNotificationBar'
});
});
function getQueryVariable(variable) {
var query = window.location.search.substring(1);
var vars = query.split('&');
for (var i = 0; i < vars.length; i++) {
var pair = vars[i].split('=');
if (pair[0] == variable) {
return pair[1];
}
}
return null;
}
function setContent(element) {
while (content.firstChild) {
content.removeChild(content.firstChild);
}
var newElement = element.cloneNode(true);
newElement.id = newElement.id + '-clone';
content.appendChild(newElement);
}
});