Opened 6 years ago

Closed 6 years ago

Last modified 3 years ago

#261 closed defect (fixed)

FilterNotifier doesn't support listeners removing themselves when triggered

Reported by: trev Assignee: trev
Priority: P1 Milestone: Adblock-Plus-2.6-for-Firefox
Module: Core Keywords:
Cc: smultron45@… Blocked By:
Blocking: Platform:
Ready: yes Confidential: no
Tester: Verified working: no
Review URL(s):

http://codereview.adblockplus.org/5743624616673280/
http://codereview.adblockplus.org/5650509725696000/

Description

How to reproduce

See https://github.com/greasemonkey/greasemonkey/issues/1827

Background

ui.js listens to the load event via FilterNotifier. That listener removes itself when it is triggered. This disrupts the for ... each loop used by FilterNotifier so that it produces an error (second listener here is from sync.js).

FilterNotifier needs to make a copy of the listeners array before triggering them.

Change History (9)

comment:1 Changed 6 years ago by mapx

  • Cc smultron45@… added

comment:2 Changed 6 years ago by trev

  • Owner set to trev
  • Status changed from new to assigned

comment:3 Changed 6 years ago by trev

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

comment:5 Changed 6 years ago by trev

  • Milestone set to Adblock-Plus-for-Firefox-next

comment:6 Changed 4 years ago by matze

  • Blocking 3540 added

comment:7 Changed 4 years ago by matze

  • Blocking 3540 removed

comment:8 Changed 4 years ago by matze

  • Blocking 3807 added

comment:9 Changed 3 years ago by fred

  • Blocking 3807 removed
Note: See TracTickets for help on using tickets.