diff --git a/Sources/Brave/Frontend/Browser/Toolbars/BottomToolbar/Menu/HistoryViewController.swift b/Sources/Brave/Frontend/Browser/Toolbars/BottomToolbar/Menu/HistoryViewController.swift index 60b7c80cddb2..6e1d956fa929 100644 --- a/Sources/Brave/Frontend/Browser/Toolbars/BottomToolbar/Menu/HistoryViewController.swift +++ b/Sources/Brave/Frontend/Browser/Toolbars/BottomToolbar/Menu/HistoryViewController.swift @@ -13,6 +13,7 @@ import BraveCore import Favicon import UIKit import DesignSystem +import ScreenTime class HistoryViewController: SiteTableViewController, ToolbarUrlActionsProtocol { @@ -293,6 +294,13 @@ class HistoryViewController: SiteTableViewController, ToolbarUrlActionsProtocol // Reoving a history item should remove its corresponded Recently Closed item RecentlyClosed.remove(with: historyItem.url.absoluteString) + do { + let screenTimeHistory = try STWebHistory(bundleIdentifier: Bundle.main.bundleIdentifier!) + screenTimeHistory.deleteHistory(for: historyItem.url) + } catch { + assertionFailure("STWebHistory could not be initialized: \(error)") + } + if isHistoryBeingSearched { reloadDataAndShowLoading(with: searchQuery) } else { diff --git a/Sources/Brave/Frontend/Sync/BraveCore/History/HistoryAPIExtensions.swift b/Sources/Brave/Frontend/Sync/BraveCore/History/HistoryAPIExtensions.swift index 1d29d059c7c9..a14dd6621013 100644 --- a/Sources/Brave/Frontend/Sync/BraveCore/History/HistoryAPIExtensions.swift +++ b/Sources/Brave/Frontend/Sync/BraveCore/History/HistoryAPIExtensions.swift @@ -9,6 +9,7 @@ import BraveCore import BraveShared import CoreData import Shared +import ScreenTime extension BraveHistoryAPI { @@ -54,9 +55,17 @@ extension BraveHistoryAPI { } func deleteAll(completion: @escaping () -> Void) { + var screenTimeHistory: STWebHistory? + do { + screenTimeHistory = try STWebHistory(bundleIdentifier: Bundle.main.bundleIdentifier!) + } catch { + assertionFailure("STWebHistory could not be initialized: \(error)") + } + DispatchQueue.main.async { self.removeAll { Domain.deleteNonBookmarkedAndClearSiteVisits() { + screenTimeHistory?.deleteAllHistory() completion() } }