url_param_filter_classification.proto 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. // Copyright 2022 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. syntax = "proto2";
  5. option optimize_for = LITE_RUNTIME;
  6. package url_param_filter;
  7. message FilterParameter {
  8. optional string name = 1; // required, eg. the "foo" in "?foo=bar"
  9. }
  10. message FilterClassification {
  11. enum SiteRole {
  12. SITE_ROLE_UNKNOWN = 0;
  13. SOURCE = 1;
  14. DESTINATION = 2;
  15. }
  16. enum UseCase {
  17. USE_CASE_UNKNOWN = 0;
  18. CROSS_OTR = 1;
  19. CROSS_SITE_NO_3PC = 2;
  20. }
  21. enum SiteMatchType {
  22. MATCH_TYPE_UNKNOWN =
  23. 0; // Current behavior: default to EXACT_ETLD_PLUS_ONE.
  24. EXACT_ETLD_PLUS_ONE = 1; // Exact match on eTLD+1.
  25. ETLD_WILDCARD = 2; // Match on any eTLD, e.g. if site is "foo", match
  26. // "foo.com" and "foo.io".
  27. }
  28. optional string site = 1; // eTLD+1, required
  29. optional SiteRole site_role = 2; // required
  30. optional SiteMatchType site_match_type = 6;
  31. repeated FilterParameter parameters = 3;
  32. repeated UseCase use_cases = 4 [packed = true];
  33. repeated string experiment_tags = 5;
  34. }
  35. message FilterClassifications {
  36. repeated FilterClassification classifications = 1;
  37. }