// Copyright 2022 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. module sandbox.mojom; // Context is complementary to Sandbox. This is an ordered list of // contexts to which an interface is allowed to be vended by other // mojo interfaces. Restricted interfaces are annotated with the RequireContext // attribute. Vending methods are annotated with the AllowedContext attribute. // If an interface is marked with RequireContext it can only be vended by // methods with a corresponding AllowedContext of the same type value or lower. // Do not mark this enum as Extensible or Stable. enum Context { // This should always be the first value. It corresponds only to the browser // process in Chromium and should not be assigned to other utilities, even // if they are unsandboxed. kBrowser, // Utilities that are allowed to receive privileged interfaces. Note that // this may not correspond to a sandbox level - sometimes it is possible to // tightly sandbox an otherwise privileged utility. kPrivilegedUtility, // This should always be the last value. Renderers and most services (however // they are sandboxed) will fall into this category. kLowest, };