// Copyright 2023 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. module drivefs.mojom; [Stable, Extensible] enum ExtensionConnectionStatus { kSuccess, kExtensionNotFound, kFeatureNotEnabled, [Default] kUnknownError, }; // Implemented in the browser and used from DriveFS. // Roughly corresponds to a native messaging port to the extension and allows // sending messages from the DriveFS process to the extension. [Stable] interface NativeMessagingPort { // Send a native |message| to the extension. |message| is an // opaque string in an extension-specific format. PostMessageToExtension@0(string message); }; // Implemented in DriveFS and used from the browser. // Roughly corresponds to a native messaging host instance and allows // processing of requests from the extension by the DriveFS process. // It's up to the extension and the host to agree to message ordering. [Stable] interface NativeMessagingHost { // Process |message| from the extension. |message| is an // opaque string in an extension-specific format. HandleMessageFromExtension@0(string message); }; // Configuration of the connection between extension and DriveFS. [Stable] struct ExtensionConnectionParams { string extension_id@0; };