Left: | ||
Right: |
LEFT | RIGHT |
---|---|
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-2015 Eyeo GmbH | 3 * Copyright (C) 2006-2015 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 316 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
327 | 327 |
328 // Turn on the choose element to create filter thing | 328 // Turn on the choose element to create filter thing |
329 function clickHide_activate() { | 329 function clickHide_activate() { |
330 if(document == null) | 330 if(document == null) |
331 return; | 331 return; |
332 | 332 |
333 // If we are already selecting, abort now | 333 // If we are already selecting, abort now |
334 if (clickHide_activated || clickHideFiltersDialog) | 334 if (clickHide_activated || clickHideFiltersDialog) |
335 clickHide_deactivate(); | 335 clickHide_deactivate(); |
336 | 336 |
337 // Add overlays for blockable elements that don't emit mouse events that they can still be selected | 337 // Add overlays for blockable elements that don't emit mouse events, |
kzar
2015/02/09 17:24:41
Nitpick: Should read "...so that they can still be
Sebastian Noack
2015/02/10 10:19:27
Done.
| |
338 // so that they can still be selected. | |
338 var elts = document.querySelectorAll('object,embed,iframe,frame'); | 339 var elts = document.querySelectorAll('object,embed,iframe,frame'); |
339 for(var i=0; i<elts.length; i++) | 340 for(var i=0; i<elts.length; i++) |
340 { | 341 { |
341 var element = elts[i]; | 342 var element = elts[i]; |
342 if (isBlockable(element)) | 343 if (isBlockable(element)) |
343 addElementOverlay(element); | 344 addElementOverlay(element); |
344 } | 345 } |
345 | 346 |
346 clickHide_activated = true; | 347 clickHide_activated = true; |
347 document.addEventListener("mouseover", clickHide_mouseOver, true); | 348 document.addEventListener("mouseover", clickHide_mouseOver, true); |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
414 if (element instanceof HTMLElement && element.localName != "area") | 415 if (element instanceof HTMLElement && element.localName != "area") |
415 { | 416 { |
416 // Handle <area> and their <map> elements specially, | 417 // Handle <area> and their <map> elements specially, |
417 // blocking the image they are associated with | 418 // blocking the image they are associated with |
418 if (element.localName == "map") | 419 if (element.localName == "map") |
419 { | 420 { |
420 var images = document.querySelectorAll("img[usemap]"); | 421 var images = document.querySelectorAll("img[usemap]"); |
421 for (var i = 0; i < images.length; i++) | 422 for (var i = 0; i < images.length; i++) |
422 { | 423 { |
423 var image = images[i]; | 424 var image = images[i]; |
424 var usemap = image.getAttribute("usemap"); | 425 var usemap = image.getAttribute("usemap"); |
kzar
2015/02/09 17:24:41
Don't we need to check that usemap isn't null befo
Sebastian Noack
2015/02/10 10:19:27
Mind the CSS selector above, excluding elements wi
kzar
2015/02/10 11:03:01
Ah OK
| |
425 var index = usemap.indexOf("#"); | 426 var index = usemap.indexOf("#"); |
426 | 427 |
427 if (index != -1 && usemap.substr(index + 1) == element.name) | 428 if (index != -1 && usemap.substr(index + 1) == element.name) |
428 return getBlockableElementOrAncestor(image); | 429 return getBlockableElementOrAncestor(image); |
429 } | 430 } |
430 | 431 |
431 return null; | 432 return null; |
432 } | 433 } |
433 | 434 |
434 if (isBlockable(element)) | 435 if (isBlockable(element)) |
435 return element; | 436 return element; |
436 } | 437 } |
437 | 438 |
438 element = element.parentElement; | 439 element = element.parentElement; |
439 } | 440 } |
440 | 441 |
441 return null; | 442 return null; |
442 } | 443 } |
443 | |
444 | 444 |
445 // Hovering over an element so highlight it | 445 // Hovering over an element so highlight it |
446 function clickHide_mouseOver(e) | 446 function clickHide_mouseOver(e) |
447 { | 447 { |
448 if (clickHide_activated == false) | 448 if (clickHide_activated == false) |
449 return; | 449 return; |
450 | 450 |
451 var target = getBlockableElementOrAncestor(e.target); | 451 var target = getBlockableElementOrAncestor(e.target); |
452 | 452 |
453 if (target) | 453 if (target) |
(...skipping 301 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
755 lastRightClickEventValid = false; | 755 lastRightClickEventValid = false; |
756 else | 756 else |
757 lastRightClickEvent = null; | 757 lastRightClickEvent = null; |
758 break; | 758 break; |
759 } | 759 } |
760 }); | 760 }); |
761 | 761 |
762 if (window == window.top) | 762 if (window == window.top) |
763 ext.backgroundPage.sendMessage({type: "report-html-page"}); | 763 ext.backgroundPage.sendMessage({type: "report-html-page"}); |
764 } | 764 } |
LEFT | RIGHT |