| Index: lib/elemHideFF.js | 
| =================================================================== | 
| --- a/lib/elemHideFF.js | 
| +++ b/lib/elemHideFF.js | 
| @@ -18,18 +18,31 @@ | 
| "use strict"; | 
| let {port} = require("messaging"); | 
| let {ElemHide} = require("elemHide"); | 
| let {FilterNotifier} = require("filterNotifier"); | 
| let {FilterStorage} = require("filterStorage"); | 
| let {Prefs} = require("prefs"); | 
| let {Policy} = require("contentPolicy"); | 
| +let {Utils} = require("utils"); | 
| -FilterNotifier.on("elemhideupdate", () => port.emit("elemhideupdate")); | 
| +let isDirty = false; | 
| +FilterNotifier.on("elemhideupdate", () => | 
| +{ | 
| + // Notify content process asynchronously, only one message per update batch. | 
| + if (!isDirty) | 
| + { | 
| + isDirty = true; | 
| + Utils.runAsync(() => { | 
| + isDirty = false; | 
| + port.emit("elemhideupdate") | 
| + }); | 
| + } | 
| +}); | 
| port.on("getSelectors", () => ElemHide.getSelectors()); | 
| port.on("elemhideEnabled", ({frames, isPrivate}) => | 
| { | 
| if (!Prefs.enabled) | 
| return {enabled: false}; |