2017-01-24 15:09:23 +00:00
// Package accessibility provides the Chrome Debugging Protocol
// commands, types, and events for the Chrome Accessibility domain.
//
// Generated by the chromedp-gen command.
package accessibility
// AUTOGENERATED. DO NOT EDIT.
import (
"context"
2017-01-26 07:28:34 +00:00
cdp "github.com/knq/chromedp/cdp"
2017-01-24 15:09:23 +00:00
"github.com/mailru/easyjson"
)
// GetPartialAXTreeParams fetches the accessibility node and partial
// accessibility tree for this DOM node, if it exists.
type GetPartialAXTreeParams struct {
2017-01-26 07:28:34 +00:00
NodeID cdp . NodeID ` json:"nodeId" ` // ID of node to get the partial accessibility tree for.
FetchRelatives bool ` json:"fetchRelatives,omitempty" ` // Whether to fetch this nodes ancestors, siblings and children. Defaults to true.
2017-01-24 15:09:23 +00:00
}
// GetPartialAXTree fetches the accessibility node and partial accessibility
// tree for this DOM node, if it exists.
//
// parameters:
2017-01-26 07:28:34 +00:00
// nodeID - ID of node to get the partial accessibility tree for.
func GetPartialAXTree ( nodeID cdp . NodeID ) * GetPartialAXTreeParams {
2017-01-24 15:09:23 +00:00
return & GetPartialAXTreeParams {
2017-01-26 07:28:34 +00:00
NodeID : nodeID ,
2017-01-24 15:09:23 +00:00
}
}
// WithFetchRelatives whether to fetch this nodes ancestors, siblings and
// children. Defaults to true.
func ( p GetPartialAXTreeParams ) WithFetchRelatives ( fetchRelatives bool ) * GetPartialAXTreeParams {
p . FetchRelatives = fetchRelatives
return & p
}
// GetPartialAXTreeReturns return values.
type GetPartialAXTreeReturns struct {
Nodes [ ] * AXNode ` json:"nodes,omitempty" ` // The Accessibility.AXNode for this DOM node, if it exists, plus its ancestors, siblings and children, if requested.
}
// Do executes Accessibility.getPartialAXTree.
//
// returns:
// nodes - The Accessibility.AXNode for this DOM node, if it exists, plus its ancestors, siblings and children, if requested.
2017-01-26 07:28:34 +00:00
func ( p * GetPartialAXTreeParams ) Do ( ctxt context . Context , h cdp . FrameHandler ) ( nodes [ ] * AXNode , err error ) {
2017-01-24 15:09:23 +00:00
if ctxt == nil {
ctxt = context . Background ( )
}
// marshal
buf , err := easyjson . Marshal ( p )
if err != nil {
return nil , err
}
// execute
2017-01-26 07:28:34 +00:00
ch := h . Execute ( ctxt , cdp . CommandAccessibilityGetPartialAXTree , easyjson . RawMessage ( buf ) )
2017-01-24 15:09:23 +00:00
// read response
select {
case res := <- ch :
if res == nil {
2017-01-26 07:28:34 +00:00
return nil , cdp . ErrChannelClosed
2017-01-24 15:09:23 +00:00
}
switch v := res . ( type ) {
case easyjson . RawMessage :
// unmarshal
var r GetPartialAXTreeReturns
err = easyjson . Unmarshal ( v , & r )
if err != nil {
2017-01-26 07:28:34 +00:00
return nil , cdp . ErrInvalidResult
2017-01-24 15:09:23 +00:00
}
return r . Nodes , nil
case error :
return nil , v
}
case <- ctxt . Done ( ) :
2017-01-26 07:28:34 +00:00
return nil , cdp . ErrContextDone
2017-01-24 15:09:23 +00:00
}
2017-01-26 07:28:34 +00:00
return nil , cdp . ErrUnknownResult
2017-01-24 15:09:23 +00:00
}