Bug 769886: Add "Copy Link" action to long press context menu. r=mfinkle

This commit is contained in:
Michael Comella 2012-07-19 10:45:10 -07:00
parent b2c5410782
commit ede52e6568
2 changed files with 21 additions and 0 deletions

View File

@ -1116,6 +1116,14 @@ var NativeWindow = {
NativeWindow.toast.show(label, "short");
});
this.add(Strings.browser.GetStringFromName("contextmenu.copyLink"),
this.linkCopyableContext,
function(aTarget) {
let url = NativeWindow.contextmenus._getLinkURL(aTarget);
let clipboard = Cc["@mozilla.org/widget/clipboardhelper;1"].getService(Ci.nsIClipboardHelper);
clipboard.copyString(url);
});
this.add(Strings.browser.GetStringFromName("contextmenu.shareLink"),
this.linkShareableContext,
function(aTarget) {
@ -1237,6 +1245,18 @@ var NativeWindow = {
}
},
linkCopyableContext: {
matches: function linkCopyableContextMatches(aElement) {
let uri = NativeWindow.contextmenus._getLink(aElement);
if (uri) {
let scheme = uri.scheme;
let dontCopy = /^(mailto|tel)$/;
return (scheme && !dontCopy.test(scheme));
}
return false;
}
},
linkShareableContext: {
matches: function linkShareableContextMatches(aElement) {
let uri = NativeWindow.contextmenus._getLink(aElement);

View File

@ -209,6 +209,7 @@ selectionHelper.textCopied=Text copied to clipboard
# Context menu
contextmenu.openInNewTab=Open Link in New Tab
contextmenu.share=Share
contextmenu.copyLink=Copy Link
contextmenu.shareLink=Share Link
contextmenu.bookmarkLink=Bookmark Link
contextmenu.changeInputMethod=Select Input Method