From: yh106.jung Date: Fri, 3 Nov 2017 00:33:25 +0000 (+0900) Subject: Add chrome.pageAction.onClicked event X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ab7b0355eddb50176a97dcada76a4e37ec7ab216;p=platform%2Fframework%2Fweb%2Fcrosswalk-tizen.git Add chrome.pageAction.onClicked event This patch adds chrome.pageAction.onClicked event which is fired by BrowserWindow.requestExtionsionPageAction method. Change-Id: I5924381c704d90bb189f07617e073b58b24eaebb Signed-off-by: yh106.jung --- diff --git a/lib/browser/chrome-extension.js b/lib/browser/chrome-extension.js index 0f1c7d413..b9d61a08a 100644 --- a/lib/browser/chrome-extension.js +++ b/lib/browser/chrome-extension.js @@ -424,4 +424,13 @@ app.once('ready', function () { }) return devExtensions } + + BrowserWindow.requestExtensionPageAction = function (name) { + const manifest = manifestNameMap[name] + if (!manifest) return + const page = backgroundPages[manifest.extensionId] + if (!page) return + page.webContents.sendToAll(`CHROME_PAGEACTION_ONCLICKED_${manifest.extensionId}`, webContents.Id); + } + }) diff --git a/lib/renderer/chrome-api.js b/lib/renderer/chrome-api.js index 4bd69d0be..3976ec552 100644 --- a/lib/renderer/chrome-api.js +++ b/lib/renderer/chrome-api.js @@ -79,6 +79,10 @@ exports.injectTo = function (extensionId, isBackgroundPage, context) { chrome.tabs.onRemoved.emit(tabId) }) + ipcRenderer.on(`CHROME_PAGEACTION_ONCLICKED_${extensionId}`, (event, tabId) => { + chrome.pageAction.onClicked.emit(new Tab(tabId)) + }) + chrome.runtime = { id: extensionId, @@ -182,7 +186,9 @@ exports.injectTo = function (extensionId, isBackgroundPage, context) { getTitle () {}, setIcon () {}, setPopup () {}, - getPopup () {} + getPopup () {}, + + onClicked: new Event() } chrome.i18n = require('./extensions/i18n').setup(extensionId)