| Index: popup.js |
| =================================================================== |
| --- a/popup.js |
| +++ b/popup.js |
| @@ -98,22 +98,42 @@ |
| activateClickHide.timeout = null; |
| } |
| document.body.classList.remove("clickhide-active"); |
| browser.tabs.sendMessage(tab.id, {type: "composer.content.finished"}); |
| } |
| function reportIssue() |
| { |
| - browser.tabs.create({ |
| - url: browser.runtime.getURL("/issue-reporter.html?" + tab.id) |
| - }).then(() => |
| - { |
| - window.close(); |
| - }); |
| + // capture the current visible tab |
|
Sebastian Noack
2018/05/23 14:48:59
Nit: This comment seems superfluous (it essentiall
a.giammarchi
2018/05/23 15:06:35
Done.
|
| + browser.tabs.captureVisibleTab( |
| + null, |
| + {format: "png"}, |
| + (screenshot) => |
|
Sebastian Noack
2018/05/23 14:48:59
Nit: We omit the optional parenthesis in arrow fun
a.giammarchi
2018/05/23 15:06:35
Done.
|
| + { |
| + // setup a listener to provide once tab url |
| + // and base64 screenshot data once asked |
| + browser.runtime.onMessage.addListener( |
| + function onMessage(event) |
| + { |
| + if (event.type === "issue-reporter") |
|
Sebastian Noack
2018/05/23 14:48:59
Nit: We prefer == over ===, as per the Mozilla cod
a.giammarchi
2018/05/23 15:06:35
Done.
|
| + { |
| + browser.runtime.onMessage.removeListener(onMessage); |
| + return Promise.resolve({url: tab.url, screenshot}); |
| + } |
| + } |
| + ); |
| + |
| + // create an active/selected issue reporter tab |
|
Sebastian Noack
2018/05/23 14:48:59
Nit: This comment seems superfluous as well.
a.giammarchi
2018/05/23 15:06:36
Done.
|
| + browser.tabs.create({ |
| + active: true, |
| + url: browser.runtime.getURL("/issue-reporter.html?" + tab.id) |
| + }); |
| + } |
| + ); |
| } |
| function toggleCollapse(event) |
| { |
| let collapser = event.currentTarget; |
| let collapsible = document.getElementById(collapser.dataset.collapsible); |
| collapsible.classList.toggle("collapsed"); |
| togglePref(collapser.dataset.option); |