Open Bug 1466247 Opened 6 years ago Updated 2 years ago

Move from a single tracking flag to a matchedinfo object


(Toolkit :: Safe Browsing, enhancement, P3)





(Reporter: francois, Unassigned)



- nsUrlClassifierClassifyCallback::HandleEvent() should include, in its
  OnClassifyComplete() call, a new "matched info" object that will contain
  all of [[][mMatchedArray]] and methods like:
  - IsBlockableTracker() -- urlclassifier.trackingTable
  - IsThottleable() -- urlclassifier.throttleableTrackingTable
  - IsTracker() -- urlclassifier.trackingAnnotationTable
  - (later we'll add IsAd(), IsAnalytics()...)

- move the [[][selection of the highest-priority match]] to a function inside
  [[][ClassifyMatchedInfo]] so that [[][nsChannelClassifier]], [[][PrincipalFlashClassifier]]
  and [[][LoginWhitelist]] can use it whereas [[][TrackingURICallback]] won't need to do it

- change [[][mList]] to be the "matched info" object

- in TrackingURICallback::OnTrackerFound(), change
  nsChannelClassifier::ShouldEnableTrackingProtection() to pass in a list of
  the tables that matched and an output param to set the list & provider

- change nsIDocument::mTrackingScripts array to store "matched info" objects

- change nsIDocument::IsTrackingScript() to return objects

- update all existing users of tracking annotations to use these objects
  instead the of various mIsTracking flags
Blocks: 1466249
Blocks: 1461921
No longer blocks: antitracking
No longer blocks: 1466249
Priority: -- → P2
Priority: P2 → P3
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.