Skip to content

Commit 2f334e2

Browse files
authored
Move FaviconService (#23905)
1 parent 0e5b61f commit 2f334e2

File tree

3 files changed

+9
-7
lines changed

3 files changed

+9
-7
lines changed

WordPress/Classes/Utility/Media/FaviconService.swift renamed to Modules/Sources/WordPressMedia/FaviconService.swift

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import UIKit
22

3-
// Fetches URLs for favicons for sites.
4-
actor FaviconService {
5-
static let shared = FaviconService()
3+
/// Fetches URLs for favicons for sites.
4+
public actor FaviconService {
5+
public static let shared = FaviconService()
66

77
private nonisolated let cache = FaviconCache()
88

@@ -14,12 +14,12 @@ actor FaviconService {
1414

1515
private var tasks: [URL: FaviconTask] = [:]
1616

17-
nonisolated func cachedFavicon(forURL siteURL: URL) -> URL? {
17+
nonisolated public func cachedFavicon(forURL siteURL: URL) -> URL? {
1818
cache.cachedFavicon(forURL: siteURL)
1919
}
2020

2121
/// Returns a favicon URL for the given site.
22-
func favicon(forURL siteURL: URL) async throws -> URL {
22+
public func favicon(forURL siteURL: URL) async throws -> URL {
2323
if let faviconURL = cache.cachedFavicon(forURL: siteURL) {
2424
return faviconURL
2525
}
@@ -57,7 +57,7 @@ actor FaviconService {
5757
}
5858
}
5959

60-
enum FaviconError: Error {
60+
public enum FaviconError: Error, Sendable {
6161
case unacceptableStatusCode(_ code: Int)
6262
}
6363

@@ -105,7 +105,7 @@ private final class FaviconTask {
105105
var isCancelled = false
106106
var task: Task<URL, Error>
107107

108-
init(_ closure: @escaping () async throws -> URL) {
108+
init(_ closure: @escaping @Sendable () async throws -> URL) {
109109
self.task = Task { try await closure() }
110110
}
111111
}

WordPress/Classes/ViewRelated/Reader/Cards/ReaderPostCellViewModel.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import Foundation
2+
import WordPressMedia
23

34
final class ReaderPostCellViewModel {
45
// Header

WordPress/Classes/ViewRelated/Reader/Views/ReaderSiteIconView.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import SwiftUI
2+
import WordPressMedia
23

34
struct ReaderSiteIconView: View, Hashable {
45
let site: ReaderSiteTopic

0 commit comments

Comments
 (0)