зеркало из https://github.com/mozilla/gecko-dev.git
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:
Родитель
3330f68ce5
Коммит
b757d2aba7
|
@ -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;
|
||||
|
|
Загрузка…
Ссылка в новой задаче