From 1aee975f6473fc409c4e4babc4a960a80144db00 Mon Sep 17 00:00:00 2001 From: Michael Comella Date: Wed, 22 Aug 2012 19:52:53 -0400 Subject: [PATCH] Bug 744662 - Sharing an email address no longer copies "mailto:". r=mfinkle --- mobile/android/chrome/content/browser.js | 32 ++++++++++++------- .../locales/en-US/chrome/browser.properties | 1 + 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/mobile/android/chrome/content/browser.js b/mobile/android/chrome/content/browser.js index 0160409b8304..b815d9272918 100644 --- a/mobile/android/chrome/content/browser.js +++ b/mobile/android/chrome/content/browser.js @@ -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); diff --git a/mobile/android/locales/en-US/chrome/browser.properties b/mobile/android/locales/en-US/chrome/browser.properties index b9a9cfe61ea0..31ee11bb0da4 100644 --- a/mobile/android/locales/en-US/chrome/browser.properties +++ b/mobile/android/locales/en-US/chrome/browser.properties @@ -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