From a8cc00d5e894c8538d2d02540c2ed70a9d04c409 Mon Sep 17 00:00:00 2001 From: TwizzyIndy Date: Mon, 30 Jan 2023 11:21:33 +0630 Subject: [PATCH] removed Deferred from TPStatsBlocklistChecker --- .../src/TabContentBlocker+ContentScript.swift | 2 +- .../src/TrackingProtectionPageStats.swift | 15 ++++++--------- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/content-blocker-lib-ios/src/TabContentBlocker+ContentScript.swift b/content-blocker-lib-ios/src/TabContentBlocker+ContentScript.swift index 8691ac532b7d..14cfbb7e72d1 100644 --- a/content-blocker-lib-ios/src/TabContentBlocker+ContentScript.swift +++ b/content-blocker-lib-ios/src/TabContentBlocker+ContentScript.swift @@ -30,7 +30,7 @@ extension TabContentBlocker { components.scheme = "http" guard let url = components.url else { return } - TPStatsBlocklistChecker.shared.isBlocked(url: url, mainDocumentURL: mainDocumentUrl).uponQueue(.main) { listItem in + TPStatsBlocklistChecker.shared.isBlocked(url: url, mainDocumentURL: mainDocumentUrl) { listItem in if let listItem = listItem { self.stats = self.stats.create(matchingBlocklist: listItem, host: url.host ?? "") } diff --git a/content-blocker-lib-ios/src/TrackingProtectionPageStats.swift b/content-blocker-lib-ios/src/TrackingProtectionPageStats.swift index af1f561555f6..8385a90ffe6d 100644 --- a/content-blocker-lib-ios/src/TrackingProtectionPageStats.swift +++ b/content-blocker-lib-ios/src/TrackingProtectionPageStats.swift @@ -35,24 +35,22 @@ class TPStatsBlocklistChecker { // Initialized async, is non-nil when ready to be used. private var blockLists: TPStatsBlocklists? - func isBlocked(url: URL, mainDocumentURL: URL) -> Deferred { - let deferred = Deferred() - + func isBlocked(url: URL, mainDocumentURL: URL, completionHandler: @escaping (BlocklistCategory?) -> Void) { guard let blockLists = blockLists, let host = url.host, !host.isEmpty else { // TP Stats init isn't complete yet - deferred.fill(nil) - return deferred + completionHandler(nil) + return } guard let domain = url.baseDomain, let docDomain = mainDocumentURL.baseDomain, domain != docDomain else { - deferred.fill(nil) - return deferred + completionHandler(nil) + return } // Make a copy on the main thread @@ -60,9 +58,8 @@ class TPStatsBlocklistChecker { DispatchQueue.global().async { // Return true in the Deferred if the domain could potentially be blocked - deferred.fill(blockLists.urlIsInList(url, mainDocumentURL: mainDocumentURL, safelistedDomains: safelistRegex)) + completionHandler(blockLists.urlIsInList(url, mainDocumentURL: mainDocumentURL, safelistedDomains: safelistRegex)) } - return deferred } func startup() {