| Index: media/mojo/interfaces/media_drm_storage.mojom
|
| diff --git a/media/mojo/interfaces/media_drm_storage.mojom b/media/mojo/interfaces/media_drm_storage.mojom
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..a84dd6b2480cbd1f75a40343ae6ef02fe5301550
|
| --- /dev/null
|
| +++ b/media/mojo/interfaces/media_drm_storage.mojom
|
| @@ -0,0 +1,34 @@
|
| +// 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 media.mojom;
|
| +
|
| +import "url/mojo/origin.mojom";
|
| +
|
| +struct SessionData {
|
| + array<uint8> key_set_id;
|
| + string mime_type;
|
| +};
|
| +
|
| +// Allows MediaDrmBridge to store and retrieve persistent data. This is needed
|
| +// for features like per-origin provisioning and persistent license support.
|
| +interface MediaDrmStorage {
|
| + // Initializes |this| to be bound to the |origin|. This should not modify
|
| + // anything in the storage.
|
| + Initialize(url.mojom.Origin origin);
|
| +
|
| + // Saves |origin| in the storage after MediaDrm is provisioned for |origin|.
|
| + OnProvisioned() => (bool success);
|
| +
|
| + // Saves persistent session data for |session_id|.
|
| + SavePersistentSession(
|
| + string session_id, SessionData session_data) => (bool success);
|
| +
|
| + // Loads persistent session data for |session_id|.
|
| + // Upon failure, null |session_data| will be returned.
|
| + LoadPersistentSession(string session_id) => (SessionData? session_data);
|
| +
|
| + // Removes the persistent session data for |session_id|.
|
| + RemovePersistentSession(string session_id) => (bool success);
|
| +};
|
|
|