| // Copyright 2018 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. |
| |
| library chromium.web; |
| |
| using fuchsia.io; |
| |
| /// The top-level service interface which allows for the creation of |
| /// Context resources. |
| [Discoverable] |
| protocol ContextProvider { |
| /// Creates a new browser Context whose state is wholly independent and |
| /// isolated from other Contexts. |
| /// |
| /// context: An interface request which will receive a bound Context |
| /// service. |
| Create(CreateContextParams params, request<Context> context); |
| }; |
| |
| table CreateContextParams { |
| /// Service directory to be used by the context. |
| // TODO(https://crbug.com/870057): Document required and optional services |
| // that Context needs. |
| 1: fuchsia.io.Directory service_directory; |
| |
| /// Handle to the directory that will contain the Context's |
| /// persistent data. If it is left unset, then the created Context will be |
| /// stateless, with all of its data discarded upon Context destruction. |
| 2: fuchsia.io.Directory data_directory; |
| }; |