Add CloakedCnameDetector and TrackerDataDownloader to the api - #9801
Merged
aibrahim- merged 1 commit intoSep 23, 2026
Conversation
Contributor
|
aibrahim-
added this pull request to stack #9805
September 17, 2026 10:20
aibrahim-
force-pushed
the
feature/aibrahim/tracker-detection/phase2-cname-downloader-api
branch
from
September 17, 2026 10:28
87a1b2c to
3f62389
Compare
aibrahim-
marked this pull request as ready for review
September 21, 2026 13:12
There was a problem hiding this comment.
Claude Code Review
This repository is configured for manual code reviews. Comment @claude review for a one-time review, or @claude review always to subscribe this PR to a review on every future push.
Tip: disable this comment in your organization's Code Review settings.
CloakedCnameDetector's interface moves out of :app into tracker-detection-api, keeping its package so WebViewRequestInterceptor needs no import change. CloakedCnameRefresher stays next to the implementation: it is only used by TrackerDataLoader and travels with the impl rather than the public surface. TrackerDataDownloader becomes an interface in the api, mirroring HttpsUpgradeDataDownloader. The interface keeps the legacy FQN so AppConfigurationDownloader, BlockList and TrackerDataDevReceiver are untouched; the concrete class becomes RealTrackerDataDownloader and is bound with @ContributesBinding. Asana: https://app.asana.com/1/137249556945/task/1216988666467280 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
aibrahim-
force-pushed
the
feature/aibrahim/tracker-detection/phase2-cname-downloader-api
branch
from
September 22, 2026 10:09
3f62389 to
2366e26
Compare
landomen
approved these changes
Sep 23, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Task/Issue URL: https://app.asana.com/1/137249556945/task/1216988666467280
Tech Design URL (if applicable): https://app.asana.com/1/137249556945/task/1216706645739239
API Proposals URL(s) (if applicable): to follow — will be added before merge
Description
Phase 2 of the tracker-detection extraction. No behaviour change.
CloakedCnameDetector's interface moves out of:appintotracker-detection-api, keeping its package soWebViewRequestInterceptorneeds no import change.CloakedCnameRefresherdeliberately stays next to the implementation: its only consumer isTrackerDataLoader, so it travels with the impl rather than becoming public surface.TrackerDataDownloaderbecomes an interface in the api, mirroring the existingHttpsUpgradeDataDownloader(sameCompletableshape, andhttpsupgrade-apiis the precedent for rxjava in an api module). The interface keeps the legacy FQN soAppConfigurationDownloader,BlockListandTrackerDataDevReceiverare untouched; the concrete class becomesRealTrackerDataDownloader, bound with@ContributesBinding.Steps to test this PR
TDS still downloads and CNAME cloaking is still detected
UI changes