chromium/services/network/public/mojom/timing_allow_origin.mojom

// Copyright 2021 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

module network.mojom;

union TimingAllowOrigin {
  // Per https://fetch.spec.whatwg.org/#concept-tao-check, the parsed values
  // are either an origin or "null". Normally, this would suggest that an
  // array of strongly-typed url.mojom.Origins should be used.
  //
  // However, https://fetch.spec.whatwg.org/#concept-tao-check defines the
  // actual check by comparing the serialized origin against the parsed values.
  // In this world, it's simpler to just pass around the literal parsed values,
  // as that eliminates the need to validate that explicitly-specified origins
  // are tuple origins or perform special checks for opaque origins.
  array<string> serialized_origins;
  // Note: the actual value is irrelevant here; this is just to create a
  // distinct union subtype.
  // TODO(crbug.com/40643013): Replace this with a real placeholder type.
  uint8 all;
};