| // 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 "mojo/common/file_path.mojom"; |
| import "url_loader.mojom"; |
| import "url_loader_factory.mojom"; |
| import "url/mojo/url.mojom"; |
| |
| // Parameters for constructing a network context. |
| struct NetworkContextParams { |
| // Points to the cookie file. If null, an in-memory database is used. |
| mojo.common.mojom.FilePath? cookie_path; |
| // Points to the cache directory. If null, an in-memory database is used. |
| mojo.common.mojom.FilePath? cache_dir; |
| }; |
| |
| // Represents a distinct context for making network requests, with its own |
| // storage (e.g. cookies and cache). |
| interface NetworkContext { |
| // |process_id| is 0 for requests initiated in the browser process, otherwise |
| // it's the child process ID. |
| CreateURLLoaderFactory(URLLoaderFactory& url_loader_factory, |
| uint32 process_id); |
| |
| // Handle a request to display cache data to the user. |url| is parsed to |
| // display different parts of the cache. |
| HandleViewCacheRequest(url.mojom.Url url, |
| URLLoaderClient client); |
| }; |
| |
| // Browser interface to the network service. |
| interface NetworkService { |
| // Creates a new network context with the given parameters. |
| CreateNetworkContext(NetworkContext& context, |
| NetworkContextParams params); |
| }; |