Index: net/reporting/reporting_delivery_agent.cc |
diff --git a/net/reporting/reporting_delivery_agent.cc b/net/reporting/reporting_delivery_agent.cc |
index d875f468b88c2200f6a5df4c1594c34c93607202..8e8661770df6b6dbc7531fa8fa7a94576a26ac56 100644 |
--- a/net/reporting/reporting_delivery_agent.cc |
+++ b/net/reporting/reporting_delivery_agent.cc |
@@ -16,6 +16,7 @@ |
#include "base/timer/timer.h" |
#include "base/values.h" |
#include "net/reporting/reporting_cache.h" |
+#include "net/reporting/reporting_delegate.h" |
#include "net/reporting/reporting_endpoint_manager.h" |
#include "net/reporting/reporting_observer.h" |
#include "net/reporting/reporting_report.h" |
@@ -115,6 +116,9 @@ class ReportingDeliveryAgentImpl : public ReportingDeliveryAgent, |
std::map<OriginGroup, std::vector<const ReportingReport*>> |
origin_group_reports; |
for (const ReportingReport* report : reports) { |
+ url::Origin origin(report->url); |
+ if (!delegate()->CanSendReport(origin)) |
+ continue; |
OriginGroup origin_group(url::Origin(report->url), report->group); |
origin_group_reports[origin_group].push_back(report); |
} |
@@ -186,6 +190,7 @@ class ReportingDeliveryAgentImpl : public ReportingDeliveryAgent, |
const ReportingPolicy& policy() { return context_->policy(); } |
base::TickClock* tick_clock() { return context_->tick_clock(); } |
+ ReportingDelegate* delegate() { return context_->delegate(); } |
ReportingCache* cache() { return context_->cache(); } |
ReportingUploader* uploader() { return context_->uploader(); } |
ReportingEndpointManager* endpoint_manager() { |