Index: popup.js |
=================================================================== |
--- a/popup.js |
+++ b/popup.js |
@@ -98,22 +98,45 @@ |
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 |
+ browser.tabs.captureVisibleTab( |
Sebastian Noack
2018/05/22 15:28:59
I suppose we also have to add a new permission for
a.giammarchi
2018/05/22 15:55:31
AFAIK there's no need for extra permission, tabs w
Sebastian Noack
2018/05/22 16:01:10
Oh cool, never mind then.
|
+ null, |
+ {format: "png"}, |
+ (screenshot) => |
+ { |
+ // 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") |
+ { |
+ browser.runtime.onMessage.removeListener(onMessage); |
+ return Promise.resolve({ |
+ url: tab.url, |
+ screenshot |
Sebastian Noack
2018/05/22 15:28:59
Nit: It appears that this literal would fit on one
a.giammarchi
2018/05/22 16:14:09
Done.
|
+ }); |
+ } |
+ } |
+ ); |
+ |
+ // create an active/selected issue reporter tab |
+ browser.tabs.create({ |
+ selected: true, |
Sebastian Noack
2018/05/22 15:28:59
The "selected" property is deprecated, use "active
a.giammarchi
2018/05/22 15:55:31
Should I use both to be sure it works? I think I u
Sebastian Noack
2018/05/22 16:01:10
That is not necessary, "active" was introduced lon
a.giammarchi
2018/05/22 16:14:08
Done.
|
+ 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); |