diff --git a/core/constants.js b/core/constants.js index 27698f90..bd4550ec 100644 --- a/core/constants.js +++ b/core/constants.js @@ -214,7 +214,7 @@ const Links = { 'FAQ_HTML_FILTER': chrome.extension.getURL('pages/help/help.html#html-filter'), 'STATISTICS': chrome.extension.getURL('pages/statistics/statistics.html'), 'LOCALCDN_TEST': 'https://www.localcdn.org/test', - 'LOCALCDN_TEST_WEBSITE': 'https://www.localcdn.org/test/check?domain=', + 'LOCALCDN_TEST_WEBSITE': 'https://www.localcdn.org/test/check', 'WEBLATE': 'https://hosted.weblate.org/projects/localcdn/localcdn/', }; diff --git a/core/messenger.js b/core/messenger.js index fd2c16e6..394bf106 100644 --- a/core/messenger.js +++ b/core/messenger.js @@ -97,6 +97,16 @@ messenger._handleMessageReceived = function (message, sender, sendResponse) { if (topic === 'deleteStatistic') { storageManager.statistics = {}; } + + if (topic === 'injection') { + + chrome.tabs.executeScript(value, { + 'code': `window.addEventListener('load', () => { + document.getElementById('domain').value = '${message.url}'; + });`, + 'runAt': 'document_start' + }); + } }; diff --git a/pages/popup/popup.js b/pages/popup/popup.js index 594ef56f..07a21b8f 100644 --- a/pages/popup/popup.js +++ b/pages/popup/popup.js @@ -439,8 +439,10 @@ popup._onDocumentLoaded = function () { popup._onTestingUtilityLinkClicked = function (event) { if (event.button === 0 || event.button === 1) { chrome.tabs.create({ - 'url': Links.LOCALCDN_TEST_WEBSITE + popup._targetTab.url, + 'url': Links.LOCALCDN_TEST_WEBSITE, 'active': event.button === 0, + }, function (tab) { + popup._injectDomain(tab.id); }); } @@ -449,6 +451,16 @@ popup._onTestingUtilityLinkClicked = function (event) { } }; +popup._injectDomain = function (tabId) { + let message = { + 'topic': 'injection', + 'value': tabId, + 'url': popup._targetTab.url + }; + + chrome.runtime.sendMessage(message); +}; + popup._onOptionsButtonClicked = function () { chrome.runtime.openOptionsPage(); return window.close();