Opened 7 years ago

Closed 6 years ago

Last modified 16 months ago

#5893 closed defect (fixed)

Breakage in Firefox 15 nightlies due to E4X deprecation

Reported by: pde Owned by: pde
Priority: Immediate Milestone:
Component: HTTPS Everywhere/EFF-HTTPS Everywhere Version:
Severity: Normal Keywords:
Cc: brian.carpenter@…, mikeperry, uu110@…, bandinfinite@… Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

Brian Carpenter reported UI breakage in the current (Firefox 15) nightly builds.

http://i.imgur.com/8m0fZ.png

Child Tickets

Change History (10)

comment:1 Changed 7 years ago by pde

I can reproduce this.  Error console shows me two errors that appear to be causing this:

Error: TypeError: can't wrap XML objects
Source File: chrome://https-everywhere/content/code/ApplicableList.js
Line: 195
Error: TypeError: can't wrap XML objects
Source File: chrome://https-everywhere/content/preferences.js
Line: 15

comment:2 Changed 7 years ago by pde

Cc: mikeperry added
Summary: UI breakage in Firefox 15 nightliesBreakage in Firefox 15 nightlies due to E4X deprecation

We also get these exceptions on lines 123, 125 and 127 of preferences.js

Googling this error message implies that it is normally caused by the use of "E4X".

It isn't at first obvious how that relates to places that are throwing these exceptions. However we use E4X in the functions ParseXmlRulesets and PraseOneRuleset, and the errors are being raised in places that refer to objects built from XML input in those functions.

So it seems that ParseXmlRulesets and ParseOneRuleset will need to be rewritten using some alternative non-E4X means of parsing XML rulesets.

comment:3 Changed 7 years ago by pde

Priority: criticalblocker

comment:4 Changed 7 years ago by pde

Cc: uu110@… added

Another person reported seeing this, CC'ing them here. What we need is a patch that replaces all the E4X in ParseXmlRulesets and ParseOneRuleset with either cruder DOM inspection, or JXON.

comment:5 Changed 7 years ago by JC_Yang

Cc: bandinfinite@… added

comment:6 Changed 7 years ago by schoen

Status: newneeds_review

Commit fc91c08f4a4260a123d3563fd0bd9765a7498d3d is meant to address this (via the "cruder DOM inspection" approach, getting rid of all the E4X syntax).

comment:7 Changed 7 years ago by pde

That commit seems to work for me in FF 15.

comment:8 Changed 7 years ago by cypherpunks

That commit still does not fix the bug #6035.

comment:9 Changed 6 years ago by pde

Resolution: fixed
Status: needs_reviewclosed

comment:10 Changed 16 months ago by teor

Severity: Normal

Set all tickets without a severity to "Normal"

Note: See TracTickets for help on using tickets.