tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

ChromiumCDMCallback.h (1950B)


      1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
      2 /* This Source Code Form is subject to the terms of the Mozilla Public
      3 * License, v. 2.0. If a copy of the MPL was not distributed with this
      4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      5 
      6 #ifndef ChromiumCDMCallback_h_
      7 #define ChromiumCDMCallback_h_
      8 
      9 #include "mozilla/CDMProxy.h"
     10 #include "mozilla/dom/MediaKeyMessageEventBinding.h"  // For MediaKeyMessageType
     11 #include "mozilla/dom/MediaKeyStatusMapBinding.h"     // For MediaKeyStatus
     12 #include "mozilla/gmp/GMPTypes.h"                     // For CDMKeyInformation
     13 
     14 namespace mozilla {
     15 class ErrorResult;
     16 }
     17 
     18 class ChromiumCDMCallback {
     19 public:
     20  virtual ~ChromiumCDMCallback() = default;
     21 
     22  virtual void SetSessionId(uint32_t aPromiseId,
     23                            const nsCString& aSessionId) = 0;
     24 
     25  virtual void ResolveLoadSessionPromise(uint32_t aPromiseId,
     26                                         bool aSuccessful) = 0;
     27 
     28  virtual void ResolvePromiseWithKeyStatus(uint32_t aPromiseId,
     29                                           uint32_t aKeyStatus) = 0;
     30 
     31  virtual void ResolvePromise(uint32_t aPromiseId) = 0;
     32 
     33  virtual void RejectPromise(uint32_t aPromiseId, mozilla::ErrorResult&& aError,
     34                             const nsCString& aErrorMessage) = 0;
     35 
     36  virtual void SessionMessage(const nsACString& aSessionId,
     37                              uint32_t aMessageType,
     38                              nsTArray<uint8_t>&& aMessage) = 0;
     39 
     40  virtual void SessionKeysChange(
     41      const nsCString& aSessionId,
     42      nsTArray<mozilla::gmp::CDMKeyInformation>&& aKeysInfo) = 0;
     43 
     44  virtual void ExpirationChange(const nsCString& aSessionId,
     45                                double aSecondsSinceEpoch) = 0;
     46 
     47  virtual void SessionClosed(const nsCString& aSessionId) = 0;
     48 
     49  virtual void QueryOutputProtectionStatus() = 0;
     50 
     51  virtual void Terminated() = 0;
     52 
     53  virtual void Shutdown() = 0;
     54 };
     55 
     56 #endif