// Copyright 2017 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // Based on net::ReportingPolicy class declaration. syntax = "proto2"; import "testing/libfuzzer/proto/json.proto"; package net_reporting_policy_proto; // TODO(chlily): Can we get rid of this proto? ReportingHeaderParser doesn't // really consider any of the ReportingPolicy fields except maybe // max_endpoint_count. message ReportingPolicy { // TODO: consider implementing proto for endpoint_backoff_policy. required uint64 max_report_count = 1; required uint64 max_endpoint_count = 2; required uint64 delivery_interval_us = 3; required uint64 persistence_interval_us = 4; required bool persist_reports_across_restarts = 5; required bool persist_clients_across_restarts = 6; required uint64 garbage_collection_interval_us = 7; required uint64 max_report_age_us = 8; required int32 max_report_attempts = 9; required bool persist_reports_across_network_changes = 10; required bool persist_clients_across_network_changes = 11; optional uint64 max_endpoints_per_origin = 12 [default = 40]; optional uint64 max_group_staleness_us = 13 [default = 604800000000]; } message ReportingHeaderParserFuzzInput { required ReportingPolicy policy = 1; required json_proto.JsonObject headers = 2; }