2021-04-10 08:13:19 +03:00
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsISupports.idl"
interface nsIDocShell;
2021-05-08 07:47:40 +03:00
[scriptable, uuid(0b5d32c4-aeeb-11eb-8529-0242ac130003)]
interface nsIScreencastServiceClient : nsISupports
{
void screencastFrame(in AString frame, in uint32_t deviceWidth, in uint32_t deviceHeight);
void screencastStopped();
};
2021-04-10 08:13:19 +03:00
/**
* Service for recording window video.
*/
[scriptable, uuid(d8c4d9e0-9462-445e-9e43-68d3872ad1de)]
interface nsIScreencastService : nsISupports
{
2021-05-11 08:01:41 +03:00
AString startVideoRecording(in nsIScreencastServiceClient client, in nsIDocShell docShell, in boolean isVideo, in ACString fileName, in uint32_t width, in uint32_t height, in uint32_t quality, in uint32_t viewportWidth, in uint32_t viewportHeight, in uint32_t offset_top);
2021-04-10 08:13:19 +03:00
/**
* Will emit 'juggler-screencast-stopped' when the video file is saved.
*/
void stopVideoRecording(in AString sessionId);
2021-05-08 07:47:40 +03:00
void screencastFrameAck(in AString sessionId);
2021-04-10 08:13:19 +03:00
};