blob: 564592afabb396bac224a83716c0733c198392c3 [file] [log] [blame] [edit]
// Code generated by cdpgen. DO NOT EDIT.
// Package debugger implements the Debugger domain. Debugger domain exposes
// JavaScript debugging capabilities. It allows setting and removing
// breakpoints, stepping through execution, exploring stack traces, etc.
package debugger
import (
"context"
"github.com/mafredri/cdp/protocol/internal"
"github.com/mafredri/cdp/rpcc"
)
// domainClient is a client for the Debugger domain. Debugger domain exposes
// JavaScript debugging capabilities. It allows setting and removing
// breakpoints, stepping through execution, exploring stack traces, etc.
type domainClient struct{ conn *rpcc.Conn }
// NewClient returns a client for the Debugger domain with the connection set to conn.
func NewClient(conn *rpcc.Conn) *domainClient {
return &domainClient{conn: conn}
}
// ContinueToLocation invokes the Debugger method. Continues execution until
// specific location is reached.
func (d *domainClient) ContinueToLocation(ctx context.Context, args *ContinueToLocationArgs) (err error) {
if args != nil {
err = rpcc.Invoke(ctx, "Debugger.continueToLocation", args, nil, d.conn)
} else {
err = rpcc.Invoke(ctx, "Debugger.continueToLocation", nil, nil, d.conn)
}
if err != nil {
err = &internal.OpError{Domain: "Debugger", Op: "ContinueToLocation", Err: err}
}
return
}
// Disable invokes the Debugger method. Disables debugger for given page.
func (d *domainClient) Disable(ctx context.Context) (err error) {
err = rpcc.Invoke(ctx, "Debugger.disable", nil, nil, d.conn)
if err != nil {
err = &internal.OpError{Domain: "Debugger", Op: "Disable", Err: err}
}
return
}
// Enable invokes the Debugger method. Enables debugger for the given page.
// Clients should not assume that the debugging has been enabled until the
// result for this command is received.
func (d *domainClient) Enable(ctx context.Context, args *EnableArgs) (reply *EnableReply, err error) {
reply = new(EnableReply)
if args != nil {
err = rpcc.Invoke(ctx, "Debugger.enable", args, reply, d.conn)
} else {
err = rpcc.Invoke(ctx, "Debugger.enable", nil, reply, d.conn)
}
if err != nil {
err = &internal.OpError{Domain: "Debugger", Op: "Enable", Err: err}
}
return
}
// EvaluateOnCallFrame invokes the Debugger method. Evaluates expression on a
// given call frame.
func (d *domainClient) EvaluateOnCallFrame(ctx context.Context, args *EvaluateOnCallFrameArgs) (reply *EvaluateOnCallFrameReply, err error) {
reply = new(EvaluateOnCallFrameReply)
if args != nil {
err = rpcc.Invoke(ctx, "Debugger.evaluateOnCallFrame", args, reply, d.conn)
} else {
err = rpcc.Invoke(ctx, "Debugger.evaluateOnCallFrame", nil, reply, d.conn)
}
if err != nil {
err = &internal.OpError{Domain: "Debugger", Op: "EvaluateOnCallFrame", Err: err}
}
return
}
// GetPossibleBreakpoints invokes the Debugger method. Returns possible
// locations for breakpoint. scriptId in start and end range locations should
// be the same.
func (d *domainClient) GetPossibleBreakpoints(ctx context.Context, args *GetPossibleBreakpointsArgs) (reply *GetPossibleBreakpointsReply, err error) {
reply = new(GetPossibleBreakpointsReply)
if args != nil {
err = rpcc.Invoke(ctx, "Debugger.getPossibleBreakpoints", args, reply, d.conn)
} else {
err = rpcc.Invoke(ctx, "Debugger.getPossibleBreakpoints", nil, reply, d.conn)
}
if err != nil {
err = &internal.OpError{Domain: "Debugger", Op: "GetPossibleBreakpoints", Err: err}
}
return
}
// GetScriptSource invokes the Debugger method. Returns source for the script
// with given id.
func (d *domainClient) GetScriptSource(ctx context.Context, args *GetScriptSourceArgs) (reply *GetScriptSourceReply, err error) {
reply = new(GetScriptSourceReply)
if args != nil {
err = rpcc.Invoke(ctx, "Debugger.getScriptSource", args, reply, d.conn)
} else {
err = rpcc.Invoke(ctx, "Debugger.getScriptSource", nil, reply, d.conn)
}
if err != nil {
err = &internal.OpError{Domain: "Debugger", Op: "GetScriptSource", Err: err}
}
return
}
// GetStackTrace invokes the Debugger method. Returns stack trace with given
// `stackTraceId`.
func (d *domainClient) GetStackTrace(ctx context.Context, args *GetStackTraceArgs) (reply *GetStackTraceReply, err error) {
reply = new(GetStackTraceReply)
if args != nil {
err = rpcc.Invoke(ctx, "Debugger.getStackTrace", args, reply, d.conn)
} else {
err = rpcc.Invoke(ctx, "Debugger.getStackTrace", nil, reply, d.conn)
}
if err != nil {
err = &internal.OpError{Domain: "Debugger", Op: "GetStackTrace", Err: err}
}
return
}
// Pause invokes the Debugger method. Stops on the next JavaScript statement.
func (d *domainClient) Pause(ctx context.Context) (err error) {
err = rpcc.Invoke(ctx, "Debugger.pause", nil, nil, d.conn)
if err != nil {
err = &internal.OpError{Domain: "Debugger", Op: "Pause", Err: err}
}
return
}
// PauseOnAsyncCall invokes the Debugger method.
func (d *domainClient) PauseOnAsyncCall(ctx context.Context, args *PauseOnAsyncCallArgs) (err error) {
if args != nil {
err = rpcc.Invoke(ctx, "Debugger.pauseOnAsyncCall", args, nil, d.conn)
} else {
err = rpcc.Invoke(ctx, "Debugger.pauseOnAsyncCall", nil, nil, d.conn)
}
if err != nil {
err = &internal.OpError{Domain: "Debugger", Op: "PauseOnAsyncCall", Err: err}
}
return
}
// RemoveBreakpoint invokes the Debugger method. Removes JavaScript
// breakpoint.
func (d *domainClient) RemoveBreakpoint(ctx context.Context, args *RemoveBreakpointArgs) (err error) {
if args != nil {
err = rpcc.Invoke(ctx, "Debugger.removeBreakpoint", args, nil, d.conn)
} else {
err = rpcc.Invoke(ctx, "Debugger.removeBreakpoint", nil, nil, d.conn)
}
if err != nil {
err = &internal.OpError{Domain: "Debugger", Op: "RemoveBreakpoint", Err: err}
}
return
}
// RestartFrame invokes the Debugger method. Restarts particular call frame
// from the beginning.
func (d *domainClient) RestartFrame(ctx context.Context, args *RestartFrameArgs) (reply *RestartFrameReply, err error) {
reply = new(RestartFrameReply)
if args != nil {
err = rpcc.Invoke(ctx, "Debugger.restartFrame", args, reply, d.conn)
} else {
err = rpcc.Invoke(ctx, "Debugger.restartFrame", nil, reply, d.conn)
}
if err != nil {
err = &internal.OpError{Domain: "Debugger", Op: "RestartFrame", Err: err}
}
return
}
// Resume invokes the Debugger method. Resumes JavaScript execution.
func (d *domainClient) Resume(ctx context.Context) (err error) {
err = rpcc.Invoke(ctx, "Debugger.resume", nil, nil, d.conn)
if err != nil {
err = &internal.OpError{Domain: "Debugger", Op: "Resume", Err: err}
}
return
}
// SearchInContent invokes the Debugger method. Searches for given string in
// script content.
func (d *domainClient) SearchInContent(ctx context.Context, args *SearchInContentArgs) (reply *SearchInContentReply, err error) {
reply = new(SearchInContentReply)
if args != nil {
err = rpcc.Invoke(ctx, "Debugger.searchInContent", args, reply, d.conn)
} else {
err = rpcc.Invoke(ctx, "Debugger.searchInContent", nil, reply, d.conn)
}
if err != nil {
err = &internal.OpError{Domain: "Debugger", Op: "SearchInContent", Err: err}
}
return
}
// SetAsyncCallStackDepth invokes the Debugger method. Enables or disables
// async call stacks tracking.
func (d *domainClient) SetAsyncCallStackDepth(ctx context.Context, args *SetAsyncCallStackDepthArgs) (err error) {
if args != nil {
err = rpcc.Invoke(ctx, "Debugger.setAsyncCallStackDepth", args, nil, d.conn)
} else {
err = rpcc.Invoke(ctx, "Debugger.setAsyncCallStackDepth", nil, nil, d.conn)
}
if err != nil {
err = &internal.OpError{Domain: "Debugger", Op: "SetAsyncCallStackDepth", Err: err}
}
return
}
// SetBlackboxPatterns invokes the Debugger method. Replace previous blackbox
// patterns with passed ones. Forces backend to skip stepping/pausing in
// scripts with url matching one of the patterns. VM will try to leave
// blackboxed script by performing 'step in' several times, finally resorting
// to 'step out' if unsuccessful.
func (d *domainClient) SetBlackboxPatterns(ctx context.Context, args *SetBlackboxPatternsArgs) (err error) {
if args != nil {
err = rpcc.Invoke(ctx, "Debugger.setBlackboxPatterns", args, nil, d.conn)
} else {
err = rpcc.Invoke(ctx, "Debugger.setBlackboxPatterns", nil, nil, d.conn)
}
if err != nil {
err = &internal.OpError{Domain: "Debugger", Op: "SetBlackboxPatterns", Err: err}
}
return
}
// SetBlackboxedRanges invokes the Debugger method. Makes backend skip steps
// in the script in blackboxed ranges. VM will try leave blacklisted scripts by
// performing 'step in' several times, finally resorting to 'step out' if
// unsuccessful. Positions array contains positions where blackbox state is
// changed. First interval isn't blackboxed. Array should be sorted.
func (d *domainClient) SetBlackboxedRanges(ctx context.Context, args *SetBlackboxedRangesArgs) (err error) {
if args != nil {
err = rpcc.Invoke(ctx, "Debugger.setBlackboxedRanges", args, nil, d.conn)
} else {
err = rpcc.Invoke(ctx, "Debugger.setBlackboxedRanges", nil, nil, d.conn)
}
if err != nil {
err = &internal.OpError{Domain: "Debugger", Op: "SetBlackboxedRanges", Err: err}
}
return
}
// SetBreakpoint invokes the Debugger method. Sets JavaScript breakpoint at a
// given location.
func (d *domainClient) SetBreakpoint(ctx context.Context, args *SetBreakpointArgs) (reply *SetBreakpointReply, err error) {
reply = new(SetBreakpointReply)
if args != nil {
err = rpcc.Invoke(ctx, "Debugger.setBreakpoint", args, reply, d.conn)
} else {
err = rpcc.Invoke(ctx, "Debugger.setBreakpoint", nil, reply, d.conn)
}
if err != nil {
err = &internal.OpError{Domain: "Debugger", Op: "SetBreakpoint", Err: err}
}
return
}
// SetBreakpointByURL invokes the Debugger method. Sets JavaScript breakpoint
// at given location specified either by URL or URL regex. Once this command is
// issued, all existing parsed scripts will have breakpoints resolved and
// returned in `locations` property. Further matching script parsing will
// result in subsequent `breakpointResolved` events issued. This logical
// breakpoint will survive page reloads.
func (d *domainClient) SetBreakpointByURL(ctx context.Context, args *SetBreakpointByURLArgs) (reply *SetBreakpointByURLReply, err error) {
reply = new(SetBreakpointByURLReply)
if args != nil {
err = rpcc.Invoke(ctx, "Debugger.setBreakpointByUrl", args, reply, d.conn)
} else {
err = rpcc.Invoke(ctx, "Debugger.setBreakpointByUrl", nil, reply, d.conn)
}
if err != nil {
err = &internal.OpError{Domain: "Debugger", Op: "SetBreakpointByURL", Err: err}
}
return
}
// SetBreakpointOnFunctionCall invokes the Debugger method. Sets JavaScript
// breakpoint before each call to the given function. If another function was
// created from the same source as a given one, calling it will also trigger
// the breakpoint.
func (d *domainClient) SetBreakpointOnFunctionCall(ctx context.Context, args *SetBreakpointOnFunctionCallArgs) (reply *SetBreakpointOnFunctionCallReply, err error) {
reply = new(SetBreakpointOnFunctionCallReply)
if args != nil {
err = rpcc.Invoke(ctx, "Debugger.setBreakpointOnFunctionCall", args, reply, d.conn)
} else {
err = rpcc.Invoke(ctx, "Debugger.setBreakpointOnFunctionCall", nil, reply, d.conn)
}
if err != nil {
err = &internal.OpError{Domain: "Debugger", Op: "SetBreakpointOnFunctionCall", Err: err}
}
return
}
// SetBreakpointsActive invokes the Debugger method. Activates / deactivates
// all breakpoints on the page.
func (d *domainClient) SetBreakpointsActive(ctx context.Context, args *SetBreakpointsActiveArgs) (err error) {
if args != nil {
err = rpcc.Invoke(ctx, "Debugger.setBreakpointsActive", args, nil, d.conn)
} else {
err = rpcc.Invoke(ctx, "Debugger.setBreakpointsActive", nil, nil, d.conn)
}
if err != nil {
err = &internal.OpError{Domain: "Debugger", Op: "SetBreakpointsActive", Err: err}
}
return
}
// SetPauseOnExceptions invokes the Debugger method. Defines pause on
// exceptions state. Can be set to stop on all exceptions, uncaught exceptions
// or no exceptions. Initial pause on exceptions state is `none`.
func (d *domainClient) SetPauseOnExceptions(ctx context.Context, args *SetPauseOnExceptionsArgs) (err error) {
if args != nil {
err = rpcc.Invoke(ctx, "Debugger.setPauseOnExceptions", args, nil, d.conn)
} else {
err = rpcc.Invoke(ctx, "Debugger.setPauseOnExceptions", nil, nil, d.conn)
}
if err != nil {
err = &internal.OpError{Domain: "Debugger", Op: "SetPauseOnExceptions", Err: err}
}
return
}
// SetReturnValue invokes the Debugger method. Changes return value in top
// frame. Available only at return break position.
func (d *domainClient) SetReturnValue(ctx context.Context, args *SetReturnValueArgs) (err error) {
if args != nil {
err = rpcc.Invoke(ctx, "Debugger.setReturnValue", args, nil, d.conn)
} else {
err = rpcc.Invoke(ctx, "Debugger.setReturnValue", nil, nil, d.conn)
}
if err != nil {
err = &internal.OpError{Domain: "Debugger", Op: "SetReturnValue", Err: err}
}
return
}
// SetScriptSource invokes the Debugger method. Edits JavaScript source live.
func (d *domainClient) SetScriptSource(ctx context.Context, args *SetScriptSourceArgs) (reply *SetScriptSourceReply, err error) {
reply = new(SetScriptSourceReply)
if args != nil {
err = rpcc.Invoke(ctx, "Debugger.setScriptSource", args, reply, d.conn)
} else {
err = rpcc.Invoke(ctx, "Debugger.setScriptSource", nil, reply, d.conn)
}
if err != nil {
err = &internal.OpError{Domain: "Debugger", Op: "SetScriptSource", Err: err}
}
return
}
// SetSkipAllPauses invokes the Debugger method. Makes page not interrupt on
// any pauses (breakpoint, exception, dom exception etc).
func (d *domainClient) SetSkipAllPauses(ctx context.Context, args *SetSkipAllPausesArgs) (err error) {
if args != nil {
err = rpcc.Invoke(ctx, "Debugger.setSkipAllPauses", args, nil, d.conn)
} else {
err = rpcc.Invoke(ctx, "Debugger.setSkipAllPauses", nil, nil, d.conn)
}
if err != nil {
err = &internal.OpError{Domain: "Debugger", Op: "SetSkipAllPauses", Err: err}
}
return
}
// SetVariableValue invokes the Debugger method. Changes value of variable in
// a callframe. Object-based scopes are not supported and must be mutated
// manually.
func (d *domainClient) SetVariableValue(ctx context.Context, args *SetVariableValueArgs) (err error) {
if args != nil {
err = rpcc.Invoke(ctx, "Debugger.setVariableValue", args, nil, d.conn)
} else {
err = rpcc.Invoke(ctx, "Debugger.setVariableValue", nil, nil, d.conn)
}
if err != nil {
err = &internal.OpError{Domain: "Debugger", Op: "SetVariableValue", Err: err}
}
return
}
// StepInto invokes the Debugger method. Steps into the function call.
func (d *domainClient) StepInto(ctx context.Context, args *StepIntoArgs) (err error) {
if args != nil {
err = rpcc.Invoke(ctx, "Debugger.stepInto", args, nil, d.conn)
} else {
err = rpcc.Invoke(ctx, "Debugger.stepInto", nil, nil, d.conn)
}
if err != nil {
err = &internal.OpError{Domain: "Debugger", Op: "StepInto", Err: err}
}
return
}
// StepOut invokes the Debugger method. Steps out of the function call.
func (d *domainClient) StepOut(ctx context.Context) (err error) {
err = rpcc.Invoke(ctx, "Debugger.stepOut", nil, nil, d.conn)
if err != nil {
err = &internal.OpError{Domain: "Debugger", Op: "StepOut", Err: err}
}
return
}
// StepOver invokes the Debugger method. Steps over the statement.
func (d *domainClient) StepOver(ctx context.Context) (err error) {
err = rpcc.Invoke(ctx, "Debugger.stepOver", nil, nil, d.conn)
if err != nil {
err = &internal.OpError{Domain: "Debugger", Op: "StepOver", Err: err}
}
return
}
func (d *domainClient) BreakpointResolved(ctx context.Context) (BreakpointResolvedClient, error) {
s, err := rpcc.NewStream(ctx, "Debugger.breakpointResolved", d.conn)
if err != nil {
return nil, err
}
return &breakpointResolvedClient{Stream: s}, nil
}
type breakpointResolvedClient struct{ rpcc.Stream }
// GetStream returns the original Stream for use with cdp.Sync.
func (c *breakpointResolvedClient) GetStream() rpcc.Stream { return c.Stream }
func (c *breakpointResolvedClient) Recv() (*BreakpointResolvedReply, error) {
event := new(BreakpointResolvedReply)
if err := c.RecvMsg(event); err != nil {
return nil, &internal.OpError{Domain: "Debugger", Op: "BreakpointResolved Recv", Err: err}
}
return event, nil
}
func (d *domainClient) Paused(ctx context.Context) (PausedClient, error) {
s, err := rpcc.NewStream(ctx, "Debugger.paused", d.conn)
if err != nil {
return nil, err
}
return &pausedClient{Stream: s}, nil
}
type pausedClient struct{ rpcc.Stream }
// GetStream returns the original Stream for use with cdp.Sync.
func (c *pausedClient) GetStream() rpcc.Stream { return c.Stream }
func (c *pausedClient) Recv() (*PausedReply, error) {
event := new(PausedReply)
if err := c.RecvMsg(event); err != nil {
return nil, &internal.OpError{Domain: "Debugger", Op: "Paused Recv", Err: err}
}
return event, nil
}
func (d *domainClient) Resumed(ctx context.Context) (ResumedClient, error) {
s, err := rpcc.NewStream(ctx, "Debugger.resumed", d.conn)
if err != nil {
return nil, err
}
return &resumedClient{Stream: s}, nil
}
type resumedClient struct{ rpcc.Stream }
// GetStream returns the original Stream for use with cdp.Sync.
func (c *resumedClient) GetStream() rpcc.Stream { return c.Stream }
func (c *resumedClient) Recv() (*ResumedReply, error) {
event := new(ResumedReply)
if err := c.RecvMsg(event); err != nil {
return nil, &internal.OpError{Domain: "Debugger", Op: "Resumed Recv", Err: err}
}
return event, nil
}
func (d *domainClient) ScriptFailedToParse(ctx context.Context) (ScriptFailedToParseClient, error) {
s, err := rpcc.NewStream(ctx, "Debugger.scriptFailedToParse", d.conn)
if err != nil {
return nil, err
}
return &scriptFailedToParseClient{Stream: s}, nil
}
type scriptFailedToParseClient struct{ rpcc.Stream }
// GetStream returns the original Stream for use with cdp.Sync.
func (c *scriptFailedToParseClient) GetStream() rpcc.Stream { return c.Stream }
func (c *scriptFailedToParseClient) Recv() (*ScriptFailedToParseReply, error) {
event := new(ScriptFailedToParseReply)
if err := c.RecvMsg(event); err != nil {
return nil, &internal.OpError{Domain: "Debugger", Op: "ScriptFailedToParse Recv", Err: err}
}
return event, nil
}
func (d *domainClient) ScriptParsed(ctx context.Context) (ScriptParsedClient, error) {
s, err := rpcc.NewStream(ctx, "Debugger.scriptParsed", d.conn)
if err != nil {
return nil, err
}
return &scriptParsedClient{Stream: s}, nil
}
type scriptParsedClient struct{ rpcc.Stream }
// GetStream returns the original Stream for use with cdp.Sync.
func (c *scriptParsedClient) GetStream() rpcc.Stream { return c.Stream }
func (c *scriptParsedClient) Recv() (*ScriptParsedReply, error) {
event := new(ScriptParsedReply)
if err := c.RecvMsg(event); err != nil {
return nil, &internal.OpError{Domain: "Debugger", Op: "ScriptParsed Recv", Err: err}
}
return event, nil
}