Lynx

Recording

This page documents the Recording CDP domain supported by Lynx DevTool.

Experimental reference

This generated reference is still being completed.

  • CDP events are not included yet.
  • Some Lynx extensions are listed but do not yet have detailed documentation.
  • Method descriptions are not automatically verified against the implementation and may be incomplete or inaccurate.

Verify behavior against the implementation and the linked upstream CDP reference before relying on it.

Overview

  • Scope: global-and-instance
  • CDP domain: Lynx-specific

Lynx Extensions

Recording.end

Stops TestBench recording and emits stream handles for generated recording files.

  • Origin: lynx-extension
  • Source: devtool/lynx_devtool/agent/domain_agent/inspector_testbench_recorder_agent.cc
Parameters

No parameters.

Returns

No return fields.

Events
  • Recording.recordingComplete
Notes
  • Recorder support must be enabled in the current runtime. If RecorderController::Enable() is false, the agent returns method not implemented.
  • Dispatches through LynxGlobalDevToolMediator and calls RecorderController::EndRecord() on the UI task runner.
  • Returns an empty result object after the end-record request is accepted.
  • Sends Recording.recordingComplete asynchronously after the recorder writes the output files.
  • Recording.recordingComplete.params.stream is an array of FileStream handles. Read each handle with IO.read and close it with IO.close.
  • Recording.recordingComplete.params.filenames contains the generated file paths. Recording.recordingComplete.params.sessionIDs contains matching session ids or -1 when the recorder has no mapped session id.
  • Recording.recordingComplete.params.recordFormat is json.
  • The TestBench recorder writes compressed and base64-encoded JSON content to each generated file.
Examples

Stop recording

Request:

{
  "id": 2,
  "method": "Recording.end"
}

Response:

{
  "id": 2,
  "result": {}
}

Recording complete notification

Response:

{
  "method": "Recording.recordingComplete",
  "params": {
    "stream": [1],
    "filenames": ["/tmp/1001.json"],
    "sessionIDs": [1001],
    "recordFormat": "json"
  }
}

Recording.start

Starts TestBench recording for Lynx page interactions.

  • Origin: lynx-extension
  • Source: devtool/lynx_devtool/agent/domain_agent/inspector_testbench_recorder_agent.cc
Parameters

No parameters.

Returns

No return fields.

Notes
  • Recorder support must be enabled in the current runtime. If RecorderController::Enable() is false, the agent returns method not implemented.
  • Dispatches through LynxGlobalDevToolMediator and starts RecorderController::StartRecord() on the UI task runner.
  • Returns an empty result object on success.
  • Returns a CDP error with message Cannot find ui task runner when no UI task runner is available.
Examples

Start recording

Request:

{
  "id": 1,
  "method": "Recording.start"
}

Response:

{
  "id": 1,
  "result": {}
}
Except as otherwise noted, this work is licensed under a Creative Commons Attribution 4.0 International License, and code samples are licensed under the Apache License 2.0.