| Index: devtools-panel.js |
| =================================================================== |
| --- a/devtools-panel.js |
| +++ b/devtools-panel.js |
| @@ -14,32 +14,31 @@ |
| * You should have received a copy of the GNU General Public License |
| * along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>. |
| */ |
| "use strict"; |
| let lastFilterQuery = null; |
| -browser.runtime.sendMessage({type: "types.get"}, |
| - (filterTypes) => |
| +browser.runtime.sendMessage({type: "types.get"}, (filterTypes) => |
| +{ |
| + let filterTypesElem = document.getElementById("filter-type"); |
| + let filterStyleElem = document.createElement("style"); |
| + for (let type of filterTypes) |
| { |
| - let filterTypesElem = document.getElementById("filter-type"); |
| - let filterStyleElem = document.createElement("style"); |
| - for (let type of filterTypes) |
| - { |
| - filterStyleElem.innerHTML += |
| - `#items[data-filter-type=${type}] tr:not([data-type=${type}])` + |
| - "{display: none;}"; |
| - let optionNode = document.createElement("option"); |
| - optionNode.appendChild(document.createTextNode(type)); |
| - filterTypesElem.appendChild(optionNode); |
| - } |
| - document.body.appendChild(filterStyleElem); |
| - }); |
| + filterStyleElem.innerHTML += |
| + `#items[data-filter-type=${type}] tr:not([data-type=${type}])` + |
| + "{display: none;}"; |
| + let optionNode = document.createElement("option"); |
| + optionNode.appendChild(document.createTextNode(type)); |
| + filterTypesElem.appendChild(optionNode); |
| + } |
| + document.body.appendChild(filterStyleElem); |
| +}); |
| function generateFilter(request, domainSpecific) |
| { |
| let filter = request.url.replace(/^[\w-]+:\/+(?:www\.)?/, "||"); |
| let options = []; |
| if (request.type == "POPUP") |
| { |
| @@ -66,17 +65,17 @@ |
| button.classList.add("action"); |
| button.addEventListener("click", () => |
| { |
| browser.runtime.sendMessage({ |
| type: "filters." + action, |
| text: filter |
| }); |
| - }, false); |
| + }); |
| return button; |
| } |
| function createRecord(request, filter, template) |
| { |
| let row = document.importNode(template, true); |
| row.dataset.type = request.type; |
| @@ -91,18 +90,18 @@ |
| { |
| urlElement.textContent = request.url; |
| if (request.type != "POPUP") |
| { |
| urlElement.classList.add("resourceLink"); |
| urlElement.addEventListener("click", () => |
| { |
| - ext.devtools.panels.openResource(request.url); |
| - }, false); |
| + browser.devtools.panels.openResource(request.url); |
| + }); |
| } |
| } |
| if (filter) |
| { |
| let filterElement = row.querySelector(".filter"); |
| let originElement = row.querySelector(".origin"); |
| @@ -188,30 +187,34 @@ |
| document.addEventListener("DOMContentLoaded", () => |
| { |
| let container = document.getElementById("items"); |
| let table = container.querySelector("tbody"); |
| let template = document.querySelector("template").content.firstElementChild; |
| document.getElementById("reload").addEventListener("click", () => |
| { |
| - ext.devtools.inspectedWindow.reload(); |
| - }, false); |
| + browser.devtools.inspectedWindow.reload(); |
| + }); |
| document.getElementById("filter-state").addEventListener("change", (event) => |
| { |
| container.dataset.filterState = event.target.value; |
| - }, false); |
| + }); |
| document.getElementById("filter-type").addEventListener("change", (event) => |
| { |
| container.dataset.filterType = event.target.value; |
| - }, false); |
| + }); |
| - ext.onMessage.addListener((message) => |
| + let port = browser.runtime.connect({ |
| + name: "devtools-" + browser.devtools.inspectedWindow.tabId |
| + }); |
| + |
| + port.onMessage.addListener((message) => |
| { |
| switch (message.type) |
| { |
| case "add-record": |
| table.appendChild(createRecord(message.request, message.filter, |
| template)); |
| break; |
| @@ -251,9 +254,9 @@ |
| } |
| }); |
| // Since Chrome 54 the themeName is accessible, for earlier versions we must |
| // assume the default theme is being used. |
| // https://bugs.chromium.org/p/chromium/issues/detail?id=608869 |
| let theme = browser.devtools.panels.themeName || "default"; |
| document.body.classList.add(theme); |
| -}, false); |
| +}); |