557 lines
14 KiB
Go
557 lines
14 KiB
Go
// Package domdebugger provides the Chrome Debugging Protocol
|
|
// commands, types, and events for the DOMDebugger domain.
|
|
//
|
|
// DOM debugging allows setting breakpoints on particular DOM operations and
|
|
// events. JavaScript execution will stop on these operations as if there was a
|
|
// regular breakpoint set.
|
|
//
|
|
// Generated by the chromedp-gen command.
|
|
package domdebugger
|
|
|
|
// AUTOGENERATED. DO NOT EDIT.
|
|
|
|
import (
|
|
"context"
|
|
|
|
cdp "github.com/knq/chromedp/cdp"
|
|
"github.com/knq/chromedp/cdp/runtime"
|
|
"github.com/mailru/easyjson"
|
|
)
|
|
|
|
// SetDOMBreakpointParams sets breakpoint on particular operation with DOM.
|
|
type SetDOMBreakpointParams struct {
|
|
NodeID cdp.NodeID `json:"nodeId"` // Identifier of the node to set breakpoint on.
|
|
Type DOMBreakpointType `json:"type"` // Type of the operation to stop upon.
|
|
}
|
|
|
|
// SetDOMBreakpoint sets breakpoint on particular operation with DOM.
|
|
//
|
|
// parameters:
|
|
// nodeID - Identifier of the node to set breakpoint on.
|
|
// type - Type of the operation to stop upon.
|
|
func SetDOMBreakpoint(nodeID cdp.NodeID, typeVal DOMBreakpointType) *SetDOMBreakpointParams {
|
|
return &SetDOMBreakpointParams{
|
|
NodeID: nodeID,
|
|
Type: typeVal,
|
|
}
|
|
}
|
|
|
|
// Do executes DOMDebugger.setDOMBreakpoint against the provided context and
|
|
// target handler.
|
|
func (p *SetDOMBreakpointParams) Do(ctxt context.Context, h cdp.Handler) (err error) {
|
|
if ctxt == nil {
|
|
ctxt = context.Background()
|
|
}
|
|
|
|
// marshal
|
|
buf, err := easyjson.Marshal(p)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
// execute
|
|
ch := h.Execute(ctxt, cdp.CommandDOMDebuggerSetDOMBreakpoint, easyjson.RawMessage(buf))
|
|
|
|
// read response
|
|
select {
|
|
case res := <-ch:
|
|
if res == nil {
|
|
return cdp.ErrChannelClosed
|
|
}
|
|
|
|
switch v := res.(type) {
|
|
case easyjson.RawMessage:
|
|
return nil
|
|
|
|
case error:
|
|
return v
|
|
}
|
|
|
|
case <-ctxt.Done():
|
|
return ctxt.Err()
|
|
}
|
|
|
|
return cdp.ErrUnknownResult
|
|
}
|
|
|
|
// RemoveDOMBreakpointParams removes DOM breakpoint that was set using
|
|
// setDOMBreakpoint.
|
|
type RemoveDOMBreakpointParams struct {
|
|
NodeID cdp.NodeID `json:"nodeId"` // Identifier of the node to remove breakpoint from.
|
|
Type DOMBreakpointType `json:"type"` // Type of the breakpoint to remove.
|
|
}
|
|
|
|
// RemoveDOMBreakpoint removes DOM breakpoint that was set using
|
|
// setDOMBreakpoint.
|
|
//
|
|
// parameters:
|
|
// nodeID - Identifier of the node to remove breakpoint from.
|
|
// type - Type of the breakpoint to remove.
|
|
func RemoveDOMBreakpoint(nodeID cdp.NodeID, typeVal DOMBreakpointType) *RemoveDOMBreakpointParams {
|
|
return &RemoveDOMBreakpointParams{
|
|
NodeID: nodeID,
|
|
Type: typeVal,
|
|
}
|
|
}
|
|
|
|
// Do executes DOMDebugger.removeDOMBreakpoint against the provided context and
|
|
// target handler.
|
|
func (p *RemoveDOMBreakpointParams) Do(ctxt context.Context, h cdp.Handler) (err error) {
|
|
if ctxt == nil {
|
|
ctxt = context.Background()
|
|
}
|
|
|
|
// marshal
|
|
buf, err := easyjson.Marshal(p)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
// execute
|
|
ch := h.Execute(ctxt, cdp.CommandDOMDebuggerRemoveDOMBreakpoint, easyjson.RawMessage(buf))
|
|
|
|
// read response
|
|
select {
|
|
case res := <-ch:
|
|
if res == nil {
|
|
return cdp.ErrChannelClosed
|
|
}
|
|
|
|
switch v := res.(type) {
|
|
case easyjson.RawMessage:
|
|
return nil
|
|
|
|
case error:
|
|
return v
|
|
}
|
|
|
|
case <-ctxt.Done():
|
|
return ctxt.Err()
|
|
}
|
|
|
|
return cdp.ErrUnknownResult
|
|
}
|
|
|
|
// SetEventListenerBreakpointParams sets breakpoint on particular DOM event.
|
|
type SetEventListenerBreakpointParams struct {
|
|
EventName string `json:"eventName"` // DOM Event name to stop on (any DOM event will do).
|
|
TargetName string `json:"targetName,omitempty"` // EventTarget interface name to stop on. If equal to "*" or not provided, will stop on any EventTarget.
|
|
}
|
|
|
|
// SetEventListenerBreakpoint sets breakpoint on particular DOM event.
|
|
//
|
|
// parameters:
|
|
// eventName - DOM Event name to stop on (any DOM event will do).
|
|
func SetEventListenerBreakpoint(eventName string) *SetEventListenerBreakpointParams {
|
|
return &SetEventListenerBreakpointParams{
|
|
EventName: eventName,
|
|
}
|
|
}
|
|
|
|
// WithTargetName eventTarget interface name to stop on. If equal to "*" or
|
|
// not provided, will stop on any EventTarget.
|
|
func (p SetEventListenerBreakpointParams) WithTargetName(targetName string) *SetEventListenerBreakpointParams {
|
|
p.TargetName = targetName
|
|
return &p
|
|
}
|
|
|
|
// Do executes DOMDebugger.setEventListenerBreakpoint against the provided context and
|
|
// target handler.
|
|
func (p *SetEventListenerBreakpointParams) Do(ctxt context.Context, h cdp.Handler) (err error) {
|
|
if ctxt == nil {
|
|
ctxt = context.Background()
|
|
}
|
|
|
|
// marshal
|
|
buf, err := easyjson.Marshal(p)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
// execute
|
|
ch := h.Execute(ctxt, cdp.CommandDOMDebuggerSetEventListenerBreakpoint, easyjson.RawMessage(buf))
|
|
|
|
// read response
|
|
select {
|
|
case res := <-ch:
|
|
if res == nil {
|
|
return cdp.ErrChannelClosed
|
|
}
|
|
|
|
switch v := res.(type) {
|
|
case easyjson.RawMessage:
|
|
return nil
|
|
|
|
case error:
|
|
return v
|
|
}
|
|
|
|
case <-ctxt.Done():
|
|
return ctxt.Err()
|
|
}
|
|
|
|
return cdp.ErrUnknownResult
|
|
}
|
|
|
|
// RemoveEventListenerBreakpointParams removes breakpoint on particular DOM
|
|
// event.
|
|
type RemoveEventListenerBreakpointParams struct {
|
|
EventName string `json:"eventName"` // Event name.
|
|
TargetName string `json:"targetName,omitempty"` // EventTarget interface name.
|
|
}
|
|
|
|
// RemoveEventListenerBreakpoint removes breakpoint on particular DOM event.
|
|
//
|
|
// parameters:
|
|
// eventName - Event name.
|
|
func RemoveEventListenerBreakpoint(eventName string) *RemoveEventListenerBreakpointParams {
|
|
return &RemoveEventListenerBreakpointParams{
|
|
EventName: eventName,
|
|
}
|
|
}
|
|
|
|
// WithTargetName eventTarget interface name.
|
|
func (p RemoveEventListenerBreakpointParams) WithTargetName(targetName string) *RemoveEventListenerBreakpointParams {
|
|
p.TargetName = targetName
|
|
return &p
|
|
}
|
|
|
|
// Do executes DOMDebugger.removeEventListenerBreakpoint against the provided context and
|
|
// target handler.
|
|
func (p *RemoveEventListenerBreakpointParams) Do(ctxt context.Context, h cdp.Handler) (err error) {
|
|
if ctxt == nil {
|
|
ctxt = context.Background()
|
|
}
|
|
|
|
// marshal
|
|
buf, err := easyjson.Marshal(p)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
// execute
|
|
ch := h.Execute(ctxt, cdp.CommandDOMDebuggerRemoveEventListenerBreakpoint, easyjson.RawMessage(buf))
|
|
|
|
// read response
|
|
select {
|
|
case res := <-ch:
|
|
if res == nil {
|
|
return cdp.ErrChannelClosed
|
|
}
|
|
|
|
switch v := res.(type) {
|
|
case easyjson.RawMessage:
|
|
return nil
|
|
|
|
case error:
|
|
return v
|
|
}
|
|
|
|
case <-ctxt.Done():
|
|
return ctxt.Err()
|
|
}
|
|
|
|
return cdp.ErrUnknownResult
|
|
}
|
|
|
|
// SetInstrumentationBreakpointParams sets breakpoint on particular native
|
|
// event.
|
|
type SetInstrumentationBreakpointParams struct {
|
|
EventName string `json:"eventName"` // Instrumentation name to stop on.
|
|
}
|
|
|
|
// SetInstrumentationBreakpoint sets breakpoint on particular native event.
|
|
//
|
|
// parameters:
|
|
// eventName - Instrumentation name to stop on.
|
|
func SetInstrumentationBreakpoint(eventName string) *SetInstrumentationBreakpointParams {
|
|
return &SetInstrumentationBreakpointParams{
|
|
EventName: eventName,
|
|
}
|
|
}
|
|
|
|
// Do executes DOMDebugger.setInstrumentationBreakpoint against the provided context and
|
|
// target handler.
|
|
func (p *SetInstrumentationBreakpointParams) Do(ctxt context.Context, h cdp.Handler) (err error) {
|
|
if ctxt == nil {
|
|
ctxt = context.Background()
|
|
}
|
|
|
|
// marshal
|
|
buf, err := easyjson.Marshal(p)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
// execute
|
|
ch := h.Execute(ctxt, cdp.CommandDOMDebuggerSetInstrumentationBreakpoint, easyjson.RawMessage(buf))
|
|
|
|
// read response
|
|
select {
|
|
case res := <-ch:
|
|
if res == nil {
|
|
return cdp.ErrChannelClosed
|
|
}
|
|
|
|
switch v := res.(type) {
|
|
case easyjson.RawMessage:
|
|
return nil
|
|
|
|
case error:
|
|
return v
|
|
}
|
|
|
|
case <-ctxt.Done():
|
|
return ctxt.Err()
|
|
}
|
|
|
|
return cdp.ErrUnknownResult
|
|
}
|
|
|
|
// RemoveInstrumentationBreakpointParams removes breakpoint on particular
|
|
// native event.
|
|
type RemoveInstrumentationBreakpointParams struct {
|
|
EventName string `json:"eventName"` // Instrumentation name to stop on.
|
|
}
|
|
|
|
// RemoveInstrumentationBreakpoint removes breakpoint on particular native
|
|
// event.
|
|
//
|
|
// parameters:
|
|
// eventName - Instrumentation name to stop on.
|
|
func RemoveInstrumentationBreakpoint(eventName string) *RemoveInstrumentationBreakpointParams {
|
|
return &RemoveInstrumentationBreakpointParams{
|
|
EventName: eventName,
|
|
}
|
|
}
|
|
|
|
// Do executes DOMDebugger.removeInstrumentationBreakpoint against the provided context and
|
|
// target handler.
|
|
func (p *RemoveInstrumentationBreakpointParams) Do(ctxt context.Context, h cdp.Handler) (err error) {
|
|
if ctxt == nil {
|
|
ctxt = context.Background()
|
|
}
|
|
|
|
// marshal
|
|
buf, err := easyjson.Marshal(p)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
// execute
|
|
ch := h.Execute(ctxt, cdp.CommandDOMDebuggerRemoveInstrumentationBreakpoint, easyjson.RawMessage(buf))
|
|
|
|
// read response
|
|
select {
|
|
case res := <-ch:
|
|
if res == nil {
|
|
return cdp.ErrChannelClosed
|
|
}
|
|
|
|
switch v := res.(type) {
|
|
case easyjson.RawMessage:
|
|
return nil
|
|
|
|
case error:
|
|
return v
|
|
}
|
|
|
|
case <-ctxt.Done():
|
|
return ctxt.Err()
|
|
}
|
|
|
|
return cdp.ErrUnknownResult
|
|
}
|
|
|
|
// SetXHRBreakpointParams sets breakpoint on XMLHttpRequest.
|
|
type SetXHRBreakpointParams struct {
|
|
URL string `json:"url"` // Resource URL substring. All XHRs having this substring in the URL will get stopped upon.
|
|
}
|
|
|
|
// SetXHRBreakpoint sets breakpoint on XMLHttpRequest.
|
|
//
|
|
// parameters:
|
|
// url - Resource URL substring. All XHRs having this substring in the URL will get stopped upon.
|
|
func SetXHRBreakpoint(url string) *SetXHRBreakpointParams {
|
|
return &SetXHRBreakpointParams{
|
|
URL: url,
|
|
}
|
|
}
|
|
|
|
// Do executes DOMDebugger.setXHRBreakpoint against the provided context and
|
|
// target handler.
|
|
func (p *SetXHRBreakpointParams) Do(ctxt context.Context, h cdp.Handler) (err error) {
|
|
if ctxt == nil {
|
|
ctxt = context.Background()
|
|
}
|
|
|
|
// marshal
|
|
buf, err := easyjson.Marshal(p)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
// execute
|
|
ch := h.Execute(ctxt, cdp.CommandDOMDebuggerSetXHRBreakpoint, easyjson.RawMessage(buf))
|
|
|
|
// read response
|
|
select {
|
|
case res := <-ch:
|
|
if res == nil {
|
|
return cdp.ErrChannelClosed
|
|
}
|
|
|
|
switch v := res.(type) {
|
|
case easyjson.RawMessage:
|
|
return nil
|
|
|
|
case error:
|
|
return v
|
|
}
|
|
|
|
case <-ctxt.Done():
|
|
return ctxt.Err()
|
|
}
|
|
|
|
return cdp.ErrUnknownResult
|
|
}
|
|
|
|
// RemoveXHRBreakpointParams removes breakpoint from XMLHttpRequest.
|
|
type RemoveXHRBreakpointParams struct {
|
|
URL string `json:"url"` // Resource URL substring.
|
|
}
|
|
|
|
// RemoveXHRBreakpoint removes breakpoint from XMLHttpRequest.
|
|
//
|
|
// parameters:
|
|
// url - Resource URL substring.
|
|
func RemoveXHRBreakpoint(url string) *RemoveXHRBreakpointParams {
|
|
return &RemoveXHRBreakpointParams{
|
|
URL: url,
|
|
}
|
|
}
|
|
|
|
// Do executes DOMDebugger.removeXHRBreakpoint against the provided context and
|
|
// target handler.
|
|
func (p *RemoveXHRBreakpointParams) Do(ctxt context.Context, h cdp.Handler) (err error) {
|
|
if ctxt == nil {
|
|
ctxt = context.Background()
|
|
}
|
|
|
|
// marshal
|
|
buf, err := easyjson.Marshal(p)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
// execute
|
|
ch := h.Execute(ctxt, cdp.CommandDOMDebuggerRemoveXHRBreakpoint, easyjson.RawMessage(buf))
|
|
|
|
// read response
|
|
select {
|
|
case res := <-ch:
|
|
if res == nil {
|
|
return cdp.ErrChannelClosed
|
|
}
|
|
|
|
switch v := res.(type) {
|
|
case easyjson.RawMessage:
|
|
return nil
|
|
|
|
case error:
|
|
return v
|
|
}
|
|
|
|
case <-ctxt.Done():
|
|
return ctxt.Err()
|
|
}
|
|
|
|
return cdp.ErrUnknownResult
|
|
}
|
|
|
|
// GetEventListenersParams returns event listeners of the given object.
|
|
type GetEventListenersParams struct {
|
|
ObjectID runtime.RemoteObjectID `json:"objectId"` // Identifier of the object to return listeners for.
|
|
Depth int64 `json:"depth,omitempty"` // The maximum depth at which Node children should be retrieved, defaults to 1. Use -1 for the entire subtree or provide an integer larger than 0.
|
|
Pierce bool `json:"pierce,omitempty"` // Whether or not iframes and shadow roots should be traversed when returning the subtree (default is false). Reports listeners for all contexts if pierce is enabled.
|
|
}
|
|
|
|
// GetEventListeners returns event listeners of the given object.
|
|
//
|
|
// parameters:
|
|
// objectID - Identifier of the object to return listeners for.
|
|
func GetEventListeners(objectID runtime.RemoteObjectID) *GetEventListenersParams {
|
|
return &GetEventListenersParams{
|
|
ObjectID: objectID,
|
|
}
|
|
}
|
|
|
|
// WithDepth the maximum depth at which Node children should be retrieved,
|
|
// defaults to 1. Use -1 for the entire subtree or provide an integer larger
|
|
// than 0.
|
|
func (p GetEventListenersParams) WithDepth(depth int64) *GetEventListenersParams {
|
|
p.Depth = depth
|
|
return &p
|
|
}
|
|
|
|
// WithPierce whether or not iframes and shadow roots should be traversed
|
|
// when returning the subtree (default is false). Reports listeners for all
|
|
// contexts if pierce is enabled.
|
|
func (p GetEventListenersParams) WithPierce(pierce bool) *GetEventListenersParams {
|
|
p.Pierce = pierce
|
|
return &p
|
|
}
|
|
|
|
// GetEventListenersReturns return values.
|
|
type GetEventListenersReturns struct {
|
|
Listeners []*EventListener `json:"listeners,omitempty"` // Array of relevant listeners.
|
|
}
|
|
|
|
// Do executes DOMDebugger.getEventListeners against the provided context and
|
|
// target handler.
|
|
//
|
|
// returns:
|
|
// listeners - Array of relevant listeners.
|
|
func (p *GetEventListenersParams) Do(ctxt context.Context, h cdp.Handler) (listeners []*EventListener, err error) {
|
|
if ctxt == nil {
|
|
ctxt = context.Background()
|
|
}
|
|
|
|
// marshal
|
|
buf, err := easyjson.Marshal(p)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
// execute
|
|
ch := h.Execute(ctxt, cdp.CommandDOMDebuggerGetEventListeners, easyjson.RawMessage(buf))
|
|
|
|
// read response
|
|
select {
|
|
case res := <-ch:
|
|
if res == nil {
|
|
return nil, cdp.ErrChannelClosed
|
|
}
|
|
|
|
switch v := res.(type) {
|
|
case easyjson.RawMessage:
|
|
// unmarshal
|
|
var r GetEventListenersReturns
|
|
err = easyjson.Unmarshal(v, &r)
|
|
if err != nil {
|
|
return nil, cdp.ErrInvalidResult
|
|
}
|
|
|
|
return r.Listeners, nil
|
|
|
|
case error:
|
|
return nil, v
|
|
}
|
|
|
|
case <-ctxt.Done():
|
|
return nil, ctxt.Err()
|
|
}
|
|
|
|
return nil, cdp.ErrUnknownResult
|
|
}
|