From c72a5691cd216293aaa7b90ce901056f4fd49c68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20HUBSCHER?= Date: Fri, 12 Jan 2018 16:28:27 +0100 Subject: [PATCH] Close all sidebars on toolbar button click. Doesn't work because: sidebarAction.close may only be called from a user input handler --- src/background.js | 4 +++- src/sidebar/panel.js | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/background.js b/src/background.js index cdc8f95a6..bfc714cec 100644 --- a/src/background.js +++ b/src/background.js @@ -192,7 +192,9 @@ browser.storage.local.get() // Handle onClick event for the toolbar button browser.browserAction.onClicked.addListener(() => { if (addonIsOpen) { - browser.sidebarAction.close(); + browser.runtime.sendMessage('notes@mozilla.com', { + action: 'close' + }); } else { browser.sidebarAction.open(); setIconToActive(); diff --git a/src/sidebar/panel.js b/src/sidebar/panel.js index d750bf03e..bb86de5c3 100644 --- a/src/sidebar/panel.js +++ b/src/sidebar/panel.js @@ -84,6 +84,9 @@ ClassicEditor.create(document.querySelector('#editor'), { chrome.runtime.onMessage.addListener(eventData => { let content; switch (eventData.action) { + case 'close': + browser.sidebarAction.close(); + break; case 'sync-authenticated': setAnimation(true, true, false); // animateSyncIcon, syncingLayout, warning isAuthenticated = true;