diff --git a/src/chrome/backgroundscript.js b/src/chrome/backgroundscript.js index 9c1c4372..de66174d 100644 --- a/src/chrome/backgroundscript.js +++ b/src/chrome/backgroundscript.js @@ -147,6 +147,15 @@ chrome.runtime.onMessage.addListener(function(request, sender, responseCallback) } }); +// Add listener for cross-extension messaging. (See https://developer.chrome.com/extensions/messaging#external) +chrome.runtime.onMessageExternal.addListener(function(request) { + if (request && request.action === 'toggle-markdown') { + chrome.tabs.query({ active: true, currentWindow: true }, function(tabs) { + var tab = tabs[0]; + chrome.tabs.sendMessage(tab.id, {action: 'message-external', }); + }); + } +}); // Add the browserAction (the button in the browser toolbar) listener. chrome.browserAction.onClicked.addListener(function(tab) { chrome.tabs.sendMessage(tab.id, {action: 'button-click', }); diff --git a/src/chrome/contentscript.js b/src/chrome/contentscript.js index 0924b233..c6504147 100644 --- a/src/chrome/contentscript.js +++ b/src/chrome/contentscript.js @@ -21,7 +21,8 @@ function requestHandler(request, sender, sendResponse) { if (request && (request.action === 'context-click' || request.action === 'hotkey' || - request.action === 'button-click')) { + request.action === 'button-click' || + request.action === 'message-external')) { // Check if the focused element is a valid render target focusedElem = markdownHere.findFocusedElem(window.document);