Bug 744662 - Sharing an email address no longer copies "mailto:". r=mfinkle

This commit is contained in:
Michael Comella 2012-08-22 19:52:53 -04:00
Родитель 6c1faa95ac
Коммит 1aee975f64
2 изменённых файлов: 21 добавлений и 12 удалений

Просмотреть файл

@ -375,7 +375,7 @@ var BrowserApp = {
});
NativeWindow.contextmenus.add(Strings.browser.GetStringFromName("contextmenu.copyEmailAddress"),
NativeWindow.contextmenus.emailLinkCopyableContext,
NativeWindow.contextmenus.emailLinkContext,
function(aTarget) {
let url = NativeWindow.contextmenus._getLinkURL(aTarget);
let emailAddr = NativeWindow.contextmenus._stripScheme(url);
@ -398,6 +398,15 @@ var BrowserApp = {
NativeWindow.contextmenus._shareStringWithDefault(url, title);
});
NativeWindow.contextmenus.add(Strings.browser.GetStringFromName("contextmenu.shareEmailAddress"),
NativeWindow.contextmenus.emailLinkContext,
function(aTarget) {
let url = NativeWindow.contextmenus._getLinkURL(aTarget);
let emailAddr = NativeWindow.contextmenus._stripScheme(url);
let title = aTarget.textContent || aTarget.title;
NativeWindow.contextmenus._shareStringWithDefault(emailAddr, title);
});
NativeWindow.contextmenus.add(Strings.browser.GetStringFromName("contextmenu.sharePhoneNumber"),
NativeWindow.contextmenus.phoneNumberLinkContext,
function(aTarget) {
@ -1301,22 +1310,12 @@ var NativeWindow = {
}
},
emailLinkCopyableContext: {
matches: function emailLinkCopyableContextMatches(aElement) {
let uri = NativeWindow.contextmenus._getLink(aElement);
if (uri) {
return uri.schemeIs("mailto");
}
return false;
}
},
linkShareableContext: {
matches: function linkShareableContextMatches(aElement) {
let uri = NativeWindow.contextmenus._getLink(aElement);
if (uri) {
let scheme = uri.scheme;
let dontShare = /^(about|chrome|file|javascript|resource|tel)$/;
let dontShare = /^(about|chrome|file|javascript|mailto|resource|tel)$/;
return (scheme && !dontShare.test(scheme));
}
return false;
@ -1335,6 +1334,15 @@ var NativeWindow = {
}
},
emailLinkContext: {
matches: function emailLinkContextMatches(aElement) {
let uri = NativeWindow.contextmenus._getLink(aElement);
if (uri)
return uri.schemeIs("mailto");
return false;
}
},
phoneNumberLinkContext: {
matches: function phoneNumberLinkContextMatches(aElement) {
let uri = NativeWindow.contextmenus._getLink(aElement);

Просмотреть файл

@ -213,6 +213,7 @@ contextmenu.copyLink=Copy Link
contextmenu.shareLink=Share Link
contextmenu.bookmarkLink=Bookmark Link
contextmenu.copyEmailAddress=Copy Email Address
contextmenu.shareEmailAddress=Share Email Address
contextmenu.copyPhoneNumber=Copy Phone Number
contextmenu.sharePhoneNumber=Share Phone Number
contextmenu.changeInputMethod=Select Input Method