#include "components/subresource_filter/content/browser/safe_browsing_child_navigation_throttle.h"
#include <optional>
#include <string>
#include <utility>
#include "base/feature_list.h"
#include "base/functional/callback.h"
#include "base/memory/weak_ptr.h"
#include "base/metrics/histogram_macros.h"
#include "base/time/time.h"
#include "components/subresource_filter/content/browser/ad_tagging_utils.h"
#include "components/subresource_filter/content/browser/subresource_filter_observer_manager.h"
#include "components/subresource_filter/content/shared/browser/child_frame_navigation_filtering_throttle.h"
#include "components/subresource_filter/core/browser/async_document_subresource_filter.h"
#include "components/subresource_filter/core/common/common_features.h"
#include "components/subresource_filter/core/common/time_measurements.h"
#include "content/public/browser/navigation_handle.h"
#include "third_party/blink/public/common/frame/frame_ad_evidence.h"
#include "url/gurl.h"
namespace features {
BASE_FEATURE(…);
}
namespace subresource_filter {
SafeBrowsingChildNavigationThrottle::SafeBrowsingChildNavigationThrottle(
content::NavigationHandle* handle,
AsyncDocumentSubresourceFilter* parent_frame_filter,
base::RepeatingCallback<std::string(const GURL& url)>
disallow_message_callback,
std::optional<blink::FrameAdEvidence> ad_evidence)
: … { … }
SafeBrowsingChildNavigationThrottle::~SafeBrowsingChildNavigationThrottle() { … }
const char* SafeBrowsingChildNavigationThrottle::GetNameForLogging() { … }
bool SafeBrowsingChildNavigationThrottle::ShouldDeferNavigation() const { … }
void SafeBrowsingChildNavigationThrottle::
OnReadyToResumeNavigationWithLoadPolicy() { … }
void SafeBrowsingChildNavigationThrottle::NotifyLoadPolicy() const { … }
}