2020-07-02 20:43:04 +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 04:05:26 +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();
};
2020-07-02 20:43:04 +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);
2020-07-18 03:34:09 +03:00
/**
* Will emit 'juggler-screencast-stopped' when the video file is saved.
*/
2020-10-15 02:14:24 +03:00
void stopVideoRecording(in AString sessionId);
2021-05-07 05:11:42 +03:00
void screencastFrameAck(in AString sessionId);
2020-07-02 20:43:04 +03:00
};