Index: include.postload.js |
=================================================================== |
--- a/include.postload.js |
+++ b/include.postload.js |
@@ -487,7 +487,7 @@ |
clickHide_deactivate(); |
break; |
case "clickhide-new-filter": |
- // The request is received by all frames, so ignore it if we're not the frame the |
+ // The message is received by all frames, so ignore it if we're not the frame the |
// user right-clicked in |
if(!lastRightClickEvent) |
return; |
@@ -518,7 +518,7 @@ |
// Following test will be true if we found the element with the filter URL |
if(msg.filter === url) |
{ |
- // This request would have come from the chrome.contextMenu handler, so we |
+ // This message would have come from the chrome.contextMenu handler, so we |
// simulate the user having chosen the element to get rid of via the usual means. |
clickHide_activated = true; |
// FIXME: clickHideFilters is erased in clickHide_mouseClick anyway, so why set it? |
@@ -531,7 +531,7 @@ |
clickHide_mouseClick(lastRightClickEvent); |
} |
else |
- console.log("clickhide-new-filter: URLs don't match. Couldn't find that element.", request.filter, url, lastRightClickEvent.target.src); |
+ console.log("clickhide-new-filter: URLs don't match. Couldn't find that element.", msg.filter, url, lastRightClickEvent.target.src); |
break; |
case "clickhide-init": |
if (clickHideFiltersDialog) |
@@ -546,16 +546,48 @@ |
case "clickhide-move": |
if (clickHideFiltersDialog) |
{ |
- clickHideFiltersDialog.style.left = (parseInt(clickHideFiltersDialog.style.left, 10) + request.x) + "px"; |
- clickHideFiltersDialog.style.top = (parseInt(clickHideFiltersDialog.style.top, 10) + request.y) + "px"; |
+ clickHideFiltersDialog.style.left = (parseInt(clickHideFiltersDialog.style.left, 10) + msg.x) + "px"; |
+ clickHideFiltersDialog.style.top = (parseInt(clickHideFiltersDialog.style.top, 10) + msg.y) + "px"; |
} |
break; |
case "clickhide-close": |
if (clickHideFiltersDialog) |
{ |
// Explicitly get rid of currentElement |
- if (msg.remove && currentElement && currentElement.parentNode) |
- currentElement.parentNode.removeChild(currentElement); |
+ var filters = msg.filters; |
+ if (filters) |
+ { |
+ var isHidden = false; |
+ var selectors = []; |
+ for (var i = 0; i < filters.length; i++) |
+ { |
+ var selector = filters[i].match(/##(.*)$/); |
+ if (selector) |
+ { |
+ if (currentElement.matches(selector[1])) |
+ isHidden = true; |
+ |
+ selectors.push(selector[1]); |
+ } |
+ } |
+ if (setElemhideCSSRules) |
+ setElemhideCSSRules(selectors); |
Wladimir Palant
2014/11/17 19:53:57
The code above has multiple issues:
* It doesn't
Thomas Greiner
2014/11/27 14:46:07
What we could do is instead of just forwarding the
|
+ |
+ if (!isHidden) |
+ { |
+ var element = currentElement; |
+ ext.backgroundPage.sendMessage({ |
+ type: "should-collapse", |
+ url: element.src, |
+ documentUrl: document.URL, |
+ mediatype: typeMap[element.localName] |
+ }, function(response) |
+ { |
+ if (response && element.parentNode) |
+ element.style.setProperty("display", "none", "important"); |
Wladimir Palant
2014/11/17 19:53:57
We don't need to check the element's parent node i
Sebastian Noack
2014/11/27 12:43:40
What is if element collapsing is disabled in the o
Thomas Greiner
2014/11/27 14:46:07
That's a valid comment and it doesn't seem like we
Sebastian Noack
2014/11/27 15:15:48
If that is sufficient, fine for me.
|
+ }); |
+ } |
+ } |
clickHide_deactivate(); |
} |