OLD | NEW |
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-2016 Eyeo GmbH | 3 * Copyright (C) 2006-2016 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 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
73 if (!(element instanceof HTMLElement) || element.localName == "area") | 73 if (!(element instanceof HTMLElement) || element.localName == "area") |
74 element = element.parentElement; | 74 element = element.parentElement; |
75 | 75 |
76 // If image maps are used mouse events occur for the <area> element. | 76 // If image maps are used mouse events occur for the <area> element. |
77 // But we have to block the image associated with the <map> element. | 77 // But we have to block the image associated with the <map> element. |
78 else if (element.localName == "map") | 78 else if (element.localName == "map") |
79 { | 79 { |
80 let images = document.querySelectorAll("img[usemap]"); | 80 let images = document.querySelectorAll("img[usemap]"); |
81 let image = null; | 81 let image = null; |
82 | 82 |
83 for (let i = 0; i < images.length; i++) | 83 for (let currentImage of images) |
84 { | 84 { |
85 let usemap = images[i].getAttribute("usemap"); | 85 let usemap = currentImage.getAttribute("usemap"); |
86 let index = usemap.indexOf("#"); | 86 let index = usemap.indexOf("#"); |
87 | 87 |
88 if (index != -1 && usemap.substr(index + 1) == element.name) | 88 if (index != -1 && usemap.substr(index + 1) == element.name) |
89 { | 89 { |
90 image = images[i]; | 90 image = currentImage; |
91 break; | 91 break; |
92 } | 92 } |
93 } | 93 } |
94 | 94 |
95 element = image; | 95 element = image; |
96 } | 96 } |
97 | 97 |
98 // Finally, if none of the above is true, check whether we can generate | 98 // Finally, if none of the above is true, check whether we can generate |
99 // any filters for this element. Otherwise fall back to its parent element. | 99 // any filters for this element. Otherwise fall back to its parent element. |
100 else | 100 else |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
158 overlay.style.zIndex = 0x7FFFFFFE; | 158 overlay.style.zIndex = 0x7FFFFFFE; |
159 | 159 |
160 document.documentElement.appendChild(overlay); | 160 document.documentElement.appendChild(overlay); |
161 return overlay; | 161 return overlay; |
162 } | 162 } |
163 | 163 |
164 function highlightElement(element, shadowColor, backgroundColor) | 164 function highlightElement(element, shadowColor, backgroundColor) |
165 { | 165 { |
166 unhighlightElement(element); | 166 unhighlightElement(element); |
167 | 167 |
168 let highlightWithOverlay = function() | 168 let highlightWithOverlay = () => |
169 { | 169 { |
170 let overlay = addElementOverlay(element); | 170 let overlay = addElementOverlay(element); |
171 | 171 |
172 // If the element isn't displayed no overlay will be added. | 172 // If the element isn't displayed no overlay will be added. |
173 // Moreover, we don't need to highlight anything then. | 173 // Moreover, we don't need to highlight anything then. |
174 if (!overlay) | 174 if (!overlay) |
175 return; | 175 return; |
176 | 176 |
177 highlightElement(overlay, shadowColor, backgroundColor); | 177 highlightElement(overlay, shadowColor, backgroundColor); |
178 overlay.style.pointerEvents = "none"; | 178 overlay.style.pointerEvents = "none"; |
179 | 179 |
180 element._unhighlight = () => | 180 element._unhighlight = () => |
181 { | 181 { |
182 overlay.parentNode.removeChild(overlay); | 182 overlay.parentNode.removeChild(overlay); |
183 }; | 183 }; |
184 }; | 184 }; |
185 | 185 |
186 let highlightWithStyleAttribute = function() | 186 let highlightWithStyleAttribute = () => |
187 { | 187 { |
188 let originalBoxShadow = element.style.getPropertyValue("box-shadow"); | 188 let originalBoxShadow = element.style.getPropertyValue("box-shadow"); |
189 let originalBoxShadowPriority = | 189 let originalBoxShadowPriority = |
190 element.style.getPropertyPriority("box-shadow"); | 190 element.style.getPropertyPriority("box-shadow"); |
191 let originalBackgroundColor = | 191 let originalBackgroundColor = |
192 element.style.getPropertyValue("background-color"); | 192 element.style.getPropertyValue("background-color"); |
193 let originalBackgroundColorPriority = | 193 let originalBackgroundColorPriority = |
194 element.style.getPropertyPriority("background-color"); | 194 element.style.getPropertyPriority("background-color"); |
195 | 195 |
196 element.style.setProperty("box-shadow", "inset 0px 0px 5px " + shadowColor, | 196 element.style.setProperty("box-shadow", "inset 0px 0px 5px " + shadowColor, |
(...skipping 384 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
581 } | 581 } |
582 }); | 582 }); |
583 } | 583 } |
584 break; | 584 break; |
585 } | 585 } |
586 }); | 586 }); |
587 | 587 |
588 if (window == window.top) | 588 if (window == window.top) |
589 ext.backgroundPage.sendMessage({type: "composer.ready"}); | 589 ext.backgroundPage.sendMessage({type: "composer.ready"}); |
590 } | 590 } |
OLD | NEW |