Opened 8 years ago

Closed 8 years ago

#5275 closed enhancement (fixed)

Chrome port should use default.rulesets rather than thousands of .xml files to improve compression

Reported by: pde Owned by: pde
Priority: High Milestone:
Component: HTTPS Everywhere/EFF-HTTPS Everywhere Version:
Severity: Keywords:
Cc: Actual Points:
Parent ID: #5274 Points:
Reviewer: Sponsor:

Description

Our Firefox build process makes a single <rulesetlibrary> that contains all of the HTTPS Everywhere rulesets As noted in #3404, that made our .xpi download file size significantly smaller.

The Firefox build process also strips comments and whitespace from default.rulesets, saving additional space.

These enhancements should be added to the Chrome port.

Child Tickets

Change History (6)

comment:1 Changed 8 years ago by pde

Priority: normalmajor

Upgrading the priority of this issue, since Negres's huge number of ruleset contributions is causing the Chrome builds to bloat (and bloat much more rapidly than the FF builds).

comment:2 Changed 8 years ago by pde

Summary: Chrome port should use default.rulesets rather than thousands of .xml filesChrome port should use default.rulesets rather than thousands of .xml files to improve compression

comment:3 Changed 8 years ago by pde

Implementation hint for people interested in working on this:

Merge the <rulesetlibrary> related portions of Firefox version's XML parser over to the Chromium XML parser, from which it is currently lacking. 

comment:4 Changed 8 years ago by pde

(discussing this ticket)

<FauxFaux> I assume that it's just porting half of the ff buildsystem over to the Chrome one.

<pde> FauxFaux: no, fortunately you don't need to do that, even

<pde> there's just one place in the Chrome build script where you would paste in a clause from the Firefox one
<pde> basically you need to port some of the logic from this function https://gitweb.torproject.org/https-everywhere.git/blob/master:/src/chrome/content/code/HTTPSRules.js#l250
<pde> into the Chrome equivalent
<pde> since the Chrome one doesn't know about <rulesetlibrary> yet
<pde> (don't worry about the gitcommitid stuff though, that's not yet relevant to the chrome port)

comment:6 Changed 8 years ago by pde

Resolution: fixed
Status: needs_reviewclosed

Merged.  This will shrink next week's Chrome release by a factor of 4 :)

Note: See TracTickets for help on using tickets.