blob: dc92e474c6b6bebcd13ab6aaa14029c4f73cb51d [file] [log] [blame]
// 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;
/// The top-level service interface which allows for the creation of
/// Context resources.
[Discoverable]
interface 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);
};
struct CreateContextParams {
/// Service directory to be used by the context.
// TODO(https://crbug.com/870057): Document required and optional services
// that Context needs.
handle<channel> 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.
handle<channel>? data_directory;
};