commit 062fda2c78e137bf071defb5197c9acae82f4a67 Author: OverPoweredDev Date: Thu Jun 24 20:22:49 2021 +0530 fixed a bug that messed up a buncha google sites in hindsight, should use more obscure attribute names diff --git a/src/content/content.js b/src/content/content.js index 8836db6..d40929d 100644 --- a/src/content/content.js +++ b/src/content/content.js @@ -1,4 +1,3 @@ - chrome.runtime.sendMessage({method: "getSettings"}, function (response) { let settings = response.settings; addHoverElements(settings); diff --git a/src/content/hover.css b/src/content/hover.css index 6b9e8da..b926777 100644 --- a/src/content/hover.css +++ b/src/content/hover.css @@ -1,11 +1,11 @@ -[data-tooltip] { +[data-translation] { display: inline-block; position: relative; } /* Tooltip styling */ -[data-tooltip]:before { - content: attr(data-tooltip); +[data-translation]:before { + content: attr(data-translation); display: none; position: absolute; background: #000; @@ -19,8 +19,8 @@ } /* Dynamic horizontal centering */ -[data-tooltip-position="top"]:before, -[data-tooltip-position="bottom"]:before { +[data-translation-position="top"]:before, +[data-translation-position="bottom"]:before { left: 50%; -ms-transform: translateX(-50%); -moz-transform: translateX(-50%); @@ -29,8 +29,8 @@ } /* Dynamic vertical centering */ -[data-tooltip-position="right"]:before, -[data-tooltip-position="left"]:before { +[data-translation-position="right"]:before, +[data-translation-position="left"]:before { top: 50%; -ms-transform: translateY(-50%); -moz-transform: translateY(-50%); @@ -38,28 +38,28 @@ transform: translateY(-50%); } -[data-tooltip-position="top"]:before { +[data-translation-position="top"]:before { bottom: 100%; margin-bottom: 6px; } -[data-tooltip-position="right"]:before { +[data-translation-position="right"]:before { left: 100%; margin-left: 6px; } -[data-tooltip-position="bottom"]:before { +[data-translation-position="bottom"]:before { top: 100%; margin-top: 6px; } -[data-tooltip-position="left"]:before { +[data-translation-position="left"]:before { right: 100%; margin-right: 6px; } /* Tooltip arrow styling/placement */ -[data-tooltip]:after { +[data-translation]:after { content: ''; display: none; position: absolute; @@ -70,51 +70,51 @@ } /* Dynamic horizontal centering for the tooltip */ -[data-tooltip-position="top"]:after, -[data-tooltip-position="bottom"]:after { +[data-translation-position="top"]:after, +[data-translation-position="bottom"]:after { left: 50%; margin-left: -6px; } /* Dynamic vertical centering for the tooltip */ -[data-tooltip-position="right"]:after, -[data-tooltip-position="left"]:after { +[data-translation-position="right"]:after, +[data-translation-position="left"]:after { top: 50%; margin-top: -6px; } -[data-tooltip-position="top"]:after { +[data-translation-position="top"]:after { bottom: 100%; border-width: 6px 6px 0; border-top-color: #000; } -[data-tooltip-position="right"]:after { +[data-translation-position="right"]:after { left: 100%; border-width: 6px 6px 6px 0; border-right-color: #000; } -[data-tooltip-position="bottom"]:after { +[data-translation-position="bottom"]:after { top: 100%; border-width: 0 6px 6px; border-bottom-color: #000; } -[data-tooltip-position="left"]:after { +[data-translation-position="left"]:after { right: 100%; border-width: 6px 0 6px 6px; border-left-color: #000; } /* Show the tooltip when hovering */ -[data-tooltip]:hover:before, -[data-tooltip]:hover:after { +[data-translation]:hover:before, +[data-translation]:hover:after { display: block; z-index: 50; } -[data-tooltip]:hover{ +[data-translation]:hover{ animation-delay: 100ms; -moz-animation-delay: 100ms; -webkit-animation-delay: 100ms; diff --git a/src/content/hover.js b/src/content/hover.js index bac04b6..08ffb9d 100644 --- a/src/content/hover.js +++ b/src/content/hover.js @@ -4,17 +4,17 @@ function addHoverTag(targetLanguage, sourceLanguage) { // - ([A-z0-9']+) apart from elements, we consider all words, numbers or words containing "'" $('p').each(function () { - $(this).html($(this).html().replace(/(?![^<]*?>)([A-z0-9']+)/g , '$1')); + $(this).html($(this).html().replace(/(?![^<]*?>)([A-z0-9']+)/g , '$1')); }); let setTimeoutConst; $("hover").hover(function() { let self = $(this) setTimeoutConst = setTimeout(async function () { - let text = self.attr('data-tooltip'); + let text = self.attr('data-translation'); if(self.text() === text) { let translation = await translate(text, sourceLanguage, targetLanguage); - self.attr('data-tooltip', translation); + self.attr('data-translation', translation); } }, 1000); }, function() {