| Index: lib/ui.js | 
| =================================================================== | 
| --- a/lib/ui.js | 
| +++ b/lib/ui.js | 
| @@ -419,10 +419,19 @@ | 
| this.updateState(); | 
| }.bind(this)); | 
|  | 
| -    notificationTimer = Cc["@mozilla.org/timer;1"].createInstance(Ci.nsITimer); | 
| -    notificationTimer.initWithCallback(this.showNextNotification.bind(this), | 
| -                                       3 * 60 * 1000, Ci.nsITimer.TYPE_ONE_SHOT); | 
| -    onShutdown.add(() => notificationTimer.cancel()); | 
| +    Notification.addShowListener(notification => | 
| +    { | 
| +      let window = this.currentWindow; | 
| +      if (!window) | 
| +        return; | 
| + | 
| +      let button = window.document.getElementById("abp-toolbarbutton") | 
| +          || window.document.getElementById("abp-status"); | 
| +      if (!button) | 
| +        return; | 
| + | 
| +      this._showNotification(window, button, notification); | 
| +    }); | 
|  | 
| // Add "anti-adblock messages" notification | 
| initAntiAdblockNotification(); | 
| @@ -433,7 +442,7 @@ | 
| if (!(subject instanceof Ci.nsIDOMWindow)) | 
| return; | 
|  | 
| -        this.showNextNotification(subject.location.href); | 
| +        Notification.showNext(subject.location.href); | 
| }.bind(UI) | 
| }; | 
| Services.obs.addObserver(documentCreationObserver, "content-document-global-created", false); | 
| @@ -1849,24 +1858,6 @@ | 
| } | 
| }, | 
|  | 
| -  showNextNotification: function(url) | 
| -  { | 
| -    let window = this.currentWindow; | 
| -    if (!window) | 
| -      return; | 
| - | 
| -    let button = window.document.getElementById("abp-toolbarbutton") | 
| -      || window.document.getElementById("abp-status"); | 
| -    if (!button) | 
| -      return; | 
| - | 
| -    let notification = Notification.getNextToShow(url); | 
| -    if (!notification) | 
| -      return; | 
| - | 
| -    this._showNotification(window, button, notification); | 
| -  }, | 
| - | 
| _showNotification: function(window, button, notification) | 
| { | 
| let panel = window.document.getElementById("abp-notification"); | 
| @@ -1932,6 +1923,8 @@ | 
| window.document.getElementById("abp-notification-yes").onclick = buttonHandler.bind(null, true); | 
| window.document.getElementById("abp-notification-no").onclick = buttonHandler.bind(null, false); | 
| } | 
| +    else | 
| +      Notification.markAsShown(notification.id); | 
|  | 
| panel.setAttribute("class", "abp-" + notification.type); | 
| panel.setAttribute("noautohide", notification.type === "question"); | 
|  |