Opened 7 months ago

Last modified 5 months ago

#6496 closed defect

Account for browsers that don't support notifications with buttons — at Version 2

Reported by: sebastian Assignee: sebastian
Priority: P2 Milestone: Adblock-Plus-3.1-for-Chrome-Opera-Firefox
Module: Platform Keywords:
Cc: greiner Blocked By:
Blocking: Platform: Unknown / Cross platform
Ready: yes Confidential: no
Tester: Ross Verified working: yes
Review URL(s):

https://codereview.adblockplus.org/29726570
https://codereview.adblockplus.org/29761562

Description (last modified by sebastian)

Background

  • Firefox throws a synchronous error when calling notifications.create({buttons: ...}).
  • Opera responds with an asynchrnous error when calling notifications.create({buttons: ...}).
  • Microsoft Edge doesn't support the notifications API at all (however, this case is handled).

This has been partially addressed in #5354 by not showing notifications of the type question (there is no point if there cannot be buttons), and removing any buttons from other kind of notifications, on Opera.

However, since Firefox throws synchronously, the error there isn't handled currently, causing error messages in the background page, and preventing any kind of notification from being shown on Firefox.

Furthermore, there is not much of a point in subscribing users (on installation) to the "Adblock Warning Removal List" if they cannot see the related notification anyway.

What to change

  • Handle the error thrown on Firefox, with the same fallback we have on Opera, i.e. ignore notifications of the type question and retry to show other notifications without buttons.
  • Don't subscribe users on browsers that don't support notifications with buttons (and therefore will ignore question notifications), by default, to the "Adblock Warning Removal List".

Change History (2)

comment:1 Changed 7 months ago by sebastian

  • Review URL(s) modified (diff)
  • Status changed from new to reviewing

comment:2 Changed 7 months ago by sebastian

  • Description modified (diff)
Note: See TracTickets for help on using tickets.