blob: 24ac0fcf26bebb0667070481de9234fd085799aa [file] [log] [blame]
// 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 blink.mojom;
import "services/network/public/mojom/url_loader_factory.mojom";
import "url/mojom/origin.mojom";
// A collection of URLLoaderFactory interfaces.
//
// 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 blink::URLLoaderFactoryBundle::Update.
struct URLLoaderFactoryBundle {
// The default factory to be used when no others apply.
// This must be non-null for a navigation commit when NetworkService is
// enabled. (In other cases all factories including this are optional)
//
// 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;
// A special factory that is used for AppCache.
// TODO(https://crbug.com/582750): Drop this when AppCache is deprecated.
network.mojom.URLLoaderFactory? appcache_factory;
// Whether redirect checks should be bypassed, since they are happening in the
// browser.
bool bypass_redirect_checks = false;
};