blob: 64184f2ece9b6c970ae16a9631fab3bbf84ee56c [file] [log] [blame]
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "components/subresource_filter/content/browser/subresource_filter_observer_manager.h"
#include "components/subresource_filter/core/mojom/subresource_filter.mojom.h"
namespace subresource_filter {
SubresourceFilterObserverManager::SubresourceFilterObserverManager(
content::WebContents* web_contents) {}
SubresourceFilterObserverManager::~SubresourceFilterObserverManager() {
for (auto& observer : observers_)
observer.OnSubresourceFilterGoingAway();
}
void SubresourceFilterObserverManager::AddObserver(
SubresourceFilterObserver* observer) {
observers_.AddObserver(observer);
}
void SubresourceFilterObserverManager::RemoveObserver(
SubresourceFilterObserver* observer) {
observers_.RemoveObserver(observer);
}
void SubresourceFilterObserverManager::NotifySafeBrowsingChecksComplete(
content::NavigationHandle* navigation_handle,
const SubresourceFilterObserver::SafeBrowsingCheckResults& results) {
for (auto& observer : observers_) {
observer.OnSafeBrowsingChecksComplete(navigation_handle, results);
}
}
void SubresourceFilterObserverManager::NotifyPageActivationComputed(
content::NavigationHandle* navigation_handle,
const mojom::ActivationState& activation_state) {
for (auto& observer : observers_) {
observer.OnPageActivationComputed(navigation_handle, activation_state);
}
}
void SubresourceFilterObserverManager::NotifySubframeNavigationEvaluated(
content::NavigationHandle* navigation_handle,
LoadPolicy load_policy,
bool is_ad_subframe) {
for (auto& observer : observers_)
observer.OnSubframeNavigationEvaluated(navigation_handle, load_policy,
is_ad_subframe);
}
void SubresourceFilterObserverManager::NotifyAdSubframeDetected(
content::RenderFrameHost* render_frame_host) {
for (auto& observer : observers_)
observer.OnAdSubframeDetected(render_frame_host);
}
WEB_CONTENTS_USER_DATA_KEY_IMPL(SubresourceFilterObserverManager)
} // namespace subresource_filter