func (c *DOMDebugger) SetDOMBreakpointWithParams(v *DOMDebuggerSetDOMBreakpointParams) (*gcdmessage.ChromeResponse, error) {
	return gcdmessage.SendDefaultRequest(c.target, c.target.GetSendCh(), &gcdmessage.ParamRequest{Id: c.target.GetId(), Method: "DOMDebugger.setDOMBreakpoint", Params: v})
}
SetDOMBreakpointWithParams - Sets breakpoint on particular operation with DOM.
package gcdapi
import (
	"encoding/json"
	"github.com/wirepair/gcd/gcdmessage"
)
type DOMDebuggerEventListener struct {
	Type            string               `json:"type"`                       
	UseCapture      bool                 `json:"useCapture"`                 
	Passive         bool                 `json:"passive"`                    
	Once            bool                 `json:"once"`                       
	ScriptId        string               `json:"scriptId"`                   
	LineNumber      int                  `json:"lineNumber"`                 
	ColumnNumber    int                  `json:"columnNumber"`               
	Handler         *RuntimeRemoteObject `json:"handler,omitempty"`          
	OriginalHandler *RuntimeRemoteObject `json:"originalHandler,omitempty"`  
	BackendNodeId   int                  `json:"backendNodeId,omitempty"`    
}
type DOMDebugger struct {
	target gcdmessage.ChromeTargeter
}
func NewDOMDebugger(target gcdmessage.ChromeTargeter) *DOMDebugger {
	c := &DOMDebugger{target: target}
	return c
}
type DOMDebuggerGetEventListenersParams struct {
	ObjectId string `json:"objectId"`
	Depth int `json:"depth,omitempty"`
	Pierce bool `json:"pierce,omitempty"`
}
func (c *DOMDebugger) GetEventListenersWithParams(v *DOMDebuggerGetEventListenersParams) ([]*DOMDebuggerEventListener, error) {
	resp, err := gcdmessage.SendCustomReturn(c.target, c.target.GetSendCh(), &gcdmessage.ParamRequest{Id: c.target.GetId(), Method: "DOMDebugger.getEventListeners", Params: v})
	if err != nil {
		return nil, err
	}
	var chromeData struct {
		Result struct {
			Listeners []*DOMDebuggerEventListener
		}
	}
	if resp == nil {
		return nil, &gcdmessage.ChromeEmptyResponseErr{}
	}
	cerr := &gcdmessage.ChromeErrorResponse{}
	json.Unmarshal(resp.Data, cerr)
	if cerr != nil && cerr.Error != nil {
		return nil, &gcdmessage.ChromeRequestErr{Resp: cerr}
	}
	if err := json.Unmarshal(resp.Data, &chromeData); err != nil {
		return nil, err
	}
	return chromeData.Result.Listeners, nil
}
func (c *DOMDebugger) GetEventListeners(objectId string, depth int, pierce bool) ([]*DOMDebuggerEventListener, error) {
	var v DOMDebuggerGetEventListenersParams
	v.ObjectId = objectId
	v.Depth = depth
	v.Pierce = pierce
	return c.GetEventListenersWithParams(&v)
}
type DOMDebuggerRemoveDOMBreakpointParams struct {
	NodeId int `json:"nodeId"`
	TheType string `json:"type"`
}
func (c *DOMDebugger) RemoveDOMBreakpointWithParams(v *DOMDebuggerRemoveDOMBreakpointParams) (*gcdmessage.ChromeResponse, error) {
	return gcdmessage.SendDefaultRequest(c.target, c.target.GetSendCh(), &gcdmessage.ParamRequest{Id: c.target.GetId(), Method: "DOMDebugger.removeDOMBreakpoint", Params: v})
}
func (c *DOMDebugger) RemoveDOMBreakpoint(nodeId int, theType string) (*gcdmessage.ChromeResponse, error) {
	var v DOMDebuggerRemoveDOMBreakpointParams
	v.NodeId = nodeId
	v.TheType = theType
	return c.RemoveDOMBreakpointWithParams(&v)
}
type DOMDebuggerRemoveEventListenerBreakpointParams struct {
	EventName string `json:"eventName"`
	TargetName string `json:"targetName,omitempty"`
}
func (c *DOMDebugger) RemoveEventListenerBreakpointWithParams(v *DOMDebuggerRemoveEventListenerBreakpointParams) (*gcdmessage.ChromeResponse, error) {
	return gcdmessage.SendDefaultRequest(c.target, c.target.GetSendCh(), &gcdmessage.ParamRequest{Id: c.target.GetId(), Method: "DOMDebugger.removeEventListenerBreakpoint", Params: v})
}
func (c *DOMDebugger) RemoveEventListenerBreakpoint(eventName string, targetName string) (*gcdmessage.ChromeResponse, error) {
	var v DOMDebuggerRemoveEventListenerBreakpointParams
	v.EventName = eventName
	v.TargetName = targetName
	return c.RemoveEventListenerBreakpointWithParams(&v)
}
type DOMDebuggerRemoveInstrumentationBreakpointParams struct {
	EventName string `json:"eventName"`
}
func (c *DOMDebugger) RemoveInstrumentationBreakpointWithParams(v *DOMDebuggerRemoveInstrumentationBreakpointParams) (*gcdmessage.ChromeResponse, error) {
	return gcdmessage.SendDefaultRequest(c.target, c.target.GetSendCh(), &gcdmessage.ParamRequest{Id: c.target.GetId(), Method: "DOMDebugger.removeInstrumentationBreakpoint", Params: v})
}
func (c *DOMDebugger) RemoveInstrumentationBreakpoint(eventName string) (*gcdmessage.ChromeResponse, error) {
	var v DOMDebuggerRemoveInstrumentationBreakpointParams
	v.EventName = eventName
	return c.RemoveInstrumentationBreakpointWithParams(&v)
}
type DOMDebuggerRemoveXHRBreakpointParams struct {
	Url string `json:"url"`
}
func (c *DOMDebugger) RemoveXHRBreakpointWithParams(v *DOMDebuggerRemoveXHRBreakpointParams) (*gcdmessage.ChromeResponse, error) {
	return gcdmessage.SendDefaultRequest(c.target, c.target.GetSendCh(), &gcdmessage.ParamRequest{Id: c.target.GetId(), Method: "DOMDebugger.removeXHRBreakpoint", Params: v})
}
func (c *DOMDebugger) RemoveXHRBreakpoint(url string) (*gcdmessage.ChromeResponse, error) {
	var v DOMDebuggerRemoveXHRBreakpointParams
	v.Url = url
	return c.RemoveXHRBreakpointWithParams(&v)
}
type DOMDebuggerSetDOMBreakpointParams struct {
	NodeId int `json:"nodeId"`
	TheType string `json:"type"`
}