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

module content.mojom;

import "services/network/public/mojom/url_loader_factory.mojom";
import "url/mojom/origin.mojom";

// A collection of URLLoaderFactory interfaces.
//
// All URLLoaderFactories below are optional.  This supports a scenario where
// URLLoaderFactoryBundle contains only the factories that need to be updated
// (and allows leaving out factories that should not be updated/cloberred).
// See also content::URLLoaderFactoryBundle::Update.
struct URLLoaderFactoryBundle {
  // The default factory to be used when no others apply.
  //
  // TODO(jam): https://crbug.com/887109: Remove |default_factory| and put it
  // inside |scheme_specific_factories| instead.
  network.mojom.URLLoaderFactory? default_factory;

  // A mapping from URL scheme to factory interface.
  map<string, network.mojom.URLLoaderFactory> scheme_specific_factories;

  // A mapping from request-initiator-origin to factory interface.
  map<url.mojom.Origin, network.mojom.URLLoaderFactory>
      initiator_specific_factories;

  // Whether redirect checks should be bypassed, since they are happening in the
  // browser.
  bool bypass_redirect_checks = false;
};
