| Index: lib/elemHideHitRegistration.js | 
| =================================================================== | 
| --- a/lib/elemHideHitRegistration.js | 
| +++ b/lib/elemHideHitRegistration.js | 
| @@ -121,17 +121,21 @@ HitRegistrationChannel.prototype = { | 
| } catch(e) {} | 
| }, this); | 
| }, | 
|  | 
| open: function() | 
| { | 
| let {Policy} = require("contentPolicy"); | 
| let {ElemHide} = require("elemHide"); | 
| -    let data = "<bindings xmlns='http://www.mozilla.org/xbl'><binding id='dummy'/></bindings>"; | 
| + | 
| +    // This dummy binding below won't have any effect on the element. For | 
| +    // elements that should be hidden however we don't return any binding at | 
| +    // all, this makes Gecko stop constructing the node - it cannot be shown. | 
| +    let data = "<bindings xmlns='http://www.mozilla.org/xbl'><binding id='dummy' bindToUntrustedContent='true'/></bindings>"; | 
| let filter = ElemHide.getFilterByKey(this.key); | 
| if (filter) | 
| { | 
| let wnd = Utils.getRequestWindow(this); | 
| if (wnd && wnd.document && !Policy.processNode(wnd, wnd.document, Policy.type.ELEMHIDE, filter)) | 
| data = "<bindings xmlns='http://www.mozilla.org/xbl'/>"; | 
| } | 
|  | 
|  |