Commit cd0a5631 authored by Ian Clelland's avatar Ian Clelland Committed by Commit Bot

Enable FP reporting for geolocation violations.

This queues a report through the Reporting API whenever
getCurrentPosition is called from a frame in which geolocation is not
allowed according to feature policy.

Bug: 867471
Change-Id: Ib8d6bc794e5cdda07add3246580d858edc10a38d
Reviewed-on: https://chromium-review.googlesource.com/1191407
Commit-Queue: Ian Clelland <iclelland@chromium.org>
Reviewed-by: default avatarMiguel Casas <mcasas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#586766}
parent 2f182177
<!DOCTYPE html>
<html>
<head>
<script src='/resources/testharness.js'></script>
<script src='/resources/testharnessreport.js'></script>
</head>
<body>
<script>
var t = async_test("Geolocation Report Format");
var check_report_format = (reports, observer) => {
let report = reports[0];
assert_equals(report.type, "feature-policy");
assert_equals(report.url, document.location.href);
assert_equals(report.body.feature, "geolocation");
assert_equals(report.body.sourceFile, document.location.href);
assert_equals(typeof report.body.message, "string");
assert_equals(typeof report.body.lineNumber, "number");
assert_equals(typeof report.body.columnNumber, "number");
};
new ReportingObserver(t.step_func_done(check_report_format),
{types: ['feature-policy']}).observe();
navigator.geolocation.getCurrentPosition(
t.unreached_func("geolocation should be disabled in this document"),
() => {});
</script>
</body>
</html>
...@@ -224,8 +224,8 @@ void Geolocation::StartRequest(GeoNotifier* notifier) { ...@@ -224,8 +224,8 @@ void Geolocation::StartRequest(GeoNotifier* notifier) {
return; return;
} }
if (!GetFrame()->IsFeatureEnabled( if (!GetFrame()->IsFeatureEnabled(mojom::FeaturePolicyFeature::kGeolocation,
mojom::FeaturePolicyFeature::kGeolocation)) { ReportOptions::kReportOnFailure)) {
UseCounter::Count(GetDocument(), UseCounter::Count(GetDocument(),
WebFeature::kGeolocationDisabledByFeaturePolicy); WebFeature::kGeolocationDisabledByFeaturePolicy);
GetDocument()->AddConsoleMessage(ConsoleMessage::Create( GetDocument()->AddConsoleMessage(ConsoleMessage::Create(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment