Closed Bug 1603779 Opened 5 years ago Closed 4 years ago

Convert doh-rollout system add-on into a JSM

Categories

(Firefox :: Security, task, P1)

task

Tracking

()

RESOLVED FIXED
Firefox 80
Tracking Status
firefox80 --- fixed

People

(Reporter: nhnt11, Assigned: nhnt11)

References

(Depends on 3 open bugs, Blocks 3 open bugs)

Details

Attachments

(6 files, 2 obsolete files)

47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review

We landed the DoH heuristics and opt-out UI in an add-on to aid with the imminent rollout. This is not ideal and we should pay our dues and convert the code to a JSM.

This will likely be done in the 75 cycle. 74 is looking tough and for 73 we're focusing on writing tests and fixing UX issues.

I started working on this. It will land either in 75 or 76 - more likely 76.

Assignee: nobody → nhnt11
Status: NEW → ASSIGNED
Priority: P3 → P2
Blocks: 1602765
Blocks: 1357205
See Also: → 1616982

My attention has since been diverted and at this point I'd probably rather start from scratch rather than resurrect my WIP. Unassigning for now, let me see if I can get this into the engineering plan for an upcoming release...

Assignee: nhnt11 → nobody
Status: ASSIGNED → NEW
Assignee: nobody → nhnt11
Status: NEW → ASSIGNED
Attachment #9154727 - Attachment description: Bug 1603779 - Port doh-rollout add-on into JSMs. r=johannh!,valentin! → Bug 1603779 - Part 1: Implement DoHController.jsm and DoHHeuristics.jsm and minimalize doh-rollout extension. r=prathiksha!,valentin!

A couple of notes for reviewers (needinfo'ing for visibility):

  1. The doh-rollout add-on needs to continue to exist just so its local storage can continue to be read by our migration code. I've reduced it to a stub (just a manifest) and I'm looking into what it'll take to remove it completely - this'll be follow-up work.
  2. There are a few changes in semantics that clean up and simplify the code - for example the "skipHeuristicsCheck" pref value is now something we recompute every time and we don't bother migrating old values etc. It only exists to suppress the doorhanger anyway, at this point. I'm going to file a follow-up to either rename it or find a way to get rid of it entirely.
  3. Network link change/captive portal state change handling is implemented in parity with the old code - I'll rework that to use the network connectivity service in a follow-up.
  4. The patches are split up to try and make it easy to follow the process of converting this code, for easy reviewing. I'll probably squash the commits into one before landing - I can do that immediately too if you prefer.

I think that's the important stuff. The rest, we can cover inline on phabricator :)

Flags: needinfo?(valentin.gosu)
Flags: needinfo?(prathikshaprasadsuman)
Priority: P2 → P1
Target Milestone: --- → Firefox 80
Attachment #9161068 - Attachment description: Bug 1603779 - Part 3: Update head.js and browser_cleanFlow.js. r=prathiksha! → Bug 1603779 - Part 3: Update tests. r=prathiksha!
Attachment #9161071 - Attachment is obsolete: true
Attachment #9161070 - Attachment is obsolete: true
Attachment #9161072 - Attachment description: Bug 1603779 - Part 6: Mass rename prefs in tests to remove DOH_ suffix. r=prathiksha! → Bug 1603779 - Part 4: Mass rename prefs in tests to remove DOH_ suffix. r=prathiksha!

Excitingly, the latest try run is looking totally green at least as far as DoH stuff goes: https://treeherder.mozilla.org/#/jobs?repo=try&revision=e972457623dc10e17db0ddc952a06fc9fd84fdcd

Flags: needinfo?(valentin.gosu)
Attachment #9161068 - Attachment is obsolete: true
Attachment #9161068 - Attachment is obsolete: false
Depends on: 1652028
Depends on: 1652030
Depends on: 1652033
Pushed by nhnt11@gmail.com: https://hg.mozilla.org/integration/autoland/rev/8a75fac54cb2 Part 1: Implement DoHController.jsm and DoHHeuristics.jsm and minimalize doh-rollout extension. r=valentin https://hg.mozilla.org/integration/autoland/rev/3809cc7bf203 Part 2: Move doh-rollout mochitests into browser/components/doh/test/. r=Gijs https://hg.mozilla.org/integration/autoland/rev/06f445e2ed29 Part 3: Update tests. r=Gijs https://hg.mozilla.org/integration/autoland/rev/17fac618c084 Part 4: Mass rename prefs in tests to remove DOH_ suffix. r=Gijs https://hg.mozilla.org/integration/autoland/rev/66f07eec311b Part 5: Make browser_connection_dnsoverhttps.js properly reset DoHController state between tests. r=Gijs,preferences-reviewers https://hg.mozilla.org/integration/autoland/rev/7341f7757a0b Part 6: Remove now-obsolete exceptions from .eslintrc.js. r=Gijs
Depends on: 1652510
Flags: needinfo?(prathikshaprasadsuman)
See Also: → 1654770
Depends on: 1713454
No longer depends on: 1652030
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: