| Index: lib/content/elemHideEmulation.js | 
| =================================================================== | 
| --- a/lib/content/elemHideEmulation.js | 
| +++ b/lib/content/elemHideEmulation.js | 
| @@ -322,20 +322,33 @@ | 
| }, | 
|  | 
| *getElements(prefix, subtree, styles) | 
| { | 
| let actualPrefix = (!prefix || incompletePrefixRegexp.test(prefix)) ? | 
| prefix + "*" : prefix; | 
|  | 
| let elements = scopedQuerySelectorAll(subtree, actualPrefix); | 
| + | 
| if (elements) | 
| { | 
| +      let lastRoot = null; | 
| for (let element of elements) | 
| { | 
| +        // For a filter like div:-abp-contains(Hello) and a subtree like | 
| +        // <div id="a"><div id="b"><div id="c">Hello</div></div></div> | 
| +        // we're only interested in div#a | 
| +        if (lastRoot && lastRoot.contains(element)) | 
| +        { | 
| +          yield null; | 
| +          continue; | 
| +        } | 
| + | 
| +        lastRoot = element; | 
| + | 
| if (this._regexp && this._regexp.test(element.textContent)) | 
| yield element; | 
| else | 
| yield null; | 
| } | 
| } | 
| } | 
| }; | 
|  |