Bug 1313290 - Use tab specific MM in SocialShare.sharePage. r=mixedpuppy

MozReview-Commit-ID: 2mqGFq9xIhy

--HG--
extra : rebase_source : ec8159293044ecb34f3417bfa57d617d63eface5
This commit is contained in:
J. Ryan Stinnett 2016-10-17 15:32:38 -05:00
Родитель 3330f68ce5
Коммит b757d2aba7
1 изменённых файлов: 8 добавлений и 6 удалений

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

@ -399,14 +399,16 @@ SocialShare = {
if (!SocialUI.canSharePage(sharedURI))
return;
let browserMM = gBrowser.selectedBrowser.messageManager;
// the point of this action type is that we can use existing share
// endpoints (e.g. oexchange) that do not support additional
// socialapi functionality. One tweak is that we shoot an event
// containing the open graph data.
let _dataFn;
if (!pageData || sharedURI == gBrowser.currentURI) {
messageManager.addMessageListener("PageMetadata:PageDataResult", _dataFn = (msg) => {
messageManager.removeMessageListener("PageMetadata:PageDataResult", _dataFn);
browserMM.addMessageListener("PageMetadata:PageDataResult", _dataFn = (msg) => {
browserMM.removeMessageListener("PageMetadata:PageDataResult", _dataFn);
let pageData = msg.json;
if (graphData) {
// overwrite data retreived from page with data given to us as a param
@ -416,17 +418,17 @@ SocialShare = {
}
this.sharePage(providerOrigin, pageData, target, anchor);
});
gBrowser.selectedBrowser.messageManager.sendAsyncMessage("PageMetadata:GetPageData", null, { target });
browserMM.sendAsyncMessage("PageMetadata:GetPageData", null, { target });
return;
}
// if this is a share of a selected item, get any microformats
if (!pageData.microformats && target) {
messageManager.addMessageListener("PageMetadata:MicroformatsResult", _dataFn = (msg) => {
messageManager.removeMessageListener("PageMetadata:MicroformatsResult", _dataFn);
browserMM.addMessageListener("PageMetadata:MicroformatsResult", _dataFn = (msg) => {
browserMM.removeMessageListener("PageMetadata:MicroformatsResult", _dataFn);
pageData.microformats = msg.data;
this.sharePage(providerOrigin, pageData, target, anchor);
});
gBrowser.selectedBrowser.messageManager.sendAsyncMessage("PageMetadata:GetMicroformats", null, { target });
browserMM.sendAsyncMessage("PageMetadata:GetMicroformats", null, { target });
return;
}
this.currentShare = pageData;