| // Copyright 2023 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef SERVICES_NETWORK_DATA_REMOVER_UTIL_H_ |
| #define SERVICES_NETWORK_DATA_REMOVER_UTIL_H_ |
| |
| #include <set> |
| #include <string> |
| |
| #include "services/network/public/mojom/clear_data_filter.mojom-forward.h" |
| #include "url/gurl.h" |
| #include "url/origin.h" |
| |
| namespace network { |
| |
| // A utility function to determine if a given |url| must be removed for a |
| // dataset. |
| // `filter_type` indicates if a given match should be keeped / deleted. |
| // `origins` set of url::Origins to match with |
| // `domains` set of strings representing registrable domains to match with |
| // Returns true if |url| matches any of the origins or domains, and |
| // filter_type == DELETE_MATCHES, or |url| doesn't match any of the origins or |
| // domains and filter_type == KEEP_MATCHES. |
| COMPONENT_EXPORT(NETWORK_SERVICE) |
| bool DoesUrlMatchFilter(mojom::ClearDataFilter_Type filter_type, |
| const std::set<url::Origin>& origins, |
| const std::set<std::string>& domains, |
| const GURL& url); |
| |
| } // namespace network |
| |
| #endif // SERVICES_NETWORK_DATA_REMOVER_UTIL_H_ |