Opened on 06/27/2016 at 12:47:15 PM
Closed on 09/19/2016 at 12:08:56 PM
Last modified on 10/19/2016 at 11:05:30 AM
#4198 closed defect (fixed)
TypeError: domains[Symbol.iterator] is not a function in Firefox 38-40
Reported by: | Ross | Assignee: | trev |
---|---|---|---|
Priority: | P1 | Milestone: | Adblock-Plus-2.8-for-Firefox |
Module: | Adblock-Plus-for-Firefox | Keywords: | |
Cc: | trev | Blocked By: | |
Blocking: | Platform: | Firefox | |
Ready: | yes | Confidential: | no |
Tester: | Ross | Verified working: | yes |
Review URL(s): |
Description (last modified by trev)
Environment
ABP 2.7.3.4184-beta
Firefox 38-40 / Windows 7
Does not occur with:
Firefox 41-44 / Windows 7
How to reproduce
- Navigate to https://testpages.adblockplus.org/en/testsuite/05
- Select [ABP Icon] > [Filter preferences...] > [Custom filters] tab.
- Add the custom filter testpages.adblockplus.org##.abp-test-hiding-filter
- Notice the filter does not affect the page.
-OR-
- Open Firefox console (CTRL+SHIFT+J).
- Install latest Firefox dev build.
- Observe error appears after installing.
Observed behaviour
Filters do not work (at least custom element hiding rules) and the following error is displayed in the console:
TypeError: domains[Symbol.iterator] is not a function elemHide.js:238:0
Expected behaviour
Filters to work as normal and the error to not occur.
Background
We send a Map object as a message parameter - it seem that Firefox 40 and below will turn that one into an empty object even though structured clone algorithm is supposed to clone Map and Set objects just fine.
Attachments (0)
Change History (10)
comment:1 Changed on 06/27/2016 at 12:47:53 PM by Ross
comment:2 Changed on 06/27/2016 at 12:55:05 PM by Ross
- Description modified (diff)
- Summary changed from TypeError: domains[Symbol.iterator] is not a function in Firefox 38/39 to TypeError: domains[Symbol.iterator] is not a function in Firefox 38-40
comment:3 Changed on 08/25/2016 at 02:10:18 PM by Ross
Still occurs in 2.7.3.4197-beta
Firefox 38 / Windows 7
comment:4 Changed on 09/09/2016 at 02:28:52 PM by Ross
This seems to completely break user's custom element hiding filters. Filters from subscriptions appear to work (I think, based on lack of ads), but using a custom filter of ##body for example (to hide the whole document) does not work in Firefox 38-40.
comment:5 Changed on 09/09/2016 at 05:38:17 PM by trev
- Priority changed from Unknown to P1
- Ready set
comment:6 Changed on 09/12/2016 at 08:48:48 AM by trev
- Component changed from Core to Adblock-Plus-for-Firefox
- Description modified (diff)
- Owner set to trev
comment:7 Changed on 09/12/2016 at 09:12:27 AM by trev
- Review URL(s) modified (diff)
- Status changed from new to reviewing
comment:8 Changed on 09/19/2016 at 12:07:43 PM by abpbot
A commit referencing this issue has landed:
Issue 4198 - Don't send Map objects in messages when using Firefox 40 and below
comment:9 Changed on 09/19/2016 at 12:08:56 PM by trev
- Milestone set to Adblock-Plus-for-Firefox-next
- Resolution set to fixed
- Status changed from reviewing to closed
comment:10 Changed on 10/19/2016 at 11:05:30 AM by Ross
- Tester changed from Unknown to Ross
- Verified working set
Fixed.
ABP 2.7.3.4214-beta
Firefox 39 / 40 / Windows 7
Noticed while testing #4067.