Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: popup.js

Issue 29785555: Issue 6684 - Issue Reporter Active Tab Screenshot (Closed)
Patch Set: Created May 18, 2018, 10:33 a.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * This file is part of Adblock Plus <https://adblockplus.org/>, 2 * This file is part of Adblock Plus <https://adblockplus.org/>,
3 * Copyright (C) 2006-present eyeo GmbH 3 * Copyright (C) 2006-present eyeo GmbH
4 * 4 *
5 * Adblock Plus is free software: you can redistribute it and/or modify 5 * Adblock Plus is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 3 as 6 * it under the terms of the GNU General Public License version 3 as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
8 * 8 *
9 * Adblock Plus is distributed in the hope that it will be useful, 9 * Adblock Plus is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 { 96 {
97 window.clearTimeout(activateClickHide.timeout); 97 window.clearTimeout(activateClickHide.timeout);
98 activateClickHide.timeout = null; 98 activateClickHide.timeout = null;
99 } 99 }
100 document.body.classList.remove("clickhide-active"); 100 document.body.classList.remove("clickhide-active");
101 browser.tabs.sendMessage(tab.id, {type: "composer.content.finished"}); 101 browser.tabs.sendMessage(tab.id, {type: "composer.content.finished"});
102 } 102 }
103 103
104 function reportIssue() 104 function reportIssue()
105 { 105 {
106 browser.tabs.create({ 106 // capture the current visible tab
107 url: browser.runtime.getURL("/issue-reporter.html?" + tab.id) 107 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.
108 }).then(() => 108 null,
109 { 109 {format: "png"},
110 window.close(); 110 (screenshot) =>
111 }); 111 {
112 // setup a listener to provide once tab url
113 // and base64 screenshot data once asked
114 browser.runtime.onMessage.addListener(
115 function onMessage(event)
116 {
117 if (event.type === "issue-reporter")
118 {
119 browser.runtime.onMessage.removeListener(onMessage);
120 return Promise.resolve({
121 url: tab.url,
122 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.
123 });
124 }
125 }
126 );
127
128 // create an active/selected issue reporter tab
129 browser.tabs.create({
130 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.
131 url: browser.runtime.getURL("/issue-reporter.html?" + tab.id)
132 });
133 }
134 );
112 } 135 }
113 136
114 function toggleCollapse(event) 137 function toggleCollapse(event)
115 { 138 {
116 let collapser = event.currentTarget; 139 let collapser = event.currentTarget;
117 let collapsible = document.getElementById(collapser.dataset.collapsible); 140 let collapsible = document.getElementById(collapser.dataset.collapsible);
118 collapsible.classList.toggle("collapsed"); 141 collapsible.classList.toggle("collapsed");
119 togglePref(collapser.dataset.option); 142 togglePref(collapser.dataset.option);
120 } 143 }
121 144
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after
332 { 355 {
333 if (event.target.id == "notification-optout") 356 if (event.target.id == "notification-optout")
334 setPref("notifications_ignoredcategories", true); 357 setPref("notifications_ignoredcategories", true);
335 358
336 notificationElement.hidden = true; 359 notificationElement.hidden = true;
337 browser.runtime.sendMessage({type: "notifications.clicked"}); 360 browser.runtime.sendMessage({type: "notifications.clicked"});
338 } 361 }
339 }, true); 362 }, true);
340 }); 363 });
341 }); 364 });
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld