Skip to content

Commit

Permalink
Add button to copy password to the clipboard.
Browse files Browse the repository at this point in the history
  • Loading branch information
adamghill committed Apr 19, 2011
1 parent 97ee247 commit a57236c
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 8 deletions.
11 changes: 10 additions & 1 deletion css/popup.css
Original file line number Diff line number Diff line change
Expand Up @@ -84,4 +84,13 @@ select {
.largebutton {
width: 180px;
text-align: center;
}
}

#copypassword {
float: left;
}

.hidden {
margin-left: -500px;
margin-top: -500px;
}
9 changes: 6 additions & 3 deletions html/popup.html
Original file line number Diff line number Diff line change
Expand Up @@ -43,10 +43,13 @@
<input id='generated' readonly='true' value=""/>
<a id='activatePassword' class="awesome button largebutton" href="#" onclick="showPasswordField();">Show password</a>
</div>

<div class='row button-row'>
<div id="injectpasswordrow"><input class="awesome" type="button" value="Fill password field" onClick="fillPassword();"/></div>
<div id='options'><a class="awesome button" href="#" onClick="chrome.tabs.create({url: 'html/options.html'}); window.close();">Options</a></div>
<div id="copypassword"><input class="awesome" type="button" value="Copy" onClick="copyPassword();"/></div>
<div id="injectpasswordrow"><input class="awesome" type="button" value="Fill field" onClick="fillPassword();"/></div>
<div id='options'><a class="awesome button" href="#" onClick="chrome.tabs.create({url: 'html/options.html'}); window.close();">Options</a></div>
</div>
<div class='hidden'>
<input type='text' id='generatedForClipboard' value='' />
</div>
</form>
</body>
Expand Down
24 changes: 20 additions & 4 deletions javascript/popup.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,19 +20,26 @@ function updateFields(e) {
Settings.setActiveProfileId(profileId);

if (password == "") {
$("#generatedForClipboard").val("");
$("#generated").val("Enter password");
setPasswordColors("#000000", "#85FFAB")
} else if ( ! matchesHash(password) ) {
$("#generatedForClipboard").val("");
$("#generated").val("Master password mismatch");
setPasswordColors("#FFFFFF", "#FF7272")
} else if (!Settings.keepMasterPasswordHash() && password != confirmation) {
$("#generatedForClipboard").val("");
$("#generated").val("Password wrong");
setPasswordColors("#FFFFFF", "#FF7272")
} else {
if (profile != null) {
$("#generated").val(profile.getPassword($("#usedtext").val(), password));
var generatedPassword = profile.getPassword($("#usedtext").val(), password);
$("#generated").val(generatedPassword);
$("#generatedForClipboard").val(generatedPassword);
showCopy();
} else {
$("#generated").val("");
$("#generatedForClipboard").val("");
}
setPasswordColors("#000000", "#FFFFFF")
// pressed enter in confirmation field
Expand Down Expand Up @@ -75,6 +82,10 @@ function showInject() {
$("#injectpasswordrow").fadeIn();
}

function showCopy() {
$("#copypassword").fadeIn();
}

function init(url) {
var profiles = Settings.getProfiles();
Settings.getPassword(function(password) {
Expand Down Expand Up @@ -116,14 +127,21 @@ function fillPassword() {
window.close();
}

function copyPassword() {
$("#generatedForClipboard").select();
document.execCommand("Copy");
window.close();
}

function showPasswordField() {
$("#activatePassword").hide();
$("#generated").show();
$("#generated").focus();
$("#generated").focus();
}

$(function() {
$("#injectpasswordrow").hide();
$("#copypassword").hide();

if (Settings.shouldHidePassword()){
$("#generated").hide();
Expand All @@ -149,6 +167,4 @@ $(function() {
$("form").show();
});
});


});

0 comments on commit a57236c

Please sign in to comment.