Initial import
This commit is contained in:
commit
20d575fece
7
.gitignore
vendored
Normal file
7
.gitignore
vendored
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
out.txt
|
||||||
|
out*.txt
|
||||||
|
old*.txt
|
||||||
|
|
||||||
|
# binaries
|
||||||
|
/chromedp-gen
|
||||||
|
/cmd/chromedp-gen/chromedp-gen
|
21
LICENSE
Normal file
21
LICENSE
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
The MIT License (MIT)
|
||||||
|
|
||||||
|
Copyright (c) 2016-2017 Kenneth Shaw
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
29
README.md
Normal file
29
README.md
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
# About chromedp
|
||||||
|
|
||||||
|
Package chromedp is a faster, simpler way to drive browsers in Go using the
|
||||||
|
[Chrome Debugging Protocol](https://developer.chrome.com/devtools/docs/debugger-protocol)
|
||||||
|
(for Chrome, Edge, Safari, etc) without external dependencies (ie, Selenium, PhantomJS, etc).
|
||||||
|
|
||||||
|
**NOTE:** chromedp's API is currently unstable, and may change at a moments
|
||||||
|
notice. There are likely extremely bad bugs lurking in this code. **CAVEAT USER**.
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
Install in the usual way:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
go get -u github.com/knq/chromedp
|
||||||
|
```
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
Please see the [examples](examples/) directory for examples.
|
||||||
|
|
||||||
|
## TODO
|
||||||
|
* Move timeouts to context (defaults)
|
||||||
|
* Implement more query selector options (allow over riding context timeouts)
|
||||||
|
* Contextual actions for "dry run" (or via an accumulator?)
|
||||||
|
* Network loader / manager
|
||||||
|
* More examples
|
||||||
|
* Profiler
|
||||||
|
* Unit tests / coverage: travis-ci + coveralls integration
|
49
actions.go
Normal file
49
actions.go
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
package chromedp
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"time"
|
||||||
|
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Action is a single atomic action.
|
||||||
|
type Action interface {
|
||||||
|
Do(context.Context, FrameHandler) error
|
||||||
|
}
|
||||||
|
|
||||||
|
// ActionFunc is a single action func.
|
||||||
|
type ActionFunc func(context.Context, FrameHandler) error
|
||||||
|
|
||||||
|
// Do executes the action using the provided context.
|
||||||
|
func (f ActionFunc) Do(ctxt context.Context, h FrameHandler) error {
|
||||||
|
return f(ctxt, h)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Tasks is a list of Actions that can be used as a single Action.
|
||||||
|
type Tasks []Action
|
||||||
|
|
||||||
|
// Do executes the list of Tasks using the provided context.
|
||||||
|
func (t Tasks) Do(ctxt context.Context, h FrameHandler) error {
|
||||||
|
var err error
|
||||||
|
|
||||||
|
// TODO: put individual task timeouts from context here
|
||||||
|
for _, a := range t {
|
||||||
|
// ctxt, cancel = context.WithTimeout(ctxt, timeout)
|
||||||
|
// defer cancel()
|
||||||
|
err = a.Do(ctxt, h)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Sleep is an empty action that calls time.Sleep with the specified duration.
|
||||||
|
func Sleep(d time.Duration) Action {
|
||||||
|
return ActionFunc(func(context.Context, FrameHandler) error {
|
||||||
|
time.Sleep(d)
|
||||||
|
return nil
|
||||||
|
})
|
||||||
|
}
|
111
cdp/accessibility/accessibility.go
Normal file
111
cdp/accessibility/accessibility.go
Normal file
|
@ -0,0 +1,111 @@
|
||||||
|
// 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"
|
||||||
|
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
"github.com/mailru/easyjson"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// GetPartialAXTreeParams fetches the accessibility node and partial
|
||||||
|
// accessibility tree for this DOM node, if it exists.
|
||||||
|
type GetPartialAXTreeParams struct {
|
||||||
|
NodeID 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.
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetPartialAXTree fetches the accessibility node and partial accessibility
|
||||||
|
// tree for this DOM node, if it exists.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// nodeId - ID of node to get the partial accessibility tree for.
|
||||||
|
func GetPartialAXTree(nodeId NodeID) *GetPartialAXTreeParams {
|
||||||
|
return &GetPartialAXTreeParams{
|
||||||
|
NodeID: nodeId,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 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.
|
||||||
|
func (p *GetPartialAXTreeParams) Do(ctxt context.Context, h FrameHandler) (nodes []*AXNode, 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, CommandAccessibilityGetPartialAXTree, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return nil, ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
// unmarshal
|
||||||
|
var r GetPartialAXTreeReturns
|
||||||
|
err = easyjson.Unmarshal(v, &r)
|
||||||
|
if err != nil {
|
||||||
|
return nil, ErrInvalidResult
|
||||||
|
}
|
||||||
|
|
||||||
|
return r.Nodes, nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return nil, v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return nil, ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil, ErrUnknownResult
|
||||||
|
}
|
1064
cdp/accessibility/easyjson.go
Normal file
1064
cdp/accessibility/easyjson.go
Normal file
File diff suppressed because it is too large
Load Diff
559
cdp/accessibility/types.go
Normal file
559
cdp/accessibility/types.go
Normal file
|
@ -0,0 +1,559 @@
|
||||||
|
package accessibility
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
"errors"
|
||||||
|
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
"github.com/mailru/easyjson"
|
||||||
|
"github.com/mailru/easyjson/jlexer"
|
||||||
|
"github.com/mailru/easyjson/jwriter"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// AXNodeID unique accessibility node identifier.
|
||||||
|
type AXNodeID string
|
||||||
|
|
||||||
|
// String returns the AXNodeID as string value.
|
||||||
|
func (t AXNodeID) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// AXValueType enum of possible property types.
|
||||||
|
type AXValueType string
|
||||||
|
|
||||||
|
// String returns the AXValueType as string value.
|
||||||
|
func (t AXValueType) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// AXValueType values.
|
||||||
|
const (
|
||||||
|
AXValueTypeBoolean AXValueType = "boolean"
|
||||||
|
AXValueTypeTristate AXValueType = "tristate"
|
||||||
|
AXValueTypeBooleanOrUndefined AXValueType = "booleanOrUndefined"
|
||||||
|
AXValueTypeIdref AXValueType = "idref"
|
||||||
|
AXValueTypeIdrefList AXValueType = "idrefList"
|
||||||
|
AXValueTypeInteger AXValueType = "integer"
|
||||||
|
AXValueTypeNode AXValueType = "node"
|
||||||
|
AXValueTypeNodeList AXValueType = "nodeList"
|
||||||
|
AXValueTypeNumber AXValueType = "number"
|
||||||
|
AXValueTypeString AXValueType = "string"
|
||||||
|
AXValueTypeComputedString AXValueType = "computedString"
|
||||||
|
AXValueTypeToken AXValueType = "token"
|
||||||
|
AXValueTypeTokenList AXValueType = "tokenList"
|
||||||
|
AXValueTypeDomRelation AXValueType = "domRelation"
|
||||||
|
AXValueTypeRole AXValueType = "role"
|
||||||
|
AXValueTypeInternalRole AXValueType = "internalRole"
|
||||||
|
AXValueTypeValueUndefined AXValueType = "valueUndefined"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t AXValueType) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t AXValueType) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *AXValueType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch AXValueType(in.String()) {
|
||||||
|
case AXValueTypeBoolean:
|
||||||
|
*t = AXValueTypeBoolean
|
||||||
|
case AXValueTypeTristate:
|
||||||
|
*t = AXValueTypeTristate
|
||||||
|
case AXValueTypeBooleanOrUndefined:
|
||||||
|
*t = AXValueTypeBooleanOrUndefined
|
||||||
|
case AXValueTypeIdref:
|
||||||
|
*t = AXValueTypeIdref
|
||||||
|
case AXValueTypeIdrefList:
|
||||||
|
*t = AXValueTypeIdrefList
|
||||||
|
case AXValueTypeInteger:
|
||||||
|
*t = AXValueTypeInteger
|
||||||
|
case AXValueTypeNode:
|
||||||
|
*t = AXValueTypeNode
|
||||||
|
case AXValueTypeNodeList:
|
||||||
|
*t = AXValueTypeNodeList
|
||||||
|
case AXValueTypeNumber:
|
||||||
|
*t = AXValueTypeNumber
|
||||||
|
case AXValueTypeString:
|
||||||
|
*t = AXValueTypeString
|
||||||
|
case AXValueTypeComputedString:
|
||||||
|
*t = AXValueTypeComputedString
|
||||||
|
case AXValueTypeToken:
|
||||||
|
*t = AXValueTypeToken
|
||||||
|
case AXValueTypeTokenList:
|
||||||
|
*t = AXValueTypeTokenList
|
||||||
|
case AXValueTypeDomRelation:
|
||||||
|
*t = AXValueTypeDomRelation
|
||||||
|
case AXValueTypeRole:
|
||||||
|
*t = AXValueTypeRole
|
||||||
|
case AXValueTypeInternalRole:
|
||||||
|
*t = AXValueTypeInternalRole
|
||||||
|
case AXValueTypeValueUndefined:
|
||||||
|
*t = AXValueTypeValueUndefined
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown AXValueType value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *AXValueType) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// AXValueSourceType enum of possible property sources.
|
||||||
|
type AXValueSourceType string
|
||||||
|
|
||||||
|
// String returns the AXValueSourceType as string value.
|
||||||
|
func (t AXValueSourceType) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// AXValueSourceType values.
|
||||||
|
const (
|
||||||
|
AXValueSourceTypeAttribute AXValueSourceType = "attribute"
|
||||||
|
AXValueSourceTypeImplicit AXValueSourceType = "implicit"
|
||||||
|
AXValueSourceTypeStyle AXValueSourceType = "style"
|
||||||
|
AXValueSourceTypeContents AXValueSourceType = "contents"
|
||||||
|
AXValueSourceTypePlaceholder AXValueSourceType = "placeholder"
|
||||||
|
AXValueSourceTypeRelatedElement AXValueSourceType = "relatedElement"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t AXValueSourceType) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t AXValueSourceType) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *AXValueSourceType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch AXValueSourceType(in.String()) {
|
||||||
|
case AXValueSourceTypeAttribute:
|
||||||
|
*t = AXValueSourceTypeAttribute
|
||||||
|
case AXValueSourceTypeImplicit:
|
||||||
|
*t = AXValueSourceTypeImplicit
|
||||||
|
case AXValueSourceTypeStyle:
|
||||||
|
*t = AXValueSourceTypeStyle
|
||||||
|
case AXValueSourceTypeContents:
|
||||||
|
*t = AXValueSourceTypeContents
|
||||||
|
case AXValueSourceTypePlaceholder:
|
||||||
|
*t = AXValueSourceTypePlaceholder
|
||||||
|
case AXValueSourceTypeRelatedElement:
|
||||||
|
*t = AXValueSourceTypeRelatedElement
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown AXValueSourceType value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *AXValueSourceType) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// AXValueNativeSourceType enum of possible native property sources (as a
|
||||||
|
// subtype of a particular AXValueSourceType).
|
||||||
|
type AXValueNativeSourceType string
|
||||||
|
|
||||||
|
// String returns the AXValueNativeSourceType as string value.
|
||||||
|
func (t AXValueNativeSourceType) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// AXValueNativeSourceType values.
|
||||||
|
const (
|
||||||
|
AXValueNativeSourceTypeFigcaption AXValueNativeSourceType = "figcaption"
|
||||||
|
AXValueNativeSourceTypeLabel AXValueNativeSourceType = "label"
|
||||||
|
AXValueNativeSourceTypeLabelfor AXValueNativeSourceType = "labelfor"
|
||||||
|
AXValueNativeSourceTypeLabelwrapped AXValueNativeSourceType = "labelwrapped"
|
||||||
|
AXValueNativeSourceTypeLegend AXValueNativeSourceType = "legend"
|
||||||
|
AXValueNativeSourceTypeTablecaption AXValueNativeSourceType = "tablecaption"
|
||||||
|
AXValueNativeSourceTypeTitle AXValueNativeSourceType = "title"
|
||||||
|
AXValueNativeSourceTypeOther AXValueNativeSourceType = "other"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t AXValueNativeSourceType) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t AXValueNativeSourceType) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *AXValueNativeSourceType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch AXValueNativeSourceType(in.String()) {
|
||||||
|
case AXValueNativeSourceTypeFigcaption:
|
||||||
|
*t = AXValueNativeSourceTypeFigcaption
|
||||||
|
case AXValueNativeSourceTypeLabel:
|
||||||
|
*t = AXValueNativeSourceTypeLabel
|
||||||
|
case AXValueNativeSourceTypeLabelfor:
|
||||||
|
*t = AXValueNativeSourceTypeLabelfor
|
||||||
|
case AXValueNativeSourceTypeLabelwrapped:
|
||||||
|
*t = AXValueNativeSourceTypeLabelwrapped
|
||||||
|
case AXValueNativeSourceTypeLegend:
|
||||||
|
*t = AXValueNativeSourceTypeLegend
|
||||||
|
case AXValueNativeSourceTypeTablecaption:
|
||||||
|
*t = AXValueNativeSourceTypeTablecaption
|
||||||
|
case AXValueNativeSourceTypeTitle:
|
||||||
|
*t = AXValueNativeSourceTypeTitle
|
||||||
|
case AXValueNativeSourceTypeOther:
|
||||||
|
*t = AXValueNativeSourceTypeOther
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown AXValueNativeSourceType value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *AXValueNativeSourceType) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// AXValueSource a single source for a computed AX property.
|
||||||
|
type AXValueSource struct {
|
||||||
|
Type AXValueSourceType `json:"type,omitempty"` // What type of source this is.
|
||||||
|
Value *AXValue `json:"value,omitempty"` // The value of this property source.
|
||||||
|
Attribute string `json:"attribute,omitempty"` // The name of the relevant attribute, if any.
|
||||||
|
AttributeValue *AXValue `json:"attributeValue,omitempty"` // The value of the relevant attribute, if any.
|
||||||
|
Superseded bool `json:"superseded,omitempty"` // Whether this source is superseded by a higher priority source.
|
||||||
|
NativeSource AXValueNativeSourceType `json:"nativeSource,omitempty"` // The native markup source for this value, e.g. a <label> element.
|
||||||
|
NativeSourceValue *AXValue `json:"nativeSourceValue,omitempty"` // The value, such as a node or node list, of the native source.
|
||||||
|
Invalid bool `json:"invalid,omitempty"` // Whether the value for this property is invalid.
|
||||||
|
InvalidReason string `json:"invalidReason,omitempty"` // Reason for the value being invalid, if it is.
|
||||||
|
}
|
||||||
|
|
||||||
|
type AXRelatedNode struct {
|
||||||
|
BackendDOMNodeID BackendNodeID `json:"backendDOMNodeId,omitempty"` // The BackendNodeId of the related DOM node.
|
||||||
|
Idref string `json:"idref,omitempty"` // The IDRef value provided, if any.
|
||||||
|
Text string `json:"text,omitempty"` // The text alternative of this node in the current context.
|
||||||
|
}
|
||||||
|
|
||||||
|
type AXProperty struct {
|
||||||
|
Name string `json:"name,omitempty"` // The name of this property.
|
||||||
|
Value *AXValue `json:"value,omitempty"` // The value of this property.
|
||||||
|
}
|
||||||
|
|
||||||
|
// AXValue a single computed AX property.
|
||||||
|
type AXValue struct {
|
||||||
|
Type AXValueType `json:"type,omitempty"` // The type of this value.
|
||||||
|
Value easyjson.RawMessage `json:"value,omitempty"` // The computed value of this property.
|
||||||
|
RelatedNodes []*AXRelatedNode `json:"relatedNodes,omitempty"` // One or more related nodes, if applicable.
|
||||||
|
Sources []*AXValueSource `json:"sources,omitempty"` // The sources which contributed to the computation of this property.
|
||||||
|
}
|
||||||
|
|
||||||
|
// AXGlobalStates states which apply to every AX node.
|
||||||
|
type AXGlobalStates string
|
||||||
|
|
||||||
|
// String returns the AXGlobalStates as string value.
|
||||||
|
func (t AXGlobalStates) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// AXGlobalStates values.
|
||||||
|
const (
|
||||||
|
AXGlobalStatesDisabled AXGlobalStates = "disabled"
|
||||||
|
AXGlobalStatesHidden AXGlobalStates = "hidden"
|
||||||
|
AXGlobalStatesHiddenRoot AXGlobalStates = "hiddenRoot"
|
||||||
|
AXGlobalStatesInvalid AXGlobalStates = "invalid"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t AXGlobalStates) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t AXGlobalStates) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *AXGlobalStates) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch AXGlobalStates(in.String()) {
|
||||||
|
case AXGlobalStatesDisabled:
|
||||||
|
*t = AXGlobalStatesDisabled
|
||||||
|
case AXGlobalStatesHidden:
|
||||||
|
*t = AXGlobalStatesHidden
|
||||||
|
case AXGlobalStatesHiddenRoot:
|
||||||
|
*t = AXGlobalStatesHiddenRoot
|
||||||
|
case AXGlobalStatesInvalid:
|
||||||
|
*t = AXGlobalStatesInvalid
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown AXGlobalStates value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *AXGlobalStates) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// AXLiveRegionAttributes attributes which apply to nodes in live regions.
|
||||||
|
type AXLiveRegionAttributes string
|
||||||
|
|
||||||
|
// String returns the AXLiveRegionAttributes as string value.
|
||||||
|
func (t AXLiveRegionAttributes) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// AXLiveRegionAttributes values.
|
||||||
|
const (
|
||||||
|
AXLiveRegionAttributesLive AXLiveRegionAttributes = "live"
|
||||||
|
AXLiveRegionAttributesAtomic AXLiveRegionAttributes = "atomic"
|
||||||
|
AXLiveRegionAttributesRelevant AXLiveRegionAttributes = "relevant"
|
||||||
|
AXLiveRegionAttributesBusy AXLiveRegionAttributes = "busy"
|
||||||
|
AXLiveRegionAttributesRoot AXLiveRegionAttributes = "root"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t AXLiveRegionAttributes) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t AXLiveRegionAttributes) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *AXLiveRegionAttributes) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch AXLiveRegionAttributes(in.String()) {
|
||||||
|
case AXLiveRegionAttributesLive:
|
||||||
|
*t = AXLiveRegionAttributesLive
|
||||||
|
case AXLiveRegionAttributesAtomic:
|
||||||
|
*t = AXLiveRegionAttributesAtomic
|
||||||
|
case AXLiveRegionAttributesRelevant:
|
||||||
|
*t = AXLiveRegionAttributesRelevant
|
||||||
|
case AXLiveRegionAttributesBusy:
|
||||||
|
*t = AXLiveRegionAttributesBusy
|
||||||
|
case AXLiveRegionAttributesRoot:
|
||||||
|
*t = AXLiveRegionAttributesRoot
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown AXLiveRegionAttributes value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *AXLiveRegionAttributes) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// AXWidgetAttributes attributes which apply to widgets.
|
||||||
|
type AXWidgetAttributes string
|
||||||
|
|
||||||
|
// String returns the AXWidgetAttributes as string value.
|
||||||
|
func (t AXWidgetAttributes) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// AXWidgetAttributes values.
|
||||||
|
const (
|
||||||
|
AXWidgetAttributesAutocomplete AXWidgetAttributes = "autocomplete"
|
||||||
|
AXWidgetAttributesHaspopup AXWidgetAttributes = "haspopup"
|
||||||
|
AXWidgetAttributesLevel AXWidgetAttributes = "level"
|
||||||
|
AXWidgetAttributesMultiselectable AXWidgetAttributes = "multiselectable"
|
||||||
|
AXWidgetAttributesOrientation AXWidgetAttributes = "orientation"
|
||||||
|
AXWidgetAttributesMultiline AXWidgetAttributes = "multiline"
|
||||||
|
AXWidgetAttributesReadonly AXWidgetAttributes = "readonly"
|
||||||
|
AXWidgetAttributesRequired AXWidgetAttributes = "required"
|
||||||
|
AXWidgetAttributesValuemin AXWidgetAttributes = "valuemin"
|
||||||
|
AXWidgetAttributesValuemax AXWidgetAttributes = "valuemax"
|
||||||
|
AXWidgetAttributesValuetext AXWidgetAttributes = "valuetext"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t AXWidgetAttributes) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t AXWidgetAttributes) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *AXWidgetAttributes) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch AXWidgetAttributes(in.String()) {
|
||||||
|
case AXWidgetAttributesAutocomplete:
|
||||||
|
*t = AXWidgetAttributesAutocomplete
|
||||||
|
case AXWidgetAttributesHaspopup:
|
||||||
|
*t = AXWidgetAttributesHaspopup
|
||||||
|
case AXWidgetAttributesLevel:
|
||||||
|
*t = AXWidgetAttributesLevel
|
||||||
|
case AXWidgetAttributesMultiselectable:
|
||||||
|
*t = AXWidgetAttributesMultiselectable
|
||||||
|
case AXWidgetAttributesOrientation:
|
||||||
|
*t = AXWidgetAttributesOrientation
|
||||||
|
case AXWidgetAttributesMultiline:
|
||||||
|
*t = AXWidgetAttributesMultiline
|
||||||
|
case AXWidgetAttributesReadonly:
|
||||||
|
*t = AXWidgetAttributesReadonly
|
||||||
|
case AXWidgetAttributesRequired:
|
||||||
|
*t = AXWidgetAttributesRequired
|
||||||
|
case AXWidgetAttributesValuemin:
|
||||||
|
*t = AXWidgetAttributesValuemin
|
||||||
|
case AXWidgetAttributesValuemax:
|
||||||
|
*t = AXWidgetAttributesValuemax
|
||||||
|
case AXWidgetAttributesValuetext:
|
||||||
|
*t = AXWidgetAttributesValuetext
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown AXWidgetAttributes value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *AXWidgetAttributes) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// AXWidgetStates states which apply to widgets.
|
||||||
|
type AXWidgetStates string
|
||||||
|
|
||||||
|
// String returns the AXWidgetStates as string value.
|
||||||
|
func (t AXWidgetStates) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// AXWidgetStates values.
|
||||||
|
const (
|
||||||
|
AXWidgetStatesChecked AXWidgetStates = "checked"
|
||||||
|
AXWidgetStatesExpanded AXWidgetStates = "expanded"
|
||||||
|
AXWidgetStatesPressed AXWidgetStates = "pressed"
|
||||||
|
AXWidgetStatesSelected AXWidgetStates = "selected"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t AXWidgetStates) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t AXWidgetStates) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *AXWidgetStates) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch AXWidgetStates(in.String()) {
|
||||||
|
case AXWidgetStatesChecked:
|
||||||
|
*t = AXWidgetStatesChecked
|
||||||
|
case AXWidgetStatesExpanded:
|
||||||
|
*t = AXWidgetStatesExpanded
|
||||||
|
case AXWidgetStatesPressed:
|
||||||
|
*t = AXWidgetStatesPressed
|
||||||
|
case AXWidgetStatesSelected:
|
||||||
|
*t = AXWidgetStatesSelected
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown AXWidgetStates value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *AXWidgetStates) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// AXRelationshipAttributes relationships between elements other than
|
||||||
|
// parent/child/sibling.
|
||||||
|
type AXRelationshipAttributes string
|
||||||
|
|
||||||
|
// String returns the AXRelationshipAttributes as string value.
|
||||||
|
func (t AXRelationshipAttributes) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// AXRelationshipAttributes values.
|
||||||
|
const (
|
||||||
|
AXRelationshipAttributesActivedescendant AXRelationshipAttributes = "activedescendant"
|
||||||
|
AXRelationshipAttributesFlowto AXRelationshipAttributes = "flowto"
|
||||||
|
AXRelationshipAttributesControls AXRelationshipAttributes = "controls"
|
||||||
|
AXRelationshipAttributesDescribedby AXRelationshipAttributes = "describedby"
|
||||||
|
AXRelationshipAttributesLabelledby AXRelationshipAttributes = "labelledby"
|
||||||
|
AXRelationshipAttributesOwns AXRelationshipAttributes = "owns"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t AXRelationshipAttributes) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t AXRelationshipAttributes) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *AXRelationshipAttributes) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch AXRelationshipAttributes(in.String()) {
|
||||||
|
case AXRelationshipAttributesActivedescendant:
|
||||||
|
*t = AXRelationshipAttributesActivedescendant
|
||||||
|
case AXRelationshipAttributesFlowto:
|
||||||
|
*t = AXRelationshipAttributesFlowto
|
||||||
|
case AXRelationshipAttributesControls:
|
||||||
|
*t = AXRelationshipAttributesControls
|
||||||
|
case AXRelationshipAttributesDescribedby:
|
||||||
|
*t = AXRelationshipAttributesDescribedby
|
||||||
|
case AXRelationshipAttributesLabelledby:
|
||||||
|
*t = AXRelationshipAttributesLabelledby
|
||||||
|
case AXRelationshipAttributesOwns:
|
||||||
|
*t = AXRelationshipAttributesOwns
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown AXRelationshipAttributes value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *AXRelationshipAttributes) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// AXNode a node in the accessibility tree.
|
||||||
|
type AXNode struct {
|
||||||
|
NodeID AXNodeID `json:"nodeId,omitempty"` // Unique identifier for this node.
|
||||||
|
Ignored bool `json:"ignored,omitempty"` // Whether this node is ignored for accessibility
|
||||||
|
IgnoredReasons []*AXProperty `json:"ignoredReasons,omitempty"` // Collection of reasons why this node is hidden.
|
||||||
|
Role *AXValue `json:"role,omitempty"` // This Node's role, whether explicit or implicit.
|
||||||
|
Name *AXValue `json:"name,omitempty"` // The accessible name for this Node.
|
||||||
|
Description *AXValue `json:"description,omitempty"` // The accessible description for this Node.
|
||||||
|
Value *AXValue `json:"value,omitempty"` // The value for this Node.
|
||||||
|
Properties []*AXProperty `json:"properties,omitempty"` // All other properties
|
||||||
|
ChildIds []AXNodeID `json:"childIds,omitempty"` // IDs for each of this node's child nodes.
|
||||||
|
BackendDOMNodeID BackendNodeID `json:"backendDOMNodeId,omitempty"` // The backend ID for the associated DOM node, if any.
|
||||||
|
}
|
577
cdp/animation/animation.go
Normal file
577
cdp/animation/animation.go
Normal file
|
@ -0,0 +1,577 @@
|
||||||
|
// Package animation provides the Chrome Debugging Protocol
|
||||||
|
// commands, types, and events for the Chrome Animation domain.
|
||||||
|
//
|
||||||
|
// Generated by the chromedp-gen command.
|
||||||
|
package animation
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
"github.com/knq/chromedp/cdp/runtime"
|
||||||
|
"github.com/mailru/easyjson"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// EnableParams enables animation domain notifications.
|
||||||
|
type EnableParams struct{}
|
||||||
|
|
||||||
|
// Enable enables animation domain notifications.
|
||||||
|
func Enable() *EnableParams {
|
||||||
|
return &EnableParams{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Animation.enable.
|
||||||
|
func (p *EnableParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandAnimationEnable, Empty)
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// DisableParams disables animation domain notifications.
|
||||||
|
type DisableParams struct{}
|
||||||
|
|
||||||
|
// Disable disables animation domain notifications.
|
||||||
|
func Disable() *DisableParams {
|
||||||
|
return &DisableParams{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Animation.disable.
|
||||||
|
func (p *DisableParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandAnimationDisable, Empty)
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetPlaybackRateParams gets the playback rate of the document timeline.
|
||||||
|
type GetPlaybackRateParams struct{}
|
||||||
|
|
||||||
|
// GetPlaybackRate gets the playback rate of the document timeline.
|
||||||
|
func GetPlaybackRate() *GetPlaybackRateParams {
|
||||||
|
return &GetPlaybackRateParams{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetPlaybackRateReturns return values.
|
||||||
|
type GetPlaybackRateReturns struct {
|
||||||
|
PlaybackRate float64 `json:"playbackRate,omitempty"` // Playback rate for animations on page.
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Animation.getPlaybackRate.
|
||||||
|
//
|
||||||
|
// returns:
|
||||||
|
// playbackRate - Playback rate for animations on page.
|
||||||
|
func (p *GetPlaybackRateParams) Do(ctxt context.Context, h FrameHandler) (playbackRate float64, err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandAnimationGetPlaybackRate, Empty)
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return 0, ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
// unmarshal
|
||||||
|
var r GetPlaybackRateReturns
|
||||||
|
err = easyjson.Unmarshal(v, &r)
|
||||||
|
if err != nil {
|
||||||
|
return 0, ErrInvalidResult
|
||||||
|
}
|
||||||
|
|
||||||
|
return r.PlaybackRate, nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return 0, v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return 0, ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0, ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetPlaybackRateParams sets the playback rate of the document timeline.
|
||||||
|
type SetPlaybackRateParams struct {
|
||||||
|
PlaybackRate float64 `json:"playbackRate"` // Playback rate for animations on page
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetPlaybackRate sets the playback rate of the document timeline.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// playbackRate - Playback rate for animations on page
|
||||||
|
func SetPlaybackRate(playbackRate float64) *SetPlaybackRateParams {
|
||||||
|
return &SetPlaybackRateParams{
|
||||||
|
PlaybackRate: playbackRate,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Animation.setPlaybackRate.
|
||||||
|
func (p *SetPlaybackRateParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandAnimationSetPlaybackRate, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetCurrentTimeParams returns the current time of the an animation.
|
||||||
|
type GetCurrentTimeParams struct {
|
||||||
|
ID string `json:"id"` // Id of animation.
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetCurrentTime returns the current time of the an animation.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// id - Id of animation.
|
||||||
|
func GetCurrentTime(id string) *GetCurrentTimeParams {
|
||||||
|
return &GetCurrentTimeParams{
|
||||||
|
ID: id,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetCurrentTimeReturns return values.
|
||||||
|
type GetCurrentTimeReturns struct {
|
||||||
|
CurrentTime float64 `json:"currentTime,omitempty"` // Current time of the page.
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Animation.getCurrentTime.
|
||||||
|
//
|
||||||
|
// returns:
|
||||||
|
// currentTime - Current time of the page.
|
||||||
|
func (p *GetCurrentTimeParams) Do(ctxt context.Context, h FrameHandler) (currentTime float64, err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return 0, err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandAnimationGetCurrentTime, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return 0, ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
// unmarshal
|
||||||
|
var r GetCurrentTimeReturns
|
||||||
|
err = easyjson.Unmarshal(v, &r)
|
||||||
|
if err != nil {
|
||||||
|
return 0, ErrInvalidResult
|
||||||
|
}
|
||||||
|
|
||||||
|
return r.CurrentTime, nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return 0, v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return 0, ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0, ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetPausedParams sets the paused state of a set of animations.
|
||||||
|
type SetPausedParams struct {
|
||||||
|
Animations []string `json:"animations"` // Animations to set the pause state of.
|
||||||
|
Paused bool `json:"paused"` // Paused state to set to.
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetPaused sets the paused state of a set of animations.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// animations - Animations to set the pause state of.
|
||||||
|
// paused - Paused state to set to.
|
||||||
|
func SetPaused(animations []string, paused bool) *SetPausedParams {
|
||||||
|
return &SetPausedParams{
|
||||||
|
Animations: animations,
|
||||||
|
Paused: paused,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Animation.setPaused.
|
||||||
|
func (p *SetPausedParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandAnimationSetPaused, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetTimingParams sets the timing of an animation node.
|
||||||
|
type SetTimingParams struct {
|
||||||
|
AnimationID string `json:"animationId"` // Animation id.
|
||||||
|
Duration float64 `json:"duration"` // Duration of the animation.
|
||||||
|
Delay float64 `json:"delay"` // Delay of the animation.
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetTiming sets the timing of an animation node.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// animationId - Animation id.
|
||||||
|
// duration - Duration of the animation.
|
||||||
|
// delay - Delay of the animation.
|
||||||
|
func SetTiming(animationId string, duration float64, delay float64) *SetTimingParams {
|
||||||
|
return &SetTimingParams{
|
||||||
|
AnimationID: animationId,
|
||||||
|
Duration: duration,
|
||||||
|
Delay: delay,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Animation.setTiming.
|
||||||
|
func (p *SetTimingParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandAnimationSetTiming, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// SeekAnimationsParams seek a set of animations to a particular time within
|
||||||
|
// each animation.
|
||||||
|
type SeekAnimationsParams struct {
|
||||||
|
Animations []string `json:"animations"` // List of animation ids to seek.
|
||||||
|
CurrentTime float64 `json:"currentTime"` // Set the current time of each animation.
|
||||||
|
}
|
||||||
|
|
||||||
|
// SeekAnimations seek a set of animations to a particular time within each
|
||||||
|
// animation.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// animations - List of animation ids to seek.
|
||||||
|
// currentTime - Set the current time of each animation.
|
||||||
|
func SeekAnimations(animations []string, currentTime float64) *SeekAnimationsParams {
|
||||||
|
return &SeekAnimationsParams{
|
||||||
|
Animations: animations,
|
||||||
|
CurrentTime: currentTime,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Animation.seekAnimations.
|
||||||
|
func (p *SeekAnimationsParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandAnimationSeekAnimations, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// ReleaseAnimationsParams releases a set of animations to no longer be
|
||||||
|
// manipulated.
|
||||||
|
type ReleaseAnimationsParams struct {
|
||||||
|
Animations []string `json:"animations"` // List of animation ids to seek.
|
||||||
|
}
|
||||||
|
|
||||||
|
// ReleaseAnimations releases a set of animations to no longer be
|
||||||
|
// manipulated.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// animations - List of animation ids to seek.
|
||||||
|
func ReleaseAnimations(animations []string) *ReleaseAnimationsParams {
|
||||||
|
return &ReleaseAnimationsParams{
|
||||||
|
Animations: animations,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Animation.releaseAnimations.
|
||||||
|
func (p *ReleaseAnimationsParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandAnimationReleaseAnimations, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// ResolveAnimationParams gets the remote object of the Animation.
|
||||||
|
type ResolveAnimationParams struct {
|
||||||
|
AnimationID string `json:"animationId"` // Animation id.
|
||||||
|
}
|
||||||
|
|
||||||
|
// ResolveAnimation gets the remote object of the Animation.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// animationId - Animation id.
|
||||||
|
func ResolveAnimation(animationId string) *ResolveAnimationParams {
|
||||||
|
return &ResolveAnimationParams{
|
||||||
|
AnimationID: animationId,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ResolveAnimationReturns return values.
|
||||||
|
type ResolveAnimationReturns struct {
|
||||||
|
RemoteObject *runtime.RemoteObject `json:"remoteObject,omitempty"` // Corresponding remote object.
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Animation.resolveAnimation.
|
||||||
|
//
|
||||||
|
// returns:
|
||||||
|
// remoteObject - Corresponding remote object.
|
||||||
|
func (p *ResolveAnimationParams) Do(ctxt context.Context, h FrameHandler) (remoteObject *runtime.RemoteObject, 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, CommandAnimationResolveAnimation, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return nil, ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
// unmarshal
|
||||||
|
var r ResolveAnimationReturns
|
||||||
|
err = easyjson.Unmarshal(v, &r)
|
||||||
|
if err != nil {
|
||||||
|
return nil, ErrInvalidResult
|
||||||
|
}
|
||||||
|
|
||||||
|
return r.RemoteObject, nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return nil, v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return nil, ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil, ErrUnknownResult
|
||||||
|
}
|
1760
cdp/animation/easyjson.go
Normal file
1760
cdp/animation/easyjson.go
Normal file
File diff suppressed because it is too large
Load Diff
49
cdp/animation/events.go
Normal file
49
cdp/animation/events.go
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
package animation
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// EventAnimationCreated event for each animation that has been created.
|
||||||
|
type EventAnimationCreated struct {
|
||||||
|
ID string `json:"id,omitempty"` // Id of the animation that was created.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventAnimationStarted event for animation that has been started.
|
||||||
|
type EventAnimationStarted struct {
|
||||||
|
Animation *Animation `json:"animation,omitempty"` // Animation that was started.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventAnimationCanceled event for when an animation has been cancelled.
|
||||||
|
type EventAnimationCanceled struct {
|
||||||
|
ID string `json:"id,omitempty"` // Id of the animation that was cancelled.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventTypes is all event types in the domain.
|
||||||
|
var EventTypes = []MethodType{
|
||||||
|
EventAnimationAnimationCreated,
|
||||||
|
EventAnimationAnimationStarted,
|
||||||
|
EventAnimationAnimationCanceled,
|
||||||
|
}
|
117
cdp/animation/types.go
Normal file
117
cdp/animation/types.go
Normal file
|
@ -0,0 +1,117 @@
|
||||||
|
package animation
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
"errors"
|
||||||
|
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
"github.com/mailru/easyjson"
|
||||||
|
"github.com/mailru/easyjson/jlexer"
|
||||||
|
"github.com/mailru/easyjson/jwriter"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// Animation animation instance.
|
||||||
|
type Animation struct {
|
||||||
|
ID string `json:"id,omitempty"` // Animation's id.
|
||||||
|
Name string `json:"name,omitempty"` // Animation's name.
|
||||||
|
PausedState bool `json:"pausedState,omitempty"` // Animation's internal paused state.
|
||||||
|
PlayState string `json:"playState,omitempty"` // Animation's play state.
|
||||||
|
PlaybackRate float64 `json:"playbackRate,omitempty"` // Animation's playback rate.
|
||||||
|
StartTime float64 `json:"startTime,omitempty"` // Animation's start time.
|
||||||
|
CurrentTime float64 `json:"currentTime,omitempty"` // Animation's current time.
|
||||||
|
Source *AnimationEffect `json:"source,omitempty"` // Animation's source animation node.
|
||||||
|
Type AnimationType `json:"type,omitempty"` // Animation type of Animation.
|
||||||
|
CSSID string `json:"cssId,omitempty"` // A unique ID for Animation representing the sources that triggered this CSS animation/transition.
|
||||||
|
}
|
||||||
|
|
||||||
|
// AnimationEffect animationEffect instance.
|
||||||
|
type AnimationEffect struct {
|
||||||
|
Delay float64 `json:"delay,omitempty"` // AnimationEffect's delay.
|
||||||
|
EndDelay float64 `json:"endDelay,omitempty"` // AnimationEffect's end delay.
|
||||||
|
IterationStart float64 `json:"iterationStart,omitempty"` // AnimationEffect's iteration start.
|
||||||
|
Iterations float64 `json:"iterations,omitempty"` // AnimationEffect's iterations.
|
||||||
|
Duration float64 `json:"duration,omitempty"` // AnimationEffect's iteration duration.
|
||||||
|
Direction string `json:"direction,omitempty"` // AnimationEffect's playback direction.
|
||||||
|
Fill string `json:"fill,omitempty"` // AnimationEffect's fill mode.
|
||||||
|
BackendNodeID BackendNodeID `json:"backendNodeId,omitempty"` // AnimationEffect's target node.
|
||||||
|
KeyframesRule *KeyframesRule `json:"keyframesRule,omitempty"` // AnimationEffect's keyframes.
|
||||||
|
Easing string `json:"easing,omitempty"` // AnimationEffect's timing function.
|
||||||
|
}
|
||||||
|
|
||||||
|
// KeyframesRule keyframes Rule.
|
||||||
|
type KeyframesRule struct {
|
||||||
|
Name string `json:"name,omitempty"` // CSS keyframed animation's name.
|
||||||
|
Keyframes []*KeyframeStyle `json:"keyframes,omitempty"` // List of animation keyframes.
|
||||||
|
}
|
||||||
|
|
||||||
|
// KeyframeStyle keyframe Style.
|
||||||
|
type KeyframeStyle struct {
|
||||||
|
Offset string `json:"offset,omitempty"` // Keyframe's time offset.
|
||||||
|
Easing string `json:"easing,omitempty"` // AnimationEffect's timing function.
|
||||||
|
}
|
||||||
|
|
||||||
|
// AnimationType animation type of Animation.
|
||||||
|
type AnimationType string
|
||||||
|
|
||||||
|
// String returns the AnimationType as string value.
|
||||||
|
func (t AnimationType) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// AnimationType values.
|
||||||
|
const (
|
||||||
|
AnimationTypeCSSTransition AnimationType = "CSSTransition"
|
||||||
|
AnimationTypeCSSAnimation AnimationType = "CSSAnimation"
|
||||||
|
AnimationTypeWebAnimation AnimationType = "WebAnimation"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t AnimationType) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t AnimationType) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *AnimationType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch AnimationType(in.String()) {
|
||||||
|
case AnimationTypeCSSTransition:
|
||||||
|
*t = AnimationTypeCSSTransition
|
||||||
|
case AnimationTypeCSSAnimation:
|
||||||
|
*t = AnimationTypeCSSAnimation
|
||||||
|
case AnimationTypeWebAnimation:
|
||||||
|
*t = AnimationTypeWebAnimation
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown AnimationType value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *AnimationType) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
268
cdp/applicationcache/applicationcache.go
Normal file
268
cdp/applicationcache/applicationcache.go
Normal file
|
@ -0,0 +1,268 @@
|
||||||
|
// Package applicationcache provides the Chrome Debugging Protocol
|
||||||
|
// commands, types, and events for the Chrome ApplicationCache domain.
|
||||||
|
//
|
||||||
|
// Generated by the chromedp-gen command.
|
||||||
|
package applicationcache
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
"github.com/mailru/easyjson"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// GetFramesWithManifestsParams returns array of frame identifiers with
|
||||||
|
// manifest urls for each frame containing a document associated with some
|
||||||
|
// application cache.
|
||||||
|
type GetFramesWithManifestsParams struct{}
|
||||||
|
|
||||||
|
// GetFramesWithManifests returns array of frame identifiers with manifest
|
||||||
|
// urls for each frame containing a document associated with some application
|
||||||
|
// cache.
|
||||||
|
func GetFramesWithManifests() *GetFramesWithManifestsParams {
|
||||||
|
return &GetFramesWithManifestsParams{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetFramesWithManifestsReturns return values.
|
||||||
|
type GetFramesWithManifestsReturns struct {
|
||||||
|
FrameIds []*FrameWithManifest `json:"frameIds,omitempty"` // Array of frame identifiers with manifest urls for each frame containing a document associated with some application cache.
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes ApplicationCache.getFramesWithManifests.
|
||||||
|
//
|
||||||
|
// returns:
|
||||||
|
// frameIds - Array of frame identifiers with manifest urls for each frame containing a document associated with some application cache.
|
||||||
|
func (p *GetFramesWithManifestsParams) Do(ctxt context.Context, h FrameHandler) (frameIds []*FrameWithManifest, err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandApplicationCacheGetFramesWithManifests, Empty)
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return nil, ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
// unmarshal
|
||||||
|
var r GetFramesWithManifestsReturns
|
||||||
|
err = easyjson.Unmarshal(v, &r)
|
||||||
|
if err != nil {
|
||||||
|
return nil, ErrInvalidResult
|
||||||
|
}
|
||||||
|
|
||||||
|
return r.FrameIds, nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return nil, v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return nil, ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil, ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// EnableParams enables application cache domain notifications.
|
||||||
|
type EnableParams struct{}
|
||||||
|
|
||||||
|
// Enable enables application cache domain notifications.
|
||||||
|
func Enable() *EnableParams {
|
||||||
|
return &EnableParams{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes ApplicationCache.enable.
|
||||||
|
func (p *EnableParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandApplicationCacheEnable, Empty)
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetManifestForFrameParams returns manifest URL for document in the given
|
||||||
|
// frame.
|
||||||
|
type GetManifestForFrameParams struct {
|
||||||
|
FrameID FrameID `json:"frameId"` // Identifier of the frame containing document whose manifest is retrieved.
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetManifestForFrame returns manifest URL for document in the given frame.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// frameId - Identifier of the frame containing document whose manifest is retrieved.
|
||||||
|
func GetManifestForFrame(frameId FrameID) *GetManifestForFrameParams {
|
||||||
|
return &GetManifestForFrameParams{
|
||||||
|
FrameID: frameId,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetManifestForFrameReturns return values.
|
||||||
|
type GetManifestForFrameReturns struct {
|
||||||
|
ManifestURL string `json:"manifestURL,omitempty"` // Manifest URL for document in the given frame.
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes ApplicationCache.getManifestForFrame.
|
||||||
|
//
|
||||||
|
// returns:
|
||||||
|
// manifestURL - Manifest URL for document in the given frame.
|
||||||
|
func (p *GetManifestForFrameParams) Do(ctxt context.Context, h FrameHandler) (manifestURL string, err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandApplicationCacheGetManifestForFrame, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return "", ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
// unmarshal
|
||||||
|
var r GetManifestForFrameReturns
|
||||||
|
err = easyjson.Unmarshal(v, &r)
|
||||||
|
if err != nil {
|
||||||
|
return "", ErrInvalidResult
|
||||||
|
}
|
||||||
|
|
||||||
|
return r.ManifestURL, nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return "", v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return "", ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return "", ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetApplicationCacheForFrameParams returns relevant application cache data
|
||||||
|
// for the document in given frame.
|
||||||
|
type GetApplicationCacheForFrameParams struct {
|
||||||
|
FrameID FrameID `json:"frameId"` // Identifier of the frame containing document whose application cache is retrieved.
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetApplicationCacheForFrame returns relevant application cache data for
|
||||||
|
// the document in given frame.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// frameId - Identifier of the frame containing document whose application cache is retrieved.
|
||||||
|
func GetApplicationCacheForFrame(frameId FrameID) *GetApplicationCacheForFrameParams {
|
||||||
|
return &GetApplicationCacheForFrameParams{
|
||||||
|
FrameID: frameId,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetApplicationCacheForFrameReturns return values.
|
||||||
|
type GetApplicationCacheForFrameReturns struct {
|
||||||
|
ApplicationCache *ApplicationCache `json:"applicationCache,omitempty"` // Relevant application cache data for the document in given frame.
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes ApplicationCache.getApplicationCacheForFrame.
|
||||||
|
//
|
||||||
|
// returns:
|
||||||
|
// applicationCache - Relevant application cache data for the document in given frame.
|
||||||
|
func (p *GetApplicationCacheForFrameParams) Do(ctxt context.Context, h FrameHandler) (applicationCache *ApplicationCache, 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, CommandApplicationCacheGetApplicationCacheForFrame, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return nil, ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
// unmarshal
|
||||||
|
var r GetApplicationCacheForFrameReturns
|
||||||
|
err = easyjson.Unmarshal(v, &r)
|
||||||
|
if err != nil {
|
||||||
|
return nil, ErrInvalidResult
|
||||||
|
}
|
||||||
|
|
||||||
|
return r.ApplicationCache, nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return nil, v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return nil, ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil, ErrUnknownResult
|
||||||
|
}
|
1015
cdp/applicationcache/easyjson.go
Normal file
1015
cdp/applicationcache/easyjson.go
Normal file
File diff suppressed because it is too large
Load Diff
43
cdp/applicationcache/events.go
Normal file
43
cdp/applicationcache/events.go
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
package applicationcache
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
type EventApplicationCacheStatusUpdated struct {
|
||||||
|
FrameID FrameID `json:"frameId,omitempty"` // Identifier of the frame containing document whose application cache updated status.
|
||||||
|
ManifestURL string `json:"manifestURL,omitempty"` // Manifest URL.
|
||||||
|
Status int64 `json:"status,omitempty"` // Updated application cache status.
|
||||||
|
}
|
||||||
|
|
||||||
|
type EventNetworkStateUpdated struct {
|
||||||
|
IsNowOnline bool `json:"isNowOnline,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventTypes is all event types in the domain.
|
||||||
|
var EventTypes = []MethodType{
|
||||||
|
EventApplicationCacheApplicationCacheStatusUpdated,
|
||||||
|
EventApplicationCacheNetworkStateUpdated,
|
||||||
|
}
|
50
cdp/applicationcache/types.go
Normal file
50
cdp/applicationcache/types.go
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
package applicationcache
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// ApplicationCacheResource detailed application cache resource information.
|
||||||
|
type ApplicationCacheResource struct {
|
||||||
|
URL string `json:"url,omitempty"` // Resource url.
|
||||||
|
Size int64 `json:"size,omitempty"` // Resource size.
|
||||||
|
Type string `json:"type,omitempty"` // Resource type.
|
||||||
|
}
|
||||||
|
|
||||||
|
// ApplicationCache detailed application cache information.
|
||||||
|
type ApplicationCache struct {
|
||||||
|
ManifestURL string `json:"manifestURL,omitempty"` // Manifest URL.
|
||||||
|
Size float64 `json:"size,omitempty"` // Application cache size.
|
||||||
|
CreationTime float64 `json:"creationTime,omitempty"` // Application cache creation time.
|
||||||
|
UpdateTime float64 `json:"updateTime,omitempty"` // Application cache update time.
|
||||||
|
Resources []*ApplicationCacheResource `json:"resources,omitempty"` // Application cache resources.
|
||||||
|
}
|
||||||
|
|
||||||
|
// FrameWithManifest frame identifier - manifest URL pair.
|
||||||
|
type FrameWithManifest struct {
|
||||||
|
FrameID FrameID `json:"frameId,omitempty"` // Frame identifier.
|
||||||
|
ManifestURL string `json:"manifestURL,omitempty"` // Manifest URL.
|
||||||
|
Status int64 `json:"status,omitempty"` // Application cache status.
|
||||||
|
}
|
283
cdp/cachestorage/cachestorage.go
Normal file
283
cdp/cachestorage/cachestorage.go
Normal file
|
@ -0,0 +1,283 @@
|
||||||
|
// Package cachestorage provides the Chrome Debugging Protocol
|
||||||
|
// commands, types, and events for the Chrome CacheStorage domain.
|
||||||
|
//
|
||||||
|
// Generated by the chromedp-gen command.
|
||||||
|
package cachestorage
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
"github.com/mailru/easyjson"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// RequestCacheNamesParams requests cache names.
|
||||||
|
type RequestCacheNamesParams struct {
|
||||||
|
SecurityOrigin string `json:"securityOrigin"` // Security origin.
|
||||||
|
}
|
||||||
|
|
||||||
|
// RequestCacheNames requests cache names.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// securityOrigin - Security origin.
|
||||||
|
func RequestCacheNames(securityOrigin string) *RequestCacheNamesParams {
|
||||||
|
return &RequestCacheNamesParams{
|
||||||
|
SecurityOrigin: securityOrigin,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// RequestCacheNamesReturns return values.
|
||||||
|
type RequestCacheNamesReturns struct {
|
||||||
|
Caches []*Cache `json:"caches,omitempty"` // Caches for the security origin.
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes CacheStorage.requestCacheNames.
|
||||||
|
//
|
||||||
|
// returns:
|
||||||
|
// caches - Caches for the security origin.
|
||||||
|
func (p *RequestCacheNamesParams) Do(ctxt context.Context, h FrameHandler) (caches []*Cache, 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, CommandCacheStorageRequestCacheNames, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return nil, ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
// unmarshal
|
||||||
|
var r RequestCacheNamesReturns
|
||||||
|
err = easyjson.Unmarshal(v, &r)
|
||||||
|
if err != nil {
|
||||||
|
return nil, ErrInvalidResult
|
||||||
|
}
|
||||||
|
|
||||||
|
return r.Caches, nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return nil, v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return nil, ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil, ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// RequestEntriesParams requests data from cache.
|
||||||
|
type RequestEntriesParams struct {
|
||||||
|
CacheID CacheID `json:"cacheId"` // ID of cache to get entries from.
|
||||||
|
SkipCount int64 `json:"skipCount"` // Number of records to skip.
|
||||||
|
PageSize int64 `json:"pageSize"` // Number of records to fetch.
|
||||||
|
}
|
||||||
|
|
||||||
|
// RequestEntries requests data from cache.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// cacheId - ID of cache to get entries from.
|
||||||
|
// skipCount - Number of records to skip.
|
||||||
|
// pageSize - Number of records to fetch.
|
||||||
|
func RequestEntries(cacheId CacheID, skipCount int64, pageSize int64) *RequestEntriesParams {
|
||||||
|
return &RequestEntriesParams{
|
||||||
|
CacheID: cacheId,
|
||||||
|
SkipCount: skipCount,
|
||||||
|
PageSize: pageSize,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// RequestEntriesReturns return values.
|
||||||
|
type RequestEntriesReturns struct {
|
||||||
|
CacheDataEntries []*DataEntry `json:"cacheDataEntries,omitempty"` // Array of object store data entries.
|
||||||
|
HasMore bool `json:"hasMore,omitempty"` // If true, there are more entries to fetch in the given range.
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes CacheStorage.requestEntries.
|
||||||
|
//
|
||||||
|
// returns:
|
||||||
|
// cacheDataEntries - Array of object store data entries.
|
||||||
|
// hasMore - If true, there are more entries to fetch in the given range.
|
||||||
|
func (p *RequestEntriesParams) Do(ctxt context.Context, h FrameHandler) (cacheDataEntries []*DataEntry, hasMore bool, err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return nil, false, err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandCacheStorageRequestEntries, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return nil, false, ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
// unmarshal
|
||||||
|
var r RequestEntriesReturns
|
||||||
|
err = easyjson.Unmarshal(v, &r)
|
||||||
|
if err != nil {
|
||||||
|
return nil, false, ErrInvalidResult
|
||||||
|
}
|
||||||
|
|
||||||
|
return r.CacheDataEntries, r.HasMore, nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return nil, false, v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return nil, false, ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil, false, ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeleteCacheParams deletes a cache.
|
||||||
|
type DeleteCacheParams struct {
|
||||||
|
CacheID CacheID `json:"cacheId"` // Id of cache for deletion.
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeleteCache deletes a cache.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// cacheId - Id of cache for deletion.
|
||||||
|
func DeleteCache(cacheId CacheID) *DeleteCacheParams {
|
||||||
|
return &DeleteCacheParams{
|
||||||
|
CacheID: cacheId,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes CacheStorage.deleteCache.
|
||||||
|
func (p *DeleteCacheParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandCacheStorageDeleteCache, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeleteEntryParams deletes a cache entry.
|
||||||
|
type DeleteEntryParams struct {
|
||||||
|
CacheID CacheID `json:"cacheId"` // Id of cache where the entry will be deleted.
|
||||||
|
Request string `json:"request"` // URL spec of the request.
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeleteEntry deletes a cache entry.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// cacheId - Id of cache where the entry will be deleted.
|
||||||
|
// request - URL spec of the request.
|
||||||
|
func DeleteEntry(cacheId CacheID, request string) *DeleteEntryParams {
|
||||||
|
return &DeleteEntryParams{
|
||||||
|
CacheID: cacheId,
|
||||||
|
Request: request,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes CacheStorage.deleteEntry.
|
||||||
|
func (p *DeleteEntryParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandCacheStorageDeleteEntry, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
707
cdp/cachestorage/easyjson.go
Normal file
707
cdp/cachestorage/easyjson.go
Normal file
|
@ -0,0 +1,707 @@
|
||||||
|
// AUTOGENERATED FILE: easyjson marshaler/unmarshalers.
|
||||||
|
|
||||||
|
package cachestorage
|
||||||
|
|
||||||
|
import (
|
||||||
|
json "encoding/json"
|
||||||
|
easyjson "github.com/mailru/easyjson"
|
||||||
|
jlexer "github.com/mailru/easyjson/jlexer"
|
||||||
|
jwriter "github.com/mailru/easyjson/jwriter"
|
||||||
|
)
|
||||||
|
|
||||||
|
// suppress unused package warning
|
||||||
|
var (
|
||||||
|
_ *json.RawMessage
|
||||||
|
_ *jlexer.Lexer
|
||||||
|
_ *jwriter.Writer
|
||||||
|
_ easyjson.Marshaler
|
||||||
|
)
|
||||||
|
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpCachestorage(in *jlexer.Lexer, out *RequestEntriesReturns) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "cacheDataEntries":
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
out.CacheDataEntries = nil
|
||||||
|
} else {
|
||||||
|
in.Delim('[')
|
||||||
|
if !in.IsDelim(']') {
|
||||||
|
out.CacheDataEntries = make([]*DataEntry, 0, 8)
|
||||||
|
} else {
|
||||||
|
out.CacheDataEntries = []*DataEntry{}
|
||||||
|
}
|
||||||
|
for !in.IsDelim(']') {
|
||||||
|
var v1 *DataEntry
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
v1 = nil
|
||||||
|
} else {
|
||||||
|
if v1 == nil {
|
||||||
|
v1 = new(DataEntry)
|
||||||
|
}
|
||||||
|
(*v1).UnmarshalEasyJSON(in)
|
||||||
|
}
|
||||||
|
out.CacheDataEntries = append(out.CacheDataEntries, v1)
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim(']')
|
||||||
|
}
|
||||||
|
case "hasMore":
|
||||||
|
out.HasMore = bool(in.Bool())
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpCachestorage(out *jwriter.Writer, in RequestEntriesReturns) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if len(in.CacheDataEntries) != 0 {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"cacheDataEntries\":")
|
||||||
|
if in.CacheDataEntries == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 {
|
||||||
|
out.RawString("null")
|
||||||
|
} else {
|
||||||
|
out.RawByte('[')
|
||||||
|
for v2, v3 := range in.CacheDataEntries {
|
||||||
|
if v2 > 0 {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
if v3 == nil {
|
||||||
|
out.RawString("null")
|
||||||
|
} else {
|
||||||
|
(*v3).MarshalEasyJSON(out)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
out.RawByte(']')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if in.HasMore {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"hasMore\":")
|
||||||
|
out.Bool(bool(in.HasMore))
|
||||||
|
}
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v RequestEntriesReturns) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpCachestorage(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v RequestEntriesReturns) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpCachestorage(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *RequestEntriesReturns) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpCachestorage(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *RequestEntriesReturns) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpCachestorage(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpCachestorage1(in *jlexer.Lexer, out *RequestEntriesParams) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "cacheId":
|
||||||
|
out.CacheID = CacheID(in.String())
|
||||||
|
case "skipCount":
|
||||||
|
out.SkipCount = int64(in.Int64())
|
||||||
|
case "pageSize":
|
||||||
|
out.PageSize = int64(in.Int64())
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpCachestorage1(out *jwriter.Writer, in RequestEntriesParams) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"cacheId\":")
|
||||||
|
out.String(string(in.CacheID))
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"skipCount\":")
|
||||||
|
out.Int64(int64(in.SkipCount))
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"pageSize\":")
|
||||||
|
out.Int64(int64(in.PageSize))
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v RequestEntriesParams) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpCachestorage1(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v RequestEntriesParams) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpCachestorage1(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *RequestEntriesParams) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpCachestorage1(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *RequestEntriesParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpCachestorage1(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpCachestorage2(in *jlexer.Lexer, out *RequestCacheNamesReturns) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "caches":
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
out.Caches = nil
|
||||||
|
} else {
|
||||||
|
in.Delim('[')
|
||||||
|
if !in.IsDelim(']') {
|
||||||
|
out.Caches = make([]*Cache, 0, 8)
|
||||||
|
} else {
|
||||||
|
out.Caches = []*Cache{}
|
||||||
|
}
|
||||||
|
for !in.IsDelim(']') {
|
||||||
|
var v4 *Cache
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
v4 = nil
|
||||||
|
} else {
|
||||||
|
if v4 == nil {
|
||||||
|
v4 = new(Cache)
|
||||||
|
}
|
||||||
|
(*v4).UnmarshalEasyJSON(in)
|
||||||
|
}
|
||||||
|
out.Caches = append(out.Caches, v4)
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim(']')
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpCachestorage2(out *jwriter.Writer, in RequestCacheNamesReturns) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if len(in.Caches) != 0 {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"caches\":")
|
||||||
|
if in.Caches == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 {
|
||||||
|
out.RawString("null")
|
||||||
|
} else {
|
||||||
|
out.RawByte('[')
|
||||||
|
for v5, v6 := range in.Caches {
|
||||||
|
if v5 > 0 {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
if v6 == nil {
|
||||||
|
out.RawString("null")
|
||||||
|
} else {
|
||||||
|
(*v6).MarshalEasyJSON(out)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
out.RawByte(']')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v RequestCacheNamesReturns) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpCachestorage2(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v RequestCacheNamesReturns) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpCachestorage2(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *RequestCacheNamesReturns) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpCachestorage2(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *RequestCacheNamesReturns) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpCachestorage2(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpCachestorage3(in *jlexer.Lexer, out *RequestCacheNamesParams) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "securityOrigin":
|
||||||
|
out.SecurityOrigin = string(in.String())
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpCachestorage3(out *jwriter.Writer, in RequestCacheNamesParams) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"securityOrigin\":")
|
||||||
|
out.String(string(in.SecurityOrigin))
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v RequestCacheNamesParams) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpCachestorage3(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v RequestCacheNamesParams) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpCachestorage3(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *RequestCacheNamesParams) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpCachestorage3(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *RequestCacheNamesParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpCachestorage3(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpCachestorage4(in *jlexer.Lexer, out *DeleteEntryParams) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "cacheId":
|
||||||
|
out.CacheID = CacheID(in.String())
|
||||||
|
case "request":
|
||||||
|
out.Request = string(in.String())
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpCachestorage4(out *jwriter.Writer, in DeleteEntryParams) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"cacheId\":")
|
||||||
|
out.String(string(in.CacheID))
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"request\":")
|
||||||
|
out.String(string(in.Request))
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v DeleteEntryParams) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpCachestorage4(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v DeleteEntryParams) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpCachestorage4(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *DeleteEntryParams) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpCachestorage4(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *DeleteEntryParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpCachestorage4(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpCachestorage5(in *jlexer.Lexer, out *DeleteCacheParams) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "cacheId":
|
||||||
|
out.CacheID = CacheID(in.String())
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpCachestorage5(out *jwriter.Writer, in DeleteCacheParams) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"cacheId\":")
|
||||||
|
out.String(string(in.CacheID))
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v DeleteCacheParams) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpCachestorage5(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v DeleteCacheParams) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpCachestorage5(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *DeleteCacheParams) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpCachestorage5(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *DeleteCacheParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpCachestorage5(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpCachestorage6(in *jlexer.Lexer, out *DataEntry) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "request":
|
||||||
|
out.Request = string(in.String())
|
||||||
|
case "response":
|
||||||
|
out.Response = string(in.String())
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpCachestorage6(out *jwriter.Writer, in DataEntry) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if in.Request != "" {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"request\":")
|
||||||
|
out.String(string(in.Request))
|
||||||
|
}
|
||||||
|
if in.Response != "" {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"response\":")
|
||||||
|
out.String(string(in.Response))
|
||||||
|
}
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v DataEntry) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpCachestorage6(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v DataEntry) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpCachestorage6(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *DataEntry) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpCachestorage6(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *DataEntry) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpCachestorage6(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpCachestorage7(in *jlexer.Lexer, out *Cache) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "cacheId":
|
||||||
|
out.CacheID = CacheID(in.String())
|
||||||
|
case "securityOrigin":
|
||||||
|
out.SecurityOrigin = string(in.String())
|
||||||
|
case "cacheName":
|
||||||
|
out.CacheName = string(in.String())
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpCachestorage7(out *jwriter.Writer, in Cache) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if in.CacheID != "" {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"cacheId\":")
|
||||||
|
out.String(string(in.CacheID))
|
||||||
|
}
|
||||||
|
if in.SecurityOrigin != "" {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"securityOrigin\":")
|
||||||
|
out.String(string(in.SecurityOrigin))
|
||||||
|
}
|
||||||
|
if in.CacheName != "" {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"cacheName\":")
|
||||||
|
out.String(string(in.CacheName))
|
||||||
|
}
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v Cache) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpCachestorage7(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v Cache) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpCachestorage7(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *Cache) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpCachestorage7(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *Cache) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpCachestorage7(l, v)
|
||||||
|
}
|
48
cdp/cachestorage/types.go
Normal file
48
cdp/cachestorage/types.go
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
package cachestorage
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// CacheID unique identifier of the Cache object.
|
||||||
|
type CacheID string
|
||||||
|
|
||||||
|
// String returns the CacheID as string value.
|
||||||
|
func (t CacheID) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// DataEntry data entry.
|
||||||
|
type DataEntry struct {
|
||||||
|
Request string `json:"request,omitempty"` // Request url spec.
|
||||||
|
Response string `json:"response,omitempty"` // Response stataus text.
|
||||||
|
}
|
||||||
|
|
||||||
|
// Cache cache identifier.
|
||||||
|
type Cache struct {
|
||||||
|
CacheID CacheID `json:"cacheId,omitempty"` // An opaque unique id of the cache.
|
||||||
|
SecurityOrigin string `json:"securityOrigin,omitempty"` // Security origin of the cache.
|
||||||
|
CacheName string `json:"cacheName,omitempty"` // The name of the cache.
|
||||||
|
}
|
1886
cdp/cdp.go
Normal file
1886
cdp/cdp.go
Normal file
File diff suppressed because it is too large
Load Diff
1460
cdp/css/css.go
Normal file
1460
cdp/css/css.go
Normal file
File diff suppressed because it is too large
Load Diff
6665
cdp/css/easyjson.go
Normal file
6665
cdp/css/easyjson.go
Normal file
File diff suppressed because it is too large
Load Diff
62
cdp/css/events.go
Normal file
62
cdp/css/events.go
Normal file
|
@ -0,0 +1,62 @@
|
||||||
|
package css
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// EventMediaQueryResultChanged fires whenever a MediaQuery result changes
|
||||||
|
// (for example, after a browser window has been resized.) The current
|
||||||
|
// implementation considers only viewport-dependent media features.
|
||||||
|
type EventMediaQueryResultChanged struct{}
|
||||||
|
|
||||||
|
// EventFontsUpdated fires whenever a web font gets loaded.
|
||||||
|
type EventFontsUpdated struct{}
|
||||||
|
|
||||||
|
// EventStyleSheetChanged fired whenever a stylesheet is changed as a result
|
||||||
|
// of the client operation.
|
||||||
|
type EventStyleSheetChanged struct {
|
||||||
|
StyleSheetID StyleSheetID `json:"styleSheetId,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventStyleSheetAdded fired whenever an active document stylesheet is
|
||||||
|
// added.
|
||||||
|
type EventStyleSheetAdded struct {
|
||||||
|
Header *StyleSheetHeader `json:"header,omitempty"` // Added stylesheet metainfo.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventStyleSheetRemoved fired whenever an active document stylesheet is
|
||||||
|
// removed.
|
||||||
|
type EventStyleSheetRemoved struct {
|
||||||
|
StyleSheetID StyleSheetID `json:"styleSheetId,omitempty"` // Identifier of the removed stylesheet.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventTypes is all event types in the domain.
|
||||||
|
var EventTypes = []MethodType{
|
||||||
|
EventCSSMediaQueryResultChanged,
|
||||||
|
EventCSSFontsUpdated,
|
||||||
|
EventCSSStyleSheetChanged,
|
||||||
|
EventCSSStyleSheetAdded,
|
||||||
|
EventCSSStyleSheetRemoved,
|
||||||
|
}
|
366
cdp/css/types.go
Normal file
366
cdp/css/types.go
Normal file
|
@ -0,0 +1,366 @@
|
||||||
|
package css
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
"errors"
|
||||||
|
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
"github.com/knq/chromedp/cdp/dom"
|
||||||
|
"github.com/mailru/easyjson"
|
||||||
|
"github.com/mailru/easyjson/jlexer"
|
||||||
|
"github.com/mailru/easyjson/jwriter"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
type StyleSheetID string
|
||||||
|
|
||||||
|
// String returns the StyleSheetID as string value.
|
||||||
|
func (t StyleSheetID) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// StyleSheetOrigin stylesheet type: "injected" for stylesheets injected via
|
||||||
|
// extension, "user-agent" for user-agent stylesheets, "inspector" for
|
||||||
|
// stylesheets created by the inspector (i.e. those holding the "via inspector"
|
||||||
|
// rules), "regular" for regular stylesheets.
|
||||||
|
type StyleSheetOrigin string
|
||||||
|
|
||||||
|
// String returns the StyleSheetOrigin as string value.
|
||||||
|
func (t StyleSheetOrigin) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// StyleSheetOrigin values.
|
||||||
|
const (
|
||||||
|
StyleSheetOriginInjected StyleSheetOrigin = "injected"
|
||||||
|
StyleSheetOriginUserAgent StyleSheetOrigin = "user-agent"
|
||||||
|
StyleSheetOriginInspector StyleSheetOrigin = "inspector"
|
||||||
|
StyleSheetOriginRegular StyleSheetOrigin = "regular"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t StyleSheetOrigin) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t StyleSheetOrigin) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *StyleSheetOrigin) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch StyleSheetOrigin(in.String()) {
|
||||||
|
case StyleSheetOriginInjected:
|
||||||
|
*t = StyleSheetOriginInjected
|
||||||
|
case StyleSheetOriginUserAgent:
|
||||||
|
*t = StyleSheetOriginUserAgent
|
||||||
|
case StyleSheetOriginInspector:
|
||||||
|
*t = StyleSheetOriginInspector
|
||||||
|
case StyleSheetOriginRegular:
|
||||||
|
*t = StyleSheetOriginRegular
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown StyleSheetOrigin value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *StyleSheetOrigin) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// PseudoElementMatches cSS rule collection for a single pseudo style.
|
||||||
|
type PseudoElementMatches struct {
|
||||||
|
PseudoType PseudoType `json:"pseudoType,omitempty"` // Pseudo element type.
|
||||||
|
Matches []*RuleMatch `json:"matches,omitempty"` // Matches of CSS rules applicable to the pseudo style.
|
||||||
|
}
|
||||||
|
|
||||||
|
// InheritedStyleEntry inherited CSS rule collection from ancestor node.
|
||||||
|
type InheritedStyleEntry struct {
|
||||||
|
InlineStyle *Style `json:"inlineStyle,omitempty"` // The ancestor node's inline style, if any, in the style inheritance chain.
|
||||||
|
MatchedCSSRules []*RuleMatch `json:"matchedCSSRules,omitempty"` // Matches of CSS rules matching the ancestor node in the style inheritance chain.
|
||||||
|
}
|
||||||
|
|
||||||
|
// RuleMatch match data for a CSS rule.
|
||||||
|
type RuleMatch struct {
|
||||||
|
Rule *Rule `json:"rule,omitempty"` // CSS rule in the match.
|
||||||
|
MatchingSelectors []int64 `json:"matchingSelectors,omitempty"` // Matching selector indices in the rule's selectorList selectors (0-based).
|
||||||
|
}
|
||||||
|
|
||||||
|
// Value data for a simple selector (these are delimited by commas in a
|
||||||
|
// selector list).
|
||||||
|
type Value struct {
|
||||||
|
Text string `json:"text,omitempty"` // Value text.
|
||||||
|
Range *SourceRange `json:"range,omitempty"` // Value range in the underlying resource (if available).
|
||||||
|
}
|
||||||
|
|
||||||
|
// SelectorList selector list data.
|
||||||
|
type SelectorList struct {
|
||||||
|
Selectors []*Value `json:"selectors,omitempty"` // Selectors in the list.
|
||||||
|
Text string `json:"text,omitempty"` // Rule selector text.
|
||||||
|
}
|
||||||
|
|
||||||
|
// StyleSheetHeader cSS stylesheet metainformation.
|
||||||
|
type StyleSheetHeader struct {
|
||||||
|
StyleSheetID StyleSheetID `json:"styleSheetId,omitempty"` // The stylesheet identifier.
|
||||||
|
FrameID FrameID `json:"frameId,omitempty"` // Owner frame identifier.
|
||||||
|
SourceURL string `json:"sourceURL,omitempty"` // Stylesheet resource URL.
|
||||||
|
SourceMapURL string `json:"sourceMapURL,omitempty"` // URL of source map associated with the stylesheet (if any).
|
||||||
|
Origin StyleSheetOrigin `json:"origin,omitempty"` // Stylesheet origin.
|
||||||
|
Title string `json:"title,omitempty"` // Stylesheet title.
|
||||||
|
OwnerNode BackendNodeID `json:"ownerNode,omitempty"` // The backend id for the owner node of the stylesheet.
|
||||||
|
Disabled bool `json:"disabled,omitempty"` // Denotes whether the stylesheet is disabled.
|
||||||
|
HasSourceURL bool `json:"hasSourceURL,omitempty"` // Whether the sourceURL field value comes from the sourceURL comment.
|
||||||
|
IsInline bool `json:"isInline,omitempty"` // Whether this stylesheet is created for STYLE tag by parser. This flag is not set for document.written STYLE tags.
|
||||||
|
StartLine float64 `json:"startLine,omitempty"` // Line offset of the stylesheet within the resource (zero based).
|
||||||
|
StartColumn float64 `json:"startColumn,omitempty"` // Column offset of the stylesheet within the resource (zero based).
|
||||||
|
}
|
||||||
|
|
||||||
|
// Rule cSS rule representation.
|
||||||
|
type Rule struct {
|
||||||
|
StyleSheetID StyleSheetID `json:"styleSheetId,omitempty"` // The css style sheet identifier (absent for user agent stylesheet and user-specified stylesheet rules) this rule came from.
|
||||||
|
SelectorList *SelectorList `json:"selectorList,omitempty"` // Rule selector data.
|
||||||
|
Origin StyleSheetOrigin `json:"origin,omitempty"` // Parent stylesheet's origin.
|
||||||
|
Style *Style `json:"style,omitempty"` // Associated style declaration.
|
||||||
|
Media []*Media `json:"media,omitempty"` // Media list array (for rules involving media queries). The array enumerates media queries starting with the innermost one, going outwards.
|
||||||
|
}
|
||||||
|
|
||||||
|
// RuleUsage cSS rule usage information.
|
||||||
|
type RuleUsage struct {
|
||||||
|
StyleSheetID StyleSheetID `json:"styleSheetId,omitempty"` // The css style sheet identifier (absent for user agent stylesheet and user-specified stylesheet rules) this rule came from.
|
||||||
|
Range *SourceRange `json:"range,omitempty"` // Style declaration range in the enclosing stylesheet (if available).
|
||||||
|
Used bool `json:"used,omitempty"` // Indicates whether the rule was actually used by some element in the page.
|
||||||
|
}
|
||||||
|
|
||||||
|
// SourceRange text range within a resource. All numbers are zero-based.
|
||||||
|
type SourceRange struct {
|
||||||
|
StartLine int64 `json:"startLine,omitempty"` // Start line of range.
|
||||||
|
StartColumn int64 `json:"startColumn,omitempty"` // Start column of range (inclusive).
|
||||||
|
EndLine int64 `json:"endLine,omitempty"` // End line of range
|
||||||
|
EndColumn int64 `json:"endColumn,omitempty"` // End column of range (exclusive).
|
||||||
|
}
|
||||||
|
|
||||||
|
type ShorthandEntry struct {
|
||||||
|
Name string `json:"name,omitempty"` // Shorthand name.
|
||||||
|
Value string `json:"value,omitempty"` // Shorthand value.
|
||||||
|
Important bool `json:"important,omitempty"` // Whether the property has "!important" annotation (implies false if absent).
|
||||||
|
}
|
||||||
|
|
||||||
|
// Style cSS style representation.
|
||||||
|
type Style struct {
|
||||||
|
StyleSheetID StyleSheetID `json:"styleSheetId,omitempty"` // The css style sheet identifier (absent for user agent stylesheet and user-specified stylesheet rules) this rule came from.
|
||||||
|
CSSProperties []*Property `json:"cssProperties,omitempty"` // CSS properties in the style.
|
||||||
|
ShorthandEntries []*ShorthandEntry `json:"shorthandEntries,omitempty"` // Computed values for all shorthands found in the style.
|
||||||
|
CSSText string `json:"cssText,omitempty"` // Style declaration text (if available).
|
||||||
|
Range *SourceRange `json:"range,omitempty"` // Style declaration range in the enclosing stylesheet (if available).
|
||||||
|
}
|
||||||
|
|
||||||
|
// Property cSS property declaration data.
|
||||||
|
type Property struct {
|
||||||
|
Name string `json:"name,omitempty"` // The property name.
|
||||||
|
Value string `json:"value,omitempty"` // The property value.
|
||||||
|
Important bool `json:"important,omitempty"` // Whether the property has "!important" annotation (implies false if absent).
|
||||||
|
Implicit bool `json:"implicit,omitempty"` // Whether the property is implicit (implies false if absent).
|
||||||
|
Text string `json:"text,omitempty"` // The full property text as specified in the style.
|
||||||
|
ParsedOk bool `json:"parsedOk,omitempty"` // Whether the property is understood by the browser (implies true if absent).
|
||||||
|
Disabled bool `json:"disabled,omitempty"` // Whether the property is disabled by the user (present for source-based properties only).
|
||||||
|
Range *SourceRange `json:"range,omitempty"` // The entire property range in the enclosing style declaration (if available).
|
||||||
|
}
|
||||||
|
|
||||||
|
// Media cSS media rule descriptor.
|
||||||
|
type Media struct {
|
||||||
|
Text string `json:"text,omitempty"` // Media query text.
|
||||||
|
Source MediaSource `json:"source,omitempty"` // Source of the media query: "mediaRule" if specified by a @media rule, "importRule" if specified by an @import rule, "linkedSheet" if specified by a "media" attribute in a linked stylesheet's LINK tag, "inlineSheet" if specified by a "media" attribute in an inline stylesheet's STYLE tag.
|
||||||
|
SourceURL string `json:"sourceURL,omitempty"` // URL of the document containing the media query description.
|
||||||
|
Range *SourceRange `json:"range,omitempty"` // The associated rule (@media or @import) header range in the enclosing stylesheet (if available).
|
||||||
|
StyleSheetID StyleSheetID `json:"styleSheetId,omitempty"` // Identifier of the stylesheet containing this object (if exists).
|
||||||
|
MediaList []*MediaQuery `json:"mediaList,omitempty"` // Array of media queries.
|
||||||
|
}
|
||||||
|
|
||||||
|
// MediaQuery media query descriptor.
|
||||||
|
type MediaQuery struct {
|
||||||
|
Expressions []*MediaQueryExpression `json:"expressions,omitempty"` // Array of media query expressions.
|
||||||
|
Active bool `json:"active,omitempty"` // Whether the media query condition is satisfied.
|
||||||
|
}
|
||||||
|
|
||||||
|
// MediaQueryExpression media query expression descriptor.
|
||||||
|
type MediaQueryExpression struct {
|
||||||
|
Value float64 `json:"value,omitempty"` // Media query expression value.
|
||||||
|
Unit string `json:"unit,omitempty"` // Media query expression units.
|
||||||
|
Feature string `json:"feature,omitempty"` // Media query expression feature.
|
||||||
|
ValueRange *SourceRange `json:"valueRange,omitempty"` // The associated range of the value text in the enclosing stylesheet (if available).
|
||||||
|
ComputedLength float64 `json:"computedLength,omitempty"` // Computed length of media query expression (if applicable).
|
||||||
|
}
|
||||||
|
|
||||||
|
// PlatformFontUsage information about amount of glyphs that were rendered
|
||||||
|
// with given font.
|
||||||
|
type PlatformFontUsage struct {
|
||||||
|
FamilyName string `json:"familyName,omitempty"` // Font's family name reported by platform.
|
||||||
|
IsCustomFont bool `json:"isCustomFont,omitempty"` // Indicates if the font was downloaded or resolved locally.
|
||||||
|
GlyphCount float64 `json:"glyphCount,omitempty"` // Amount of glyphs that were rendered with this font.
|
||||||
|
}
|
||||||
|
|
||||||
|
// KeyframesRule cSS keyframes rule representation.
|
||||||
|
type KeyframesRule struct {
|
||||||
|
AnimationName *Value `json:"animationName,omitempty"` // Animation name.
|
||||||
|
Keyframes []*KeyframeRule `json:"keyframes,omitempty"` // List of keyframes.
|
||||||
|
}
|
||||||
|
|
||||||
|
// KeyframeRule cSS keyframe rule representation.
|
||||||
|
type KeyframeRule struct {
|
||||||
|
StyleSheetID StyleSheetID `json:"styleSheetId,omitempty"` // The css style sheet identifier (absent for user agent stylesheet and user-specified stylesheet rules) this rule came from.
|
||||||
|
Origin StyleSheetOrigin `json:"origin,omitempty"` // Parent stylesheet's origin.
|
||||||
|
KeyText *Value `json:"keyText,omitempty"` // Associated key text.
|
||||||
|
Style *Style `json:"style,omitempty"` // Associated style declaration.
|
||||||
|
}
|
||||||
|
|
||||||
|
// StyleDeclarationEdit a descriptor of operation to mutate style declaration
|
||||||
|
// text.
|
||||||
|
type StyleDeclarationEdit struct {
|
||||||
|
StyleSheetID StyleSheetID `json:"styleSheetId,omitempty"` // The css style sheet identifier.
|
||||||
|
Range *SourceRange `json:"range,omitempty"` // The range of the style text in the enclosing stylesheet.
|
||||||
|
Text string `json:"text,omitempty"` // New style text.
|
||||||
|
}
|
||||||
|
|
||||||
|
// InlineTextBox details of post layout rendered text positions. The exact
|
||||||
|
// layout should not be regarded as stable and may change between versions.
|
||||||
|
type InlineTextBox struct {
|
||||||
|
BoundingBox *dom.Rect `json:"boundingBox,omitempty"` // The absolute position bounding box.
|
||||||
|
StartCharacterIndex int64 `json:"startCharacterIndex,omitempty"` // The starting index in characters, for this post layout textbox substring.
|
||||||
|
NumCharacters int64 `json:"numCharacters,omitempty"` // The number of characters in this post layout textbox substring.
|
||||||
|
}
|
||||||
|
|
||||||
|
// LayoutTreeNode details of an element in the DOM tree with a LayoutObject.
|
||||||
|
type LayoutTreeNode struct {
|
||||||
|
NodeID NodeID `json:"nodeId,omitempty"` // The id of the related DOM node matching one from DOM.GetDocument.
|
||||||
|
BoundingBox *dom.Rect `json:"boundingBox,omitempty"` // The absolute position bounding box.
|
||||||
|
LayoutText string `json:"layoutText,omitempty"` // Contents of the LayoutText if any
|
||||||
|
InlineTextNodes []*InlineTextBox `json:"inlineTextNodes,omitempty"` // The post layout inline text nodes, if any.
|
||||||
|
StyleIndex int64 `json:"styleIndex,omitempty"` // Index into the computedStyles array returned by getLayoutTreeAndStyles.
|
||||||
|
}
|
||||||
|
|
||||||
|
// ComputedStyle a subset of the full ComputedStyle as defined by the request
|
||||||
|
// whitelist.
|
||||||
|
type ComputedStyle struct {
|
||||||
|
Properties []*ComputedProperty `json:"properties,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// MediaSource source of the media query: "mediaRule" if specified by a
|
||||||
|
// @media rule, "importRule" if specified by an @import rule, "linkedSheet" if
|
||||||
|
// specified by a "media" attribute in a linked stylesheet's LINK tag,
|
||||||
|
// "inlineSheet" if specified by a "media" attribute in an inline stylesheet's
|
||||||
|
// STYLE tag.
|
||||||
|
type MediaSource string
|
||||||
|
|
||||||
|
// String returns the MediaSource as string value.
|
||||||
|
func (t MediaSource) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// MediaSource values.
|
||||||
|
const (
|
||||||
|
MediaSourceMediaRule MediaSource = "mediaRule"
|
||||||
|
MediaSourceImportRule MediaSource = "importRule"
|
||||||
|
MediaSourceLinkedSheet MediaSource = "linkedSheet"
|
||||||
|
MediaSourceInlineSheet MediaSource = "inlineSheet"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t MediaSource) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t MediaSource) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *MediaSource) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch MediaSource(in.String()) {
|
||||||
|
case MediaSourceMediaRule:
|
||||||
|
*t = MediaSourceMediaRule
|
||||||
|
case MediaSourceImportRule:
|
||||||
|
*t = MediaSourceImportRule
|
||||||
|
case MediaSourceLinkedSheet:
|
||||||
|
*t = MediaSourceLinkedSheet
|
||||||
|
case MediaSourceInlineSheet:
|
||||||
|
*t = MediaSourceInlineSheet
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown MediaSource value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *MediaSource) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
||||||
|
|
||||||
|
type PseudoClass string
|
||||||
|
|
||||||
|
// String returns the PseudoClass as string value.
|
||||||
|
func (t PseudoClass) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// PseudoClass values.
|
||||||
|
const (
|
||||||
|
PseudoClassActive PseudoClass = "active"
|
||||||
|
PseudoClassFocus PseudoClass = "focus"
|
||||||
|
PseudoClassHover PseudoClass = "hover"
|
||||||
|
PseudoClassVisited PseudoClass = "visited"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t PseudoClass) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t PseudoClass) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *PseudoClass) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch PseudoClass(in.String()) {
|
||||||
|
case PseudoClassActive:
|
||||||
|
*t = PseudoClassActive
|
||||||
|
case PseudoClassFocus:
|
||||||
|
*t = PseudoClassFocus
|
||||||
|
case PseudoClassHover:
|
||||||
|
*t = PseudoClassHover
|
||||||
|
case PseudoClassVisited:
|
||||||
|
*t = PseudoClassVisited
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown PseudoClass value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *PseudoClass) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
251
cdp/database/database.go
Normal file
251
cdp/database/database.go
Normal file
|
@ -0,0 +1,251 @@
|
||||||
|
// Package database provides the Chrome Debugging Protocol
|
||||||
|
// commands, types, and events for the Chrome Database domain.
|
||||||
|
//
|
||||||
|
// Generated by the chromedp-gen command.
|
||||||
|
package database
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
"github.com/mailru/easyjson"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// EnableParams enables database tracking, database events will now be
|
||||||
|
// delivered to the client.
|
||||||
|
type EnableParams struct{}
|
||||||
|
|
||||||
|
// Enable enables database tracking, database events will now be delivered to
|
||||||
|
// the client.
|
||||||
|
func Enable() *EnableParams {
|
||||||
|
return &EnableParams{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Database.enable.
|
||||||
|
func (p *EnableParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandDatabaseEnable, Empty)
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// DisableParams disables database tracking, prevents database events from
|
||||||
|
// being sent to the client.
|
||||||
|
type DisableParams struct{}
|
||||||
|
|
||||||
|
// Disable disables database tracking, prevents database events from being
|
||||||
|
// sent to the client.
|
||||||
|
func Disable() *DisableParams {
|
||||||
|
return &DisableParams{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Database.disable.
|
||||||
|
func (p *DisableParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandDatabaseDisable, Empty)
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
type GetDatabaseTableNamesParams struct {
|
||||||
|
DatabaseID DatabaseID `json:"databaseId"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// parameters:
|
||||||
|
// databaseId
|
||||||
|
func GetDatabaseTableNames(databaseId DatabaseID) *GetDatabaseTableNamesParams {
|
||||||
|
return &GetDatabaseTableNamesParams{
|
||||||
|
DatabaseID: databaseId,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetDatabaseTableNamesReturns return values.
|
||||||
|
type GetDatabaseTableNamesReturns struct {
|
||||||
|
TableNames []string `json:"tableNames,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Database.getDatabaseTableNames.
|
||||||
|
//
|
||||||
|
// returns:
|
||||||
|
// tableNames
|
||||||
|
func (p *GetDatabaseTableNamesParams) Do(ctxt context.Context, h FrameHandler) (tableNames []string, 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, CommandDatabaseGetDatabaseTableNames, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return nil, ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
// unmarshal
|
||||||
|
var r GetDatabaseTableNamesReturns
|
||||||
|
err = easyjson.Unmarshal(v, &r)
|
||||||
|
if err != nil {
|
||||||
|
return nil, ErrInvalidResult
|
||||||
|
}
|
||||||
|
|
||||||
|
return r.TableNames, nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return nil, v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return nil, ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil, ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
type ExecuteSQLParams struct {
|
||||||
|
DatabaseID DatabaseID `json:"databaseId"`
|
||||||
|
Query string `json:"query"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// parameters:
|
||||||
|
// databaseId
|
||||||
|
// query
|
||||||
|
func ExecuteSQL(databaseId DatabaseID, query string) *ExecuteSQLParams {
|
||||||
|
return &ExecuteSQLParams{
|
||||||
|
DatabaseID: databaseId,
|
||||||
|
Query: query,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ExecuteSQLReturns return values.
|
||||||
|
type ExecuteSQLReturns struct {
|
||||||
|
ColumnNames []string `json:"columnNames,omitempty"`
|
||||||
|
Values []easyjson.RawMessage `json:"values,omitempty"`
|
||||||
|
SQLError *Error `json:"sqlError,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Database.executeSQL.
|
||||||
|
//
|
||||||
|
// returns:
|
||||||
|
// columnNames
|
||||||
|
// values
|
||||||
|
// sqlError
|
||||||
|
func (p *ExecuteSQLParams) Do(ctxt context.Context, h FrameHandler) (columnNames []string, values []easyjson.RawMessage, sqlError *Error, err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return nil, nil, nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandDatabaseExecuteSQL, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return nil, nil, nil, ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
// unmarshal
|
||||||
|
var r ExecuteSQLReturns
|
||||||
|
err = easyjson.Unmarshal(v, &r)
|
||||||
|
if err != nil {
|
||||||
|
return nil, nil, nil, ErrInvalidResult
|
||||||
|
}
|
||||||
|
|
||||||
|
return r.ColumnNames, r.Values, r.SQLError, nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return nil, nil, nil, v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return nil, nil, nil, ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil, nil, nil, ErrUnknownResult
|
||||||
|
}
|
792
cdp/database/easyjson.go
Normal file
792
cdp/database/easyjson.go
Normal file
|
@ -0,0 +1,792 @@
|
||||||
|
// AUTOGENERATED FILE: easyjson marshaler/unmarshalers.
|
||||||
|
|
||||||
|
package database
|
||||||
|
|
||||||
|
import (
|
||||||
|
json "encoding/json"
|
||||||
|
easyjson "github.com/mailru/easyjson"
|
||||||
|
jlexer "github.com/mailru/easyjson/jlexer"
|
||||||
|
jwriter "github.com/mailru/easyjson/jwriter"
|
||||||
|
)
|
||||||
|
|
||||||
|
// suppress unused package warning
|
||||||
|
var (
|
||||||
|
_ *json.RawMessage
|
||||||
|
_ *jlexer.Lexer
|
||||||
|
_ *jwriter.Writer
|
||||||
|
_ easyjson.Marshaler
|
||||||
|
)
|
||||||
|
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDatabase(in *jlexer.Lexer, out *GetDatabaseTableNamesReturns) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "tableNames":
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
out.TableNames = nil
|
||||||
|
} else {
|
||||||
|
in.Delim('[')
|
||||||
|
if !in.IsDelim(']') {
|
||||||
|
out.TableNames = make([]string, 0, 4)
|
||||||
|
} else {
|
||||||
|
out.TableNames = []string{}
|
||||||
|
}
|
||||||
|
for !in.IsDelim(']') {
|
||||||
|
var v1 string
|
||||||
|
v1 = string(in.String())
|
||||||
|
out.TableNames = append(out.TableNames, v1)
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim(']')
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDatabase(out *jwriter.Writer, in GetDatabaseTableNamesReturns) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if len(in.TableNames) != 0 {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"tableNames\":")
|
||||||
|
if in.TableNames == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 {
|
||||||
|
out.RawString("null")
|
||||||
|
} else {
|
||||||
|
out.RawByte('[')
|
||||||
|
for v2, v3 := range in.TableNames {
|
||||||
|
if v2 > 0 {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
out.String(string(v3))
|
||||||
|
}
|
||||||
|
out.RawByte(']')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v GetDatabaseTableNamesReturns) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDatabase(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v GetDatabaseTableNamesReturns) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDatabase(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *GetDatabaseTableNamesReturns) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDatabase(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *GetDatabaseTableNamesReturns) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDatabase(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDatabase1(in *jlexer.Lexer, out *GetDatabaseTableNamesParams) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "databaseId":
|
||||||
|
out.DatabaseID = DatabaseID(in.String())
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDatabase1(out *jwriter.Writer, in GetDatabaseTableNamesParams) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"databaseId\":")
|
||||||
|
out.String(string(in.DatabaseID))
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v GetDatabaseTableNamesParams) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDatabase1(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v GetDatabaseTableNamesParams) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDatabase1(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *GetDatabaseTableNamesParams) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDatabase1(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *GetDatabaseTableNamesParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDatabase1(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDatabase2(in *jlexer.Lexer, out *ExecuteSQLReturns) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "columnNames":
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
out.ColumnNames = nil
|
||||||
|
} else {
|
||||||
|
in.Delim('[')
|
||||||
|
if !in.IsDelim(']') {
|
||||||
|
out.ColumnNames = make([]string, 0, 4)
|
||||||
|
} else {
|
||||||
|
out.ColumnNames = []string{}
|
||||||
|
}
|
||||||
|
for !in.IsDelim(']') {
|
||||||
|
var v4 string
|
||||||
|
v4 = string(in.String())
|
||||||
|
out.ColumnNames = append(out.ColumnNames, v4)
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim(']')
|
||||||
|
}
|
||||||
|
case "values":
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
out.Values = nil
|
||||||
|
} else {
|
||||||
|
in.Delim('[')
|
||||||
|
if !in.IsDelim(']') {
|
||||||
|
out.Values = make([]easyjson.RawMessage, 0, 2)
|
||||||
|
} else {
|
||||||
|
out.Values = []easyjson.RawMessage{}
|
||||||
|
}
|
||||||
|
for !in.IsDelim(']') {
|
||||||
|
var v5 easyjson.RawMessage
|
||||||
|
(v5).UnmarshalEasyJSON(in)
|
||||||
|
out.Values = append(out.Values, v5)
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim(']')
|
||||||
|
}
|
||||||
|
case "sqlError":
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
out.SQLError = nil
|
||||||
|
} else {
|
||||||
|
if out.SQLError == nil {
|
||||||
|
out.SQLError = new(Error)
|
||||||
|
}
|
||||||
|
(*out.SQLError).UnmarshalEasyJSON(in)
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDatabase2(out *jwriter.Writer, in ExecuteSQLReturns) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if len(in.ColumnNames) != 0 {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"columnNames\":")
|
||||||
|
if in.ColumnNames == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 {
|
||||||
|
out.RawString("null")
|
||||||
|
} else {
|
||||||
|
out.RawByte('[')
|
||||||
|
for v6, v7 := range in.ColumnNames {
|
||||||
|
if v6 > 0 {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
out.String(string(v7))
|
||||||
|
}
|
||||||
|
out.RawByte(']')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if len(in.Values) != 0 {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"values\":")
|
||||||
|
if in.Values == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 {
|
||||||
|
out.RawString("null")
|
||||||
|
} else {
|
||||||
|
out.RawByte('[')
|
||||||
|
for v8, v9 := range in.Values {
|
||||||
|
if v8 > 0 {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
(v9).MarshalEasyJSON(out)
|
||||||
|
}
|
||||||
|
out.RawByte(']')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if in.SQLError != nil {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"sqlError\":")
|
||||||
|
if in.SQLError == nil {
|
||||||
|
out.RawString("null")
|
||||||
|
} else {
|
||||||
|
(*in.SQLError).MarshalEasyJSON(out)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v ExecuteSQLReturns) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDatabase2(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v ExecuteSQLReturns) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDatabase2(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *ExecuteSQLReturns) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDatabase2(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *ExecuteSQLReturns) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDatabase2(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDatabase3(in *jlexer.Lexer, out *ExecuteSQLParams) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "databaseId":
|
||||||
|
out.DatabaseID = DatabaseID(in.String())
|
||||||
|
case "query":
|
||||||
|
out.Query = string(in.String())
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDatabase3(out *jwriter.Writer, in ExecuteSQLParams) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"databaseId\":")
|
||||||
|
out.String(string(in.DatabaseID))
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"query\":")
|
||||||
|
out.String(string(in.Query))
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v ExecuteSQLParams) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDatabase3(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v ExecuteSQLParams) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDatabase3(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *ExecuteSQLParams) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDatabase3(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *ExecuteSQLParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDatabase3(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDatabase4(in *jlexer.Lexer, out *EventAddDatabase) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "database":
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
out.Database = nil
|
||||||
|
} else {
|
||||||
|
if out.Database == nil {
|
||||||
|
out.Database = new(Database)
|
||||||
|
}
|
||||||
|
(*out.Database).UnmarshalEasyJSON(in)
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDatabase4(out *jwriter.Writer, in EventAddDatabase) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if in.Database != nil {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"database\":")
|
||||||
|
if in.Database == nil {
|
||||||
|
out.RawString("null")
|
||||||
|
} else {
|
||||||
|
(*in.Database).MarshalEasyJSON(out)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v EventAddDatabase) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDatabase4(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v EventAddDatabase) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDatabase4(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *EventAddDatabase) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDatabase4(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *EventAddDatabase) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDatabase4(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDatabase5(in *jlexer.Lexer, out *Error) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "message":
|
||||||
|
out.Message = string(in.String())
|
||||||
|
case "code":
|
||||||
|
out.Code = int64(in.Int64())
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDatabase5(out *jwriter.Writer, in Error) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if in.Message != "" {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"message\":")
|
||||||
|
out.String(string(in.Message))
|
||||||
|
}
|
||||||
|
if in.Code != 0 {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"code\":")
|
||||||
|
out.Int64(int64(in.Code))
|
||||||
|
}
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v Error) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDatabase5(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v Error) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDatabase5(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *Error) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDatabase5(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *Error) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDatabase5(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDatabase6(in *jlexer.Lexer, out *EnableParams) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDatabase6(out *jwriter.Writer, in EnableParams) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v EnableParams) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDatabase6(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v EnableParams) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDatabase6(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *EnableParams) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDatabase6(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *EnableParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDatabase6(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDatabase7(in *jlexer.Lexer, out *DisableParams) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDatabase7(out *jwriter.Writer, in DisableParams) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v DisableParams) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDatabase7(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v DisableParams) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDatabase7(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *DisableParams) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDatabase7(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *DisableParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDatabase7(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDatabase8(in *jlexer.Lexer, out *Database) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "id":
|
||||||
|
out.ID = DatabaseID(in.String())
|
||||||
|
case "domain":
|
||||||
|
out.Domain = string(in.String())
|
||||||
|
case "name":
|
||||||
|
out.Name = string(in.String())
|
||||||
|
case "version":
|
||||||
|
out.Version = string(in.String())
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDatabase8(out *jwriter.Writer, in Database) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if in.ID != "" {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"id\":")
|
||||||
|
out.String(string(in.ID))
|
||||||
|
}
|
||||||
|
if in.Domain != "" {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"domain\":")
|
||||||
|
out.String(string(in.Domain))
|
||||||
|
}
|
||||||
|
if in.Name != "" {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"name\":")
|
||||||
|
out.String(string(in.Name))
|
||||||
|
}
|
||||||
|
if in.Version != "" {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"version\":")
|
||||||
|
out.String(string(in.Version))
|
||||||
|
}
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v Database) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDatabase8(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v Database) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDatabase8(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *Database) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDatabase8(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *Database) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDatabase8(l, v)
|
||||||
|
}
|
36
cdp/database/events.go
Normal file
36
cdp/database/events.go
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
package database
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
type EventAddDatabase struct {
|
||||||
|
Database *Database `json:"database,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventTypes is all event types in the domain.
|
||||||
|
var EventTypes = []MethodType{
|
||||||
|
EventDatabaseAddDatabase,
|
||||||
|
}
|
49
cdp/database/types.go
Normal file
49
cdp/database/types.go
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
package database
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// DatabaseID unique identifier of Database object.
|
||||||
|
type DatabaseID string
|
||||||
|
|
||||||
|
// String returns the DatabaseID as string value.
|
||||||
|
func (t DatabaseID) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Database database object.
|
||||||
|
type Database struct {
|
||||||
|
ID DatabaseID `json:"id,omitempty"` // Database ID.
|
||||||
|
Domain string `json:"domain,omitempty"` // Database domain.
|
||||||
|
Name string `json:"name,omitempty"` // Database name.
|
||||||
|
Version string `json:"version,omitempty"` // Database version.
|
||||||
|
}
|
||||||
|
|
||||||
|
// Error database error.
|
||||||
|
type Error struct {
|
||||||
|
Message string `json:"message,omitempty"` // Error message.
|
||||||
|
Code int64 `json:"code,omitempty"` // Error code.
|
||||||
|
}
|
1499
cdp/debugger/debugger.go
Normal file
1499
cdp/debugger/debugger.go
Normal file
File diff suppressed because it is too large
Load Diff
4086
cdp/debugger/easyjson.go
Normal file
4086
cdp/debugger/easyjson.go
Normal file
File diff suppressed because it is too large
Load Diff
91
cdp/debugger/events.go
Normal file
91
cdp/debugger/events.go
Normal file
|
@ -0,0 +1,91 @@
|
||||||
|
package debugger
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
"github.com/knq/chromedp/cdp/runtime"
|
||||||
|
"github.com/mailru/easyjson"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// EventScriptParsed fired when virtual machine parses script. This event is
|
||||||
|
// also fired for all known and uncollected scripts upon enabling debugger.
|
||||||
|
type EventScriptParsed struct {
|
||||||
|
ScriptID runtime.ScriptID `json:"scriptId,omitempty"` // Identifier of the script parsed.
|
||||||
|
URL string `json:"url,omitempty"` // URL or name of the script parsed (if any).
|
||||||
|
StartLine int64 `json:"startLine,omitempty"` // Line offset of the script within the resource with given URL (for script tags).
|
||||||
|
StartColumn int64 `json:"startColumn,omitempty"` // Column offset of the script within the resource with given URL.
|
||||||
|
EndLine int64 `json:"endLine,omitempty"` // Last line of the script.
|
||||||
|
EndColumn int64 `json:"endColumn,omitempty"` // Length of the last line of the script.
|
||||||
|
ExecutionContextID runtime.ExecutionContextID `json:"executionContextId,omitempty"` // Specifies script creation context.
|
||||||
|
Hash string `json:"hash,omitempty"` // Content hash of the script.
|
||||||
|
ExecutionContextAuxData easyjson.RawMessage `json:"executionContextAuxData,omitempty"`
|
||||||
|
IsLiveEdit bool `json:"isLiveEdit,omitempty"` // True, if this script is generated as a result of the live edit operation.
|
||||||
|
SourceMapURL string `json:"sourceMapURL,omitempty"` // URL of source map associated with script (if any).
|
||||||
|
HasSourceURL bool `json:"hasSourceURL,omitempty"` // True, if this script has sourceURL.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventScriptFailedToParse fired when virtual machine fails to parse the
|
||||||
|
// script.
|
||||||
|
type EventScriptFailedToParse struct {
|
||||||
|
ScriptID runtime.ScriptID `json:"scriptId,omitempty"` // Identifier of the script parsed.
|
||||||
|
URL string `json:"url,omitempty"` // URL or name of the script parsed (if any).
|
||||||
|
StartLine int64 `json:"startLine,omitempty"` // Line offset of the script within the resource with given URL (for script tags).
|
||||||
|
StartColumn int64 `json:"startColumn,omitempty"` // Column offset of the script within the resource with given URL.
|
||||||
|
EndLine int64 `json:"endLine,omitempty"` // Last line of the script.
|
||||||
|
EndColumn int64 `json:"endColumn,omitempty"` // Length of the last line of the script.
|
||||||
|
ExecutionContextID runtime.ExecutionContextID `json:"executionContextId,omitempty"` // Specifies script creation context.
|
||||||
|
Hash string `json:"hash,omitempty"` // Content hash of the script.
|
||||||
|
ExecutionContextAuxData easyjson.RawMessage `json:"executionContextAuxData,omitempty"`
|
||||||
|
SourceMapURL string `json:"sourceMapURL,omitempty"` // URL of source map associated with script (if any).
|
||||||
|
HasSourceURL bool `json:"hasSourceURL,omitempty"` // True, if this script has sourceURL.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventBreakpointResolved fired when breakpoint is resolved to an actual
|
||||||
|
// script and location.
|
||||||
|
type EventBreakpointResolved struct {
|
||||||
|
BreakpointID BreakpointID `json:"breakpointId,omitempty"` // Breakpoint unique identifier.
|
||||||
|
Location *Location `json:"location,omitempty"` // Actual breakpoint location.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventPaused fired when the virtual machine stopped on breakpoint or
|
||||||
|
// exception or any other stop criteria.
|
||||||
|
type EventPaused struct {
|
||||||
|
CallFrames []*CallFrame `json:"callFrames,omitempty"` // Call stack the virtual machine stopped on.
|
||||||
|
Reason PausedReason `json:"reason,omitempty"` // Pause reason.
|
||||||
|
Data easyjson.RawMessage `json:"data,omitempty"`
|
||||||
|
HitBreakpoints []string `json:"hitBreakpoints,omitempty"` // Hit breakpoints IDs
|
||||||
|
AsyncStackTrace *runtime.StackTrace `json:"asyncStackTrace,omitempty"` // Async stack trace, if any.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventResumed fired when the virtual machine resumed execution.
|
||||||
|
type EventResumed struct{}
|
||||||
|
|
||||||
|
// EventTypes is all event types in the domain.
|
||||||
|
var EventTypes = []MethodType{
|
||||||
|
EventDebuggerScriptParsed,
|
||||||
|
EventDebuggerScriptFailedToParse,
|
||||||
|
EventDebuggerBreakpointResolved,
|
||||||
|
EventDebuggerPaused,
|
||||||
|
EventDebuggerResumed,
|
||||||
|
}
|
259
cdp/debugger/types.go
Normal file
259
cdp/debugger/types.go
Normal file
|
@ -0,0 +1,259 @@
|
||||||
|
package debugger
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
"errors"
|
||||||
|
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
"github.com/knq/chromedp/cdp/runtime"
|
||||||
|
"github.com/mailru/easyjson"
|
||||||
|
"github.com/mailru/easyjson/jlexer"
|
||||||
|
"github.com/mailru/easyjson/jwriter"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// BreakpointID breakpoint identifier.
|
||||||
|
type BreakpointID string
|
||||||
|
|
||||||
|
// String returns the BreakpointID as string value.
|
||||||
|
func (t BreakpointID) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// CallFrameID call frame identifier.
|
||||||
|
type CallFrameID string
|
||||||
|
|
||||||
|
// String returns the CallFrameID as string value.
|
||||||
|
func (t CallFrameID) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Location location in the source code.
|
||||||
|
type Location struct {
|
||||||
|
ScriptID runtime.ScriptID `json:"scriptId,omitempty"` // Script identifier as reported in the Debugger.scriptParsed.
|
||||||
|
LineNumber int64 `json:"lineNumber,omitempty"` // Line number in the script (0-based).
|
||||||
|
ColumnNumber int64 `json:"columnNumber,omitempty"` // Column number in the script (0-based).
|
||||||
|
}
|
||||||
|
|
||||||
|
// ScriptPosition location in the source code.
|
||||||
|
type ScriptPosition struct {
|
||||||
|
LineNumber int64 `json:"lineNumber,omitempty"`
|
||||||
|
ColumnNumber int64 `json:"columnNumber,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// CallFrame javaScript call frame. Array of call frames form the call stack.
|
||||||
|
type CallFrame struct {
|
||||||
|
CallFrameID CallFrameID `json:"callFrameId,omitempty"` // Call frame identifier. This identifier is only valid while the virtual machine is paused.
|
||||||
|
FunctionName string `json:"functionName,omitempty"` // Name of the JavaScript function called on this call frame.
|
||||||
|
FunctionLocation *Location `json:"functionLocation,omitempty"` // Location in the source code.
|
||||||
|
Location *Location `json:"location,omitempty"` // Location in the source code.
|
||||||
|
ScopeChain []*Scope `json:"scopeChain,omitempty"` // Scope chain for this call frame.
|
||||||
|
This *runtime.RemoteObject `json:"this,omitempty"` // this object for this call frame.
|
||||||
|
ReturnValue *runtime.RemoteObject `json:"returnValue,omitempty"` // The value being returned, if the function is at return point.
|
||||||
|
}
|
||||||
|
|
||||||
|
// Scope scope description.
|
||||||
|
type Scope struct {
|
||||||
|
Type ScopeType `json:"type,omitempty"` // Scope type.
|
||||||
|
Object *runtime.RemoteObject `json:"object,omitempty"` // Object representing the scope. For global and with scopes it represents the actual object; for the rest of the scopes, it is artificial transient object enumerating scope variables as its properties.
|
||||||
|
Name string `json:"name,omitempty"`
|
||||||
|
StartLocation *Location `json:"startLocation,omitempty"` // Location in the source code where scope starts
|
||||||
|
EndLocation *Location `json:"endLocation,omitempty"` // Location in the source code where scope ends
|
||||||
|
}
|
||||||
|
|
||||||
|
// SearchMatch search match for resource.
|
||||||
|
type SearchMatch struct {
|
||||||
|
LineNumber float64 `json:"lineNumber,omitempty"` // Line number in resource content.
|
||||||
|
LineContent string `json:"lineContent,omitempty"` // Line with match content.
|
||||||
|
}
|
||||||
|
|
||||||
|
// ScopeType scope type.
|
||||||
|
type ScopeType string
|
||||||
|
|
||||||
|
// String returns the ScopeType as string value.
|
||||||
|
func (t ScopeType) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ScopeType values.
|
||||||
|
const (
|
||||||
|
ScopeTypeGlobal ScopeType = "global"
|
||||||
|
ScopeTypeLocal ScopeType = "local"
|
||||||
|
ScopeTypeWith ScopeType = "with"
|
||||||
|
ScopeTypeClosure ScopeType = "closure"
|
||||||
|
ScopeTypeCatch ScopeType = "catch"
|
||||||
|
ScopeTypeBlock ScopeType = "block"
|
||||||
|
ScopeTypeScript ScopeType = "script"
|
||||||
|
ScopeTypeEval ScopeType = "eval"
|
||||||
|
ScopeTypeModule ScopeType = "module"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t ScopeType) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t ScopeType) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *ScopeType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch ScopeType(in.String()) {
|
||||||
|
case ScopeTypeGlobal:
|
||||||
|
*t = ScopeTypeGlobal
|
||||||
|
case ScopeTypeLocal:
|
||||||
|
*t = ScopeTypeLocal
|
||||||
|
case ScopeTypeWith:
|
||||||
|
*t = ScopeTypeWith
|
||||||
|
case ScopeTypeClosure:
|
||||||
|
*t = ScopeTypeClosure
|
||||||
|
case ScopeTypeCatch:
|
||||||
|
*t = ScopeTypeCatch
|
||||||
|
case ScopeTypeBlock:
|
||||||
|
*t = ScopeTypeBlock
|
||||||
|
case ScopeTypeScript:
|
||||||
|
*t = ScopeTypeScript
|
||||||
|
case ScopeTypeEval:
|
||||||
|
*t = ScopeTypeEval
|
||||||
|
case ScopeTypeModule:
|
||||||
|
*t = ScopeTypeModule
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown ScopeType value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *ScopeType) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// PausedReason pause reason.
|
||||||
|
type PausedReason string
|
||||||
|
|
||||||
|
// String returns the PausedReason as string value.
|
||||||
|
func (t PausedReason) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// PausedReason values.
|
||||||
|
const (
|
||||||
|
PausedReasonXHR PausedReason = "XHR"
|
||||||
|
PausedReasonDOM PausedReason = "DOM"
|
||||||
|
PausedReasonEventListener PausedReason = "EventListener"
|
||||||
|
PausedReasonException PausedReason = "exception"
|
||||||
|
PausedReasonAssert PausedReason = "assert"
|
||||||
|
PausedReasonDebugCommand PausedReason = "debugCommand"
|
||||||
|
PausedReasonPromiseRejection PausedReason = "promiseRejection"
|
||||||
|
PausedReasonOOM PausedReason = "OOM"
|
||||||
|
PausedReasonOther PausedReason = "other"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t PausedReason) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t PausedReason) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *PausedReason) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch PausedReason(in.String()) {
|
||||||
|
case PausedReasonXHR:
|
||||||
|
*t = PausedReasonXHR
|
||||||
|
case PausedReasonDOM:
|
||||||
|
*t = PausedReasonDOM
|
||||||
|
case PausedReasonEventListener:
|
||||||
|
*t = PausedReasonEventListener
|
||||||
|
case PausedReasonException:
|
||||||
|
*t = PausedReasonException
|
||||||
|
case PausedReasonAssert:
|
||||||
|
*t = PausedReasonAssert
|
||||||
|
case PausedReasonDebugCommand:
|
||||||
|
*t = PausedReasonDebugCommand
|
||||||
|
case PausedReasonPromiseRejection:
|
||||||
|
*t = PausedReasonPromiseRejection
|
||||||
|
case PausedReasonOOM:
|
||||||
|
*t = PausedReasonOOM
|
||||||
|
case PausedReasonOther:
|
||||||
|
*t = PausedReasonOther
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown PausedReason value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *PausedReason) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ExceptionsState pause on exceptions mode.
|
||||||
|
type ExceptionsState string
|
||||||
|
|
||||||
|
// String returns the ExceptionsState as string value.
|
||||||
|
func (t ExceptionsState) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ExceptionsState values.
|
||||||
|
const (
|
||||||
|
ExceptionsStateNone ExceptionsState = "none"
|
||||||
|
ExceptionsStateUncaught ExceptionsState = "uncaught"
|
||||||
|
ExceptionsStateAll ExceptionsState = "all"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t ExceptionsState) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t ExceptionsState) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *ExceptionsState) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch ExceptionsState(in.String()) {
|
||||||
|
case ExceptionsStateNone:
|
||||||
|
*t = ExceptionsStateNone
|
||||||
|
case ExceptionsStateUncaught:
|
||||||
|
*t = ExceptionsStateUncaught
|
||||||
|
case ExceptionsStateAll:
|
||||||
|
*t = ExceptionsStateAll
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown ExceptionsState value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *ExceptionsState) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
132
cdp/deviceorientation/deviceorientation.go
Normal file
132
cdp/deviceorientation/deviceorientation.go
Normal file
|
@ -0,0 +1,132 @@
|
||||||
|
// Package deviceorientation provides the Chrome Debugging Protocol
|
||||||
|
// commands, types, and events for the Chrome DeviceOrientation domain.
|
||||||
|
//
|
||||||
|
// Generated by the chromedp-gen command.
|
||||||
|
package deviceorientation
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
"github.com/mailru/easyjson"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// SetDeviceOrientationOverrideParams overrides the Device Orientation.
|
||||||
|
type SetDeviceOrientationOverrideParams struct {
|
||||||
|
Alpha float64 `json:"alpha"` // Mock alpha
|
||||||
|
Beta float64 `json:"beta"` // Mock beta
|
||||||
|
Gamma float64 `json:"gamma"` // Mock gamma
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetDeviceOrientationOverride overrides the Device Orientation.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// alpha - Mock alpha
|
||||||
|
// beta - Mock beta
|
||||||
|
// gamma - Mock gamma
|
||||||
|
func SetDeviceOrientationOverride(alpha float64, beta float64, gamma float64) *SetDeviceOrientationOverrideParams {
|
||||||
|
return &SetDeviceOrientationOverrideParams{
|
||||||
|
Alpha: alpha,
|
||||||
|
Beta: beta,
|
||||||
|
Gamma: gamma,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes DeviceOrientation.setDeviceOrientationOverride.
|
||||||
|
func (p *SetDeviceOrientationOverrideParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandDeviceOrientationSetDeviceOrientationOverride, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// ClearDeviceOrientationOverrideParams clears the overridden Device
|
||||||
|
// Orientation.
|
||||||
|
type ClearDeviceOrientationOverrideParams struct{}
|
||||||
|
|
||||||
|
// ClearDeviceOrientationOverride clears the overridden Device Orientation.
|
||||||
|
func ClearDeviceOrientationOverride() *ClearDeviceOrientationOverrideParams {
|
||||||
|
return &ClearDeviceOrientationOverrideParams{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes DeviceOrientation.clearDeviceOrientationOverride.
|
||||||
|
func (p *ClearDeviceOrientationOverrideParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandDeviceOrientationClearDeviceOrientationOverride, Empty)
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
161
cdp/deviceorientation/easyjson.go
Normal file
161
cdp/deviceorientation/easyjson.go
Normal file
|
@ -0,0 +1,161 @@
|
||||||
|
// AUTOGENERATED FILE: easyjson marshaler/unmarshalers.
|
||||||
|
|
||||||
|
package deviceorientation
|
||||||
|
|
||||||
|
import (
|
||||||
|
json "encoding/json"
|
||||||
|
easyjson "github.com/mailru/easyjson"
|
||||||
|
jlexer "github.com/mailru/easyjson/jlexer"
|
||||||
|
jwriter "github.com/mailru/easyjson/jwriter"
|
||||||
|
)
|
||||||
|
|
||||||
|
// suppress unused package warning
|
||||||
|
var (
|
||||||
|
_ *json.RawMessage
|
||||||
|
_ *jlexer.Lexer
|
||||||
|
_ *jwriter.Writer
|
||||||
|
_ easyjson.Marshaler
|
||||||
|
)
|
||||||
|
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDeviceorientation(in *jlexer.Lexer, out *SetDeviceOrientationOverrideParams) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "alpha":
|
||||||
|
out.Alpha = float64(in.Float64())
|
||||||
|
case "beta":
|
||||||
|
out.Beta = float64(in.Float64())
|
||||||
|
case "gamma":
|
||||||
|
out.Gamma = float64(in.Float64())
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDeviceorientation(out *jwriter.Writer, in SetDeviceOrientationOverrideParams) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"alpha\":")
|
||||||
|
out.Float64(float64(in.Alpha))
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"beta\":")
|
||||||
|
out.Float64(float64(in.Beta))
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"gamma\":")
|
||||||
|
out.Float64(float64(in.Gamma))
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v SetDeviceOrientationOverrideParams) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDeviceorientation(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v SetDeviceOrientationOverrideParams) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDeviceorientation(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *SetDeviceOrientationOverrideParams) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDeviceorientation(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *SetDeviceOrientationOverrideParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDeviceorientation(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDeviceorientation1(in *jlexer.Lexer, out *ClearDeviceOrientationOverrideParams) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDeviceorientation1(out *jwriter.Writer, in ClearDeviceOrientationOverrideParams) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v ClearDeviceOrientationOverrideParams) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDeviceorientation1(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v ClearDeviceOrientationOverrideParams) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDeviceorientation1(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *ClearDeviceOrientationOverrideParams) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDeviceorientation1(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *ClearDeviceOrientationOverrideParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDeviceorientation1(l, v)
|
||||||
|
}
|
2634
cdp/dom/dom.go
Normal file
2634
cdp/dom/dom.go
Normal file
File diff suppressed because it is too large
Load Diff
6889
cdp/dom/easyjson.go
Normal file
6889
cdp/dom/easyjson.go
Normal file
File diff suppressed because it is too large
Load Diff
146
cdp/dom/events.go
Normal file
146
cdp/dom/events.go
Normal file
|
@ -0,0 +1,146 @@
|
||||||
|
package dom
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// EventDocumentUpdated fired when Document has been totally updated. Node
|
||||||
|
// ids are no longer valid.
|
||||||
|
type EventDocumentUpdated struct{}
|
||||||
|
|
||||||
|
// EventInspectNodeRequested fired when the node should be inspected. This
|
||||||
|
// happens after call to setInspectMode.
|
||||||
|
type EventInspectNodeRequested struct {
|
||||||
|
BackendNodeID BackendNodeID `json:"backendNodeId,omitempty"` // Id of the node to inspect.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventSetChildNodes fired when backend wants to provide client with the
|
||||||
|
// missing DOM structure. This happens upon most of the calls requesting node
|
||||||
|
// ids.
|
||||||
|
type EventSetChildNodes struct {
|
||||||
|
ParentID NodeID `json:"parentId,omitempty"` // Parent node id to populate with children.
|
||||||
|
Nodes []*Node `json:"nodes,omitempty"` // Child nodes array.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventAttributeModified fired when Element's attribute is modified.
|
||||||
|
type EventAttributeModified struct {
|
||||||
|
NodeID NodeID `json:"nodeId,omitempty"` // Id of the node that has changed.
|
||||||
|
Name string `json:"name,omitempty"` // Attribute name.
|
||||||
|
Value string `json:"value,omitempty"` // Attribute value.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventAttributeRemoved fired when Element's attribute is removed.
|
||||||
|
type EventAttributeRemoved struct {
|
||||||
|
NodeID NodeID `json:"nodeId,omitempty"` // Id of the node that has changed.
|
||||||
|
Name string `json:"name,omitempty"` // A ttribute name.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventInlineStyleInvalidated fired when Element's inline style is modified
|
||||||
|
// via a CSS property modification.
|
||||||
|
type EventInlineStyleInvalidated struct {
|
||||||
|
NodeIds []NodeID `json:"nodeIds,omitempty"` // Ids of the nodes for which the inline styles have been invalidated.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventCharacterDataModified mirrors DOMCharacterDataModified event.
|
||||||
|
type EventCharacterDataModified struct {
|
||||||
|
NodeID NodeID `json:"nodeId,omitempty"` // Id of the node that has changed.
|
||||||
|
CharacterData string `json:"characterData,omitempty"` // New text value.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventChildNodeCountUpdated fired when Container's child node count has
|
||||||
|
// changed.
|
||||||
|
type EventChildNodeCountUpdated struct {
|
||||||
|
NodeID NodeID `json:"nodeId,omitempty"` // Id of the node that has changed.
|
||||||
|
ChildNodeCount int64 `json:"childNodeCount,omitempty"` // New node count.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventChildNodeInserted mirrors DOMNodeInserted event.
|
||||||
|
type EventChildNodeInserted struct {
|
||||||
|
ParentNodeID NodeID `json:"parentNodeId,omitempty"` // Id of the node that has changed.
|
||||||
|
PreviousNodeID NodeID `json:"previousNodeId,omitempty"` // If of the previous siblint.
|
||||||
|
Node *Node `json:"node,omitempty"` // Inserted node data.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventChildNodeRemoved mirrors DOMNodeRemoved event.
|
||||||
|
type EventChildNodeRemoved struct {
|
||||||
|
ParentNodeID NodeID `json:"parentNodeId,omitempty"` // Parent id.
|
||||||
|
NodeID NodeID `json:"nodeId,omitempty"` // Id of the node that has been removed.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventShadowRootPushed called when shadow root is pushed into the element.
|
||||||
|
type EventShadowRootPushed struct {
|
||||||
|
HostID NodeID `json:"hostId,omitempty"` // Host element id.
|
||||||
|
Root *Node `json:"root,omitempty"` // Shadow root.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventShadowRootPopped called when shadow root is popped from the element.
|
||||||
|
type EventShadowRootPopped struct {
|
||||||
|
HostID NodeID `json:"hostId,omitempty"` // Host element id.
|
||||||
|
RootID NodeID `json:"rootId,omitempty"` // Shadow root id.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventPseudoElementAdded called when a pseudo element is added to an
|
||||||
|
// element.
|
||||||
|
type EventPseudoElementAdded struct {
|
||||||
|
ParentID NodeID `json:"parentId,omitempty"` // Pseudo element's parent element id.
|
||||||
|
PseudoElement *Node `json:"pseudoElement,omitempty"` // The added pseudo element.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventPseudoElementRemoved called when a pseudo element is removed from an
|
||||||
|
// element.
|
||||||
|
type EventPseudoElementRemoved struct {
|
||||||
|
ParentID NodeID `json:"parentId,omitempty"` // Pseudo element's parent element id.
|
||||||
|
PseudoElementID NodeID `json:"pseudoElementId,omitempty"` // The removed pseudo element id.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventDistributedNodesUpdated called when distrubution is changed.
|
||||||
|
type EventDistributedNodesUpdated struct {
|
||||||
|
InsertionPointID NodeID `json:"insertionPointId,omitempty"` // Insertion point where distrubuted nodes were updated.
|
||||||
|
DistributedNodes []*BackendNode `json:"distributedNodes,omitempty"` // Distributed nodes for given insertion point.
|
||||||
|
}
|
||||||
|
|
||||||
|
type EventNodeHighlightRequested struct {
|
||||||
|
NodeID NodeID `json:"nodeId,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventTypes is all event types in the domain.
|
||||||
|
var EventTypes = []MethodType{
|
||||||
|
EventDOMDocumentUpdated,
|
||||||
|
EventDOMInspectNodeRequested,
|
||||||
|
EventDOMSetChildNodes,
|
||||||
|
EventDOMAttributeModified,
|
||||||
|
EventDOMAttributeRemoved,
|
||||||
|
EventDOMInlineStyleInvalidated,
|
||||||
|
EventDOMCharacterDataModified,
|
||||||
|
EventDOMChildNodeCountUpdated,
|
||||||
|
EventDOMChildNodeInserted,
|
||||||
|
EventDOMChildNodeRemoved,
|
||||||
|
EventDOMShadowRootPushed,
|
||||||
|
EventDOMShadowRootPopped,
|
||||||
|
EventDOMPseudoElementAdded,
|
||||||
|
EventDOMPseudoElementRemoved,
|
||||||
|
EventDOMDistributedNodesUpdated,
|
||||||
|
EventDOMNodeHighlightRequested,
|
||||||
|
}
|
122
cdp/dom/types.go
Normal file
122
cdp/dom/types.go
Normal file
|
@ -0,0 +1,122 @@
|
||||||
|
package dom
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
"errors"
|
||||||
|
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
"github.com/mailru/easyjson"
|
||||||
|
"github.com/mailru/easyjson/jlexer"
|
||||||
|
"github.com/mailru/easyjson/jwriter"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// Quad an array of quad vertices, x immediately followed by y for each
|
||||||
|
// point, points clock-wise.
|
||||||
|
type Quad []float64
|
||||||
|
|
||||||
|
// BoxModel box model.
|
||||||
|
type BoxModel struct {
|
||||||
|
Content Quad `json:"content,omitempty"` // Content box
|
||||||
|
Padding Quad `json:"padding,omitempty"` // Padding box
|
||||||
|
Border Quad `json:"border,omitempty"` // Border box
|
||||||
|
Margin Quad `json:"margin,omitempty"` // Margin box
|
||||||
|
Width int64 `json:"width,omitempty"` // Node width
|
||||||
|
Height int64 `json:"height,omitempty"` // Node height
|
||||||
|
ShapeOutside *ShapeOutsideInfo `json:"shapeOutside,omitempty"` // Shape outside coordinates
|
||||||
|
}
|
||||||
|
|
||||||
|
// ShapeOutsideInfo cSS Shape Outside details.
|
||||||
|
type ShapeOutsideInfo struct {
|
||||||
|
Bounds Quad `json:"bounds,omitempty"` // Shape bounds
|
||||||
|
Shape []easyjson.RawMessage `json:"shape,omitempty"` // Shape coordinate details
|
||||||
|
MarginShape []easyjson.RawMessage `json:"marginShape,omitempty"` // Margin shape bounds
|
||||||
|
}
|
||||||
|
|
||||||
|
// Rect rectangle.
|
||||||
|
type Rect struct {
|
||||||
|
X float64 `json:"x,omitempty"` // X coordinate
|
||||||
|
Y float64 `json:"y,omitempty"` // Y coordinate
|
||||||
|
Width float64 `json:"width,omitempty"` // Rectangle width
|
||||||
|
Height float64 `json:"height,omitempty"` // Rectangle height
|
||||||
|
}
|
||||||
|
|
||||||
|
// HighlightConfig configuration data for the highlighting of page elements.
|
||||||
|
type HighlightConfig struct {
|
||||||
|
ShowInfo bool `json:"showInfo,omitempty"` // Whether the node info tooltip should be shown (default: false).
|
||||||
|
ShowRulers bool `json:"showRulers,omitempty"` // Whether the rulers should be shown (default: false).
|
||||||
|
ShowExtensionLines bool `json:"showExtensionLines,omitempty"` // Whether the extension lines from node to the rulers should be shown (default: false).
|
||||||
|
DisplayAsMaterial bool `json:"displayAsMaterial,omitempty"`
|
||||||
|
ContentColor *RGBA `json:"contentColor,omitempty"` // The content box highlight fill color (default: transparent).
|
||||||
|
PaddingColor *RGBA `json:"paddingColor,omitempty"` // The padding highlight fill color (default: transparent).
|
||||||
|
BorderColor *RGBA `json:"borderColor,omitempty"` // The border highlight fill color (default: transparent).
|
||||||
|
MarginColor *RGBA `json:"marginColor,omitempty"` // The margin highlight fill color (default: transparent).
|
||||||
|
EventTargetColor *RGBA `json:"eventTargetColor,omitempty"` // The event target element highlight fill color (default: transparent).
|
||||||
|
ShapeColor *RGBA `json:"shapeColor,omitempty"` // The shape outside fill color (default: transparent).
|
||||||
|
ShapeMarginColor *RGBA `json:"shapeMarginColor,omitempty"` // The shape margin fill color (default: transparent).
|
||||||
|
SelectorList string `json:"selectorList,omitempty"` // Selectors to highlight relevant nodes.
|
||||||
|
}
|
||||||
|
|
||||||
|
type InspectMode string
|
||||||
|
|
||||||
|
// String returns the InspectMode as string value.
|
||||||
|
func (t InspectMode) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// InspectMode values.
|
||||||
|
const (
|
||||||
|
InspectModeSearchForNode InspectMode = "searchForNode"
|
||||||
|
InspectModeSearchForUAShadowDOM InspectMode = "searchForUAShadowDOM"
|
||||||
|
InspectModeNone InspectMode = "none"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t InspectMode) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t InspectMode) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *InspectMode) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch InspectMode(in.String()) {
|
||||||
|
case InspectModeSearchForNode:
|
||||||
|
*t = InspectModeSearchForNode
|
||||||
|
case InspectModeSearchForUAShadowDOM:
|
||||||
|
*t = InspectModeSearchForUAShadowDOM
|
||||||
|
case InspectModeNone:
|
||||||
|
*t = InspectModeNone
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown InspectMode value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *InspectMode) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
549
cdp/domdebugger/domdebugger.go
Normal file
549
cdp/domdebugger/domdebugger.go
Normal file
|
@ -0,0 +1,549 @@
|
||||||
|
// Package domdebugger provides the Chrome Debugging Protocol
|
||||||
|
// commands, types, and events for the Chrome 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"
|
||||||
|
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
"github.com/knq/chromedp/cdp/runtime"
|
||||||
|
"github.com/mailru/easyjson"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// SetDOMBreakpointParams sets breakpoint on particular operation with DOM.
|
||||||
|
type SetDOMBreakpointParams struct {
|
||||||
|
NodeID 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 NodeID, type_ DOMBreakpointType) *SetDOMBreakpointParams {
|
||||||
|
return &SetDOMBreakpointParams{
|
||||||
|
NodeID: nodeId,
|
||||||
|
Type: type_,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes DOMDebugger.setDOMBreakpoint.
|
||||||
|
func (p *SetDOMBreakpointParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandDOMDebuggerSetDOMBreakpoint, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// RemoveDOMBreakpointParams removes DOM breakpoint that was set using
|
||||||
|
// setDOMBreakpoint.
|
||||||
|
type RemoveDOMBreakpointParams struct {
|
||||||
|
NodeID 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 NodeID, type_ DOMBreakpointType) *RemoveDOMBreakpointParams {
|
||||||
|
return &RemoveDOMBreakpointParams{
|
||||||
|
NodeID: nodeId,
|
||||||
|
Type: type_,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes DOMDebugger.removeDOMBreakpoint.
|
||||||
|
func (p *RemoveDOMBreakpointParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandDOMDebuggerRemoveDOMBreakpoint, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return 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.
|
||||||
|
func (p *SetEventListenerBreakpointParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandDOMDebuggerSetEventListenerBreakpoint, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return 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.
|
||||||
|
func (p *RemoveEventListenerBreakpointParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandDOMDebuggerRemoveEventListenerBreakpoint, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return 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.
|
||||||
|
func (p *SetInstrumentationBreakpointParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandDOMDebuggerSetInstrumentationBreakpoint, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return 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.
|
||||||
|
func (p *RemoveInstrumentationBreakpointParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandDOMDebuggerRemoveInstrumentationBreakpoint, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return 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.
|
||||||
|
func (p *SetXHRBreakpointParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandDOMDebuggerSetXHRBreakpoint, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return 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.
|
||||||
|
func (p *RemoveXHRBreakpointParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandDOMDebuggerRemoveXHRBreakpoint, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return 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.
|
||||||
|
}
|
||||||
|
|
||||||
|
// 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,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetEventListenersReturns return values.
|
||||||
|
type GetEventListenersReturns struct {
|
||||||
|
Listeners []*EventListener `json:"listeners,omitempty"` // Array of relevant listeners.
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes DOMDebugger.getEventListeners.
|
||||||
|
//
|
||||||
|
// returns:
|
||||||
|
// listeners - Array of relevant listeners.
|
||||||
|
func (p *GetEventListenersParams) Do(ctxt context.Context, h FrameHandler) (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, CommandDOMDebuggerGetEventListeners, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return nil, ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
// unmarshal
|
||||||
|
var r GetEventListenersReturns
|
||||||
|
err = easyjson.Unmarshal(v, &r)
|
||||||
|
if err != nil {
|
||||||
|
return nil, ErrInvalidResult
|
||||||
|
}
|
||||||
|
|
||||||
|
return r.Listeners, nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return nil, v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return nil, ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil, ErrUnknownResult
|
||||||
|
}
|
963
cdp/domdebugger/easyjson.go
Normal file
963
cdp/domdebugger/easyjson.go
Normal file
|
@ -0,0 +1,963 @@
|
||||||
|
// AUTOGENERATED FILE: easyjson marshaler/unmarshalers.
|
||||||
|
|
||||||
|
package domdebugger
|
||||||
|
|
||||||
|
import (
|
||||||
|
json "encoding/json"
|
||||||
|
runtime "github.com/knq/chromedp/cdp/runtime"
|
||||||
|
easyjson "github.com/mailru/easyjson"
|
||||||
|
jlexer "github.com/mailru/easyjson/jlexer"
|
||||||
|
jwriter "github.com/mailru/easyjson/jwriter"
|
||||||
|
)
|
||||||
|
|
||||||
|
// suppress unused package warning
|
||||||
|
var (
|
||||||
|
_ *json.RawMessage
|
||||||
|
_ *jlexer.Lexer
|
||||||
|
_ *jwriter.Writer
|
||||||
|
_ easyjson.Marshaler
|
||||||
|
)
|
||||||
|
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDomdebugger(in *jlexer.Lexer, out *SetXHRBreakpointParams) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "url":
|
||||||
|
out.URL = string(in.String())
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDomdebugger(out *jwriter.Writer, in SetXHRBreakpointParams) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"url\":")
|
||||||
|
out.String(string(in.URL))
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v SetXHRBreakpointParams) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDomdebugger(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v SetXHRBreakpointParams) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDomdebugger(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *SetXHRBreakpointParams) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDomdebugger(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *SetXHRBreakpointParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDomdebugger(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDomdebugger1(in *jlexer.Lexer, out *SetInstrumentationBreakpointParams) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "eventName":
|
||||||
|
out.EventName = string(in.String())
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDomdebugger1(out *jwriter.Writer, in SetInstrumentationBreakpointParams) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"eventName\":")
|
||||||
|
out.String(string(in.EventName))
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v SetInstrumentationBreakpointParams) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDomdebugger1(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v SetInstrumentationBreakpointParams) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDomdebugger1(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *SetInstrumentationBreakpointParams) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDomdebugger1(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *SetInstrumentationBreakpointParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDomdebugger1(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDomdebugger2(in *jlexer.Lexer, out *SetEventListenerBreakpointParams) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "eventName":
|
||||||
|
out.EventName = string(in.String())
|
||||||
|
case "targetName":
|
||||||
|
out.TargetName = string(in.String())
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDomdebugger2(out *jwriter.Writer, in SetEventListenerBreakpointParams) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"eventName\":")
|
||||||
|
out.String(string(in.EventName))
|
||||||
|
if in.TargetName != "" {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"targetName\":")
|
||||||
|
out.String(string(in.TargetName))
|
||||||
|
}
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v SetEventListenerBreakpointParams) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDomdebugger2(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v SetEventListenerBreakpointParams) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDomdebugger2(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *SetEventListenerBreakpointParams) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDomdebugger2(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *SetEventListenerBreakpointParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDomdebugger2(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDomdebugger3(in *jlexer.Lexer, out *SetDOMBreakpointParams) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "nodeId":
|
||||||
|
(out.NodeID).UnmarshalEasyJSON(in)
|
||||||
|
case "type":
|
||||||
|
(out.Type).UnmarshalEasyJSON(in)
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDomdebugger3(out *jwriter.Writer, in SetDOMBreakpointParams) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"nodeId\":")
|
||||||
|
out.Int64(int64(in.NodeID))
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"type\":")
|
||||||
|
(in.Type).MarshalEasyJSON(out)
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v SetDOMBreakpointParams) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDomdebugger3(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v SetDOMBreakpointParams) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDomdebugger3(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *SetDOMBreakpointParams) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDomdebugger3(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *SetDOMBreakpointParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDomdebugger3(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDomdebugger4(in *jlexer.Lexer, out *RemoveXHRBreakpointParams) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "url":
|
||||||
|
out.URL = string(in.String())
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDomdebugger4(out *jwriter.Writer, in RemoveXHRBreakpointParams) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"url\":")
|
||||||
|
out.String(string(in.URL))
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v RemoveXHRBreakpointParams) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDomdebugger4(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v RemoveXHRBreakpointParams) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDomdebugger4(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *RemoveXHRBreakpointParams) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDomdebugger4(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *RemoveXHRBreakpointParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDomdebugger4(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDomdebugger5(in *jlexer.Lexer, out *RemoveInstrumentationBreakpointParams) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "eventName":
|
||||||
|
out.EventName = string(in.String())
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDomdebugger5(out *jwriter.Writer, in RemoveInstrumentationBreakpointParams) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"eventName\":")
|
||||||
|
out.String(string(in.EventName))
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v RemoveInstrumentationBreakpointParams) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDomdebugger5(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v RemoveInstrumentationBreakpointParams) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDomdebugger5(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *RemoveInstrumentationBreakpointParams) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDomdebugger5(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *RemoveInstrumentationBreakpointParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDomdebugger5(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDomdebugger6(in *jlexer.Lexer, out *RemoveEventListenerBreakpointParams) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "eventName":
|
||||||
|
out.EventName = string(in.String())
|
||||||
|
case "targetName":
|
||||||
|
out.TargetName = string(in.String())
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDomdebugger6(out *jwriter.Writer, in RemoveEventListenerBreakpointParams) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"eventName\":")
|
||||||
|
out.String(string(in.EventName))
|
||||||
|
if in.TargetName != "" {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"targetName\":")
|
||||||
|
out.String(string(in.TargetName))
|
||||||
|
}
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v RemoveEventListenerBreakpointParams) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDomdebugger6(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v RemoveEventListenerBreakpointParams) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDomdebugger6(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *RemoveEventListenerBreakpointParams) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDomdebugger6(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *RemoveEventListenerBreakpointParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDomdebugger6(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDomdebugger7(in *jlexer.Lexer, out *RemoveDOMBreakpointParams) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "nodeId":
|
||||||
|
(out.NodeID).UnmarshalEasyJSON(in)
|
||||||
|
case "type":
|
||||||
|
(out.Type).UnmarshalEasyJSON(in)
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDomdebugger7(out *jwriter.Writer, in RemoveDOMBreakpointParams) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"nodeId\":")
|
||||||
|
out.Int64(int64(in.NodeID))
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"type\":")
|
||||||
|
(in.Type).MarshalEasyJSON(out)
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v RemoveDOMBreakpointParams) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDomdebugger7(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v RemoveDOMBreakpointParams) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDomdebugger7(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *RemoveDOMBreakpointParams) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDomdebugger7(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *RemoveDOMBreakpointParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDomdebugger7(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDomdebugger8(in *jlexer.Lexer, out *GetEventListenersReturns) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "listeners":
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
out.Listeners = nil
|
||||||
|
} else {
|
||||||
|
in.Delim('[')
|
||||||
|
if !in.IsDelim(']') {
|
||||||
|
out.Listeners = make([]*EventListener, 0, 8)
|
||||||
|
} else {
|
||||||
|
out.Listeners = []*EventListener{}
|
||||||
|
}
|
||||||
|
for !in.IsDelim(']') {
|
||||||
|
var v1 *EventListener
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
v1 = nil
|
||||||
|
} else {
|
||||||
|
if v1 == nil {
|
||||||
|
v1 = new(EventListener)
|
||||||
|
}
|
||||||
|
(*v1).UnmarshalEasyJSON(in)
|
||||||
|
}
|
||||||
|
out.Listeners = append(out.Listeners, v1)
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim(']')
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDomdebugger8(out *jwriter.Writer, in GetEventListenersReturns) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if len(in.Listeners) != 0 {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"listeners\":")
|
||||||
|
if in.Listeners == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 {
|
||||||
|
out.RawString("null")
|
||||||
|
} else {
|
||||||
|
out.RawByte('[')
|
||||||
|
for v2, v3 := range in.Listeners {
|
||||||
|
if v2 > 0 {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
if v3 == nil {
|
||||||
|
out.RawString("null")
|
||||||
|
} else {
|
||||||
|
(*v3).MarshalEasyJSON(out)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
out.RawByte(']')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v GetEventListenersReturns) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDomdebugger8(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v GetEventListenersReturns) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDomdebugger8(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *GetEventListenersReturns) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDomdebugger8(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *GetEventListenersReturns) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDomdebugger8(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDomdebugger9(in *jlexer.Lexer, out *GetEventListenersParams) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "objectId":
|
||||||
|
out.ObjectID = runtime.RemoteObjectID(in.String())
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDomdebugger9(out *jwriter.Writer, in GetEventListenersParams) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"objectId\":")
|
||||||
|
out.String(string(in.ObjectID))
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v GetEventListenersParams) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDomdebugger9(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v GetEventListenersParams) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDomdebugger9(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *GetEventListenersParams) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDomdebugger9(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *GetEventListenersParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDomdebugger9(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDomdebugger10(in *jlexer.Lexer, out *EventListener) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "type":
|
||||||
|
out.Type = string(in.String())
|
||||||
|
case "useCapture":
|
||||||
|
out.UseCapture = bool(in.Bool())
|
||||||
|
case "passive":
|
||||||
|
out.Passive = bool(in.Bool())
|
||||||
|
case "once":
|
||||||
|
out.Once = bool(in.Bool())
|
||||||
|
case "scriptId":
|
||||||
|
out.ScriptID = runtime.ScriptID(in.String())
|
||||||
|
case "lineNumber":
|
||||||
|
out.LineNumber = int64(in.Int64())
|
||||||
|
case "columnNumber":
|
||||||
|
out.ColumnNumber = int64(in.Int64())
|
||||||
|
case "handler":
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
out.Handler = nil
|
||||||
|
} else {
|
||||||
|
if out.Handler == nil {
|
||||||
|
out.Handler = new(runtime.RemoteObject)
|
||||||
|
}
|
||||||
|
(*out.Handler).UnmarshalEasyJSON(in)
|
||||||
|
}
|
||||||
|
case "originalHandler":
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
out.OriginalHandler = nil
|
||||||
|
} else {
|
||||||
|
if out.OriginalHandler == nil {
|
||||||
|
out.OriginalHandler = new(runtime.RemoteObject)
|
||||||
|
}
|
||||||
|
(*out.OriginalHandler).UnmarshalEasyJSON(in)
|
||||||
|
}
|
||||||
|
case "removeFunction":
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
out.RemoveFunction = nil
|
||||||
|
} else {
|
||||||
|
if out.RemoveFunction == nil {
|
||||||
|
out.RemoveFunction = new(runtime.RemoteObject)
|
||||||
|
}
|
||||||
|
(*out.RemoveFunction).UnmarshalEasyJSON(in)
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDomdebugger10(out *jwriter.Writer, in EventListener) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if in.Type != "" {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"type\":")
|
||||||
|
out.String(string(in.Type))
|
||||||
|
}
|
||||||
|
if in.UseCapture {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"useCapture\":")
|
||||||
|
out.Bool(bool(in.UseCapture))
|
||||||
|
}
|
||||||
|
if in.Passive {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"passive\":")
|
||||||
|
out.Bool(bool(in.Passive))
|
||||||
|
}
|
||||||
|
if in.Once {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"once\":")
|
||||||
|
out.Bool(bool(in.Once))
|
||||||
|
}
|
||||||
|
if in.ScriptID != "" {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"scriptId\":")
|
||||||
|
out.String(string(in.ScriptID))
|
||||||
|
}
|
||||||
|
if in.LineNumber != 0 {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"lineNumber\":")
|
||||||
|
out.Int64(int64(in.LineNumber))
|
||||||
|
}
|
||||||
|
if in.ColumnNumber != 0 {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"columnNumber\":")
|
||||||
|
out.Int64(int64(in.ColumnNumber))
|
||||||
|
}
|
||||||
|
if in.Handler != nil {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"handler\":")
|
||||||
|
if in.Handler == nil {
|
||||||
|
out.RawString("null")
|
||||||
|
} else {
|
||||||
|
(*in.Handler).MarshalEasyJSON(out)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if in.OriginalHandler != nil {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"originalHandler\":")
|
||||||
|
if in.OriginalHandler == nil {
|
||||||
|
out.RawString("null")
|
||||||
|
} else {
|
||||||
|
(*in.OriginalHandler).MarshalEasyJSON(out)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if in.RemoveFunction != nil {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"removeFunction\":")
|
||||||
|
if in.RemoveFunction == nil {
|
||||||
|
out.RawString("null")
|
||||||
|
} else {
|
||||||
|
(*in.RemoveFunction).MarshalEasyJSON(out)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v EventListener) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDomdebugger10(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v EventListener) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpDomdebugger10(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *EventListener) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDomdebugger10(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *EventListener) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpDomdebugger10(l, v)
|
||||||
|
}
|
92
cdp/domdebugger/types.go
Normal file
92
cdp/domdebugger/types.go
Normal file
|
@ -0,0 +1,92 @@
|
||||||
|
package domdebugger
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
"errors"
|
||||||
|
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
"github.com/knq/chromedp/cdp/runtime"
|
||||||
|
"github.com/mailru/easyjson"
|
||||||
|
"github.com/mailru/easyjson/jlexer"
|
||||||
|
"github.com/mailru/easyjson/jwriter"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// DOMBreakpointType dOM breakpoint type.
|
||||||
|
type DOMBreakpointType string
|
||||||
|
|
||||||
|
// String returns the DOMBreakpointType as string value.
|
||||||
|
func (t DOMBreakpointType) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// DOMBreakpointType values.
|
||||||
|
const (
|
||||||
|
DOMBreakpointTypeSubtreeModified DOMBreakpointType = "subtree-modified"
|
||||||
|
DOMBreakpointTypeAttributeModified DOMBreakpointType = "attribute-modified"
|
||||||
|
DOMBreakpointTypeNodeRemoved DOMBreakpointType = "node-removed"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t DOMBreakpointType) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t DOMBreakpointType) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *DOMBreakpointType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch DOMBreakpointType(in.String()) {
|
||||||
|
case DOMBreakpointTypeSubtreeModified:
|
||||||
|
*t = DOMBreakpointTypeSubtreeModified
|
||||||
|
case DOMBreakpointTypeAttributeModified:
|
||||||
|
*t = DOMBreakpointTypeAttributeModified
|
||||||
|
case DOMBreakpointTypeNodeRemoved:
|
||||||
|
*t = DOMBreakpointTypeNodeRemoved
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown DOMBreakpointType value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *DOMBreakpointType) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventListener object event listener.
|
||||||
|
type EventListener struct {
|
||||||
|
Type string `json:"type,omitempty"` // EventListener's type.
|
||||||
|
UseCapture bool `json:"useCapture,omitempty"` // EventListener's useCapture.
|
||||||
|
Passive bool `json:"passive,omitempty"` // EventListener's passive flag.
|
||||||
|
Once bool `json:"once,omitempty"` // EventListener's once flag.
|
||||||
|
ScriptID runtime.ScriptID `json:"scriptId,omitempty"` // Script id of the handler code.
|
||||||
|
LineNumber int64 `json:"lineNumber,omitempty"` // Line number in the script (0-based).
|
||||||
|
ColumnNumber int64 `json:"columnNumber,omitempty"` // Column number in the script (0-based).
|
||||||
|
Handler *runtime.RemoteObject `json:"handler,omitempty"` // Event handler function value.
|
||||||
|
OriginalHandler *runtime.RemoteObject `json:"originalHandler,omitempty"` // Event original handler function value.
|
||||||
|
RemoveFunction *runtime.RemoteObject `json:"removeFunction,omitempty"` // Event listener remove function.
|
||||||
|
}
|
338
cdp/domstorage/domstorage.go
Normal file
338
cdp/domstorage/domstorage.go
Normal file
|
@ -0,0 +1,338 @@
|
||||||
|
// Package domstorage provides the Chrome Debugging Protocol
|
||||||
|
// commands, types, and events for the Chrome DOMStorage domain.
|
||||||
|
//
|
||||||
|
// Query and modify DOM storage.
|
||||||
|
//
|
||||||
|
// Generated by the chromedp-gen command.
|
||||||
|
package domstorage
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
"github.com/mailru/easyjson"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// EnableParams enables storage tracking, storage events will now be
|
||||||
|
// delivered to the client.
|
||||||
|
type EnableParams struct{}
|
||||||
|
|
||||||
|
// Enable enables storage tracking, storage events will now be delivered to
|
||||||
|
// the client.
|
||||||
|
func Enable() *EnableParams {
|
||||||
|
return &EnableParams{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes DOMStorage.enable.
|
||||||
|
func (p *EnableParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandDOMStorageEnable, Empty)
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// DisableParams disables storage tracking, prevents storage events from
|
||||||
|
// being sent to the client.
|
||||||
|
type DisableParams struct{}
|
||||||
|
|
||||||
|
// Disable disables storage tracking, prevents storage events from being sent
|
||||||
|
// to the client.
|
||||||
|
func Disable() *DisableParams {
|
||||||
|
return &DisableParams{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes DOMStorage.disable.
|
||||||
|
func (p *DisableParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandDOMStorageDisable, Empty)
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
type ClearParams struct {
|
||||||
|
StorageID *StorageID `json:"storageId"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// parameters:
|
||||||
|
// storageId
|
||||||
|
func Clear(storageId *StorageID) *ClearParams {
|
||||||
|
return &ClearParams{
|
||||||
|
StorageID: storageId,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes DOMStorage.clear.
|
||||||
|
func (p *ClearParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandDOMStorageClear, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
type GetDOMStorageItemsParams struct {
|
||||||
|
StorageID *StorageID `json:"storageId"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// parameters:
|
||||||
|
// storageId
|
||||||
|
func GetDOMStorageItems(storageId *StorageID) *GetDOMStorageItemsParams {
|
||||||
|
return &GetDOMStorageItemsParams{
|
||||||
|
StorageID: storageId,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetDOMStorageItemsReturns return values.
|
||||||
|
type GetDOMStorageItemsReturns struct {
|
||||||
|
Entries []Item `json:"entries,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes DOMStorage.getDOMStorageItems.
|
||||||
|
//
|
||||||
|
// returns:
|
||||||
|
// entries
|
||||||
|
func (p *GetDOMStorageItemsParams) Do(ctxt context.Context, h FrameHandler) (entries []Item, 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, CommandDOMStorageGetDOMStorageItems, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return nil, ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
// unmarshal
|
||||||
|
var r GetDOMStorageItemsReturns
|
||||||
|
err = easyjson.Unmarshal(v, &r)
|
||||||
|
if err != nil {
|
||||||
|
return nil, ErrInvalidResult
|
||||||
|
}
|
||||||
|
|
||||||
|
return r.Entries, nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return nil, v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return nil, ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil, ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
type SetDOMStorageItemParams struct {
|
||||||
|
StorageID *StorageID `json:"storageId"`
|
||||||
|
Key string `json:"key"`
|
||||||
|
Value string `json:"value"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// parameters:
|
||||||
|
// storageId
|
||||||
|
// key
|
||||||
|
// value
|
||||||
|
func SetDOMStorageItem(storageId *StorageID, key string, value string) *SetDOMStorageItemParams {
|
||||||
|
return &SetDOMStorageItemParams{
|
||||||
|
StorageID: storageId,
|
||||||
|
Key: key,
|
||||||
|
Value: value,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes DOMStorage.setDOMStorageItem.
|
||||||
|
func (p *SetDOMStorageItemParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandDOMStorageSetDOMStorageItem, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
type RemoveDOMStorageItemParams struct {
|
||||||
|
StorageID *StorageID `json:"storageId"`
|
||||||
|
Key string `json:"key"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// parameters:
|
||||||
|
// storageId
|
||||||
|
// key
|
||||||
|
func RemoveDOMStorageItem(storageId *StorageID, key string) *RemoveDOMStorageItemParams {
|
||||||
|
return &RemoveDOMStorageItemParams{
|
||||||
|
StorageID: storageId,
|
||||||
|
Key: key,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes DOMStorage.removeDOMStorageItem.
|
||||||
|
func (p *RemoveDOMStorageItemParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandDOMStorageRemoveDOMStorageItem, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
1065
cdp/domstorage/easyjson.go
Normal file
1065
cdp/domstorage/easyjson.go
Normal file
File diff suppressed because it is too large
Load Diff
57
cdp/domstorage/events.go
Normal file
57
cdp/domstorage/events.go
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
package domstorage
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
type EventDomStorageItemsCleared struct {
|
||||||
|
StorageID *StorageID `json:"storageId,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type EventDomStorageItemRemoved struct {
|
||||||
|
StorageID *StorageID `json:"storageId,omitempty"`
|
||||||
|
Key string `json:"key,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type EventDomStorageItemAdded struct {
|
||||||
|
StorageID *StorageID `json:"storageId,omitempty"`
|
||||||
|
Key string `json:"key,omitempty"`
|
||||||
|
NewValue string `json:"newValue,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type EventDomStorageItemUpdated struct {
|
||||||
|
StorageID *StorageID `json:"storageId,omitempty"`
|
||||||
|
Key string `json:"key,omitempty"`
|
||||||
|
OldValue string `json:"oldValue,omitempty"`
|
||||||
|
NewValue string `json:"newValue,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventTypes is all event types in the domain.
|
||||||
|
var EventTypes = []MethodType{
|
||||||
|
EventDOMStorageDomStorageItemsCleared,
|
||||||
|
EventDOMStorageDomStorageItemRemoved,
|
||||||
|
EventDOMStorageDomStorageItemAdded,
|
||||||
|
EventDOMStorageDomStorageItemUpdated,
|
||||||
|
}
|
36
cdp/domstorage/types.go
Normal file
36
cdp/domstorage/types.go
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
package domstorage
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// StorageID dOM Storage identifier.
|
||||||
|
type StorageID struct {
|
||||||
|
SecurityOrigin string `json:"securityOrigin,omitempty"` // Security origin for the storage.
|
||||||
|
IsLocalStorage bool `json:"isLocalStorage,omitempty"` // Whether the storage is local storage (not session storage).
|
||||||
|
}
|
||||||
|
|
||||||
|
// Item dOM Storage item.
|
||||||
|
type Item []string
|
1168
cdp/easyjson.go
Normal file
1168
cdp/easyjson.go
Normal file
File diff suppressed because it is too large
Load Diff
1361
cdp/emulation/easyjson.go
Normal file
1361
cdp/emulation/easyjson.go
Normal file
File diff suppressed because it is too large
Load Diff
896
cdp/emulation/emulation.go
Normal file
896
cdp/emulation/emulation.go
Normal file
|
@ -0,0 +1,896 @@
|
||||||
|
// Package emulation provides the Chrome Debugging Protocol
|
||||||
|
// commands, types, and events for the Chrome Emulation domain.
|
||||||
|
//
|
||||||
|
// This domain emulates different environments for the page.
|
||||||
|
//
|
||||||
|
// Generated by the chromedp-gen command.
|
||||||
|
package emulation
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
"github.com/mailru/easyjson"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// SetDeviceMetricsOverrideParams overrides the values of device screen
|
||||||
|
// dimensions (window.screen.width, window.screen.height, window.innerWidth,
|
||||||
|
// window.innerHeight, and "device-width"/"device-height"-related CSS media
|
||||||
|
// query results).
|
||||||
|
type SetDeviceMetricsOverrideParams struct {
|
||||||
|
Width int64 `json:"width"` // Overriding width value in pixels (minimum 0, maximum 10000000). 0 disables the override.
|
||||||
|
Height int64 `json:"height"` // Overriding height value in pixels (minimum 0, maximum 10000000). 0 disables the override.
|
||||||
|
DeviceScaleFactor float64 `json:"deviceScaleFactor"` // Overriding device scale factor value. 0 disables the override.
|
||||||
|
Mobile bool `json:"mobile"` // Whether to emulate mobile device. This includes viewport meta tag, overlay scrollbars, text autosizing and more.
|
||||||
|
FitWindow bool `json:"fitWindow"` // Whether a view that exceeds the available browser window area should be scaled down to fit.
|
||||||
|
Scale float64 `json:"scale,omitempty"` // Scale to apply to resulting view image. Ignored in |fitWindow| mode.
|
||||||
|
ScreenWidth int64 `json:"screenWidth,omitempty"` // Overriding screen width value in pixels (minimum 0, maximum 10000000). Only used for |mobile==true|.
|
||||||
|
ScreenHeight int64 `json:"screenHeight,omitempty"` // Overriding screen height value in pixels (minimum 0, maximum 10000000). Only used for |mobile==true|.
|
||||||
|
PositionX int64 `json:"positionX,omitempty"` // Overriding view X position on screen in pixels (minimum 0, maximum 10000000). Only used for |mobile==true|.
|
||||||
|
PositionY int64 `json:"positionY,omitempty"` // Overriding view Y position on screen in pixels (minimum 0, maximum 10000000). Only used for |mobile==true|.
|
||||||
|
ScreenOrientation *ScreenOrientation `json:"screenOrientation,omitempty"` // Screen orientation override.
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetDeviceMetricsOverride overrides the values of device screen dimensions
|
||||||
|
// (window.screen.width, window.screen.height, window.innerWidth,
|
||||||
|
// window.innerHeight, and "device-width"/"device-height"-related CSS media
|
||||||
|
// query results).
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// width - Overriding width value in pixels (minimum 0, maximum 10000000). 0 disables the override.
|
||||||
|
// height - Overriding height value in pixels (minimum 0, maximum 10000000). 0 disables the override.
|
||||||
|
// deviceScaleFactor - Overriding device scale factor value. 0 disables the override.
|
||||||
|
// mobile - Whether to emulate mobile device. This includes viewport meta tag, overlay scrollbars, text autosizing and more.
|
||||||
|
// fitWindow - Whether a view that exceeds the available browser window area should be scaled down to fit.
|
||||||
|
func SetDeviceMetricsOverride(width int64, height int64, deviceScaleFactor float64, mobile bool, fitWindow bool) *SetDeviceMetricsOverrideParams {
|
||||||
|
return &SetDeviceMetricsOverrideParams{
|
||||||
|
Width: width,
|
||||||
|
Height: height,
|
||||||
|
DeviceScaleFactor: deviceScaleFactor,
|
||||||
|
Mobile: mobile,
|
||||||
|
FitWindow: fitWindow,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithScale scale to apply to resulting view image. Ignored in |fitWindow|
|
||||||
|
// mode.
|
||||||
|
func (p SetDeviceMetricsOverrideParams) WithScale(scale float64) *SetDeviceMetricsOverrideParams {
|
||||||
|
p.Scale = scale
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithScreenWidth overriding screen width value in pixels (minimum 0,
|
||||||
|
// maximum 10000000). Only used for |mobile==true|.
|
||||||
|
func (p SetDeviceMetricsOverrideParams) WithScreenWidth(screenWidth int64) *SetDeviceMetricsOverrideParams {
|
||||||
|
p.ScreenWidth = screenWidth
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithScreenHeight overriding screen height value in pixels (minimum 0,
|
||||||
|
// maximum 10000000). Only used for |mobile==true|.
|
||||||
|
func (p SetDeviceMetricsOverrideParams) WithScreenHeight(screenHeight int64) *SetDeviceMetricsOverrideParams {
|
||||||
|
p.ScreenHeight = screenHeight
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithPositionX overriding view X position on screen in pixels (minimum 0,
|
||||||
|
// maximum 10000000). Only used for |mobile==true|.
|
||||||
|
func (p SetDeviceMetricsOverrideParams) WithPositionX(positionX int64) *SetDeviceMetricsOverrideParams {
|
||||||
|
p.PositionX = positionX
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithPositionY overriding view Y position on screen in pixels (minimum 0,
|
||||||
|
// maximum 10000000). Only used for |mobile==true|.
|
||||||
|
func (p SetDeviceMetricsOverrideParams) WithPositionY(positionY int64) *SetDeviceMetricsOverrideParams {
|
||||||
|
p.PositionY = positionY
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithScreenOrientation screen orientation override.
|
||||||
|
func (p SetDeviceMetricsOverrideParams) WithScreenOrientation(screenOrientation *ScreenOrientation) *SetDeviceMetricsOverrideParams {
|
||||||
|
p.ScreenOrientation = screenOrientation
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Emulation.setDeviceMetricsOverride.
|
||||||
|
func (p *SetDeviceMetricsOverrideParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandEmulationSetDeviceMetricsOverride, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// ClearDeviceMetricsOverrideParams clears the overriden device metrics.
|
||||||
|
type ClearDeviceMetricsOverrideParams struct{}
|
||||||
|
|
||||||
|
// ClearDeviceMetricsOverride clears the overriden device metrics.
|
||||||
|
func ClearDeviceMetricsOverride() *ClearDeviceMetricsOverrideParams {
|
||||||
|
return &ClearDeviceMetricsOverrideParams{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Emulation.clearDeviceMetricsOverride.
|
||||||
|
func (p *ClearDeviceMetricsOverrideParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandEmulationClearDeviceMetricsOverride, Empty)
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// ForceViewportParams overrides the visible area of the page. The change is
|
||||||
|
// hidden from the page, i.e. the observable scroll position and page scale does
|
||||||
|
// not change. In effect, the command moves the specified area of the page into
|
||||||
|
// the top-left corner of the frame.
|
||||||
|
type ForceViewportParams struct {
|
||||||
|
X float64 `json:"x"` // X coordinate of top-left corner of the area (CSS pixels).
|
||||||
|
Y float64 `json:"y"` // Y coordinate of top-left corner of the area (CSS pixels).
|
||||||
|
Scale float64 `json:"scale"` // Scale to apply to the area (relative to a page scale of 1.0).
|
||||||
|
}
|
||||||
|
|
||||||
|
// ForceViewport overrides the visible area of the page. The change is hidden
|
||||||
|
// from the page, i.e. the observable scroll position and page scale does not
|
||||||
|
// change. In effect, the command moves the specified area of the page into the
|
||||||
|
// top-left corner of the frame.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// x - X coordinate of top-left corner of the area (CSS pixels).
|
||||||
|
// y - Y coordinate of top-left corner of the area (CSS pixels).
|
||||||
|
// scale - Scale to apply to the area (relative to a page scale of 1.0).
|
||||||
|
func ForceViewport(x float64, y float64, scale float64) *ForceViewportParams {
|
||||||
|
return &ForceViewportParams{
|
||||||
|
X: x,
|
||||||
|
Y: y,
|
||||||
|
Scale: scale,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Emulation.forceViewport.
|
||||||
|
func (p *ForceViewportParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandEmulationForceViewport, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// ResetViewportParams resets the visible area of the page to the original
|
||||||
|
// viewport, undoing any effects of the forceViewport command.
|
||||||
|
type ResetViewportParams struct{}
|
||||||
|
|
||||||
|
// ResetViewport resets the visible area of the page to the original
|
||||||
|
// viewport, undoing any effects of the forceViewport command.
|
||||||
|
func ResetViewport() *ResetViewportParams {
|
||||||
|
return &ResetViewportParams{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Emulation.resetViewport.
|
||||||
|
func (p *ResetViewportParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandEmulationResetViewport, Empty)
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// ResetPageScaleFactorParams requests that page scale factor is reset to
|
||||||
|
// initial values.
|
||||||
|
type ResetPageScaleFactorParams struct{}
|
||||||
|
|
||||||
|
// ResetPageScaleFactor requests that page scale factor is reset to initial
|
||||||
|
// values.
|
||||||
|
func ResetPageScaleFactor() *ResetPageScaleFactorParams {
|
||||||
|
return &ResetPageScaleFactorParams{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Emulation.resetPageScaleFactor.
|
||||||
|
func (p *ResetPageScaleFactorParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandEmulationResetPageScaleFactor, Empty)
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetPageScaleFactorParams sets a specified page scale factor.
|
||||||
|
type SetPageScaleFactorParams struct {
|
||||||
|
PageScaleFactor float64 `json:"pageScaleFactor"` // Page scale factor.
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetPageScaleFactor sets a specified page scale factor.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// pageScaleFactor - Page scale factor.
|
||||||
|
func SetPageScaleFactor(pageScaleFactor float64) *SetPageScaleFactorParams {
|
||||||
|
return &SetPageScaleFactorParams{
|
||||||
|
PageScaleFactor: pageScaleFactor,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Emulation.setPageScaleFactor.
|
||||||
|
func (p *SetPageScaleFactorParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandEmulationSetPageScaleFactor, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetVisibleSizeParams resizes the frame/viewport of the page. Note that
|
||||||
|
// this does not affect the frame's container (e.g. browser window). Can be used
|
||||||
|
// to produce screenshots of the specified size. Not supported on Android.
|
||||||
|
type SetVisibleSizeParams struct {
|
||||||
|
Width int64 `json:"width"` // Frame width (DIP).
|
||||||
|
Height int64 `json:"height"` // Frame height (DIP).
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetVisibleSize resizes the frame/viewport of the page. Note that this does
|
||||||
|
// not affect the frame's container (e.g. browser window). Can be used to
|
||||||
|
// produce screenshots of the specified size. Not supported on Android.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// width - Frame width (DIP).
|
||||||
|
// height - Frame height (DIP).
|
||||||
|
func SetVisibleSize(width int64, height int64) *SetVisibleSizeParams {
|
||||||
|
return &SetVisibleSizeParams{
|
||||||
|
Width: width,
|
||||||
|
Height: height,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Emulation.setVisibleSize.
|
||||||
|
func (p *SetVisibleSizeParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandEmulationSetVisibleSize, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetScriptExecutionDisabledParams switches script execution in the page.
|
||||||
|
type SetScriptExecutionDisabledParams struct {
|
||||||
|
Value bool `json:"value"` // Whether script execution should be disabled in the page.
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetScriptExecutionDisabled switches script execution in the page.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// value - Whether script execution should be disabled in the page.
|
||||||
|
func SetScriptExecutionDisabled(value bool) *SetScriptExecutionDisabledParams {
|
||||||
|
return &SetScriptExecutionDisabledParams{
|
||||||
|
Value: value,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Emulation.setScriptExecutionDisabled.
|
||||||
|
func (p *SetScriptExecutionDisabledParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandEmulationSetScriptExecutionDisabled, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetGeolocationOverrideParams overrides the Geolocation Position or Error.
|
||||||
|
// Omitting any of the parameters emulates position unavailable.
|
||||||
|
type SetGeolocationOverrideParams struct {
|
||||||
|
Latitude float64 `json:"latitude,omitempty"` // Mock latitude
|
||||||
|
Longitude float64 `json:"longitude,omitempty"` // Mock longitude
|
||||||
|
Accuracy float64 `json:"accuracy,omitempty"` // Mock accuracy
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetGeolocationOverride overrides the Geolocation Position or Error.
|
||||||
|
// Omitting any of the parameters emulates position unavailable.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
func SetGeolocationOverride() *SetGeolocationOverrideParams {
|
||||||
|
return &SetGeolocationOverrideParams{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithLatitude mock latitude.
|
||||||
|
func (p SetGeolocationOverrideParams) WithLatitude(latitude float64) *SetGeolocationOverrideParams {
|
||||||
|
p.Latitude = latitude
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithLongitude mock longitude.
|
||||||
|
func (p SetGeolocationOverrideParams) WithLongitude(longitude float64) *SetGeolocationOverrideParams {
|
||||||
|
p.Longitude = longitude
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithAccuracy mock accuracy.
|
||||||
|
func (p SetGeolocationOverrideParams) WithAccuracy(accuracy float64) *SetGeolocationOverrideParams {
|
||||||
|
p.Accuracy = accuracy
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Emulation.setGeolocationOverride.
|
||||||
|
func (p *SetGeolocationOverrideParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandEmulationSetGeolocationOverride, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// ClearGeolocationOverrideParams clears the overriden Geolocation Position
|
||||||
|
// and Error.
|
||||||
|
type ClearGeolocationOverrideParams struct{}
|
||||||
|
|
||||||
|
// ClearGeolocationOverride clears the overriden Geolocation Position and
|
||||||
|
// Error.
|
||||||
|
func ClearGeolocationOverride() *ClearGeolocationOverrideParams {
|
||||||
|
return &ClearGeolocationOverrideParams{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Emulation.clearGeolocationOverride.
|
||||||
|
func (p *ClearGeolocationOverrideParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandEmulationClearGeolocationOverride, Empty)
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetTouchEmulationEnabledParams toggles mouse event-based touch event
|
||||||
|
// emulation.
|
||||||
|
type SetTouchEmulationEnabledParams struct {
|
||||||
|
Enabled bool `json:"enabled"` // Whether the touch event emulation should be enabled.
|
||||||
|
Configuration EnabledConfiguration `json:"configuration,omitempty"` // Touch/gesture events configuration. Default: current platform.
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetTouchEmulationEnabled toggles mouse event-based touch event emulation.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// enabled - Whether the touch event emulation should be enabled.
|
||||||
|
func SetTouchEmulationEnabled(enabled bool) *SetTouchEmulationEnabledParams {
|
||||||
|
return &SetTouchEmulationEnabledParams{
|
||||||
|
Enabled: enabled,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithConfiguration touch/gesture events configuration. Default: current
|
||||||
|
// platform.
|
||||||
|
func (p SetTouchEmulationEnabledParams) WithConfiguration(configuration EnabledConfiguration) *SetTouchEmulationEnabledParams {
|
||||||
|
p.Configuration = configuration
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Emulation.setTouchEmulationEnabled.
|
||||||
|
func (p *SetTouchEmulationEnabledParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandEmulationSetTouchEmulationEnabled, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetEmulatedMediaParams emulates the given media for CSS media queries.
|
||||||
|
type SetEmulatedMediaParams struct {
|
||||||
|
Media string `json:"media"` // Media type to emulate. Empty string disables the override.
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetEmulatedMedia emulates the given media for CSS media queries.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// media - Media type to emulate. Empty string disables the override.
|
||||||
|
func SetEmulatedMedia(media string) *SetEmulatedMediaParams {
|
||||||
|
return &SetEmulatedMediaParams{
|
||||||
|
Media: media,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Emulation.setEmulatedMedia.
|
||||||
|
func (p *SetEmulatedMediaParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandEmulationSetEmulatedMedia, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetCPUThrottlingRateParams enables CPU throttling to emulate slow CPUs.
|
||||||
|
type SetCPUThrottlingRateParams struct {
|
||||||
|
Rate float64 `json:"rate"` // Throttling rate as a slowdown factor (1 is no throttle, 2 is 2x slowdown, etc).
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetCPUThrottlingRate enables CPU throttling to emulate slow CPUs.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// rate - Throttling rate as a slowdown factor (1 is no throttle, 2 is 2x slowdown, etc).
|
||||||
|
func SetCPUThrottlingRate(rate float64) *SetCPUThrottlingRateParams {
|
||||||
|
return &SetCPUThrottlingRateParams{
|
||||||
|
Rate: rate,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Emulation.setCPUThrottlingRate.
|
||||||
|
func (p *SetCPUThrottlingRateParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandEmulationSetCPUThrottlingRate, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// CanEmulateParams tells whether emulation is supported.
|
||||||
|
type CanEmulateParams struct{}
|
||||||
|
|
||||||
|
// CanEmulate tells whether emulation is supported.
|
||||||
|
func CanEmulate() *CanEmulateParams {
|
||||||
|
return &CanEmulateParams{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// CanEmulateReturns return values.
|
||||||
|
type CanEmulateReturns struct {
|
||||||
|
Result bool `json:"result,omitempty"` // True if emulation is supported.
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Emulation.canEmulate.
|
||||||
|
//
|
||||||
|
// returns:
|
||||||
|
// result - True if emulation is supported.
|
||||||
|
func (p *CanEmulateParams) Do(ctxt context.Context, h FrameHandler) (result bool, err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandEmulationCanEmulate, Empty)
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return false, ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
// unmarshal
|
||||||
|
var r CanEmulateReturns
|
||||||
|
err = easyjson.Unmarshal(v, &r)
|
||||||
|
if err != nil {
|
||||||
|
return false, ErrInvalidResult
|
||||||
|
}
|
||||||
|
|
||||||
|
return r.Result, nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return false, v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return false, ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return false, ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetVirtualTimePolicyParams turns on virtual time for all frames (replacing
|
||||||
|
// real-time with a synthetic time source) and sets the current virtual time
|
||||||
|
// policy. Note this supersedes any previous time budget.
|
||||||
|
type SetVirtualTimePolicyParams struct {
|
||||||
|
Policy VirtualTimePolicy `json:"policy"`
|
||||||
|
Budget int64 `json:"budget,omitempty"` // If set, after this many virtual milliseconds have elapsed virtual time will be paused and a virtualTimeBudgetExpired event is sent.
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetVirtualTimePolicy turns on virtual time for all frames (replacing
|
||||||
|
// real-time with a synthetic time source) and sets the current virtual time
|
||||||
|
// policy. Note this supersedes any previous time budget.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// policy
|
||||||
|
func SetVirtualTimePolicy(policy VirtualTimePolicy) *SetVirtualTimePolicyParams {
|
||||||
|
return &SetVirtualTimePolicyParams{
|
||||||
|
Policy: policy,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithBudget if set, after this many virtual milliseconds have elapsed
|
||||||
|
// virtual time will be paused and a virtualTimeBudgetExpired event is sent.
|
||||||
|
func (p SetVirtualTimePolicyParams) WithBudget(budget int64) *SetVirtualTimePolicyParams {
|
||||||
|
p.Budget = budget
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Emulation.setVirtualTimePolicy.
|
||||||
|
func (p *SetVirtualTimePolicyParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandEmulationSetVirtualTimePolicy, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
36
cdp/emulation/events.go
Normal file
36
cdp/emulation/events.go
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
package emulation
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// EventVirtualTimeBudgetExpired notification sent after the virual time
|
||||||
|
// budget for the current VirtualTimePolicy has run out.
|
||||||
|
type EventVirtualTimeBudgetExpired struct{}
|
||||||
|
|
||||||
|
// EventTypes is all event types in the domain.
|
||||||
|
var EventTypes = []MethodType{
|
||||||
|
EventEmulationVirtualTimeBudgetExpired,
|
||||||
|
}
|
178
cdp/emulation/types.go
Normal file
178
cdp/emulation/types.go
Normal file
|
@ -0,0 +1,178 @@
|
||||||
|
package emulation
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
"errors"
|
||||||
|
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
"github.com/mailru/easyjson"
|
||||||
|
"github.com/mailru/easyjson/jlexer"
|
||||||
|
"github.com/mailru/easyjson/jwriter"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// ScreenOrientation screen orientation.
|
||||||
|
type ScreenOrientation struct {
|
||||||
|
Type OrientationType `json:"type,omitempty"` // Orientation type.
|
||||||
|
Angle int64 `json:"angle,omitempty"` // Orientation angle.
|
||||||
|
}
|
||||||
|
|
||||||
|
// VirtualTimePolicy advance: If the scheduler runs out of immediate work,
|
||||||
|
// the virtual time base may fast forward to allow the next delayed task (if
|
||||||
|
// any) to run; pause: The virtual time base may not advance;
|
||||||
|
// pauseIfNetworkFetchesPending: The virtual time base may not advance if there
|
||||||
|
// are any pending resource fetches.
|
||||||
|
type VirtualTimePolicy string
|
||||||
|
|
||||||
|
// String returns the VirtualTimePolicy as string value.
|
||||||
|
func (t VirtualTimePolicy) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// VirtualTimePolicy values.
|
||||||
|
const (
|
||||||
|
VirtualTimePolicyAdvance VirtualTimePolicy = "advance"
|
||||||
|
VirtualTimePolicyPause VirtualTimePolicy = "pause"
|
||||||
|
VirtualTimePolicyPauseIfNetworkFetchesPending VirtualTimePolicy = "pauseIfNetworkFetchesPending"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t VirtualTimePolicy) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t VirtualTimePolicy) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *VirtualTimePolicy) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch VirtualTimePolicy(in.String()) {
|
||||||
|
case VirtualTimePolicyAdvance:
|
||||||
|
*t = VirtualTimePolicyAdvance
|
||||||
|
case VirtualTimePolicyPause:
|
||||||
|
*t = VirtualTimePolicyPause
|
||||||
|
case VirtualTimePolicyPauseIfNetworkFetchesPending:
|
||||||
|
*t = VirtualTimePolicyPauseIfNetworkFetchesPending
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown VirtualTimePolicy value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *VirtualTimePolicy) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// OrientationType orientation type.
|
||||||
|
type OrientationType string
|
||||||
|
|
||||||
|
// String returns the OrientationType as string value.
|
||||||
|
func (t OrientationType) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// OrientationType values.
|
||||||
|
const (
|
||||||
|
OrientationTypePortraitPrimary OrientationType = "portraitPrimary"
|
||||||
|
OrientationTypePortraitSecondary OrientationType = "portraitSecondary"
|
||||||
|
OrientationTypeLandscapePrimary OrientationType = "landscapePrimary"
|
||||||
|
OrientationTypeLandscapeSecondary OrientationType = "landscapeSecondary"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t OrientationType) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t OrientationType) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *OrientationType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch OrientationType(in.String()) {
|
||||||
|
case OrientationTypePortraitPrimary:
|
||||||
|
*t = OrientationTypePortraitPrimary
|
||||||
|
case OrientationTypePortraitSecondary:
|
||||||
|
*t = OrientationTypePortraitSecondary
|
||||||
|
case OrientationTypeLandscapePrimary:
|
||||||
|
*t = OrientationTypeLandscapePrimary
|
||||||
|
case OrientationTypeLandscapeSecondary:
|
||||||
|
*t = OrientationTypeLandscapeSecondary
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown OrientationType value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *OrientationType) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// EnabledConfiguration touch/gesture events configuration. Default: current
|
||||||
|
// platform.
|
||||||
|
type EnabledConfiguration string
|
||||||
|
|
||||||
|
// String returns the EnabledConfiguration as string value.
|
||||||
|
func (t EnabledConfiguration) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// EnabledConfiguration values.
|
||||||
|
const (
|
||||||
|
EnabledConfigurationMobile EnabledConfiguration = "mobile"
|
||||||
|
EnabledConfigurationDesktop EnabledConfiguration = "desktop"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t EnabledConfiguration) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t EnabledConfiguration) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *EnabledConfiguration) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch EnabledConfiguration(in.String()) {
|
||||||
|
case EnabledConfigurationMobile:
|
||||||
|
*t = EnabledConfigurationMobile
|
||||||
|
case EnabledConfigurationDesktop:
|
||||||
|
*t = EnabledConfigurationDesktop
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown EnabledConfiguration value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *EnabledConfiguration) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
1589
cdp/heapprofiler/easyjson.go
Normal file
1589
cdp/heapprofiler/easyjson.go
Normal file
File diff suppressed because it is too large
Load Diff
64
cdp/heapprofiler/events.go
Normal file
64
cdp/heapprofiler/events.go
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
package heapprofiler
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
type EventAddHeapSnapshotChunk struct {
|
||||||
|
Chunk string `json:"chunk,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type EventResetProfiles struct{}
|
||||||
|
|
||||||
|
type EventReportHeapSnapshotProgress struct {
|
||||||
|
Done int64 `json:"done,omitempty"`
|
||||||
|
Total int64 `json:"total,omitempty"`
|
||||||
|
Finished bool `json:"finished,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventLastSeenObjectID if heap objects tracking has been started then
|
||||||
|
// backend regulary sends a current value for last seen object id and
|
||||||
|
// corresponding timestamp. If the were changes in the heap since last event
|
||||||
|
// then one or more heapStatsUpdate events will be sent before a new
|
||||||
|
// lastSeenObjectId event.
|
||||||
|
type EventLastSeenObjectID struct {
|
||||||
|
LastSeenObjectID int64 `json:"lastSeenObjectId,omitempty"`
|
||||||
|
Timestamp Timestamp `json:"timestamp,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventHeapStatsUpdate if heap objects tracking has been started then
|
||||||
|
// backend may send update for one or more fragments.
|
||||||
|
type EventHeapStatsUpdate struct {
|
||||||
|
StatsUpdate []int64 `json:"statsUpdate,omitempty"` // An array of triplets. Each triplet describes a fragment. The first integer is the fragment index, the second integer is a total count of objects for the fragment, the third integer is a total size of the objects for the fragment.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventTypes is all event types in the domain.
|
||||||
|
var EventTypes = []MethodType{
|
||||||
|
EventHeapProfilerAddHeapSnapshotChunk,
|
||||||
|
EventHeapProfilerResetProfiles,
|
||||||
|
EventHeapProfilerReportHeapSnapshotProgress,
|
||||||
|
EventHeapProfilerLastSeenObjectID,
|
||||||
|
EventHeapProfilerHeapStatsUpdate,
|
||||||
|
}
|
598
cdp/heapprofiler/heapprofiler.go
Normal file
598
cdp/heapprofiler/heapprofiler.go
Normal file
|
@ -0,0 +1,598 @@
|
||||||
|
// Package heapprofiler provides the Chrome Debugging Protocol
|
||||||
|
// commands, types, and events for the Chrome HeapProfiler domain.
|
||||||
|
//
|
||||||
|
// Generated by the chromedp-gen command.
|
||||||
|
package heapprofiler
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
"github.com/knq/chromedp/cdp/runtime"
|
||||||
|
"github.com/mailru/easyjson"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
type EnableParams struct{}
|
||||||
|
|
||||||
|
func Enable() *EnableParams {
|
||||||
|
return &EnableParams{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes HeapProfiler.enable.
|
||||||
|
func (p *EnableParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandHeapProfilerEnable, Empty)
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
type DisableParams struct{}
|
||||||
|
|
||||||
|
func Disable() *DisableParams {
|
||||||
|
return &DisableParams{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes HeapProfiler.disable.
|
||||||
|
func (p *DisableParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandHeapProfilerDisable, Empty)
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
type StartTrackingHeapObjectsParams struct {
|
||||||
|
TrackAllocations bool `json:"trackAllocations,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// parameters:
|
||||||
|
func StartTrackingHeapObjects() *StartTrackingHeapObjectsParams {
|
||||||
|
return &StartTrackingHeapObjectsParams{}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (p StartTrackingHeapObjectsParams) WithTrackAllocations(trackAllocations bool) *StartTrackingHeapObjectsParams {
|
||||||
|
p.TrackAllocations = trackAllocations
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes HeapProfiler.startTrackingHeapObjects.
|
||||||
|
func (p *StartTrackingHeapObjectsParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandHeapProfilerStartTrackingHeapObjects, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
type StopTrackingHeapObjectsParams struct {
|
||||||
|
ReportProgress bool `json:"reportProgress,omitempty"` // If true 'reportHeapSnapshotProgress' events will be generated while snapshot is being taken when the tracking is stopped.
|
||||||
|
}
|
||||||
|
|
||||||
|
// parameters:
|
||||||
|
func StopTrackingHeapObjects() *StopTrackingHeapObjectsParams {
|
||||||
|
return &StopTrackingHeapObjectsParams{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithReportProgress if true 'reportHeapSnapshotProgress' events will be
|
||||||
|
// generated while snapshot is being taken when the tracking is stopped.
|
||||||
|
func (p StopTrackingHeapObjectsParams) WithReportProgress(reportProgress bool) *StopTrackingHeapObjectsParams {
|
||||||
|
p.ReportProgress = reportProgress
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes HeapProfiler.stopTrackingHeapObjects.
|
||||||
|
func (p *StopTrackingHeapObjectsParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandHeapProfilerStopTrackingHeapObjects, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
type TakeHeapSnapshotParams struct {
|
||||||
|
ReportProgress bool `json:"reportProgress,omitempty"` // If true 'reportHeapSnapshotProgress' events will be generated while snapshot is being taken.
|
||||||
|
}
|
||||||
|
|
||||||
|
// parameters:
|
||||||
|
func TakeHeapSnapshot() *TakeHeapSnapshotParams {
|
||||||
|
return &TakeHeapSnapshotParams{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithReportProgress if true 'reportHeapSnapshotProgress' events will be
|
||||||
|
// generated while snapshot is being taken.
|
||||||
|
func (p TakeHeapSnapshotParams) WithReportProgress(reportProgress bool) *TakeHeapSnapshotParams {
|
||||||
|
p.ReportProgress = reportProgress
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes HeapProfiler.takeHeapSnapshot.
|
||||||
|
func (p *TakeHeapSnapshotParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandHeapProfilerTakeHeapSnapshot, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
type CollectGarbageParams struct{}
|
||||||
|
|
||||||
|
func CollectGarbage() *CollectGarbageParams {
|
||||||
|
return &CollectGarbageParams{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes HeapProfiler.collectGarbage.
|
||||||
|
func (p *CollectGarbageParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandHeapProfilerCollectGarbage, Empty)
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
type GetObjectByHeapObjectIDParams struct {
|
||||||
|
ObjectID HeapSnapshotObjectID `json:"objectId"`
|
||||||
|
ObjectGroup string `json:"objectGroup,omitempty"` // Symbolic group name that can be used to release multiple objects.
|
||||||
|
}
|
||||||
|
|
||||||
|
// parameters:
|
||||||
|
// objectId
|
||||||
|
func GetObjectByHeapObjectID(objectId HeapSnapshotObjectID) *GetObjectByHeapObjectIDParams {
|
||||||
|
return &GetObjectByHeapObjectIDParams{
|
||||||
|
ObjectID: objectId,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithObjectGroup symbolic group name that can be used to release multiple
|
||||||
|
// objects.
|
||||||
|
func (p GetObjectByHeapObjectIDParams) WithObjectGroup(objectGroup string) *GetObjectByHeapObjectIDParams {
|
||||||
|
p.ObjectGroup = objectGroup
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetObjectByHeapObjectIDReturns return values.
|
||||||
|
type GetObjectByHeapObjectIDReturns struct {
|
||||||
|
Result *runtime.RemoteObject `json:"result,omitempty"` // Evaluation result.
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes HeapProfiler.getObjectByHeapObjectId.
|
||||||
|
//
|
||||||
|
// returns:
|
||||||
|
// result - Evaluation result.
|
||||||
|
func (p *GetObjectByHeapObjectIDParams) Do(ctxt context.Context, h FrameHandler) (result *runtime.RemoteObject, 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, CommandHeapProfilerGetObjectByHeapObjectID, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return nil, ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
// unmarshal
|
||||||
|
var r GetObjectByHeapObjectIDReturns
|
||||||
|
err = easyjson.Unmarshal(v, &r)
|
||||||
|
if err != nil {
|
||||||
|
return nil, ErrInvalidResult
|
||||||
|
}
|
||||||
|
|
||||||
|
return r.Result, nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return nil, v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return nil, ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil, ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// AddInspectedHeapObjectParams enables console to refer to the node with
|
||||||
|
// given id via $x (see Command Line API for more details $x functions).
|
||||||
|
type AddInspectedHeapObjectParams struct {
|
||||||
|
HeapObjectID HeapSnapshotObjectID `json:"heapObjectId"` // Heap snapshot object id to be accessible by means of $x command line API.
|
||||||
|
}
|
||||||
|
|
||||||
|
// AddInspectedHeapObject enables console to refer to the node with given id
|
||||||
|
// via $x (see Command Line API for more details $x functions).
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// heapObjectId - Heap snapshot object id to be accessible by means of $x command line API.
|
||||||
|
func AddInspectedHeapObject(heapObjectId HeapSnapshotObjectID) *AddInspectedHeapObjectParams {
|
||||||
|
return &AddInspectedHeapObjectParams{
|
||||||
|
HeapObjectID: heapObjectId,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes HeapProfiler.addInspectedHeapObject.
|
||||||
|
func (p *AddInspectedHeapObjectParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandHeapProfilerAddInspectedHeapObject, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
type GetHeapObjectIDParams struct {
|
||||||
|
ObjectID runtime.RemoteObjectID `json:"objectId"` // Identifier of the object to get heap object id for.
|
||||||
|
}
|
||||||
|
|
||||||
|
// parameters:
|
||||||
|
// objectId - Identifier of the object to get heap object id for.
|
||||||
|
func GetHeapObjectID(objectId runtime.RemoteObjectID) *GetHeapObjectIDParams {
|
||||||
|
return &GetHeapObjectIDParams{
|
||||||
|
ObjectID: objectId,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetHeapObjectIDReturns return values.
|
||||||
|
type GetHeapObjectIDReturns struct {
|
||||||
|
HeapSnapshotObjectID HeapSnapshotObjectID `json:"heapSnapshotObjectId,omitempty"` // Id of the heap snapshot object corresponding to the passed remote object id.
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes HeapProfiler.getHeapObjectId.
|
||||||
|
//
|
||||||
|
// returns:
|
||||||
|
// heapSnapshotObjectId - Id of the heap snapshot object corresponding to the passed remote object id.
|
||||||
|
func (p *GetHeapObjectIDParams) Do(ctxt context.Context, h FrameHandler) (heapSnapshotObjectId HeapSnapshotObjectID, err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandHeapProfilerGetHeapObjectID, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return "", ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
// unmarshal
|
||||||
|
var r GetHeapObjectIDReturns
|
||||||
|
err = easyjson.Unmarshal(v, &r)
|
||||||
|
if err != nil {
|
||||||
|
return "", ErrInvalidResult
|
||||||
|
}
|
||||||
|
|
||||||
|
return r.HeapSnapshotObjectID, nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return "", v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return "", ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return "", ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
type StartSamplingParams struct {
|
||||||
|
SamplingInterval float64 `json:"samplingInterval,omitempty"` // Average sample interval in bytes. Poisson distribution is used for the intervals. The default value is 32768 bytes.
|
||||||
|
}
|
||||||
|
|
||||||
|
// parameters:
|
||||||
|
func StartSampling() *StartSamplingParams {
|
||||||
|
return &StartSamplingParams{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithSamplingInterval average sample interval in bytes. Poisson
|
||||||
|
// distribution is used for the intervals. The default value is 32768 bytes.
|
||||||
|
func (p StartSamplingParams) WithSamplingInterval(samplingInterval float64) *StartSamplingParams {
|
||||||
|
p.SamplingInterval = samplingInterval
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes HeapProfiler.startSampling.
|
||||||
|
func (p *StartSamplingParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandHeapProfilerStartSampling, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
type StopSamplingParams struct{}
|
||||||
|
|
||||||
|
func StopSampling() *StopSamplingParams {
|
||||||
|
return &StopSamplingParams{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// StopSamplingReturns return values.
|
||||||
|
type StopSamplingReturns struct {
|
||||||
|
Profile *SamplingHeapProfile `json:"profile,omitempty"` // Recorded sampling heap profile.
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes HeapProfiler.stopSampling.
|
||||||
|
//
|
||||||
|
// returns:
|
||||||
|
// profile - Recorded sampling heap profile.
|
||||||
|
func (p *StopSamplingParams) Do(ctxt context.Context, h FrameHandler) (profile *SamplingHeapProfile, err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandHeapProfilerStopSampling, Empty)
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return nil, ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
// unmarshal
|
||||||
|
var r StopSamplingReturns
|
||||||
|
err = easyjson.Unmarshal(v, &r)
|
||||||
|
if err != nil {
|
||||||
|
return nil, ErrInvalidResult
|
||||||
|
}
|
||||||
|
|
||||||
|
return r.Profile, nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return nil, v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return nil, ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil, ErrUnknownResult
|
||||||
|
}
|
49
cdp/heapprofiler/types.go
Normal file
49
cdp/heapprofiler/types.go
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
package heapprofiler
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
"github.com/knq/chromedp/cdp/runtime"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// HeapSnapshotObjectID heap snapshot object id.
|
||||||
|
type HeapSnapshotObjectID string
|
||||||
|
|
||||||
|
// String returns the HeapSnapshotObjectID as string value.
|
||||||
|
func (t HeapSnapshotObjectID) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// SamplingHeapProfileNode sampling Heap Profile node. Holds callsite
|
||||||
|
// information, allocation statistics and child nodes.
|
||||||
|
type SamplingHeapProfileNode struct {
|
||||||
|
CallFrame *runtime.CallFrame `json:"callFrame,omitempty"` // Function location.
|
||||||
|
SelfSize float64 `json:"selfSize,omitempty"` // Allocations size in bytes for the node excluding children.
|
||||||
|
Children []*SamplingHeapProfileNode `json:"children,omitempty"` // Child nodes.
|
||||||
|
}
|
||||||
|
|
||||||
|
// SamplingHeapProfile profile.
|
||||||
|
type SamplingHeapProfile struct {
|
||||||
|
Head *SamplingHeapProfileNode `json:"head,omitempty"`
|
||||||
|
}
|
1694
cdp/indexeddb/easyjson.go
Normal file
1694
cdp/indexeddb/easyjson.go
Normal file
File diff suppressed because it is too large
Load Diff
399
cdp/indexeddb/indexeddb.go
Normal file
399
cdp/indexeddb/indexeddb.go
Normal file
|
@ -0,0 +1,399 @@
|
||||||
|
// Package indexeddb provides the Chrome Debugging Protocol
|
||||||
|
// commands, types, and events for the Chrome IndexedDB domain.
|
||||||
|
//
|
||||||
|
// Generated by the chromedp-gen command.
|
||||||
|
package indexeddb
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
"github.com/mailru/easyjson"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// EnableParams enables events from backend.
|
||||||
|
type EnableParams struct{}
|
||||||
|
|
||||||
|
// Enable enables events from backend.
|
||||||
|
func Enable() *EnableParams {
|
||||||
|
return &EnableParams{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes IndexedDB.enable.
|
||||||
|
func (p *EnableParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandIndexedDBEnable, Empty)
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// DisableParams disables events from backend.
|
||||||
|
type DisableParams struct{}
|
||||||
|
|
||||||
|
// Disable disables events from backend.
|
||||||
|
func Disable() *DisableParams {
|
||||||
|
return &DisableParams{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes IndexedDB.disable.
|
||||||
|
func (p *DisableParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandIndexedDBDisable, Empty)
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// RequestDatabaseNamesParams requests database names for given security
|
||||||
|
// origin.
|
||||||
|
type RequestDatabaseNamesParams struct {
|
||||||
|
SecurityOrigin string `json:"securityOrigin"` // Security origin.
|
||||||
|
}
|
||||||
|
|
||||||
|
// RequestDatabaseNames requests database names for given security origin.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// securityOrigin - Security origin.
|
||||||
|
func RequestDatabaseNames(securityOrigin string) *RequestDatabaseNamesParams {
|
||||||
|
return &RequestDatabaseNamesParams{
|
||||||
|
SecurityOrigin: securityOrigin,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// RequestDatabaseNamesReturns return values.
|
||||||
|
type RequestDatabaseNamesReturns struct {
|
||||||
|
DatabaseNames []string `json:"databaseNames,omitempty"` // Database names for origin.
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes IndexedDB.requestDatabaseNames.
|
||||||
|
//
|
||||||
|
// returns:
|
||||||
|
// databaseNames - Database names for origin.
|
||||||
|
func (p *RequestDatabaseNamesParams) Do(ctxt context.Context, h FrameHandler) (databaseNames []string, 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, CommandIndexedDBRequestDatabaseNames, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return nil, ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
// unmarshal
|
||||||
|
var r RequestDatabaseNamesReturns
|
||||||
|
err = easyjson.Unmarshal(v, &r)
|
||||||
|
if err != nil {
|
||||||
|
return nil, ErrInvalidResult
|
||||||
|
}
|
||||||
|
|
||||||
|
return r.DatabaseNames, nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return nil, v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return nil, ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil, ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// RequestDatabaseParams requests database with given name in given frame.
|
||||||
|
type RequestDatabaseParams struct {
|
||||||
|
SecurityOrigin string `json:"securityOrigin"` // Security origin.
|
||||||
|
DatabaseName string `json:"databaseName"` // Database name.
|
||||||
|
}
|
||||||
|
|
||||||
|
// RequestDatabase requests database with given name in given frame.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// securityOrigin - Security origin.
|
||||||
|
// databaseName - Database name.
|
||||||
|
func RequestDatabase(securityOrigin string, databaseName string) *RequestDatabaseParams {
|
||||||
|
return &RequestDatabaseParams{
|
||||||
|
SecurityOrigin: securityOrigin,
|
||||||
|
DatabaseName: databaseName,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// RequestDatabaseReturns return values.
|
||||||
|
type RequestDatabaseReturns struct {
|
||||||
|
DatabaseWithObjectStores *DatabaseWithObjectStores `json:"databaseWithObjectStores,omitempty"` // Database with an array of object stores.
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes IndexedDB.requestDatabase.
|
||||||
|
//
|
||||||
|
// returns:
|
||||||
|
// databaseWithObjectStores - Database with an array of object stores.
|
||||||
|
func (p *RequestDatabaseParams) Do(ctxt context.Context, h FrameHandler) (databaseWithObjectStores *DatabaseWithObjectStores, 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, CommandIndexedDBRequestDatabase, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return nil, ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
// unmarshal
|
||||||
|
var r RequestDatabaseReturns
|
||||||
|
err = easyjson.Unmarshal(v, &r)
|
||||||
|
if err != nil {
|
||||||
|
return nil, ErrInvalidResult
|
||||||
|
}
|
||||||
|
|
||||||
|
return r.DatabaseWithObjectStores, nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return nil, v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return nil, ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil, ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// RequestDataParams requests data from object store or index.
|
||||||
|
type RequestDataParams struct {
|
||||||
|
SecurityOrigin string `json:"securityOrigin"` // Security origin.
|
||||||
|
DatabaseName string `json:"databaseName"` // Database name.
|
||||||
|
ObjectStoreName string `json:"objectStoreName"` // Object store name.
|
||||||
|
IndexName string `json:"indexName"` // Index name, empty string for object store data requests.
|
||||||
|
SkipCount int64 `json:"skipCount"` // Number of records to skip.
|
||||||
|
PageSize int64 `json:"pageSize"` // Number of records to fetch.
|
||||||
|
KeyRange *KeyRange `json:"keyRange,omitempty"` // Key range.
|
||||||
|
}
|
||||||
|
|
||||||
|
// RequestData requests data from object store or index.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// securityOrigin - Security origin.
|
||||||
|
// databaseName - Database name.
|
||||||
|
// objectStoreName - Object store name.
|
||||||
|
// indexName - Index name, empty string for object store data requests.
|
||||||
|
// skipCount - Number of records to skip.
|
||||||
|
// pageSize - Number of records to fetch.
|
||||||
|
func RequestData(securityOrigin string, databaseName string, objectStoreName string, indexName string, skipCount int64, pageSize int64) *RequestDataParams {
|
||||||
|
return &RequestDataParams{
|
||||||
|
SecurityOrigin: securityOrigin,
|
||||||
|
DatabaseName: databaseName,
|
||||||
|
ObjectStoreName: objectStoreName,
|
||||||
|
IndexName: indexName,
|
||||||
|
SkipCount: skipCount,
|
||||||
|
PageSize: pageSize,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithKeyRange key range.
|
||||||
|
func (p RequestDataParams) WithKeyRange(keyRange *KeyRange) *RequestDataParams {
|
||||||
|
p.KeyRange = keyRange
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// RequestDataReturns return values.
|
||||||
|
type RequestDataReturns struct {
|
||||||
|
ObjectStoreDataEntries []*DataEntry `json:"objectStoreDataEntries,omitempty"` // Array of object store data entries.
|
||||||
|
HasMore bool `json:"hasMore,omitempty"` // If true, there are more entries to fetch in the given range.
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes IndexedDB.requestData.
|
||||||
|
//
|
||||||
|
// returns:
|
||||||
|
// objectStoreDataEntries - Array of object store data entries.
|
||||||
|
// hasMore - If true, there are more entries to fetch in the given range.
|
||||||
|
func (p *RequestDataParams) Do(ctxt context.Context, h FrameHandler) (objectStoreDataEntries []*DataEntry, hasMore bool, err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return nil, false, err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandIndexedDBRequestData, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return nil, false, ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
// unmarshal
|
||||||
|
var r RequestDataReturns
|
||||||
|
err = easyjson.Unmarshal(v, &r)
|
||||||
|
if err != nil {
|
||||||
|
return nil, false, ErrInvalidResult
|
||||||
|
}
|
||||||
|
|
||||||
|
return r.ObjectStoreDataEntries, r.HasMore, nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return nil, false, v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return nil, false, ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil, false, ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// ClearObjectStoreParams clears all entries from an object store.
|
||||||
|
type ClearObjectStoreParams struct {
|
||||||
|
SecurityOrigin string `json:"securityOrigin"` // Security origin.
|
||||||
|
DatabaseName string `json:"databaseName"` // Database name.
|
||||||
|
ObjectStoreName string `json:"objectStoreName"` // Object store name.
|
||||||
|
}
|
||||||
|
|
||||||
|
// ClearObjectStore clears all entries from an object store.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// securityOrigin - Security origin.
|
||||||
|
// databaseName - Database name.
|
||||||
|
// objectStoreName - Object store name.
|
||||||
|
func ClearObjectStore(securityOrigin string, databaseName string, objectStoreName string) *ClearObjectStoreParams {
|
||||||
|
return &ClearObjectStoreParams{
|
||||||
|
SecurityOrigin: securityOrigin,
|
||||||
|
DatabaseName: databaseName,
|
||||||
|
ObjectStoreName: objectStoreName,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes IndexedDB.clearObjectStore.
|
||||||
|
func (p *ClearObjectStoreParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandIndexedDBClearObjectStore, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
180
cdp/indexeddb/types.go
Normal file
180
cdp/indexeddb/types.go
Normal file
|
@ -0,0 +1,180 @@
|
||||||
|
package indexeddb
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
"errors"
|
||||||
|
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
"github.com/knq/chromedp/cdp/runtime"
|
||||||
|
"github.com/mailru/easyjson"
|
||||||
|
"github.com/mailru/easyjson/jlexer"
|
||||||
|
"github.com/mailru/easyjson/jwriter"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// DatabaseWithObjectStores database with an array of object stores.
|
||||||
|
type DatabaseWithObjectStores struct {
|
||||||
|
Name string `json:"name,omitempty"` // Database name.
|
||||||
|
Version int64 `json:"version,omitempty"` // Database version.
|
||||||
|
ObjectStores []*ObjectStore `json:"objectStores,omitempty"` // Object stores in this database.
|
||||||
|
}
|
||||||
|
|
||||||
|
// ObjectStore object store.
|
||||||
|
type ObjectStore struct {
|
||||||
|
Name string `json:"name,omitempty"` // Object store name.
|
||||||
|
KeyPath *KeyPath `json:"keyPath,omitempty"` // Object store key path.
|
||||||
|
AutoIncrement bool `json:"autoIncrement,omitempty"` // If true, object store has auto increment flag set.
|
||||||
|
Indexes []*ObjectStoreIndex `json:"indexes,omitempty"` // Indexes in this object store.
|
||||||
|
}
|
||||||
|
|
||||||
|
// ObjectStoreIndex object store index.
|
||||||
|
type ObjectStoreIndex struct {
|
||||||
|
Name string `json:"name,omitempty"` // Index name.
|
||||||
|
KeyPath *KeyPath `json:"keyPath,omitempty"` // Index key path.
|
||||||
|
Unique bool `json:"unique,omitempty"` // If true, index is unique.
|
||||||
|
MultiEntry bool `json:"multiEntry,omitempty"` // If true, index allows multiple entries for a key.
|
||||||
|
}
|
||||||
|
|
||||||
|
// Key key.
|
||||||
|
type Key struct {
|
||||||
|
Type KeyType `json:"type,omitempty"` // Key type.
|
||||||
|
Number float64 `json:"number,omitempty"` // Number value.
|
||||||
|
String string `json:"string,omitempty"` // String value.
|
||||||
|
Date float64 `json:"date,omitempty"` // Date value.
|
||||||
|
Array []*Key `json:"array,omitempty"` // Array value.
|
||||||
|
}
|
||||||
|
|
||||||
|
// KeyRange key range.
|
||||||
|
type KeyRange struct {
|
||||||
|
Lower *Key `json:"lower,omitempty"` // Lower bound.
|
||||||
|
Upper *Key `json:"upper,omitempty"` // Upper bound.
|
||||||
|
LowerOpen bool `json:"lowerOpen,omitempty"` // If true lower bound is open.
|
||||||
|
UpperOpen bool `json:"upperOpen,omitempty"` // If true upper bound is open.
|
||||||
|
}
|
||||||
|
|
||||||
|
// DataEntry data entry.
|
||||||
|
type DataEntry struct {
|
||||||
|
Key *runtime.RemoteObject `json:"key,omitempty"` // Key object.
|
||||||
|
PrimaryKey *runtime.RemoteObject `json:"primaryKey,omitempty"` // Primary key object.
|
||||||
|
Value *runtime.RemoteObject `json:"value,omitempty"` // Value object.
|
||||||
|
}
|
||||||
|
|
||||||
|
// KeyPath key path.
|
||||||
|
type KeyPath struct {
|
||||||
|
Type KeyPathType `json:"type,omitempty"` // Key path type.
|
||||||
|
String string `json:"string,omitempty"` // String value.
|
||||||
|
Array []string `json:"array,omitempty"` // Array value.
|
||||||
|
}
|
||||||
|
|
||||||
|
// KeyType key type.
|
||||||
|
type KeyType string
|
||||||
|
|
||||||
|
// String returns the KeyType as string value.
|
||||||
|
func (t KeyType) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// KeyType values.
|
||||||
|
const (
|
||||||
|
KeyTypeNumber KeyType = "number"
|
||||||
|
KeyTypeString KeyType = "string"
|
||||||
|
KeyTypeDate KeyType = "date"
|
||||||
|
KeyTypeArray KeyType = "array"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t KeyType) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t KeyType) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *KeyType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch KeyType(in.String()) {
|
||||||
|
case KeyTypeNumber:
|
||||||
|
*t = KeyTypeNumber
|
||||||
|
case KeyTypeString:
|
||||||
|
*t = KeyTypeString
|
||||||
|
case KeyTypeDate:
|
||||||
|
*t = KeyTypeDate
|
||||||
|
case KeyTypeArray:
|
||||||
|
*t = KeyTypeArray
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown KeyType value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *KeyType) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// KeyPathType key path type.
|
||||||
|
type KeyPathType string
|
||||||
|
|
||||||
|
// String returns the KeyPathType as string value.
|
||||||
|
func (t KeyPathType) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// KeyPathType values.
|
||||||
|
const (
|
||||||
|
KeyPathTypeNull KeyPathType = "null"
|
||||||
|
KeyPathTypeString KeyPathType = "string"
|
||||||
|
KeyPathTypeArray KeyPathType = "array"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t KeyPathType) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t KeyPathType) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *KeyPathType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch KeyPathType(in.String()) {
|
||||||
|
case KeyPathTypeNull:
|
||||||
|
*t = KeyPathTypeNull
|
||||||
|
case KeyPathTypeString:
|
||||||
|
*t = KeyPathTypeString
|
||||||
|
case KeyPathTypeArray:
|
||||||
|
*t = KeyPathTypeArray
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown KeyPathType value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *KeyPathType) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
1125
cdp/input/easyjson.go
Normal file
1125
cdp/input/easyjson.go
Normal file
File diff suppressed because it is too large
Load Diff
726
cdp/input/input.go
Normal file
726
cdp/input/input.go
Normal file
|
@ -0,0 +1,726 @@
|
||||||
|
// Package input provides the Chrome Debugging Protocol
|
||||||
|
// commands, types, and events for the Chrome Input domain.
|
||||||
|
//
|
||||||
|
// Generated by the chromedp-gen command.
|
||||||
|
package input
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
"github.com/mailru/easyjson"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// DispatchKeyEventParams dispatches a key event to the page.
|
||||||
|
type DispatchKeyEventParams struct {
|
||||||
|
Type KeyType `json:"type"` // Type of the key event.
|
||||||
|
Modifiers Modifier `json:"modifiers,omitempty"` // Bit field representing pressed modifier keys. Alt=1, Ctrl=2, Meta/Command=4, Shift=8 (default: 0).
|
||||||
|
Timestamp float64 `json:"timestamp,omitempty"` // Time at which the event occurred. Measured in UTC time in seconds since January 1, 1970 (default: current time).
|
||||||
|
Text string `json:"text,omitempty"` // Text as generated by processing a virtual key code with a keyboard layout. Not needed for for keyUp and rawKeyDown events (default: "")
|
||||||
|
UnmodifiedText string `json:"unmodifiedText,omitempty"` // Text that would have been generated by the keyboard if no modifiers were pressed (except for shift). Useful for shortcut (accelerator) key handling (default: "").
|
||||||
|
KeyIdentifier string `json:"keyIdentifier,omitempty"` // Unique key identifier (e.g., 'U+0041') (default: "").
|
||||||
|
Code string `json:"code,omitempty"` // Unique DOM defined string value for each physical key (e.g., 'KeyA') (default: "").
|
||||||
|
Key string `json:"key,omitempty"` // Unique DOM defined string value describing the meaning of the key in the context of active modifiers, keyboard layout, etc (e.g., 'AltGr') (default: "").
|
||||||
|
WindowsVirtualKeyCode int64 `json:"windowsVirtualKeyCode,omitempty"` // Windows virtual key code (default: 0).
|
||||||
|
NativeVirtualKeyCode int64 `json:"nativeVirtualKeyCode,omitempty"` // Native virtual key code (default: 0).
|
||||||
|
AutoRepeat bool `json:"autoRepeat,omitempty"` // Whether the event was generated from auto repeat (default: false).
|
||||||
|
IsKeypad bool `json:"isKeypad,omitempty"` // Whether the event was generated from the keypad (default: false).
|
||||||
|
IsSystemKey bool `json:"isSystemKey,omitempty"` // Whether the event was a system key event (default: false).
|
||||||
|
}
|
||||||
|
|
||||||
|
// DispatchKeyEvent dispatches a key event to the page.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// type - Type of the key event.
|
||||||
|
func DispatchKeyEvent(type_ KeyType) *DispatchKeyEventParams {
|
||||||
|
return &DispatchKeyEventParams{
|
||||||
|
Type: type_,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithModifiers bit field representing pressed modifier keys. Alt=1, Ctrl=2,
|
||||||
|
// Meta/Command=4, Shift=8 (default: 0).
|
||||||
|
func (p DispatchKeyEventParams) WithModifiers(modifiers Modifier) *DispatchKeyEventParams {
|
||||||
|
p.Modifiers = modifiers
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithTimestamp time at which the event occurred. Measured in UTC time in
|
||||||
|
// seconds since January 1, 1970 (default: current time).
|
||||||
|
func (p DispatchKeyEventParams) WithTimestamp(timestamp float64) *DispatchKeyEventParams {
|
||||||
|
p.Timestamp = timestamp
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithText text as generated by processing a virtual key code with a
|
||||||
|
// keyboard layout. Not needed for for keyUp and rawKeyDown events (default:
|
||||||
|
// "").
|
||||||
|
func (p DispatchKeyEventParams) WithText(text string) *DispatchKeyEventParams {
|
||||||
|
p.Text = text
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithUnmodifiedText text that would have been generated by the keyboard if
|
||||||
|
// no modifiers were pressed (except for shift). Useful for shortcut
|
||||||
|
// (accelerator) key handling (default: "").
|
||||||
|
func (p DispatchKeyEventParams) WithUnmodifiedText(unmodifiedText string) *DispatchKeyEventParams {
|
||||||
|
p.UnmodifiedText = unmodifiedText
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithKeyIdentifier unique key identifier (e.g., 'U+0041') (default: "").
|
||||||
|
func (p DispatchKeyEventParams) WithKeyIdentifier(keyIdentifier string) *DispatchKeyEventParams {
|
||||||
|
p.KeyIdentifier = keyIdentifier
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithCode unique DOM defined string value for each physical key (e.g.,
|
||||||
|
// 'KeyA') (default: "").
|
||||||
|
func (p DispatchKeyEventParams) WithCode(code string) *DispatchKeyEventParams {
|
||||||
|
p.Code = code
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithKey unique DOM defined string value describing the meaning of the key
|
||||||
|
// in the context of active modifiers, keyboard layout, etc (e.g., 'AltGr')
|
||||||
|
// (default: "").
|
||||||
|
func (p DispatchKeyEventParams) WithKey(key string) *DispatchKeyEventParams {
|
||||||
|
p.Key = key
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithWindowsVirtualKeyCode windows virtual key code (default: 0).
|
||||||
|
func (p DispatchKeyEventParams) WithWindowsVirtualKeyCode(windowsVirtualKeyCode int64) *DispatchKeyEventParams {
|
||||||
|
p.WindowsVirtualKeyCode = windowsVirtualKeyCode
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithNativeVirtualKeyCode native virtual key code (default: 0).
|
||||||
|
func (p DispatchKeyEventParams) WithNativeVirtualKeyCode(nativeVirtualKeyCode int64) *DispatchKeyEventParams {
|
||||||
|
p.NativeVirtualKeyCode = nativeVirtualKeyCode
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithAutoRepeat whether the event was generated from auto repeat (default:
|
||||||
|
// false).
|
||||||
|
func (p DispatchKeyEventParams) WithAutoRepeat(autoRepeat bool) *DispatchKeyEventParams {
|
||||||
|
p.AutoRepeat = autoRepeat
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithIsKeypad whether the event was generated from the keypad (default:
|
||||||
|
// false).
|
||||||
|
func (p DispatchKeyEventParams) WithIsKeypad(isKeypad bool) *DispatchKeyEventParams {
|
||||||
|
p.IsKeypad = isKeypad
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithIsSystemKey whether the event was a system key event (default: false).
|
||||||
|
func (p DispatchKeyEventParams) WithIsSystemKey(isSystemKey bool) *DispatchKeyEventParams {
|
||||||
|
p.IsSystemKey = isSystemKey
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Input.dispatchKeyEvent.
|
||||||
|
func (p *DispatchKeyEventParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandInputDispatchKeyEvent, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// DispatchMouseEventParams dispatches a mouse event to the page.
|
||||||
|
type DispatchMouseEventParams struct {
|
||||||
|
Type MouseType `json:"type"` // Type of the mouse event.
|
||||||
|
X int64 `json:"x"` // X coordinate of the event relative to the main frame's viewport.
|
||||||
|
Y int64 `json:"y"` // Y coordinate of the event relative to the main frame's viewport. 0 refers to the top of the viewport and Y increases as it proceeds towards the bottom of the viewport.
|
||||||
|
Modifiers Modifier `json:"modifiers,omitempty"` // Bit field representing pressed modifier keys. Alt=1, Ctrl=2, Meta/Command=4, Shift=8 (default: 0).
|
||||||
|
Timestamp float64 `json:"timestamp,omitempty"` // Time at which the event occurred. Measured in UTC time in seconds since January 1, 1970 (default: current time).
|
||||||
|
Button ButtonType `json:"button,omitempty"` // Mouse button (default: "none").
|
||||||
|
ClickCount int64 `json:"clickCount,omitempty"` // Number of times the mouse button was clicked (default: 0).
|
||||||
|
}
|
||||||
|
|
||||||
|
// DispatchMouseEvent dispatches a mouse event to the page.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// type - Type of the mouse event.
|
||||||
|
// x - X coordinate of the event relative to the main frame's viewport.
|
||||||
|
// y - Y coordinate of the event relative to the main frame's viewport. 0 refers to the top of the viewport and Y increases as it proceeds towards the bottom of the viewport.
|
||||||
|
func DispatchMouseEvent(type_ MouseType, x int64, y int64) *DispatchMouseEventParams {
|
||||||
|
return &DispatchMouseEventParams{
|
||||||
|
Type: type_,
|
||||||
|
X: x,
|
||||||
|
Y: y,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithModifiers bit field representing pressed modifier keys. Alt=1, Ctrl=2,
|
||||||
|
// Meta/Command=4, Shift=8 (default: 0).
|
||||||
|
func (p DispatchMouseEventParams) WithModifiers(modifiers Modifier) *DispatchMouseEventParams {
|
||||||
|
p.Modifiers = modifiers
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithTimestamp time at which the event occurred. Measured in UTC time in
|
||||||
|
// seconds since January 1, 1970 (default: current time).
|
||||||
|
func (p DispatchMouseEventParams) WithTimestamp(timestamp float64) *DispatchMouseEventParams {
|
||||||
|
p.Timestamp = timestamp
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithButton mouse button (default: "none").
|
||||||
|
func (p DispatchMouseEventParams) WithButton(button ButtonType) *DispatchMouseEventParams {
|
||||||
|
p.Button = button
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithClickCount number of times the mouse button was clicked (default: 0).
|
||||||
|
func (p DispatchMouseEventParams) WithClickCount(clickCount int64) *DispatchMouseEventParams {
|
||||||
|
p.ClickCount = clickCount
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Input.dispatchMouseEvent.
|
||||||
|
func (p *DispatchMouseEventParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandInputDispatchMouseEvent, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// DispatchTouchEventParams dispatches a touch event to the page.
|
||||||
|
type DispatchTouchEventParams struct {
|
||||||
|
Type TouchType `json:"type"` // Type of the touch event.
|
||||||
|
TouchPoints []*TouchPoint `json:"touchPoints"` // Touch points.
|
||||||
|
Modifiers Modifier `json:"modifiers,omitempty"` // Bit field representing pressed modifier keys. Alt=1, Ctrl=2, Meta/Command=4, Shift=8 (default: 0).
|
||||||
|
Timestamp float64 `json:"timestamp,omitempty"` // Time at which the event occurred. Measured in UTC time in seconds since January 1, 1970 (default: current time).
|
||||||
|
}
|
||||||
|
|
||||||
|
// DispatchTouchEvent dispatches a touch event to the page.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// type - Type of the touch event.
|
||||||
|
// touchPoints - Touch points.
|
||||||
|
func DispatchTouchEvent(type_ TouchType, touchPoints []*TouchPoint) *DispatchTouchEventParams {
|
||||||
|
return &DispatchTouchEventParams{
|
||||||
|
Type: type_,
|
||||||
|
TouchPoints: touchPoints,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithModifiers bit field representing pressed modifier keys. Alt=1, Ctrl=2,
|
||||||
|
// Meta/Command=4, Shift=8 (default: 0).
|
||||||
|
func (p DispatchTouchEventParams) WithModifiers(modifiers Modifier) *DispatchTouchEventParams {
|
||||||
|
p.Modifiers = modifiers
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithTimestamp time at which the event occurred. Measured in UTC time in
|
||||||
|
// seconds since January 1, 1970 (default: current time).
|
||||||
|
func (p DispatchTouchEventParams) WithTimestamp(timestamp float64) *DispatchTouchEventParams {
|
||||||
|
p.Timestamp = timestamp
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Input.dispatchTouchEvent.
|
||||||
|
func (p *DispatchTouchEventParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandInputDispatchTouchEvent, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// EmulateTouchFromMouseEventParams emulates touch event from the mouse event
|
||||||
|
// parameters.
|
||||||
|
type EmulateTouchFromMouseEventParams struct {
|
||||||
|
Type MouseType `json:"type"` // Type of the mouse event.
|
||||||
|
X int64 `json:"x"` // X coordinate of the mouse pointer in DIP.
|
||||||
|
Y int64 `json:"y"` // Y coordinate of the mouse pointer in DIP.
|
||||||
|
Timestamp float64 `json:"timestamp"` // Time at which the event occurred. Measured in UTC time in seconds since January 1, 1970.
|
||||||
|
Button ButtonType `json:"button"` // Mouse button.
|
||||||
|
DeltaX float64 `json:"deltaX,omitempty"` // X delta in DIP for mouse wheel event (default: 0).
|
||||||
|
DeltaY float64 `json:"deltaY,omitempty"` // Y delta in DIP for mouse wheel event (default: 0).
|
||||||
|
Modifiers Modifier `json:"modifiers,omitempty"` // Bit field representing pressed modifier keys. Alt=1, Ctrl=2, Meta/Command=4, Shift=8 (default: 0).
|
||||||
|
ClickCount int64 `json:"clickCount,omitempty"` // Number of times the mouse button was clicked (default: 0).
|
||||||
|
}
|
||||||
|
|
||||||
|
// EmulateTouchFromMouseEvent emulates touch event from the mouse event
|
||||||
|
// parameters.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// type - Type of the mouse event.
|
||||||
|
// x - X coordinate of the mouse pointer in DIP.
|
||||||
|
// y - Y coordinate of the mouse pointer in DIP.
|
||||||
|
// timestamp - Time at which the event occurred. Measured in UTC time in seconds since January 1, 1970.
|
||||||
|
// button - Mouse button.
|
||||||
|
func EmulateTouchFromMouseEvent(type_ MouseType, x int64, y int64, timestamp float64, button ButtonType) *EmulateTouchFromMouseEventParams {
|
||||||
|
return &EmulateTouchFromMouseEventParams{
|
||||||
|
Type: type_,
|
||||||
|
X: x,
|
||||||
|
Y: y,
|
||||||
|
Timestamp: timestamp,
|
||||||
|
Button: button,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithDeltaX x delta in DIP for mouse wheel event (default: 0).
|
||||||
|
func (p EmulateTouchFromMouseEventParams) WithDeltaX(deltaX float64) *EmulateTouchFromMouseEventParams {
|
||||||
|
p.DeltaX = deltaX
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithDeltaY y delta in DIP for mouse wheel event (default: 0).
|
||||||
|
func (p EmulateTouchFromMouseEventParams) WithDeltaY(deltaY float64) *EmulateTouchFromMouseEventParams {
|
||||||
|
p.DeltaY = deltaY
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithModifiers bit field representing pressed modifier keys. Alt=1, Ctrl=2,
|
||||||
|
// Meta/Command=4, Shift=8 (default: 0).
|
||||||
|
func (p EmulateTouchFromMouseEventParams) WithModifiers(modifiers Modifier) *EmulateTouchFromMouseEventParams {
|
||||||
|
p.Modifiers = modifiers
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithClickCount number of times the mouse button was clicked (default: 0).
|
||||||
|
func (p EmulateTouchFromMouseEventParams) WithClickCount(clickCount int64) *EmulateTouchFromMouseEventParams {
|
||||||
|
p.ClickCount = clickCount
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Input.emulateTouchFromMouseEvent.
|
||||||
|
func (p *EmulateTouchFromMouseEventParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandInputEmulateTouchFromMouseEvent, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// SynthesizePinchGestureParams synthesizes a pinch gesture over a time
|
||||||
|
// period by issuing appropriate touch events.
|
||||||
|
type SynthesizePinchGestureParams struct {
|
||||||
|
X int64 `json:"x"` // X coordinate of the start of the gesture in CSS pixels.
|
||||||
|
Y int64 `json:"y"` // Y coordinate of the start of the gesture in CSS pixels.
|
||||||
|
ScaleFactor float64 `json:"scaleFactor"` // Relative scale factor after zooming (>1.0 zooms in, <1.0 zooms out).
|
||||||
|
RelativeSpeed int64 `json:"relativeSpeed,omitempty"` // Relative pointer speed in pixels per second (default: 800).
|
||||||
|
GestureSourceType GestureType `json:"gestureSourceType,omitempty"` // Which type of input events to be generated (default: 'default', which queries the platform for the preferred input type).
|
||||||
|
}
|
||||||
|
|
||||||
|
// SynthesizePinchGesture synthesizes a pinch gesture over a time period by
|
||||||
|
// issuing appropriate touch events.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// x - X coordinate of the start of the gesture in CSS pixels.
|
||||||
|
// y - Y coordinate of the start of the gesture in CSS pixels.
|
||||||
|
// scaleFactor - Relative scale factor after zooming (>1.0 zooms in, <1.0 zooms out).
|
||||||
|
func SynthesizePinchGesture(x int64, y int64, scaleFactor float64) *SynthesizePinchGestureParams {
|
||||||
|
return &SynthesizePinchGestureParams{
|
||||||
|
X: x,
|
||||||
|
Y: y,
|
||||||
|
ScaleFactor: scaleFactor,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithRelativeSpeed relative pointer speed in pixels per second (default:
|
||||||
|
// 800).
|
||||||
|
func (p SynthesizePinchGestureParams) WithRelativeSpeed(relativeSpeed int64) *SynthesizePinchGestureParams {
|
||||||
|
p.RelativeSpeed = relativeSpeed
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithGestureSourceType which type of input events to be generated (default:
|
||||||
|
// 'default', which queries the platform for the preferred input type).
|
||||||
|
func (p SynthesizePinchGestureParams) WithGestureSourceType(gestureSourceType GestureType) *SynthesizePinchGestureParams {
|
||||||
|
p.GestureSourceType = gestureSourceType
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Input.synthesizePinchGesture.
|
||||||
|
func (p *SynthesizePinchGestureParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandInputSynthesizePinchGesture, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// SynthesizeScrollGestureParams synthesizes a scroll gesture over a time
|
||||||
|
// period by issuing appropriate touch events.
|
||||||
|
type SynthesizeScrollGestureParams struct {
|
||||||
|
X int64 `json:"x"` // X coordinate of the start of the gesture in CSS pixels.
|
||||||
|
Y int64 `json:"y"` // Y coordinate of the start of the gesture in CSS pixels.
|
||||||
|
XDistance int64 `json:"xDistance,omitempty"` // The distance to scroll along the X axis (positive to scroll left).
|
||||||
|
YDistance int64 `json:"yDistance,omitempty"` // The distance to scroll along the Y axis (positive to scroll up).
|
||||||
|
XOverscroll int64 `json:"xOverscroll,omitempty"` // The number of additional pixels to scroll back along the X axis, in addition to the given distance.
|
||||||
|
YOverscroll int64 `json:"yOverscroll,omitempty"` // The number of additional pixels to scroll back along the Y axis, in addition to the given distance.
|
||||||
|
PreventFling bool `json:"preventFling,omitempty"` // Prevent fling (default: true).
|
||||||
|
Speed int64 `json:"speed,omitempty"` // Swipe speed in pixels per second (default: 800).
|
||||||
|
GestureSourceType GestureType `json:"gestureSourceType,omitempty"` // Which type of input events to be generated (default: 'default', which queries the platform for the preferred input type).
|
||||||
|
RepeatCount int64 `json:"repeatCount,omitempty"` // The number of times to repeat the gesture (default: 0).
|
||||||
|
RepeatDelayMs int64 `json:"repeatDelayMs,omitempty"` // The number of milliseconds delay between each repeat. (default: 250).
|
||||||
|
InteractionMarkerName string `json:"interactionMarkerName,omitempty"` // The name of the interaction markers to generate, if not empty (default: "").
|
||||||
|
}
|
||||||
|
|
||||||
|
// SynthesizeScrollGesture synthesizes a scroll gesture over a time period by
|
||||||
|
// issuing appropriate touch events.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// x - X coordinate of the start of the gesture in CSS pixels.
|
||||||
|
// y - Y coordinate of the start of the gesture in CSS pixels.
|
||||||
|
func SynthesizeScrollGesture(x int64, y int64) *SynthesizeScrollGestureParams {
|
||||||
|
return &SynthesizeScrollGestureParams{
|
||||||
|
X: x,
|
||||||
|
Y: y,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithXDistance the distance to scroll along the X axis (positive to scroll
|
||||||
|
// left).
|
||||||
|
func (p SynthesizeScrollGestureParams) WithXDistance(xDistance int64) *SynthesizeScrollGestureParams {
|
||||||
|
p.XDistance = xDistance
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithYDistance the distance to scroll along the Y axis (positive to scroll
|
||||||
|
// up).
|
||||||
|
func (p SynthesizeScrollGestureParams) WithYDistance(yDistance int64) *SynthesizeScrollGestureParams {
|
||||||
|
p.YDistance = yDistance
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithXOverscroll the number of additional pixels to scroll back along the X
|
||||||
|
// axis, in addition to the given distance.
|
||||||
|
func (p SynthesizeScrollGestureParams) WithXOverscroll(xOverscroll int64) *SynthesizeScrollGestureParams {
|
||||||
|
p.XOverscroll = xOverscroll
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithYOverscroll the number of additional pixels to scroll back along the Y
|
||||||
|
// axis, in addition to the given distance.
|
||||||
|
func (p SynthesizeScrollGestureParams) WithYOverscroll(yOverscroll int64) *SynthesizeScrollGestureParams {
|
||||||
|
p.YOverscroll = yOverscroll
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithPreventFling prevent fling (default: true).
|
||||||
|
func (p SynthesizeScrollGestureParams) WithPreventFling(preventFling bool) *SynthesizeScrollGestureParams {
|
||||||
|
p.PreventFling = preventFling
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithSpeed swipe speed in pixels per second (default: 800).
|
||||||
|
func (p SynthesizeScrollGestureParams) WithSpeed(speed int64) *SynthesizeScrollGestureParams {
|
||||||
|
p.Speed = speed
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithGestureSourceType which type of input events to be generated (default:
|
||||||
|
// 'default', which queries the platform for the preferred input type).
|
||||||
|
func (p SynthesizeScrollGestureParams) WithGestureSourceType(gestureSourceType GestureType) *SynthesizeScrollGestureParams {
|
||||||
|
p.GestureSourceType = gestureSourceType
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithRepeatCount the number of times to repeat the gesture (default: 0).
|
||||||
|
func (p SynthesizeScrollGestureParams) WithRepeatCount(repeatCount int64) *SynthesizeScrollGestureParams {
|
||||||
|
p.RepeatCount = repeatCount
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithRepeatDelayMs the number of milliseconds delay between each repeat.
|
||||||
|
// (default: 250).
|
||||||
|
func (p SynthesizeScrollGestureParams) WithRepeatDelayMs(repeatDelayMs int64) *SynthesizeScrollGestureParams {
|
||||||
|
p.RepeatDelayMs = repeatDelayMs
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithInteractionMarkerName the name of the interaction markers to generate,
|
||||||
|
// if not empty (default: "").
|
||||||
|
func (p SynthesizeScrollGestureParams) WithInteractionMarkerName(interactionMarkerName string) *SynthesizeScrollGestureParams {
|
||||||
|
p.InteractionMarkerName = interactionMarkerName
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Input.synthesizeScrollGesture.
|
||||||
|
func (p *SynthesizeScrollGestureParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandInputSynthesizeScrollGesture, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// SynthesizeTapGestureParams synthesizes a tap gesture over a time period by
|
||||||
|
// issuing appropriate touch events.
|
||||||
|
type SynthesizeTapGestureParams struct {
|
||||||
|
X int64 `json:"x"` // X coordinate of the start of the gesture in CSS pixels.
|
||||||
|
Y int64 `json:"y"` // Y coordinate of the start of the gesture in CSS pixels.
|
||||||
|
Duration int64 `json:"duration,omitempty"` // Duration between touchdown and touchup events in ms (default: 50).
|
||||||
|
TapCount int64 `json:"tapCount,omitempty"` // Number of times to perform the tap (e.g. 2 for double tap, default: 1).
|
||||||
|
GestureSourceType GestureType `json:"gestureSourceType,omitempty"` // Which type of input events to be generated (default: 'default', which queries the platform for the preferred input type).
|
||||||
|
}
|
||||||
|
|
||||||
|
// SynthesizeTapGesture synthesizes a tap gesture over a time period by
|
||||||
|
// issuing appropriate touch events.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// x - X coordinate of the start of the gesture in CSS pixels.
|
||||||
|
// y - Y coordinate of the start of the gesture in CSS pixels.
|
||||||
|
func SynthesizeTapGesture(x int64, y int64) *SynthesizeTapGestureParams {
|
||||||
|
return &SynthesizeTapGestureParams{
|
||||||
|
X: x,
|
||||||
|
Y: y,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithDuration duration between touchdown and touchup events in ms (default:
|
||||||
|
// 50).
|
||||||
|
func (p SynthesizeTapGestureParams) WithDuration(duration int64) *SynthesizeTapGestureParams {
|
||||||
|
p.Duration = duration
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithTapCount number of times to perform the tap (e.g. 2 for double tap,
|
||||||
|
// default: 1).
|
||||||
|
func (p SynthesizeTapGestureParams) WithTapCount(tapCount int64) *SynthesizeTapGestureParams {
|
||||||
|
p.TapCount = tapCount
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithGestureSourceType which type of input events to be generated (default:
|
||||||
|
// 'default', which queries the platform for the preferred input type).
|
||||||
|
func (p SynthesizeTapGestureParams) WithGestureSourceType(gestureSourceType GestureType) *SynthesizeTapGestureParams {
|
||||||
|
p.GestureSourceType = gestureSourceType
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Input.synthesizeTapGesture.
|
||||||
|
func (p *SynthesizeTapGestureParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandInputSynthesizeTapGesture, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
400
cdp/input/types.go
Normal file
400
cdp/input/types.go
Normal file
|
@ -0,0 +1,400 @@
|
||||||
|
package input
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
"errors"
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
"github.com/mailru/easyjson"
|
||||||
|
"github.com/mailru/easyjson/jlexer"
|
||||||
|
"github.com/mailru/easyjson/jwriter"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
type TouchPoint struct {
|
||||||
|
State TouchState `json:"state,omitempty"` // State of the touch point.
|
||||||
|
X int64 `json:"x,omitempty"` // X coordinate of the event relative to the main frame's viewport.
|
||||||
|
Y int64 `json:"y,omitempty"` // Y coordinate of the event relative to the main frame's viewport. 0 refers to the top of the viewport and Y increases as it proceeds towards the bottom of the viewport.
|
||||||
|
RadiusX int64 `json:"radiusX,omitempty"` // X radius of the touch area (default: 1).
|
||||||
|
RadiusY int64 `json:"radiusY,omitempty"` // Y radius of the touch area (default: 1).
|
||||||
|
RotationAngle float64 `json:"rotationAngle,omitempty"` // Rotation angle (default: 0.0).
|
||||||
|
Force float64 `json:"force,omitempty"` // Force (default: 1.0).
|
||||||
|
ID float64 `json:"id,omitempty"` // Identifier used to track touch sources between events, must be unique within an event.
|
||||||
|
}
|
||||||
|
|
||||||
|
type GestureType string
|
||||||
|
|
||||||
|
// String returns the GestureType as string value.
|
||||||
|
func (t GestureType) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// GestureType values.
|
||||||
|
const (
|
||||||
|
GestureDefault GestureType = "default"
|
||||||
|
GestureTouch GestureType = "touch"
|
||||||
|
GestureMouse GestureType = "mouse"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t GestureType) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t GestureType) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *GestureType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch GestureType(in.String()) {
|
||||||
|
case GestureDefault:
|
||||||
|
*t = GestureDefault
|
||||||
|
case GestureTouch:
|
||||||
|
*t = GestureTouch
|
||||||
|
case GestureMouse:
|
||||||
|
*t = GestureMouse
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown GestureType value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *GestureType) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Modifier input key modifier type.
|
||||||
|
type Modifier int64
|
||||||
|
|
||||||
|
// Int64 returns the Modifier as int64 value.
|
||||||
|
func (t Modifier) Int64() int64 {
|
||||||
|
return int64(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Modifier values.
|
||||||
|
const (
|
||||||
|
ModifierNone Modifier = 0
|
||||||
|
ModifierAlt Modifier = 1
|
||||||
|
ModifierCtrl Modifier = 2
|
||||||
|
ModifierMeta Modifier = 4
|
||||||
|
ModifierShift Modifier = 8
|
||||||
|
)
|
||||||
|
|
||||||
|
// String returns the Modifier as string value.
|
||||||
|
func (t Modifier) String() string {
|
||||||
|
switch t {
|
||||||
|
case ModifierNone:
|
||||||
|
return "None"
|
||||||
|
case ModifierAlt:
|
||||||
|
return "Alt"
|
||||||
|
case ModifierCtrl:
|
||||||
|
return "Ctrl"
|
||||||
|
case ModifierMeta:
|
||||||
|
return "Meta"
|
||||||
|
case ModifierShift:
|
||||||
|
return "Shift"
|
||||||
|
}
|
||||||
|
|
||||||
|
return fmt.Sprintf("Modifier(%d)", t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t Modifier) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.Int64(int64(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t Modifier) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *Modifier) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch Modifier(in.Int64()) {
|
||||||
|
case ModifierNone:
|
||||||
|
*t = ModifierNone
|
||||||
|
case ModifierAlt:
|
||||||
|
*t = ModifierAlt
|
||||||
|
case ModifierCtrl:
|
||||||
|
*t = ModifierCtrl
|
||||||
|
case ModifierMeta:
|
||||||
|
*t = ModifierMeta
|
||||||
|
case ModifierShift:
|
||||||
|
*t = ModifierShift
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown Modifier value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *Modifier) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ModifierCommand is an alias for ModifierMeta.
|
||||||
|
const ModifierCommand Modifier = ModifierMeta
|
||||||
|
|
||||||
|
// TouchState state of the touch point.
|
||||||
|
type TouchState string
|
||||||
|
|
||||||
|
// String returns the TouchState as string value.
|
||||||
|
func (t TouchState) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// TouchState values.
|
||||||
|
const (
|
||||||
|
TouchPressed TouchState = "touchPressed"
|
||||||
|
TouchReleased TouchState = "touchReleased"
|
||||||
|
TouchMoved TouchState = "touchMoved"
|
||||||
|
TouchStationary TouchState = "touchStationary"
|
||||||
|
TouchCanceled TouchState = "touchCancelled"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t TouchState) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t TouchState) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *TouchState) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch TouchState(in.String()) {
|
||||||
|
case TouchPressed:
|
||||||
|
*t = TouchPressed
|
||||||
|
case TouchReleased:
|
||||||
|
*t = TouchReleased
|
||||||
|
case TouchMoved:
|
||||||
|
*t = TouchMoved
|
||||||
|
case TouchStationary:
|
||||||
|
*t = TouchStationary
|
||||||
|
case TouchCanceled:
|
||||||
|
*t = TouchCanceled
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown TouchState value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *TouchState) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// KeyType type of the key event.
|
||||||
|
type KeyType string
|
||||||
|
|
||||||
|
// String returns the KeyType as string value.
|
||||||
|
func (t KeyType) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// KeyType values.
|
||||||
|
const (
|
||||||
|
KeyDown KeyType = "keyDown"
|
||||||
|
KeyUp KeyType = "keyUp"
|
||||||
|
KeyRawDown KeyType = "rawKeyDown"
|
||||||
|
KeyChar KeyType = "char"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t KeyType) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t KeyType) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *KeyType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch KeyType(in.String()) {
|
||||||
|
case KeyDown:
|
||||||
|
*t = KeyDown
|
||||||
|
case KeyUp:
|
||||||
|
*t = KeyUp
|
||||||
|
case KeyRawDown:
|
||||||
|
*t = KeyRawDown
|
||||||
|
case KeyChar:
|
||||||
|
*t = KeyChar
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown KeyType value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *KeyType) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// MouseType type of the mouse event.
|
||||||
|
type MouseType string
|
||||||
|
|
||||||
|
// String returns the MouseType as string value.
|
||||||
|
func (t MouseType) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// MouseType values.
|
||||||
|
const (
|
||||||
|
MousePressed MouseType = "mousePressed"
|
||||||
|
MouseReleased MouseType = "mouseReleased"
|
||||||
|
MouseMoved MouseType = "mouseMoved"
|
||||||
|
MouseWheel MouseType = "mouseWheel"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t MouseType) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t MouseType) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *MouseType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch MouseType(in.String()) {
|
||||||
|
case MousePressed:
|
||||||
|
*t = MousePressed
|
||||||
|
case MouseReleased:
|
||||||
|
*t = MouseReleased
|
||||||
|
case MouseMoved:
|
||||||
|
*t = MouseMoved
|
||||||
|
case MouseWheel:
|
||||||
|
*t = MouseWheel
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown MouseType value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *MouseType) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ButtonType mouse button (default: "none").
|
||||||
|
type ButtonType string
|
||||||
|
|
||||||
|
// String returns the ButtonType as string value.
|
||||||
|
func (t ButtonType) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ButtonType values.
|
||||||
|
const (
|
||||||
|
ButtonNone ButtonType = "none"
|
||||||
|
ButtonLeft ButtonType = "left"
|
||||||
|
ButtonMiddle ButtonType = "middle"
|
||||||
|
ButtonRight ButtonType = "right"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t ButtonType) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t ButtonType) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *ButtonType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch ButtonType(in.String()) {
|
||||||
|
case ButtonNone:
|
||||||
|
*t = ButtonNone
|
||||||
|
case ButtonLeft:
|
||||||
|
*t = ButtonLeft
|
||||||
|
case ButtonMiddle:
|
||||||
|
*t = ButtonMiddle
|
||||||
|
case ButtonRight:
|
||||||
|
*t = ButtonRight
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown ButtonType value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *ButtonType) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// TouchType type of the touch event.
|
||||||
|
type TouchType string
|
||||||
|
|
||||||
|
// String returns the TouchType as string value.
|
||||||
|
func (t TouchType) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// TouchType values.
|
||||||
|
const (
|
||||||
|
TouchStart TouchType = "touchStart"
|
||||||
|
TouchEnd TouchType = "touchEnd"
|
||||||
|
TouchMove TouchType = "touchMove"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t TouchType) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t TouchType) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *TouchType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch TouchType(in.String()) {
|
||||||
|
case TouchStart:
|
||||||
|
*t = TouchStart
|
||||||
|
case TouchEnd:
|
||||||
|
*t = TouchEnd
|
||||||
|
case TouchMove:
|
||||||
|
*t = TouchMove
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown TouchType value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *TouchType) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
265
cdp/inspector/easyjson.go
Normal file
265
cdp/inspector/easyjson.go
Normal file
|
@ -0,0 +1,265 @@
|
||||||
|
// AUTOGENERATED FILE: easyjson marshaler/unmarshalers.
|
||||||
|
|
||||||
|
package inspector
|
||||||
|
|
||||||
|
import (
|
||||||
|
json "encoding/json"
|
||||||
|
easyjson "github.com/mailru/easyjson"
|
||||||
|
jlexer "github.com/mailru/easyjson/jlexer"
|
||||||
|
jwriter "github.com/mailru/easyjson/jwriter"
|
||||||
|
)
|
||||||
|
|
||||||
|
// suppress unused package warning
|
||||||
|
var (
|
||||||
|
_ *json.RawMessage
|
||||||
|
_ *jlexer.Lexer
|
||||||
|
_ *jwriter.Writer
|
||||||
|
_ easyjson.Marshaler
|
||||||
|
)
|
||||||
|
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpInspector(in *jlexer.Lexer, out *EventTargetCrashed) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpInspector(out *jwriter.Writer, in EventTargetCrashed) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v EventTargetCrashed) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpInspector(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v EventTargetCrashed) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpInspector(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *EventTargetCrashed) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpInspector(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *EventTargetCrashed) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpInspector(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpInspector1(in *jlexer.Lexer, out *EventDetached) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "reason":
|
||||||
|
(out.Reason).UnmarshalEasyJSON(in)
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpInspector1(out *jwriter.Writer, in EventDetached) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if in.Reason != "" {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"reason\":")
|
||||||
|
(in.Reason).MarshalEasyJSON(out)
|
||||||
|
}
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v EventDetached) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpInspector1(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v EventDetached) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpInspector1(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *EventDetached) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpInspector1(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *EventDetached) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpInspector1(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpInspector2(in *jlexer.Lexer, out *EnableParams) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpInspector2(out *jwriter.Writer, in EnableParams) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v EnableParams) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpInspector2(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v EnableParams) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpInspector2(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *EnableParams) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpInspector2(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *EnableParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpInspector2(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpInspector3(in *jlexer.Lexer, out *DisableParams) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpInspector3(out *jwriter.Writer, in DisableParams) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v DisableParams) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpInspector3(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v DisableParams) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpInspector3(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *DisableParams) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpInspector3(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *DisableParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpInspector3(l, v)
|
||||||
|
}
|
42
cdp/inspector/events.go
Normal file
42
cdp/inspector/events.go
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
package inspector
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// EventDetached fired when remote debugging connection is about to be
|
||||||
|
// terminated. Contains detach reason.
|
||||||
|
type EventDetached struct {
|
||||||
|
Reason DetachReason `json:"reason,omitempty"` // The reason why connection has been terminated.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventTargetCrashed fired when debugging target has crashed.
|
||||||
|
type EventTargetCrashed struct{}
|
||||||
|
|
||||||
|
// EventTypes is all event types in the domain.
|
||||||
|
var EventTypes = []MethodType{
|
||||||
|
EventInspectorDetached,
|
||||||
|
EventInspectorTargetCrashed,
|
||||||
|
}
|
112
cdp/inspector/inspector.go
Normal file
112
cdp/inspector/inspector.go
Normal file
|
@ -0,0 +1,112 @@
|
||||||
|
// Package inspector provides the Chrome Debugging Protocol
|
||||||
|
// commands, types, and events for the Chrome Inspector domain.
|
||||||
|
//
|
||||||
|
// Generated by the chromedp-gen command.
|
||||||
|
package inspector
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
"github.com/mailru/easyjson"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// EnableParams enables inspector domain notifications.
|
||||||
|
type EnableParams struct{}
|
||||||
|
|
||||||
|
// Enable enables inspector domain notifications.
|
||||||
|
func Enable() *EnableParams {
|
||||||
|
return &EnableParams{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Inspector.enable.
|
||||||
|
func (p *EnableParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandInspectorEnable, Empty)
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// DisableParams disables inspector domain notifications.
|
||||||
|
type DisableParams struct{}
|
||||||
|
|
||||||
|
// Disable disables inspector domain notifications.
|
||||||
|
func Disable() *DisableParams {
|
||||||
|
return &DisableParams{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Inspector.disable.
|
||||||
|
func (p *DisableParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandInspectorDisable, Empty)
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
80
cdp/inspector/types.go
Normal file
80
cdp/inspector/types.go
Normal file
|
@ -0,0 +1,80 @@
|
||||||
|
package inspector
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
"errors"
|
||||||
|
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
"github.com/mailru/easyjson"
|
||||||
|
"github.com/mailru/easyjson/jlexer"
|
||||||
|
"github.com/mailru/easyjson/jwriter"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// DetachReason detach reason.
|
||||||
|
type DetachReason string
|
||||||
|
|
||||||
|
// String returns the DetachReason as string value.
|
||||||
|
func (t DetachReason) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// DetachReason values.
|
||||||
|
const (
|
||||||
|
DetachReasonTargetClosed DetachReason = "target_closed"
|
||||||
|
DetachReasonCanceledByUser DetachReason = "canceled_by_user"
|
||||||
|
DetachReasonReplacedWithDevtools DetachReason = "replaced_with_devtools"
|
||||||
|
DetachReasonRenderProcessGone DetachReason = "Render process gone."
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t DetachReason) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t DetachReason) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *DetachReason) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch DetachReason(in.String()) {
|
||||||
|
case DetachReasonTargetClosed:
|
||||||
|
*t = DetachReasonTargetClosed
|
||||||
|
case DetachReasonCanceledByUser:
|
||||||
|
*t = DetachReasonCanceledByUser
|
||||||
|
case DetachReasonReplacedWithDevtools:
|
||||||
|
*t = DetachReasonReplacedWithDevtools
|
||||||
|
case DetachReasonRenderProcessGone:
|
||||||
|
*t = DetachReasonRenderProcessGone
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown DetachReason value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *DetachReason) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
252
cdp/io/easyjson.go
Normal file
252
cdp/io/easyjson.go
Normal file
|
@ -0,0 +1,252 @@
|
||||||
|
// AUTOGENERATED FILE: easyjson marshaler/unmarshalers.
|
||||||
|
|
||||||
|
package io
|
||||||
|
|
||||||
|
import (
|
||||||
|
json "encoding/json"
|
||||||
|
easyjson "github.com/mailru/easyjson"
|
||||||
|
jlexer "github.com/mailru/easyjson/jlexer"
|
||||||
|
jwriter "github.com/mailru/easyjson/jwriter"
|
||||||
|
)
|
||||||
|
|
||||||
|
// suppress unused package warning
|
||||||
|
var (
|
||||||
|
_ *json.RawMessage
|
||||||
|
_ *jlexer.Lexer
|
||||||
|
_ *jwriter.Writer
|
||||||
|
_ easyjson.Marshaler
|
||||||
|
)
|
||||||
|
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpIo(in *jlexer.Lexer, out *ReadReturns) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "data":
|
||||||
|
out.Data = string(in.String())
|
||||||
|
case "eof":
|
||||||
|
out.EOF = bool(in.Bool())
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpIo(out *jwriter.Writer, in ReadReturns) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if in.Data != "" {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"data\":")
|
||||||
|
out.String(string(in.Data))
|
||||||
|
}
|
||||||
|
if in.EOF {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"eof\":")
|
||||||
|
out.Bool(bool(in.EOF))
|
||||||
|
}
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v ReadReturns) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpIo(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v ReadReturns) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpIo(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *ReadReturns) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpIo(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *ReadReturns) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpIo(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpIo1(in *jlexer.Lexer, out *ReadParams) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "handle":
|
||||||
|
out.Handle = StreamHandle(in.String())
|
||||||
|
case "offset":
|
||||||
|
out.Offset = int64(in.Int64())
|
||||||
|
case "size":
|
||||||
|
out.Size = int64(in.Int64())
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpIo1(out *jwriter.Writer, in ReadParams) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"handle\":")
|
||||||
|
out.String(string(in.Handle))
|
||||||
|
if in.Offset != 0 {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"offset\":")
|
||||||
|
out.Int64(int64(in.Offset))
|
||||||
|
}
|
||||||
|
if in.Size != 0 {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"size\":")
|
||||||
|
out.Int64(int64(in.Size))
|
||||||
|
}
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v ReadParams) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpIo1(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v ReadParams) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpIo1(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *ReadParams) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpIo1(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *ReadParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpIo1(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpIo2(in *jlexer.Lexer, out *CloseParams) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "handle":
|
||||||
|
out.Handle = StreamHandle(in.String())
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpIo2(out *jwriter.Writer, in CloseParams) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"handle\":")
|
||||||
|
out.String(string(in.Handle))
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v CloseParams) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpIo2(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v CloseParams) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpIo2(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *CloseParams) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpIo2(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *CloseParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpIo2(l, v)
|
||||||
|
}
|
173
cdp/io/io.go
Normal file
173
cdp/io/io.go
Normal file
|
@ -0,0 +1,173 @@
|
||||||
|
// Package io provides the Chrome Debugging Protocol
|
||||||
|
// commands, types, and events for the Chrome IO domain.
|
||||||
|
//
|
||||||
|
// Input/Output operations for streams produced by DevTools.
|
||||||
|
//
|
||||||
|
// Generated by the chromedp-gen command.
|
||||||
|
package io
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
"github.com/mailru/easyjson"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// ReadParams read a chunk of the stream.
|
||||||
|
type ReadParams struct {
|
||||||
|
Handle StreamHandle `json:"handle"` // Handle of the stream to read.
|
||||||
|
Offset int64 `json:"offset,omitempty"` // Seek to the specified offset before reading (if not specificed, proceed with offset following the last read).
|
||||||
|
Size int64 `json:"size,omitempty"` // Maximum number of bytes to read (left upon the agent discretion if not specified).
|
||||||
|
}
|
||||||
|
|
||||||
|
// Read read a chunk of the stream.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// handle - Handle of the stream to read.
|
||||||
|
func Read(handle StreamHandle) *ReadParams {
|
||||||
|
return &ReadParams{
|
||||||
|
Handle: handle,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithOffset seek to the specified offset before reading (if not specificed,
|
||||||
|
// proceed with offset following the last read).
|
||||||
|
func (p ReadParams) WithOffset(offset int64) *ReadParams {
|
||||||
|
p.Offset = offset
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithSize maximum number of bytes to read (left upon the agent discretion
|
||||||
|
// if not specified).
|
||||||
|
func (p ReadParams) WithSize(size int64) *ReadParams {
|
||||||
|
p.Size = size
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// ReadReturns return values.
|
||||||
|
type ReadReturns struct {
|
||||||
|
Data string `json:"data,omitempty"` // Data that were read.
|
||||||
|
EOF bool `json:"eof,omitempty"` // Set if the end-of-file condition occured while reading.
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes IO.read.
|
||||||
|
//
|
||||||
|
// returns:
|
||||||
|
// data - Data that were read.
|
||||||
|
// eof - Set if the end-of-file condition occured while reading.
|
||||||
|
func (p *ReadParams) Do(ctxt context.Context, h FrameHandler) (data string, eof bool, err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return "", false, err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandIORead, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return "", false, ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
// unmarshal
|
||||||
|
var r ReadReturns
|
||||||
|
err = easyjson.Unmarshal(v, &r)
|
||||||
|
if err != nil {
|
||||||
|
return "", false, ErrInvalidResult
|
||||||
|
}
|
||||||
|
|
||||||
|
return r.Data, r.EOF, nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return "", false, v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return "", false, ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return "", false, ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// CloseParams close the stream, discard any temporary backing storage.
|
||||||
|
type CloseParams struct {
|
||||||
|
Handle StreamHandle `json:"handle"` // Handle of the stream to close.
|
||||||
|
}
|
||||||
|
|
||||||
|
// Close close the stream, discard any temporary backing storage.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// handle - Handle of the stream to close.
|
||||||
|
func Close(handle StreamHandle) *CloseParams {
|
||||||
|
return &CloseParams{
|
||||||
|
Handle: handle,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes IO.close.
|
||||||
|
func (p *CloseParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandIOClose, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
34
cdp/io/types.go
Normal file
34
cdp/io/types.go
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
package io
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
type StreamHandle string
|
||||||
|
|
||||||
|
// String returns the StreamHandle as string value.
|
||||||
|
func (t StreamHandle) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
1902
cdp/layertree/easyjson.go
Normal file
1902
cdp/layertree/easyjson.go
Normal file
File diff suppressed because it is too large
Load Diff
43
cdp/layertree/events.go
Normal file
43
cdp/layertree/events.go
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
package layertree
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
"github.com/knq/chromedp/cdp/dom"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
type EventLayerTreeDidChange struct {
|
||||||
|
Layers []*Layer `json:"layers,omitempty"` // Layer tree, absent if not in the comspositing mode.
|
||||||
|
}
|
||||||
|
|
||||||
|
type EventLayerPainted struct {
|
||||||
|
LayerID LayerID `json:"layerId,omitempty"` // The id of the painted layer.
|
||||||
|
Clip *dom.Rect `json:"clip,omitempty"` // Clip rectangle.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventTypes is all event types in the domain.
|
||||||
|
var EventTypes = []MethodType{
|
||||||
|
EventLayerTreeLayerTreeDidChange,
|
||||||
|
EventLayerTreeLayerPainted,
|
||||||
|
}
|
614
cdp/layertree/layertree.go
Normal file
614
cdp/layertree/layertree.go
Normal file
|
@ -0,0 +1,614 @@
|
||||||
|
// Package layertree provides the Chrome Debugging Protocol
|
||||||
|
// commands, types, and events for the Chrome LayerTree domain.
|
||||||
|
//
|
||||||
|
// Generated by the chromedp-gen command.
|
||||||
|
package layertree
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
"github.com/knq/chromedp/cdp/dom"
|
||||||
|
"github.com/mailru/easyjson"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// EnableParams enables compositing tree inspection.
|
||||||
|
type EnableParams struct{}
|
||||||
|
|
||||||
|
// Enable enables compositing tree inspection.
|
||||||
|
func Enable() *EnableParams {
|
||||||
|
return &EnableParams{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes LayerTree.enable.
|
||||||
|
func (p *EnableParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandLayerTreeEnable, Empty)
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// DisableParams disables compositing tree inspection.
|
||||||
|
type DisableParams struct{}
|
||||||
|
|
||||||
|
// Disable disables compositing tree inspection.
|
||||||
|
func Disable() *DisableParams {
|
||||||
|
return &DisableParams{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes LayerTree.disable.
|
||||||
|
func (p *DisableParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandLayerTreeDisable, Empty)
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// CompositingReasonsParams provides the reasons why the given layer was
|
||||||
|
// composited.
|
||||||
|
type CompositingReasonsParams struct {
|
||||||
|
LayerID LayerID `json:"layerId"` // The id of the layer for which we want to get the reasons it was composited.
|
||||||
|
}
|
||||||
|
|
||||||
|
// CompositingReasons provides the reasons why the given layer was
|
||||||
|
// composited.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// layerId - The id of the layer for which we want to get the reasons it was composited.
|
||||||
|
func CompositingReasons(layerId LayerID) *CompositingReasonsParams {
|
||||||
|
return &CompositingReasonsParams{
|
||||||
|
LayerID: layerId,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// CompositingReasonsReturns return values.
|
||||||
|
type CompositingReasonsReturns struct {
|
||||||
|
CompositingReasons []string `json:"compositingReasons,omitempty"` // A list of strings specifying reasons for the given layer to become composited.
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes LayerTree.compositingReasons.
|
||||||
|
//
|
||||||
|
// returns:
|
||||||
|
// compositingReasons - A list of strings specifying reasons for the given layer to become composited.
|
||||||
|
func (p *CompositingReasonsParams) Do(ctxt context.Context, h FrameHandler) (compositingReasons []string, 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, CommandLayerTreeCompositingReasons, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return nil, ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
// unmarshal
|
||||||
|
var r CompositingReasonsReturns
|
||||||
|
err = easyjson.Unmarshal(v, &r)
|
||||||
|
if err != nil {
|
||||||
|
return nil, ErrInvalidResult
|
||||||
|
}
|
||||||
|
|
||||||
|
return r.CompositingReasons, nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return nil, v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return nil, ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil, ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// MakeSnapshotParams returns the layer snapshot identifier.
|
||||||
|
type MakeSnapshotParams struct {
|
||||||
|
LayerID LayerID `json:"layerId"` // The id of the layer.
|
||||||
|
}
|
||||||
|
|
||||||
|
// MakeSnapshot returns the layer snapshot identifier.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// layerId - The id of the layer.
|
||||||
|
func MakeSnapshot(layerId LayerID) *MakeSnapshotParams {
|
||||||
|
return &MakeSnapshotParams{
|
||||||
|
LayerID: layerId,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// MakeSnapshotReturns return values.
|
||||||
|
type MakeSnapshotReturns struct {
|
||||||
|
SnapshotID SnapshotID `json:"snapshotId,omitempty"` // The id of the layer snapshot.
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes LayerTree.makeSnapshot.
|
||||||
|
//
|
||||||
|
// returns:
|
||||||
|
// snapshotId - The id of the layer snapshot.
|
||||||
|
func (p *MakeSnapshotParams) Do(ctxt context.Context, h FrameHandler) (snapshotId SnapshotID, err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandLayerTreeMakeSnapshot, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return "", ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
// unmarshal
|
||||||
|
var r MakeSnapshotReturns
|
||||||
|
err = easyjson.Unmarshal(v, &r)
|
||||||
|
if err != nil {
|
||||||
|
return "", ErrInvalidResult
|
||||||
|
}
|
||||||
|
|
||||||
|
return r.SnapshotID, nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return "", v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return "", ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return "", ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// LoadSnapshotParams returns the snapshot identifier.
|
||||||
|
type LoadSnapshotParams struct {
|
||||||
|
Tiles []*PictureTile `json:"tiles"` // An array of tiles composing the snapshot.
|
||||||
|
}
|
||||||
|
|
||||||
|
// LoadSnapshot returns the snapshot identifier.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// tiles - An array of tiles composing the snapshot.
|
||||||
|
func LoadSnapshot(tiles []*PictureTile) *LoadSnapshotParams {
|
||||||
|
return &LoadSnapshotParams{
|
||||||
|
Tiles: tiles,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// LoadSnapshotReturns return values.
|
||||||
|
type LoadSnapshotReturns struct {
|
||||||
|
SnapshotID SnapshotID `json:"snapshotId,omitempty"` // The id of the snapshot.
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes LayerTree.loadSnapshot.
|
||||||
|
//
|
||||||
|
// returns:
|
||||||
|
// snapshotId - The id of the snapshot.
|
||||||
|
func (p *LoadSnapshotParams) Do(ctxt context.Context, h FrameHandler) (snapshotId SnapshotID, err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandLayerTreeLoadSnapshot, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return "", ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
// unmarshal
|
||||||
|
var r LoadSnapshotReturns
|
||||||
|
err = easyjson.Unmarshal(v, &r)
|
||||||
|
if err != nil {
|
||||||
|
return "", ErrInvalidResult
|
||||||
|
}
|
||||||
|
|
||||||
|
return r.SnapshotID, nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return "", v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return "", ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return "", ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// ReleaseSnapshotParams releases layer snapshot captured by the back-end.
|
||||||
|
type ReleaseSnapshotParams struct {
|
||||||
|
SnapshotID SnapshotID `json:"snapshotId"` // The id of the layer snapshot.
|
||||||
|
}
|
||||||
|
|
||||||
|
// ReleaseSnapshot releases layer snapshot captured by the back-end.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// snapshotId - The id of the layer snapshot.
|
||||||
|
func ReleaseSnapshot(snapshotId SnapshotID) *ReleaseSnapshotParams {
|
||||||
|
return &ReleaseSnapshotParams{
|
||||||
|
SnapshotID: snapshotId,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes LayerTree.releaseSnapshot.
|
||||||
|
func (p *ReleaseSnapshotParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandLayerTreeReleaseSnapshot, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
type ProfileSnapshotParams struct {
|
||||||
|
SnapshotID SnapshotID `json:"snapshotId"` // The id of the layer snapshot.
|
||||||
|
MinRepeatCount int64 `json:"minRepeatCount,omitempty"` // The maximum number of times to replay the snapshot (1, if not specified).
|
||||||
|
MinDuration float64 `json:"minDuration,omitempty"` // The minimum duration (in seconds) to replay the snapshot.
|
||||||
|
ClipRect *dom.Rect `json:"clipRect,omitempty"` // The clip rectangle to apply when replaying the snapshot.
|
||||||
|
}
|
||||||
|
|
||||||
|
// parameters:
|
||||||
|
// snapshotId - The id of the layer snapshot.
|
||||||
|
func ProfileSnapshot(snapshotId SnapshotID) *ProfileSnapshotParams {
|
||||||
|
return &ProfileSnapshotParams{
|
||||||
|
SnapshotID: snapshotId,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithMinRepeatCount the maximum number of times to replay the snapshot (1,
|
||||||
|
// if not specified).
|
||||||
|
func (p ProfileSnapshotParams) WithMinRepeatCount(minRepeatCount int64) *ProfileSnapshotParams {
|
||||||
|
p.MinRepeatCount = minRepeatCount
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithMinDuration the minimum duration (in seconds) to replay the snapshot.
|
||||||
|
func (p ProfileSnapshotParams) WithMinDuration(minDuration float64) *ProfileSnapshotParams {
|
||||||
|
p.MinDuration = minDuration
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithClipRect the clip rectangle to apply when replaying the snapshot.
|
||||||
|
func (p ProfileSnapshotParams) WithClipRect(clipRect *dom.Rect) *ProfileSnapshotParams {
|
||||||
|
p.ClipRect = clipRect
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// ProfileSnapshotReturns return values.
|
||||||
|
type ProfileSnapshotReturns struct {
|
||||||
|
Timings []PaintProfile `json:"timings,omitempty"` // The array of paint profiles, one per run.
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes LayerTree.profileSnapshot.
|
||||||
|
//
|
||||||
|
// returns:
|
||||||
|
// timings - The array of paint profiles, one per run.
|
||||||
|
func (p *ProfileSnapshotParams) Do(ctxt context.Context, h FrameHandler) (timings []PaintProfile, 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, CommandLayerTreeProfileSnapshot, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return nil, ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
// unmarshal
|
||||||
|
var r ProfileSnapshotReturns
|
||||||
|
err = easyjson.Unmarshal(v, &r)
|
||||||
|
if err != nil {
|
||||||
|
return nil, ErrInvalidResult
|
||||||
|
}
|
||||||
|
|
||||||
|
return r.Timings, nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return nil, v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return nil, ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil, ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// ReplaySnapshotParams replays the layer snapshot and returns the resulting
|
||||||
|
// bitmap.
|
||||||
|
type ReplaySnapshotParams struct {
|
||||||
|
SnapshotID SnapshotID `json:"snapshotId"` // The id of the layer snapshot.
|
||||||
|
FromStep int64 `json:"fromStep,omitempty"` // The first step to replay from (replay from the very start if not specified).
|
||||||
|
ToStep int64 `json:"toStep,omitempty"` // The last step to replay to (replay till the end if not specified).
|
||||||
|
Scale float64 `json:"scale,omitempty"` // The scale to apply while replaying (defaults to 1).
|
||||||
|
}
|
||||||
|
|
||||||
|
// ReplaySnapshot replays the layer snapshot and returns the resulting
|
||||||
|
// bitmap.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// snapshotId - The id of the layer snapshot.
|
||||||
|
func ReplaySnapshot(snapshotId SnapshotID) *ReplaySnapshotParams {
|
||||||
|
return &ReplaySnapshotParams{
|
||||||
|
SnapshotID: snapshotId,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithFromStep the first step to replay from (replay from the very start if
|
||||||
|
// not specified).
|
||||||
|
func (p ReplaySnapshotParams) WithFromStep(fromStep int64) *ReplaySnapshotParams {
|
||||||
|
p.FromStep = fromStep
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithToStep the last step to replay to (replay till the end if not
|
||||||
|
// specified).
|
||||||
|
func (p ReplaySnapshotParams) WithToStep(toStep int64) *ReplaySnapshotParams {
|
||||||
|
p.ToStep = toStep
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithScale the scale to apply while replaying (defaults to 1).
|
||||||
|
func (p ReplaySnapshotParams) WithScale(scale float64) *ReplaySnapshotParams {
|
||||||
|
p.Scale = scale
|
||||||
|
return &p
|
||||||
|
}
|
||||||
|
|
||||||
|
// ReplaySnapshotReturns return values.
|
||||||
|
type ReplaySnapshotReturns struct {
|
||||||
|
DataURL string `json:"dataURL,omitempty"` // A data: URL for resulting image.
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes LayerTree.replaySnapshot.
|
||||||
|
//
|
||||||
|
// returns:
|
||||||
|
// dataURL - A data: URL for resulting image.
|
||||||
|
func (p *ReplaySnapshotParams) Do(ctxt context.Context, h FrameHandler) (dataURL string, err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandLayerTreeReplaySnapshot, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return "", ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
// unmarshal
|
||||||
|
var r ReplaySnapshotReturns
|
||||||
|
err = easyjson.Unmarshal(v, &r)
|
||||||
|
if err != nil {
|
||||||
|
return "", ErrInvalidResult
|
||||||
|
}
|
||||||
|
|
||||||
|
return r.DataURL, nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return "", v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return "", ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return "", ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// SnapshotCommandLogParams replays the layer snapshot and returns canvas
|
||||||
|
// log.
|
||||||
|
type SnapshotCommandLogParams struct {
|
||||||
|
SnapshotID SnapshotID `json:"snapshotId"` // The id of the layer snapshot.
|
||||||
|
}
|
||||||
|
|
||||||
|
// SnapshotCommandLog replays the layer snapshot and returns canvas log.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// snapshotId - The id of the layer snapshot.
|
||||||
|
func SnapshotCommandLog(snapshotId SnapshotID) *SnapshotCommandLogParams {
|
||||||
|
return &SnapshotCommandLogParams{
|
||||||
|
SnapshotID: snapshotId,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SnapshotCommandLogReturns return values.
|
||||||
|
type SnapshotCommandLogReturns struct {
|
||||||
|
CommandLog []easyjson.RawMessage `json:"commandLog,omitempty"` // The array of canvas function calls.
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes LayerTree.snapshotCommandLog.
|
||||||
|
//
|
||||||
|
// returns:
|
||||||
|
// commandLog - The array of canvas function calls.
|
||||||
|
func (p *SnapshotCommandLogParams) Do(ctxt context.Context, h FrameHandler) (commandLog []easyjson.RawMessage, 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, CommandLayerTreeSnapshotCommandLog, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return nil, ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
// unmarshal
|
||||||
|
var r SnapshotCommandLogReturns
|
||||||
|
err = easyjson.Unmarshal(v, &r)
|
||||||
|
if err != nil {
|
||||||
|
return nil, ErrInvalidResult
|
||||||
|
}
|
||||||
|
|
||||||
|
return r.CommandLog, nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return nil, v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return nil, ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil, ErrUnknownResult
|
||||||
|
}
|
130
cdp/layertree/types.go
Normal file
130
cdp/layertree/types.go
Normal file
|
@ -0,0 +1,130 @@
|
||||||
|
package layertree
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
"errors"
|
||||||
|
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
"github.com/knq/chromedp/cdp/dom"
|
||||||
|
"github.com/mailru/easyjson"
|
||||||
|
"github.com/mailru/easyjson/jlexer"
|
||||||
|
"github.com/mailru/easyjson/jwriter"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// LayerID unique Layer identifier.
|
||||||
|
type LayerID string
|
||||||
|
|
||||||
|
// String returns the LayerID as string value.
|
||||||
|
func (t LayerID) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// SnapshotID unique snapshot identifier.
|
||||||
|
type SnapshotID string
|
||||||
|
|
||||||
|
// String returns the SnapshotID as string value.
|
||||||
|
func (t SnapshotID) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ScrollRect rectangle where scrolling happens on the main thread.
|
||||||
|
type ScrollRect struct {
|
||||||
|
Rect *dom.Rect `json:"rect,omitempty"` // Rectangle itself.
|
||||||
|
Type ScrollRectType `json:"type,omitempty"` // Reason for rectangle to force scrolling on the main thread
|
||||||
|
}
|
||||||
|
|
||||||
|
// PictureTile serialized fragment of layer picture along with its offset
|
||||||
|
// within the layer.
|
||||||
|
type PictureTile struct {
|
||||||
|
X float64 `json:"x,omitempty"` // Offset from owning layer left boundary
|
||||||
|
Y float64 `json:"y,omitempty"` // Offset from owning layer top boundary
|
||||||
|
Picture string `json:"picture,omitempty"` // Base64-encoded snapshot data.
|
||||||
|
}
|
||||||
|
|
||||||
|
// Layer information about a compositing layer.
|
||||||
|
type Layer struct {
|
||||||
|
LayerID LayerID `json:"layerId,omitempty"` // The unique id for this layer.
|
||||||
|
ParentLayerID LayerID `json:"parentLayerId,omitempty"` // The id of parent (not present for root).
|
||||||
|
BackendNodeID BackendNodeID `json:"backendNodeId,omitempty"` // The backend id for the node associated with this layer.
|
||||||
|
OffsetX float64 `json:"offsetX,omitempty"` // Offset from parent layer, X coordinate.
|
||||||
|
OffsetY float64 `json:"offsetY,omitempty"` // Offset from parent layer, Y coordinate.
|
||||||
|
Width float64 `json:"width,omitempty"` // Layer width.
|
||||||
|
Height float64 `json:"height,omitempty"` // Layer height.
|
||||||
|
Transform []float64 `json:"transform,omitempty"` // Transformation matrix for layer, default is identity matrix
|
||||||
|
AnchorX float64 `json:"anchorX,omitempty"` // Transform anchor point X, absent if no transform specified
|
||||||
|
AnchorY float64 `json:"anchorY,omitempty"` // Transform anchor point Y, absent if no transform specified
|
||||||
|
AnchorZ float64 `json:"anchorZ,omitempty"` // Transform anchor point Z, absent if no transform specified
|
||||||
|
PaintCount int64 `json:"paintCount,omitempty"` // Indicates how many time this layer has painted.
|
||||||
|
DrawsContent bool `json:"drawsContent,omitempty"` // Indicates whether this layer hosts any content, rather than being used for transform/scrolling purposes only.
|
||||||
|
Invisible bool `json:"invisible,omitempty"` // Set if layer is not visible.
|
||||||
|
ScrollRects []*ScrollRect `json:"scrollRects,omitempty"` // Rectangles scrolling on main thread only.
|
||||||
|
}
|
||||||
|
|
||||||
|
// PaintProfile array of timings, one per paint step.
|
||||||
|
type PaintProfile []float64
|
||||||
|
|
||||||
|
// ScrollRectType reason for rectangle to force scrolling on the main thread.
|
||||||
|
type ScrollRectType string
|
||||||
|
|
||||||
|
// String returns the ScrollRectType as string value.
|
||||||
|
func (t ScrollRectType) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ScrollRectType values.
|
||||||
|
const (
|
||||||
|
ScrollRectTypeRepaintsOnScroll ScrollRectType = "RepaintsOnScroll"
|
||||||
|
ScrollRectTypeTouchEventHandler ScrollRectType = "TouchEventHandler"
|
||||||
|
ScrollRectTypeWheelEventHandler ScrollRectType = "WheelEventHandler"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t ScrollRectType) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t ScrollRectType) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *ScrollRectType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch ScrollRectType(in.String()) {
|
||||||
|
case ScrollRectTypeRepaintsOnScroll:
|
||||||
|
*t = ScrollRectTypeRepaintsOnScroll
|
||||||
|
case ScrollRectTypeTouchEventHandler:
|
||||||
|
*t = ScrollRectTypeTouchEventHandler
|
||||||
|
case ScrollRectTypeWheelEventHandler:
|
||||||
|
*t = ScrollRectTypeWheelEventHandler
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown ScrollRectType value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *ScrollRectType) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
685
cdp/log/easyjson.go
Normal file
685
cdp/log/easyjson.go
Normal file
|
@ -0,0 +1,685 @@
|
||||||
|
// AUTOGENERATED FILE: easyjson marshaler/unmarshalers.
|
||||||
|
|
||||||
|
package log
|
||||||
|
|
||||||
|
import (
|
||||||
|
json "encoding/json"
|
||||||
|
network "github.com/knq/chromedp/cdp/network"
|
||||||
|
runtime "github.com/knq/chromedp/cdp/runtime"
|
||||||
|
easyjson "github.com/mailru/easyjson"
|
||||||
|
jlexer "github.com/mailru/easyjson/jlexer"
|
||||||
|
jwriter "github.com/mailru/easyjson/jwriter"
|
||||||
|
)
|
||||||
|
|
||||||
|
// suppress unused package warning
|
||||||
|
var (
|
||||||
|
_ *json.RawMessage
|
||||||
|
_ *jlexer.Lexer
|
||||||
|
_ *jwriter.Writer
|
||||||
|
_ easyjson.Marshaler
|
||||||
|
)
|
||||||
|
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLog(in *jlexer.Lexer, out *ViolationSetting) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "name":
|
||||||
|
(out.Name).UnmarshalEasyJSON(in)
|
||||||
|
case "threshold":
|
||||||
|
out.Threshold = float64(in.Float64())
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLog(out *jwriter.Writer, in ViolationSetting) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if in.Name != "" {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"name\":")
|
||||||
|
(in.Name).MarshalEasyJSON(out)
|
||||||
|
}
|
||||||
|
if in.Threshold != 0 {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"threshold\":")
|
||||||
|
out.Float64(float64(in.Threshold))
|
||||||
|
}
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v ViolationSetting) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLog(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v ViolationSetting) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLog(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *ViolationSetting) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLog(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *ViolationSetting) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLog(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLog1(in *jlexer.Lexer, out *StopViolationsReportParams) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLog1(out *jwriter.Writer, in StopViolationsReportParams) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v StopViolationsReportParams) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLog1(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v StopViolationsReportParams) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLog1(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *StopViolationsReportParams) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLog1(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *StopViolationsReportParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLog1(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLog2(in *jlexer.Lexer, out *StartViolationsReportParams) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "config":
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
out.Config = nil
|
||||||
|
} else {
|
||||||
|
in.Delim('[')
|
||||||
|
if !in.IsDelim(']') {
|
||||||
|
out.Config = make([]*ViolationSetting, 0, 8)
|
||||||
|
} else {
|
||||||
|
out.Config = []*ViolationSetting{}
|
||||||
|
}
|
||||||
|
for !in.IsDelim(']') {
|
||||||
|
var v1 *ViolationSetting
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
v1 = nil
|
||||||
|
} else {
|
||||||
|
if v1 == nil {
|
||||||
|
v1 = new(ViolationSetting)
|
||||||
|
}
|
||||||
|
(*v1).UnmarshalEasyJSON(in)
|
||||||
|
}
|
||||||
|
out.Config = append(out.Config, v1)
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim(']')
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLog2(out *jwriter.Writer, in StartViolationsReportParams) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"config\":")
|
||||||
|
if in.Config == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 {
|
||||||
|
out.RawString("null")
|
||||||
|
} else {
|
||||||
|
out.RawByte('[')
|
||||||
|
for v2, v3 := range in.Config {
|
||||||
|
if v2 > 0 {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
if v3 == nil {
|
||||||
|
out.RawString("null")
|
||||||
|
} else {
|
||||||
|
(*v3).MarshalEasyJSON(out)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
out.RawByte(']')
|
||||||
|
}
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v StartViolationsReportParams) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLog2(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v StartViolationsReportParams) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLog2(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *StartViolationsReportParams) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLog2(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *StartViolationsReportParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLog2(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLog3(in *jlexer.Lexer, out *LogEntry) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "source":
|
||||||
|
(out.Source).UnmarshalEasyJSON(in)
|
||||||
|
case "level":
|
||||||
|
(out.Level).UnmarshalEasyJSON(in)
|
||||||
|
case "text":
|
||||||
|
out.Text = string(in.String())
|
||||||
|
case "timestamp":
|
||||||
|
(out.Timestamp).UnmarshalEasyJSON(in)
|
||||||
|
case "url":
|
||||||
|
out.URL = string(in.String())
|
||||||
|
case "lineNumber":
|
||||||
|
out.LineNumber = int64(in.Int64())
|
||||||
|
case "stackTrace":
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
out.StackTrace = nil
|
||||||
|
} else {
|
||||||
|
if out.StackTrace == nil {
|
||||||
|
out.StackTrace = new(runtime.StackTrace)
|
||||||
|
}
|
||||||
|
(*out.StackTrace).UnmarshalEasyJSON(in)
|
||||||
|
}
|
||||||
|
case "networkRequestId":
|
||||||
|
out.NetworkRequestID = network.RequestID(in.String())
|
||||||
|
case "workerId":
|
||||||
|
out.WorkerID = string(in.String())
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLog3(out *jwriter.Writer, in LogEntry) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if in.Source != "" {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"source\":")
|
||||||
|
(in.Source).MarshalEasyJSON(out)
|
||||||
|
}
|
||||||
|
if in.Level != "" {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"level\":")
|
||||||
|
(in.Level).MarshalEasyJSON(out)
|
||||||
|
}
|
||||||
|
if in.Text != "" {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"text\":")
|
||||||
|
out.String(string(in.Text))
|
||||||
|
}
|
||||||
|
if true {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"timestamp\":")
|
||||||
|
(in.Timestamp).MarshalEasyJSON(out)
|
||||||
|
}
|
||||||
|
if in.URL != "" {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"url\":")
|
||||||
|
out.String(string(in.URL))
|
||||||
|
}
|
||||||
|
if in.LineNumber != 0 {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"lineNumber\":")
|
||||||
|
out.Int64(int64(in.LineNumber))
|
||||||
|
}
|
||||||
|
if in.StackTrace != nil {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"stackTrace\":")
|
||||||
|
if in.StackTrace == nil {
|
||||||
|
out.RawString("null")
|
||||||
|
} else {
|
||||||
|
(*in.StackTrace).MarshalEasyJSON(out)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if in.NetworkRequestID != "" {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"networkRequestId\":")
|
||||||
|
out.String(string(in.NetworkRequestID))
|
||||||
|
}
|
||||||
|
if in.WorkerID != "" {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"workerId\":")
|
||||||
|
out.String(string(in.WorkerID))
|
||||||
|
}
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v LogEntry) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLog3(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v LogEntry) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLog3(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *LogEntry) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLog3(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *LogEntry) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLog3(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLog4(in *jlexer.Lexer, out *EventEntryAdded) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "entry":
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
out.Entry = nil
|
||||||
|
} else {
|
||||||
|
if out.Entry == nil {
|
||||||
|
out.Entry = new(LogEntry)
|
||||||
|
}
|
||||||
|
(*out.Entry).UnmarshalEasyJSON(in)
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLog4(out *jwriter.Writer, in EventEntryAdded) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if in.Entry != nil {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"entry\":")
|
||||||
|
if in.Entry == nil {
|
||||||
|
out.RawString("null")
|
||||||
|
} else {
|
||||||
|
(*in.Entry).MarshalEasyJSON(out)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v EventEntryAdded) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLog4(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v EventEntryAdded) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLog4(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *EventEntryAdded) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLog4(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *EventEntryAdded) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLog4(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLog5(in *jlexer.Lexer, out *EnableParams) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLog5(out *jwriter.Writer, in EnableParams) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v EnableParams) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLog5(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v EnableParams) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLog5(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *EnableParams) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLog5(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *EnableParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLog5(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLog6(in *jlexer.Lexer, out *DisableParams) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLog6(out *jwriter.Writer, in DisableParams) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v DisableParams) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLog6(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v DisableParams) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLog6(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *DisableParams) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLog6(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *DisableParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLog6(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLog7(in *jlexer.Lexer, out *ClearParams) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLog7(out *jwriter.Writer, in ClearParams) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v ClearParams) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLog7(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v ClearParams) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLog7(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *ClearParams) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLog7(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *ClearParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLog7(l, v)
|
||||||
|
}
|
37
cdp/log/events.go
Normal file
37
cdp/log/events.go
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
package log
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// EventEntryAdded issued when new message was logged.
|
||||||
|
type EventEntryAdded struct {
|
||||||
|
Entry *LogEntry `json:"entry,omitempty"` // The entry.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventTypes is all event types in the domain.
|
||||||
|
var EventTypes = []MethodType{
|
||||||
|
EventLogEntryAdded,
|
||||||
|
}
|
248
cdp/log/log.go
Normal file
248
cdp/log/log.go
Normal file
|
@ -0,0 +1,248 @@
|
||||||
|
// Package log provides the Chrome Debugging Protocol
|
||||||
|
// commands, types, and events for the Chrome Log domain.
|
||||||
|
//
|
||||||
|
// Provides access to log entries.
|
||||||
|
//
|
||||||
|
// Generated by the chromedp-gen command.
|
||||||
|
package log
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
"github.com/mailru/easyjson"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// EnableParams enables log domain, sends the entries collected so far to the
|
||||||
|
// client by means of the entryAdded notification.
|
||||||
|
type EnableParams struct{}
|
||||||
|
|
||||||
|
// Enable enables log domain, sends the entries collected so far to the
|
||||||
|
// client by means of the entryAdded notification.
|
||||||
|
func Enable() *EnableParams {
|
||||||
|
return &EnableParams{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Log.enable.
|
||||||
|
func (p *EnableParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandLogEnable, Empty)
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// DisableParams disables log domain, prevents further log entries from being
|
||||||
|
// reported to the client.
|
||||||
|
type DisableParams struct{}
|
||||||
|
|
||||||
|
// Disable disables log domain, prevents further log entries from being
|
||||||
|
// reported to the client.
|
||||||
|
func Disable() *DisableParams {
|
||||||
|
return &DisableParams{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Log.disable.
|
||||||
|
func (p *DisableParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandLogDisable, Empty)
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// ClearParams clears the log.
|
||||||
|
type ClearParams struct{}
|
||||||
|
|
||||||
|
// Clear clears the log.
|
||||||
|
func Clear() *ClearParams {
|
||||||
|
return &ClearParams{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Log.clear.
|
||||||
|
func (p *ClearParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandLogClear, Empty)
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// StartViolationsReportParams start violation reporting.
|
||||||
|
type StartViolationsReportParams struct {
|
||||||
|
Config []*ViolationSetting `json:"config"` // Configuration for violations.
|
||||||
|
}
|
||||||
|
|
||||||
|
// StartViolationsReport start violation reporting.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// config - Configuration for violations.
|
||||||
|
func StartViolationsReport(config []*ViolationSetting) *StartViolationsReportParams {
|
||||||
|
return &StartViolationsReportParams{
|
||||||
|
Config: config,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Log.startViolationsReport.
|
||||||
|
func (p *StartViolationsReportParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandLogStartViolationsReport, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// StopViolationsReportParams stop violation reporting.
|
||||||
|
type StopViolationsReportParams struct{}
|
||||||
|
|
||||||
|
// StopViolationsReport stop violation reporting.
|
||||||
|
func StopViolationsReport() *StopViolationsReportParams {
|
||||||
|
return &StopViolationsReportParams{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Log.stopViolationsReport.
|
||||||
|
func (p *StopViolationsReportParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandLogStopViolationsReport, Empty)
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
227
cdp/log/types.go
Normal file
227
cdp/log/types.go
Normal file
|
@ -0,0 +1,227 @@
|
||||||
|
package log
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
"errors"
|
||||||
|
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
"github.com/knq/chromedp/cdp/network"
|
||||||
|
"github.com/knq/chromedp/cdp/runtime"
|
||||||
|
"github.com/mailru/easyjson"
|
||||||
|
"github.com/mailru/easyjson/jlexer"
|
||||||
|
"github.com/mailru/easyjson/jwriter"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// LogEntry log entry.
|
||||||
|
type LogEntry struct {
|
||||||
|
Source Source `json:"source,omitempty"` // Log entry source.
|
||||||
|
Level Level `json:"level,omitempty"` // Log entry severity.
|
||||||
|
Text string `json:"text,omitempty"` // Logged text.
|
||||||
|
Timestamp Timestamp `json:"timestamp,omitempty"` // Timestamp when this entry was added.
|
||||||
|
URL string `json:"url,omitempty"` // URL of the resource if known.
|
||||||
|
LineNumber int64 `json:"lineNumber,omitempty"` // Line number in the resource.
|
||||||
|
StackTrace *runtime.StackTrace `json:"stackTrace,omitempty"` // JavaScript stack trace.
|
||||||
|
NetworkRequestID network.RequestID `json:"networkRequestId,omitempty"` // Identifier of the network request associated with this entry.
|
||||||
|
WorkerID string `json:"workerId,omitempty"` // Identifier of the worker associated with this entry.
|
||||||
|
}
|
||||||
|
|
||||||
|
// ViolationSetting violation configuration setting.
|
||||||
|
type ViolationSetting struct {
|
||||||
|
Name Violation `json:"name,omitempty"` // Violation type.
|
||||||
|
Threshold float64 `json:"threshold,omitempty"` // Time threshold to trigger upon.
|
||||||
|
}
|
||||||
|
|
||||||
|
// Source log entry source.
|
||||||
|
type Source string
|
||||||
|
|
||||||
|
// String returns the Source as string value.
|
||||||
|
func (t Source) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Source values.
|
||||||
|
const (
|
||||||
|
SourceXML Source = "xml"
|
||||||
|
SourceJavascript Source = "javascript"
|
||||||
|
SourceNetwork Source = "network"
|
||||||
|
SourceStorage Source = "storage"
|
||||||
|
SourceAppcache Source = "appcache"
|
||||||
|
SourceRendering Source = "rendering"
|
||||||
|
SourceSecurity Source = "security"
|
||||||
|
SourceDeprecation Source = "deprecation"
|
||||||
|
SourceWorker Source = "worker"
|
||||||
|
SourceViolation Source = "violation"
|
||||||
|
SourceIntervention Source = "intervention"
|
||||||
|
SourceOther Source = "other"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t Source) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t Source) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *Source) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch Source(in.String()) {
|
||||||
|
case SourceXML:
|
||||||
|
*t = SourceXML
|
||||||
|
case SourceJavascript:
|
||||||
|
*t = SourceJavascript
|
||||||
|
case SourceNetwork:
|
||||||
|
*t = SourceNetwork
|
||||||
|
case SourceStorage:
|
||||||
|
*t = SourceStorage
|
||||||
|
case SourceAppcache:
|
||||||
|
*t = SourceAppcache
|
||||||
|
case SourceRendering:
|
||||||
|
*t = SourceRendering
|
||||||
|
case SourceSecurity:
|
||||||
|
*t = SourceSecurity
|
||||||
|
case SourceDeprecation:
|
||||||
|
*t = SourceDeprecation
|
||||||
|
case SourceWorker:
|
||||||
|
*t = SourceWorker
|
||||||
|
case SourceViolation:
|
||||||
|
*t = SourceViolation
|
||||||
|
case SourceIntervention:
|
||||||
|
*t = SourceIntervention
|
||||||
|
case SourceOther:
|
||||||
|
*t = SourceOther
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown Source value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *Source) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Level log entry severity.
|
||||||
|
type Level string
|
||||||
|
|
||||||
|
// String returns the Level as string value.
|
||||||
|
func (t Level) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Level values.
|
||||||
|
const (
|
||||||
|
LevelVerbose Level = "verbose"
|
||||||
|
LevelInfo Level = "info"
|
||||||
|
LevelWarning Level = "warning"
|
||||||
|
LevelError Level = "error"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t Level) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t Level) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *Level) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch Level(in.String()) {
|
||||||
|
case LevelVerbose:
|
||||||
|
*t = LevelVerbose
|
||||||
|
case LevelInfo:
|
||||||
|
*t = LevelInfo
|
||||||
|
case LevelWarning:
|
||||||
|
*t = LevelWarning
|
||||||
|
case LevelError:
|
||||||
|
*t = LevelError
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown Level value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *Level) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Violation violation type.
|
||||||
|
type Violation string
|
||||||
|
|
||||||
|
// String returns the Violation as string value.
|
||||||
|
func (t Violation) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Violation values.
|
||||||
|
const (
|
||||||
|
ViolationLongTask Violation = "longTask"
|
||||||
|
ViolationLongLayout Violation = "longLayout"
|
||||||
|
ViolationBlockedEvent Violation = "blockedEvent"
|
||||||
|
ViolationBlockedParser Violation = "blockedParser"
|
||||||
|
ViolationHandler Violation = "handler"
|
||||||
|
ViolationRecurringHandler Violation = "recurringHandler"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t Violation) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t Violation) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *Violation) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch Violation(in.String()) {
|
||||||
|
case ViolationLongTask:
|
||||||
|
*t = ViolationLongTask
|
||||||
|
case ViolationLongLayout:
|
||||||
|
*t = ViolationLongLayout
|
||||||
|
case ViolationBlockedEvent:
|
||||||
|
*t = ViolationBlockedEvent
|
||||||
|
case ViolationBlockedParser:
|
||||||
|
*t = ViolationBlockedParser
|
||||||
|
case ViolationHandler:
|
||||||
|
*t = ViolationHandler
|
||||||
|
case ViolationRecurringHandler:
|
||||||
|
*t = ViolationRecurringHandler
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown Violation value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *Violation) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
301
cdp/memory/easyjson.go
Normal file
301
cdp/memory/easyjson.go
Normal file
|
@ -0,0 +1,301 @@
|
||||||
|
// AUTOGENERATED FILE: easyjson marshaler/unmarshalers.
|
||||||
|
|
||||||
|
package memory
|
||||||
|
|
||||||
|
import (
|
||||||
|
json "encoding/json"
|
||||||
|
easyjson "github.com/mailru/easyjson"
|
||||||
|
jlexer "github.com/mailru/easyjson/jlexer"
|
||||||
|
jwriter "github.com/mailru/easyjson/jwriter"
|
||||||
|
)
|
||||||
|
|
||||||
|
// suppress unused package warning
|
||||||
|
var (
|
||||||
|
_ *json.RawMessage
|
||||||
|
_ *jlexer.Lexer
|
||||||
|
_ *jwriter.Writer
|
||||||
|
_ easyjson.Marshaler
|
||||||
|
)
|
||||||
|
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpMemory(in *jlexer.Lexer, out *SimulatePressureNotificationParams) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "level":
|
||||||
|
(out.Level).UnmarshalEasyJSON(in)
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpMemory(out *jwriter.Writer, in SimulatePressureNotificationParams) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"level\":")
|
||||||
|
(in.Level).MarshalEasyJSON(out)
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v SimulatePressureNotificationParams) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpMemory(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v SimulatePressureNotificationParams) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpMemory(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *SimulatePressureNotificationParams) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpMemory(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *SimulatePressureNotificationParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpMemory(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpMemory1(in *jlexer.Lexer, out *SetPressureNotificationsSuppressedParams) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "suppressed":
|
||||||
|
out.Suppressed = bool(in.Bool())
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpMemory1(out *jwriter.Writer, in SetPressureNotificationsSuppressedParams) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"suppressed\":")
|
||||||
|
out.Bool(bool(in.Suppressed))
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v SetPressureNotificationsSuppressedParams) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpMemory1(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v SetPressureNotificationsSuppressedParams) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpMemory1(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *SetPressureNotificationsSuppressedParams) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpMemory1(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *SetPressureNotificationsSuppressedParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpMemory1(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpMemory2(in *jlexer.Lexer, out *GetDOMCountersReturns) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "documents":
|
||||||
|
out.Documents = int64(in.Int64())
|
||||||
|
case "nodes":
|
||||||
|
out.Nodes = int64(in.Int64())
|
||||||
|
case "jsEventListeners":
|
||||||
|
out.JsEventListeners = int64(in.Int64())
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpMemory2(out *jwriter.Writer, in GetDOMCountersReturns) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if in.Documents != 0 {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"documents\":")
|
||||||
|
out.Int64(int64(in.Documents))
|
||||||
|
}
|
||||||
|
if in.Nodes != 0 {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"nodes\":")
|
||||||
|
out.Int64(int64(in.Nodes))
|
||||||
|
}
|
||||||
|
if in.JsEventListeners != 0 {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"jsEventListeners\":")
|
||||||
|
out.Int64(int64(in.JsEventListeners))
|
||||||
|
}
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v GetDOMCountersReturns) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpMemory2(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v GetDOMCountersReturns) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpMemory2(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *GetDOMCountersReturns) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpMemory2(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *GetDOMCountersReturns) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpMemory2(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpMemory3(in *jlexer.Lexer, out *GetDOMCountersParams) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpMemory3(out *jwriter.Writer, in GetDOMCountersParams) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v GetDOMCountersParams) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpMemory3(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v GetDOMCountersParams) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpMemory3(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *GetDOMCountersParams) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpMemory3(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *GetDOMCountersParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpMemory3(l, v)
|
||||||
|
}
|
198
cdp/memory/memory.go
Normal file
198
cdp/memory/memory.go
Normal file
|
@ -0,0 +1,198 @@
|
||||||
|
// Package memory provides the Chrome Debugging Protocol
|
||||||
|
// commands, types, and events for the Chrome Memory domain.
|
||||||
|
//
|
||||||
|
// Generated by the chromedp-gen command.
|
||||||
|
package memory
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
"github.com/mailru/easyjson"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
type GetDOMCountersParams struct{}
|
||||||
|
|
||||||
|
func GetDOMCounters() *GetDOMCountersParams {
|
||||||
|
return &GetDOMCountersParams{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetDOMCountersReturns return values.
|
||||||
|
type GetDOMCountersReturns struct {
|
||||||
|
Documents int64 `json:"documents,omitempty"`
|
||||||
|
Nodes int64 `json:"nodes,omitempty"`
|
||||||
|
JsEventListeners int64 `json:"jsEventListeners,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Memory.getDOMCounters.
|
||||||
|
//
|
||||||
|
// returns:
|
||||||
|
// documents
|
||||||
|
// nodes
|
||||||
|
// jsEventListeners
|
||||||
|
func (p *GetDOMCountersParams) Do(ctxt context.Context, h FrameHandler) (documents int64, nodes int64, jsEventListeners int64, err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandMemoryGetDOMCounters, Empty)
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return 0, 0, 0, ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
// unmarshal
|
||||||
|
var r GetDOMCountersReturns
|
||||||
|
err = easyjson.Unmarshal(v, &r)
|
||||||
|
if err != nil {
|
||||||
|
return 0, 0, 0, ErrInvalidResult
|
||||||
|
}
|
||||||
|
|
||||||
|
return r.Documents, r.Nodes, r.JsEventListeners, nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return 0, 0, 0, v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return 0, 0, 0, ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0, 0, 0, ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetPressureNotificationsSuppressedParams enable/disable suppressing memory
|
||||||
|
// pressure notifications in all processes.
|
||||||
|
type SetPressureNotificationsSuppressedParams struct {
|
||||||
|
Suppressed bool `json:"suppressed"` // If true, memory pressure notifications will be suppressed.
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetPressureNotificationsSuppressed enable/disable suppressing memory
|
||||||
|
// pressure notifications in all processes.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// suppressed - If true, memory pressure notifications will be suppressed.
|
||||||
|
func SetPressureNotificationsSuppressed(suppressed bool) *SetPressureNotificationsSuppressedParams {
|
||||||
|
return &SetPressureNotificationsSuppressedParams{
|
||||||
|
Suppressed: suppressed,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Memory.setPressureNotificationsSuppressed.
|
||||||
|
func (p *SetPressureNotificationsSuppressedParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandMemorySetPressureNotificationsSuppressed, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// SimulatePressureNotificationParams simulate a memory pressure notification
|
||||||
|
// in all processes.
|
||||||
|
type SimulatePressureNotificationParams struct {
|
||||||
|
Level PressureLevel `json:"level"` // Memory pressure level of the notification.
|
||||||
|
}
|
||||||
|
|
||||||
|
// SimulatePressureNotification simulate a memory pressure notification in
|
||||||
|
// all processes.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// level - Memory pressure level of the notification.
|
||||||
|
func SimulatePressureNotification(level PressureLevel) *SimulatePressureNotificationParams {
|
||||||
|
return &SimulatePressureNotificationParams{
|
||||||
|
Level: level,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Memory.simulatePressureNotification.
|
||||||
|
func (p *SimulatePressureNotificationParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandMemorySimulatePressureNotification, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
74
cdp/memory/types.go
Normal file
74
cdp/memory/types.go
Normal file
|
@ -0,0 +1,74 @@
|
||||||
|
package memory
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
"errors"
|
||||||
|
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
"github.com/mailru/easyjson"
|
||||||
|
"github.com/mailru/easyjson/jlexer"
|
||||||
|
"github.com/mailru/easyjson/jwriter"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// PressureLevel memory pressure level.
|
||||||
|
type PressureLevel string
|
||||||
|
|
||||||
|
// String returns the PressureLevel as string value.
|
||||||
|
func (t PressureLevel) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// PressureLevel values.
|
||||||
|
const (
|
||||||
|
PressureLevelModerate PressureLevel = "moderate"
|
||||||
|
PressureLevelCritical PressureLevel = "critical"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t PressureLevel) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t PressureLevel) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *PressureLevel) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch PressureLevel(in.String()) {
|
||||||
|
case PressureLevelModerate:
|
||||||
|
*t = PressureLevelModerate
|
||||||
|
case PressureLevelCritical:
|
||||||
|
*t = PressureLevelCritical
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown PressureLevel value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *PressureLevel) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
5698
cdp/network/easyjson.go
Normal file
5698
cdp/network/easyjson.go
Normal file
File diff suppressed because it is too large
Load Diff
170
cdp/network/events.go
Normal file
170
cdp/network/events.go
Normal file
|
@ -0,0 +1,170 @@
|
||||||
|
package network
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
"github.com/knq/chromedp/cdp/page"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// EventResourceChangedPriority fired when resource loading priority is
|
||||||
|
// changed.
|
||||||
|
type EventResourceChangedPriority struct {
|
||||||
|
RequestID RequestID `json:"requestId,omitempty"` // Request identifier.
|
||||||
|
NewPriority ResourcePriority `json:"newPriority,omitempty"` // New priority
|
||||||
|
Timestamp Timestamp `json:"timestamp,omitempty"` // Timestamp.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventRequestWillBeSent fired when page is about to send HTTP request.
|
||||||
|
type EventRequestWillBeSent struct {
|
||||||
|
RequestID RequestID `json:"requestId,omitempty"` // Request identifier.
|
||||||
|
FrameID FrameID `json:"frameId,omitempty"` // Frame identifier.
|
||||||
|
LoaderID LoaderID `json:"loaderId,omitempty"` // Loader identifier.
|
||||||
|
DocumentURL string `json:"documentURL,omitempty"` // URL of the document this request is loaded for.
|
||||||
|
Request *Request `json:"request,omitempty"` // Request data.
|
||||||
|
Timestamp Timestamp `json:"timestamp,omitempty"` // Timestamp.
|
||||||
|
WallTime Timestamp `json:"wallTime,omitempty"` // UTC Timestamp.
|
||||||
|
Initiator *Initiator `json:"initiator,omitempty"` // Request initiator.
|
||||||
|
RedirectResponse *Response `json:"redirectResponse,omitempty"` // Redirect response data.
|
||||||
|
Type page.ResourceType `json:"type,omitempty"` // Type of this resource.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventRequestServedFromCache fired if request ended up loading from cache.
|
||||||
|
type EventRequestServedFromCache struct {
|
||||||
|
RequestID RequestID `json:"requestId,omitempty"` // Request identifier.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventResponseReceived fired when HTTP response is available.
|
||||||
|
type EventResponseReceived struct {
|
||||||
|
RequestID RequestID `json:"requestId,omitempty"` // Request identifier.
|
||||||
|
FrameID FrameID `json:"frameId,omitempty"` // Frame identifier.
|
||||||
|
LoaderID LoaderID `json:"loaderId,omitempty"` // Loader identifier.
|
||||||
|
Timestamp Timestamp `json:"timestamp,omitempty"` // Timestamp.
|
||||||
|
Type page.ResourceType `json:"type,omitempty"` // Resource type.
|
||||||
|
Response *Response `json:"response,omitempty"` // Response data.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventDataReceived fired when data chunk was received over the network.
|
||||||
|
type EventDataReceived struct {
|
||||||
|
RequestID RequestID `json:"requestId,omitempty"` // Request identifier.
|
||||||
|
Timestamp Timestamp `json:"timestamp,omitempty"` // Timestamp.
|
||||||
|
DataLength int64 `json:"dataLength,omitempty"` // Data chunk length.
|
||||||
|
EncodedDataLength int64 `json:"encodedDataLength,omitempty"` // Actual bytes received (might be less than dataLength for compressed encodings).
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventLoadingFinished fired when HTTP request has finished loading.
|
||||||
|
type EventLoadingFinished struct {
|
||||||
|
RequestID RequestID `json:"requestId,omitempty"` // Request identifier.
|
||||||
|
Timestamp Timestamp `json:"timestamp,omitempty"` // Timestamp.
|
||||||
|
EncodedDataLength float64 `json:"encodedDataLength,omitempty"` // Total number of bytes received for this request.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventLoadingFailed fired when HTTP request has failed to load.
|
||||||
|
type EventLoadingFailed struct {
|
||||||
|
RequestID RequestID `json:"requestId,omitempty"` // Request identifier.
|
||||||
|
Timestamp Timestamp `json:"timestamp,omitempty"` // Timestamp.
|
||||||
|
Type page.ResourceType `json:"type,omitempty"` // Resource type.
|
||||||
|
ErrorText string `json:"errorText,omitempty"` // User friendly error message.
|
||||||
|
Canceled bool `json:"canceled,omitempty"` // True if loading was canceled.
|
||||||
|
BlockedReason BlockedReason `json:"blockedReason,omitempty"` // The reason why loading was blocked, if any.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventWebSocketWillSendHandshakeRequest fired when WebSocket is about to
|
||||||
|
// initiate handshake.
|
||||||
|
type EventWebSocketWillSendHandshakeRequest struct {
|
||||||
|
RequestID RequestID `json:"requestId,omitempty"` // Request identifier.
|
||||||
|
Timestamp Timestamp `json:"timestamp,omitempty"` // Timestamp.
|
||||||
|
WallTime Timestamp `json:"wallTime,omitempty"` // UTC Timestamp.
|
||||||
|
Request *WebSocketRequest `json:"request,omitempty"` // WebSocket request data.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventWebSocketHandshakeResponseReceived fired when WebSocket handshake
|
||||||
|
// response becomes available.
|
||||||
|
type EventWebSocketHandshakeResponseReceived struct {
|
||||||
|
RequestID RequestID `json:"requestId,omitempty"` // Request identifier.
|
||||||
|
Timestamp Timestamp `json:"timestamp,omitempty"` // Timestamp.
|
||||||
|
Response *WebSocketResponse `json:"response,omitempty"` // WebSocket response data.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventWebSocketCreated fired upon WebSocket creation.
|
||||||
|
type EventWebSocketCreated struct {
|
||||||
|
RequestID RequestID `json:"requestId,omitempty"` // Request identifier.
|
||||||
|
URL string `json:"url,omitempty"` // WebSocket request URL.
|
||||||
|
Initiator *Initiator `json:"initiator,omitempty"` // Request initiator.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventWebSocketClosed fired when WebSocket is closed.
|
||||||
|
type EventWebSocketClosed struct {
|
||||||
|
RequestID RequestID `json:"requestId,omitempty"` // Request identifier.
|
||||||
|
Timestamp Timestamp `json:"timestamp,omitempty"` // Timestamp.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventWebSocketFrameReceived fired when WebSocket frame is received.
|
||||||
|
type EventWebSocketFrameReceived struct {
|
||||||
|
RequestID RequestID `json:"requestId,omitempty"` // Request identifier.
|
||||||
|
Timestamp Timestamp `json:"timestamp,omitempty"` // Timestamp.
|
||||||
|
Response *WebSocketFrame `json:"response,omitempty"` // WebSocket response data.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventWebSocketFrameError fired when WebSocket frame error occurs.
|
||||||
|
type EventWebSocketFrameError struct {
|
||||||
|
RequestID RequestID `json:"requestId,omitempty"` // Request identifier.
|
||||||
|
Timestamp Timestamp `json:"timestamp,omitempty"` // Timestamp.
|
||||||
|
ErrorMessage string `json:"errorMessage,omitempty"` // WebSocket frame error message.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventWebSocketFrameSent fired when WebSocket frame is sent.
|
||||||
|
type EventWebSocketFrameSent struct {
|
||||||
|
RequestID RequestID `json:"requestId,omitempty"` // Request identifier.
|
||||||
|
Timestamp Timestamp `json:"timestamp,omitempty"` // Timestamp.
|
||||||
|
Response *WebSocketFrame `json:"response,omitempty"` // WebSocket response data.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventEventSourceMessageReceived fired when EventSource message is
|
||||||
|
// received.
|
||||||
|
type EventEventSourceMessageReceived struct {
|
||||||
|
RequestID RequestID `json:"requestId,omitempty"` // Request identifier.
|
||||||
|
Timestamp Timestamp `json:"timestamp,omitempty"` // Timestamp.
|
||||||
|
EventName string `json:"eventName,omitempty"` // Message type.
|
||||||
|
EventID string `json:"eventId,omitempty"` // Message identifier.
|
||||||
|
Data string `json:"data,omitempty"` // Message content.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventTypes is all event types in the domain.
|
||||||
|
var EventTypes = []MethodType{
|
||||||
|
EventNetworkResourceChangedPriority,
|
||||||
|
EventNetworkRequestWillBeSent,
|
||||||
|
EventNetworkRequestServedFromCache,
|
||||||
|
EventNetworkResponseReceived,
|
||||||
|
EventNetworkDataReceived,
|
||||||
|
EventNetworkLoadingFinished,
|
||||||
|
EventNetworkLoadingFailed,
|
||||||
|
EventNetworkWebSocketWillSendHandshakeRequest,
|
||||||
|
EventNetworkWebSocketHandshakeResponseReceived,
|
||||||
|
EventNetworkWebSocketCreated,
|
||||||
|
EventNetworkWebSocketClosed,
|
||||||
|
EventNetworkWebSocketFrameReceived,
|
||||||
|
EventNetworkWebSocketFrameError,
|
||||||
|
EventNetworkWebSocketFrameSent,
|
||||||
|
EventNetworkEventSourceMessageReceived,
|
||||||
|
}
|
1378
cdp/network/network.go
Normal file
1378
cdp/network/network.go
Normal file
File diff suppressed because it is too large
Load Diff
538
cdp/network/types.go
Normal file
538
cdp/network/types.go
Normal file
|
@ -0,0 +1,538 @@
|
||||||
|
package network
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
"errors"
|
||||||
|
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
"github.com/knq/chromedp/cdp/page"
|
||||||
|
"github.com/knq/chromedp/cdp/runtime"
|
||||||
|
"github.com/knq/chromedp/cdp/security"
|
||||||
|
"github.com/mailru/easyjson"
|
||||||
|
"github.com/mailru/easyjson/jlexer"
|
||||||
|
"github.com/mailru/easyjson/jwriter"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// RequestID unique request identifier.
|
||||||
|
type RequestID string
|
||||||
|
|
||||||
|
// String returns the RequestID as string value.
|
||||||
|
func (t RequestID) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Headers request / response headers as keys / values of JSON object.
|
||||||
|
type Headers struct{}
|
||||||
|
|
||||||
|
// ConnectionType loading priority of a resource request.
|
||||||
|
type ConnectionType string
|
||||||
|
|
||||||
|
// String returns the ConnectionType as string value.
|
||||||
|
func (t ConnectionType) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ConnectionType values.
|
||||||
|
const (
|
||||||
|
ConnectionTypeNone ConnectionType = "none"
|
||||||
|
ConnectionTypeCellular2g ConnectionType = "cellular2g"
|
||||||
|
ConnectionTypeCellular3g ConnectionType = "cellular3g"
|
||||||
|
ConnectionTypeCellular4g ConnectionType = "cellular4g"
|
||||||
|
ConnectionTypeBluetooth ConnectionType = "bluetooth"
|
||||||
|
ConnectionTypeEthernet ConnectionType = "ethernet"
|
||||||
|
ConnectionTypeWifi ConnectionType = "wifi"
|
||||||
|
ConnectionTypeWimax ConnectionType = "wimax"
|
||||||
|
ConnectionTypeOther ConnectionType = "other"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t ConnectionType) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t ConnectionType) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *ConnectionType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch ConnectionType(in.String()) {
|
||||||
|
case ConnectionTypeNone:
|
||||||
|
*t = ConnectionTypeNone
|
||||||
|
case ConnectionTypeCellular2g:
|
||||||
|
*t = ConnectionTypeCellular2g
|
||||||
|
case ConnectionTypeCellular3g:
|
||||||
|
*t = ConnectionTypeCellular3g
|
||||||
|
case ConnectionTypeCellular4g:
|
||||||
|
*t = ConnectionTypeCellular4g
|
||||||
|
case ConnectionTypeBluetooth:
|
||||||
|
*t = ConnectionTypeBluetooth
|
||||||
|
case ConnectionTypeEthernet:
|
||||||
|
*t = ConnectionTypeEthernet
|
||||||
|
case ConnectionTypeWifi:
|
||||||
|
*t = ConnectionTypeWifi
|
||||||
|
case ConnectionTypeWimax:
|
||||||
|
*t = ConnectionTypeWimax
|
||||||
|
case ConnectionTypeOther:
|
||||||
|
*t = ConnectionTypeOther
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown ConnectionType value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *ConnectionType) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// CookieSameSite represents the cookie's 'SameSite' status:
|
||||||
|
// https://tools.ietf.org/html/draft-west-first-party-cookies.
|
||||||
|
type CookieSameSite string
|
||||||
|
|
||||||
|
// String returns the CookieSameSite as string value.
|
||||||
|
func (t CookieSameSite) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// CookieSameSite values.
|
||||||
|
const (
|
||||||
|
CookieSameSiteStrict CookieSameSite = "Strict"
|
||||||
|
CookieSameSiteLax CookieSameSite = "Lax"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t CookieSameSite) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t CookieSameSite) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *CookieSameSite) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch CookieSameSite(in.String()) {
|
||||||
|
case CookieSameSiteStrict:
|
||||||
|
*t = CookieSameSiteStrict
|
||||||
|
case CookieSameSiteLax:
|
||||||
|
*t = CookieSameSiteLax
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown CookieSameSite value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *CookieSameSite) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ResourceTiming timing information for the request.
|
||||||
|
type ResourceTiming struct {
|
||||||
|
RequestTime float64 `json:"requestTime,omitempty"` // Timing's requestTime is a baseline in seconds, while the other numbers are ticks in milliseconds relatively to this requestTime.
|
||||||
|
ProxyStart float64 `json:"proxyStart,omitempty"` // Started resolving proxy.
|
||||||
|
ProxyEnd float64 `json:"proxyEnd,omitempty"` // Finished resolving proxy.
|
||||||
|
DNSStart float64 `json:"dnsStart,omitempty"` // Started DNS address resolve.
|
||||||
|
DNSEnd float64 `json:"dnsEnd,omitempty"` // Finished DNS address resolve.
|
||||||
|
ConnectStart float64 `json:"connectStart,omitempty"` // Started connecting to the remote host.
|
||||||
|
ConnectEnd float64 `json:"connectEnd,omitempty"` // Connected to the remote host.
|
||||||
|
SslStart float64 `json:"sslStart,omitempty"` // Started SSL handshake.
|
||||||
|
SslEnd float64 `json:"sslEnd,omitempty"` // Finished SSL handshake.
|
||||||
|
WorkerStart float64 `json:"workerStart,omitempty"` // Started running ServiceWorker.
|
||||||
|
WorkerReady float64 `json:"workerReady,omitempty"` // Finished Starting ServiceWorker.
|
||||||
|
SendStart float64 `json:"sendStart,omitempty"` // Started sending request.
|
||||||
|
SendEnd float64 `json:"sendEnd,omitempty"` // Finished sending request.
|
||||||
|
PushStart float64 `json:"pushStart,omitempty"` // Time the server started pushing request.
|
||||||
|
PushEnd float64 `json:"pushEnd,omitempty"` // Time the server finished pushing request.
|
||||||
|
ReceiveHeadersEnd float64 `json:"receiveHeadersEnd,omitempty"` // Finished receiving response headers.
|
||||||
|
}
|
||||||
|
|
||||||
|
// ResourcePriority loading priority of a resource request.
|
||||||
|
type ResourcePriority string
|
||||||
|
|
||||||
|
// String returns the ResourcePriority as string value.
|
||||||
|
func (t ResourcePriority) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ResourcePriority values.
|
||||||
|
const (
|
||||||
|
ResourcePriorityVeryLow ResourcePriority = "VeryLow"
|
||||||
|
ResourcePriorityLow ResourcePriority = "Low"
|
||||||
|
ResourcePriorityMedium ResourcePriority = "Medium"
|
||||||
|
ResourcePriorityHigh ResourcePriority = "High"
|
||||||
|
ResourcePriorityVeryHigh ResourcePriority = "VeryHigh"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t ResourcePriority) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t ResourcePriority) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *ResourcePriority) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch ResourcePriority(in.String()) {
|
||||||
|
case ResourcePriorityVeryLow:
|
||||||
|
*t = ResourcePriorityVeryLow
|
||||||
|
case ResourcePriorityLow:
|
||||||
|
*t = ResourcePriorityLow
|
||||||
|
case ResourcePriorityMedium:
|
||||||
|
*t = ResourcePriorityMedium
|
||||||
|
case ResourcePriorityHigh:
|
||||||
|
*t = ResourcePriorityHigh
|
||||||
|
case ResourcePriorityVeryHigh:
|
||||||
|
*t = ResourcePriorityVeryHigh
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown ResourcePriority value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *ResourcePriority) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Request hTTP request data.
|
||||||
|
type Request struct {
|
||||||
|
URL string `json:"url,omitempty"` // Request URL.
|
||||||
|
Method string `json:"method,omitempty"` // HTTP request method.
|
||||||
|
Headers *Headers `json:"headers,omitempty"` // HTTP request headers.
|
||||||
|
PostData string `json:"postData,omitempty"` // HTTP POST request data.
|
||||||
|
MixedContentType MixedContentType `json:"mixedContentType,omitempty"` // The mixed content status of the request, as defined in http://www.w3.org/TR/mixed-content/
|
||||||
|
InitialPriority ResourcePriority `json:"initialPriority,omitempty"` // Priority of the resource request at the time request is sent.
|
||||||
|
ReferrerPolicy ReferrerPolicy `json:"referrerPolicy,omitempty"` // The referrer policy of the request, as defined in https://www.w3.org/TR/referrer-policy/
|
||||||
|
}
|
||||||
|
|
||||||
|
// SignedCertificateTimestamp details of a signed certificate timestamp
|
||||||
|
// (SCT).
|
||||||
|
type SignedCertificateTimestamp struct {
|
||||||
|
Status string `json:"status,omitempty"` // Validation status.
|
||||||
|
Origin string `json:"origin,omitempty"` // Origin.
|
||||||
|
LogDescription string `json:"logDescription,omitempty"` // Log name / description.
|
||||||
|
LogID string `json:"logId,omitempty"` // Log ID.
|
||||||
|
Timestamp Timestamp `json:"timestamp,omitempty"` // Issuance date.
|
||||||
|
HashAlgorithm string `json:"hashAlgorithm,omitempty"` // Hash algorithm.
|
||||||
|
SignatureAlgorithm string `json:"signatureAlgorithm,omitempty"` // Signature algorithm.
|
||||||
|
SignatureData string `json:"signatureData,omitempty"` // Signature data.
|
||||||
|
}
|
||||||
|
|
||||||
|
// SecurityDetails security details about a request.
|
||||||
|
type SecurityDetails struct {
|
||||||
|
Protocol string `json:"protocol,omitempty"` // Protocol name (e.g. "TLS 1.2" or "QUIC").
|
||||||
|
KeyExchange string `json:"keyExchange,omitempty"` // Key Exchange used by the connection, or the empty string if not applicable.
|
||||||
|
KeyExchangeGroup string `json:"keyExchangeGroup,omitempty"` // (EC)DH group used by the connection, if applicable.
|
||||||
|
Cipher string `json:"cipher,omitempty"` // Cipher name.
|
||||||
|
Mac string `json:"mac,omitempty"` // TLS MAC. Note that AEAD ciphers do not have separate MACs.
|
||||||
|
CertificateID security.CertificateID `json:"certificateId,omitempty"` // Certificate ID value.
|
||||||
|
SubjectName string `json:"subjectName,omitempty"` // Certificate subject name.
|
||||||
|
SanList []string `json:"sanList,omitempty"` // Subject Alternative Name (SAN) DNS names and IP addresses.
|
||||||
|
Issuer string `json:"issuer,omitempty"` // Name of the issuing CA.
|
||||||
|
ValidFrom Timestamp `json:"validFrom,omitempty"` // Certificate valid from date.
|
||||||
|
ValidTo Timestamp `json:"validTo,omitempty"` // Certificate valid to (expiration) date
|
||||||
|
SignedCertificateTimestampList []*SignedCertificateTimestamp `json:"signedCertificateTimestampList,omitempty"` // List of signed certificate timestamps (SCTs).
|
||||||
|
}
|
||||||
|
|
||||||
|
// BlockedReason the reason why request was blocked.
|
||||||
|
type BlockedReason string
|
||||||
|
|
||||||
|
// String returns the BlockedReason as string value.
|
||||||
|
func (t BlockedReason) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// BlockedReason values.
|
||||||
|
const (
|
||||||
|
BlockedReasonCsp BlockedReason = "csp"
|
||||||
|
BlockedReasonMixedContent BlockedReason = "mixed-content"
|
||||||
|
BlockedReasonOrigin BlockedReason = "origin"
|
||||||
|
BlockedReasonInspector BlockedReason = "inspector"
|
||||||
|
BlockedReasonSubresourceFilter BlockedReason = "subresource-filter"
|
||||||
|
BlockedReasonOther BlockedReason = "other"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t BlockedReason) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t BlockedReason) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *BlockedReason) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch BlockedReason(in.String()) {
|
||||||
|
case BlockedReasonCsp:
|
||||||
|
*t = BlockedReasonCsp
|
||||||
|
case BlockedReasonMixedContent:
|
||||||
|
*t = BlockedReasonMixedContent
|
||||||
|
case BlockedReasonOrigin:
|
||||||
|
*t = BlockedReasonOrigin
|
||||||
|
case BlockedReasonInspector:
|
||||||
|
*t = BlockedReasonInspector
|
||||||
|
case BlockedReasonSubresourceFilter:
|
||||||
|
*t = BlockedReasonSubresourceFilter
|
||||||
|
case BlockedReasonOther:
|
||||||
|
*t = BlockedReasonOther
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown BlockedReason value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *BlockedReason) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Response hTTP response data.
|
||||||
|
type Response struct {
|
||||||
|
URL string `json:"url,omitempty"` // Response URL. This URL can be different from CachedResource.url in case of redirect.
|
||||||
|
Status float64 `json:"status,omitempty"` // HTTP response status code.
|
||||||
|
StatusText string `json:"statusText,omitempty"` // HTTP response status text.
|
||||||
|
Headers *Headers `json:"headers,omitempty"` // HTTP response headers.
|
||||||
|
HeadersText string `json:"headersText,omitempty"` // HTTP response headers text.
|
||||||
|
MimeType string `json:"mimeType,omitempty"` // Resource mimeType as determined by the browser.
|
||||||
|
RequestHeaders *Headers `json:"requestHeaders,omitempty"` // Refined HTTP request headers that were actually transmitted over the network.
|
||||||
|
RequestHeadersText string `json:"requestHeadersText,omitempty"` // HTTP request headers text.
|
||||||
|
ConnectionReused bool `json:"connectionReused,omitempty"` // Specifies whether physical connection was actually reused for this request.
|
||||||
|
ConnectionID float64 `json:"connectionId,omitempty"` // Physical connection id that was actually used for this request.
|
||||||
|
RemoteIPAddress string `json:"remoteIPAddress,omitempty"` // Remote IP address.
|
||||||
|
RemotePort int64 `json:"remotePort,omitempty"` // Remote port.
|
||||||
|
FromDiskCache bool `json:"fromDiskCache,omitempty"` // Specifies that the request was served from the disk cache.
|
||||||
|
FromServiceWorker bool `json:"fromServiceWorker,omitempty"` // Specifies that the request was served from the ServiceWorker.
|
||||||
|
EncodedDataLength float64 `json:"encodedDataLength,omitempty"` // Total number of bytes received for this request so far.
|
||||||
|
Timing *ResourceTiming `json:"timing,omitempty"` // Timing information for the given request.
|
||||||
|
Protocol string `json:"protocol,omitempty"` // Protocol used to fetch this request.
|
||||||
|
SecurityState security.SecurityState `json:"securityState,omitempty"` // Security state of the request resource.
|
||||||
|
SecurityDetails *SecurityDetails `json:"securityDetails,omitempty"` // Security details for the request.
|
||||||
|
}
|
||||||
|
|
||||||
|
// WebSocketRequest webSocket request data.
|
||||||
|
type WebSocketRequest struct {
|
||||||
|
Headers *Headers `json:"headers,omitempty"` // HTTP request headers.
|
||||||
|
}
|
||||||
|
|
||||||
|
// WebSocketResponse webSocket response data.
|
||||||
|
type WebSocketResponse struct {
|
||||||
|
Status float64 `json:"status,omitempty"` // HTTP response status code.
|
||||||
|
StatusText string `json:"statusText,omitempty"` // HTTP response status text.
|
||||||
|
Headers *Headers `json:"headers,omitempty"` // HTTP response headers.
|
||||||
|
HeadersText string `json:"headersText,omitempty"` // HTTP response headers text.
|
||||||
|
RequestHeaders *Headers `json:"requestHeaders,omitempty"` // HTTP request headers.
|
||||||
|
RequestHeadersText string `json:"requestHeadersText,omitempty"` // HTTP request headers text.
|
||||||
|
}
|
||||||
|
|
||||||
|
// WebSocketFrame webSocket frame data.
|
||||||
|
type WebSocketFrame struct {
|
||||||
|
Opcode float64 `json:"opcode,omitempty"` // WebSocket frame opcode.
|
||||||
|
Mask bool `json:"mask,omitempty"` // WebSocke frame mask.
|
||||||
|
PayloadData string `json:"payloadData,omitempty"` // WebSocke frame payload data.
|
||||||
|
}
|
||||||
|
|
||||||
|
// CachedResource information about the cached resource.
|
||||||
|
type CachedResource struct {
|
||||||
|
URL string `json:"url,omitempty"` // Resource URL. This is the url of the original network request.
|
||||||
|
Type page.ResourceType `json:"type,omitempty"` // Type of this resource.
|
||||||
|
Response *Response `json:"response,omitempty"` // Cached response data.
|
||||||
|
BodySize float64 `json:"bodySize,omitempty"` // Cached response body size.
|
||||||
|
}
|
||||||
|
|
||||||
|
// Initiator information about the request initiator.
|
||||||
|
type Initiator struct {
|
||||||
|
Type InitiatorType `json:"type,omitempty"` // Type of this initiator.
|
||||||
|
Stack *runtime.StackTrace `json:"stack,omitempty"` // Initiator JavaScript stack trace, set for Script only.
|
||||||
|
URL string `json:"url,omitempty"` // Initiator URL, set for Parser type only.
|
||||||
|
LineNumber float64 `json:"lineNumber,omitempty"` // Initiator line number, set for Parser type only (0-based).
|
||||||
|
}
|
||||||
|
|
||||||
|
// Cookie cookie object.
|
||||||
|
type Cookie struct {
|
||||||
|
Name string `json:"name,omitempty"` // Cookie name.
|
||||||
|
Value string `json:"value,omitempty"` // Cookie value.
|
||||||
|
Domain string `json:"domain,omitempty"` // Cookie domain.
|
||||||
|
Path string `json:"path,omitempty"` // Cookie path.
|
||||||
|
Expires float64 `json:"expires,omitempty"` // Cookie expiration date as the number of seconds since the UNIX epoch.
|
||||||
|
Size int64 `json:"size,omitempty"` // Cookie size.
|
||||||
|
HTTPOnly bool `json:"httpOnly,omitempty"` // True if cookie is http-only.
|
||||||
|
Secure bool `json:"secure,omitempty"` // True if cookie is secure.
|
||||||
|
Session bool `json:"session,omitempty"` // True in case of session cookie.
|
||||||
|
SameSite CookieSameSite `json:"sameSite,omitempty"` // Cookie SameSite type.
|
||||||
|
}
|
||||||
|
|
||||||
|
// MixedContentType the mixed content status of the request, as defined in
|
||||||
|
// http://www.w3.org/TR/mixed-content/.
|
||||||
|
type MixedContentType string
|
||||||
|
|
||||||
|
// String returns the MixedContentType as string value.
|
||||||
|
func (t MixedContentType) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// MixedContentType values.
|
||||||
|
const (
|
||||||
|
MixedContentTypeBlockable MixedContentType = "blockable"
|
||||||
|
MixedContentTypeOptionallyBlockable MixedContentType = "optionally-blockable"
|
||||||
|
MixedContentTypeNone MixedContentType = "none"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t MixedContentType) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t MixedContentType) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *MixedContentType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch MixedContentType(in.String()) {
|
||||||
|
case MixedContentTypeBlockable:
|
||||||
|
*t = MixedContentTypeBlockable
|
||||||
|
case MixedContentTypeOptionallyBlockable:
|
||||||
|
*t = MixedContentTypeOptionallyBlockable
|
||||||
|
case MixedContentTypeNone:
|
||||||
|
*t = MixedContentTypeNone
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown MixedContentType value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *MixedContentType) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ReferrerPolicy the referrer policy of the request, as defined in
|
||||||
|
// https://www.w3.org/TR/referrer-policy/.
|
||||||
|
type ReferrerPolicy string
|
||||||
|
|
||||||
|
// String returns the ReferrerPolicy as string value.
|
||||||
|
func (t ReferrerPolicy) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ReferrerPolicy values.
|
||||||
|
const (
|
||||||
|
ReferrerPolicyUnsafeURL ReferrerPolicy = "unsafe-url"
|
||||||
|
ReferrerPolicyNoReferrerWhenDowngrade ReferrerPolicy = "no-referrer-when-downgrade"
|
||||||
|
ReferrerPolicyNoReferrer ReferrerPolicy = "no-referrer"
|
||||||
|
ReferrerPolicyOrigin ReferrerPolicy = "origin"
|
||||||
|
ReferrerPolicyOriginWhenCrossOrigin ReferrerPolicy = "origin-when-cross-origin"
|
||||||
|
ReferrerPolicyNoReferrerWhenDowngradeOriginWhenCrossOrigin ReferrerPolicy = "no-referrer-when-downgrade-origin-when-cross-origin"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t ReferrerPolicy) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t ReferrerPolicy) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *ReferrerPolicy) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch ReferrerPolicy(in.String()) {
|
||||||
|
case ReferrerPolicyUnsafeURL:
|
||||||
|
*t = ReferrerPolicyUnsafeURL
|
||||||
|
case ReferrerPolicyNoReferrerWhenDowngrade:
|
||||||
|
*t = ReferrerPolicyNoReferrerWhenDowngrade
|
||||||
|
case ReferrerPolicyNoReferrer:
|
||||||
|
*t = ReferrerPolicyNoReferrer
|
||||||
|
case ReferrerPolicyOrigin:
|
||||||
|
*t = ReferrerPolicyOrigin
|
||||||
|
case ReferrerPolicyOriginWhenCrossOrigin:
|
||||||
|
*t = ReferrerPolicyOriginWhenCrossOrigin
|
||||||
|
case ReferrerPolicyNoReferrerWhenDowngradeOriginWhenCrossOrigin:
|
||||||
|
*t = ReferrerPolicyNoReferrerWhenDowngradeOriginWhenCrossOrigin
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown ReferrerPolicy value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *ReferrerPolicy) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// InitiatorType type of this initiator.
|
||||||
|
type InitiatorType string
|
||||||
|
|
||||||
|
// String returns the InitiatorType as string value.
|
||||||
|
func (t InitiatorType) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// InitiatorType values.
|
||||||
|
const (
|
||||||
|
InitiatorTypeParser InitiatorType = "parser"
|
||||||
|
InitiatorTypeScript InitiatorType = "script"
|
||||||
|
InitiatorTypeOther InitiatorType = "other"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t InitiatorType) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t InitiatorType) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *InitiatorType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch InitiatorType(in.String()) {
|
||||||
|
case InitiatorTypeParser:
|
||||||
|
*t = InitiatorTypeParser
|
||||||
|
case InitiatorTypeScript:
|
||||||
|
*t = InitiatorTypeScript
|
||||||
|
case InitiatorTypeOther:
|
||||||
|
*t = InitiatorTypeOther
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown InitiatorType value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *InitiatorType) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
4829
cdp/page/easyjson.go
Normal file
4829
cdp/page/easyjson.go
Normal file
File diff suppressed because it is too large
Load Diff
147
cdp/page/events.go
Normal file
147
cdp/page/events.go
Normal file
|
@ -0,0 +1,147 @@
|
||||||
|
package page
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
type EventDomContentEventFired struct {
|
||||||
|
Timestamp Timestamp `json:"timestamp,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type EventLoadEventFired struct {
|
||||||
|
Timestamp Timestamp `json:"timestamp,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventFrameAttached fired when frame has been attached to its parent.
|
||||||
|
type EventFrameAttached struct {
|
||||||
|
FrameID FrameID `json:"frameId,omitempty"` // Id of the frame that has been attached.
|
||||||
|
ParentFrameID FrameID `json:"parentFrameId,omitempty"` // Parent frame identifier.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventFrameNavigated fired once navigation of the frame has completed.
|
||||||
|
// Frame is now associated with the new loader.
|
||||||
|
type EventFrameNavigated struct {
|
||||||
|
Frame *Frame `json:"frame,omitempty"` // Frame object.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventFrameDetached fired when frame has been detached from its parent.
|
||||||
|
type EventFrameDetached struct {
|
||||||
|
FrameID FrameID `json:"frameId,omitempty"` // Id of the frame that has been detached.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventFrameStartedLoading fired when frame has started loading.
|
||||||
|
type EventFrameStartedLoading struct {
|
||||||
|
FrameID FrameID `json:"frameId,omitempty"` // Id of the frame that has started loading.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventFrameStoppedLoading fired when frame has stopped loading.
|
||||||
|
type EventFrameStoppedLoading struct {
|
||||||
|
FrameID FrameID `json:"frameId,omitempty"` // Id of the frame that has stopped loading.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventFrameScheduledNavigation fired when frame schedules a potential
|
||||||
|
// navigation.
|
||||||
|
type EventFrameScheduledNavigation struct {
|
||||||
|
FrameID FrameID `json:"frameId,omitempty"` // Id of the frame that has scheduled a navigation.
|
||||||
|
Delay float64 `json:"delay,omitempty"` // Delay (in seconds) until the navigation is scheduled to begin. The navigation is not guaranteed to start.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventFrameClearedScheduledNavigation fired when frame no longer has a
|
||||||
|
// scheduled navigation.
|
||||||
|
type EventFrameClearedScheduledNavigation struct {
|
||||||
|
FrameID FrameID `json:"frameId,omitempty"` // Id of the frame that has cleared its scheduled navigation.
|
||||||
|
}
|
||||||
|
|
||||||
|
type EventFrameResized struct{}
|
||||||
|
|
||||||
|
// EventJavascriptDialogOpening fired when a JavaScript initiated dialog
|
||||||
|
// (alert, confirm, prompt, or onbeforeunload) is about to open.
|
||||||
|
type EventJavascriptDialogOpening struct {
|
||||||
|
Message string `json:"message,omitempty"` // Message that will be displayed by the dialog.
|
||||||
|
Type DialogType `json:"type,omitempty"` // Dialog type.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventJavascriptDialogClosed fired when a JavaScript initiated dialog
|
||||||
|
// (alert, confirm, prompt, or onbeforeunload) has been closed.
|
||||||
|
type EventJavascriptDialogClosed struct {
|
||||||
|
Result bool `json:"result,omitempty"` // Whether dialog was confirmed.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventScreencastFrame compressed image data requested by the
|
||||||
|
// startScreencast.
|
||||||
|
type EventScreencastFrame struct {
|
||||||
|
Data string `json:"data,omitempty"` // Base64-encoded compressed image.
|
||||||
|
Metadata *ScreencastFrameMetadata `json:"metadata,omitempty"` // Screencast frame metadata.
|
||||||
|
SessionID int64 `json:"sessionId,omitempty"` // Frame number.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventScreencastVisibilityChanged fired when the page with currently
|
||||||
|
// enabled screencast was shown or hidden .
|
||||||
|
type EventScreencastVisibilityChanged struct {
|
||||||
|
Visible bool `json:"visible,omitempty"` // True if the page is visible.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventColorPicked fired when a color has been picked.
|
||||||
|
type EventColorPicked struct {
|
||||||
|
Color *RGBA `json:"color,omitempty"` // RGBA of the picked color.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventInterstitialShown fired when interstitial page was shown.
|
||||||
|
type EventInterstitialShown struct{}
|
||||||
|
|
||||||
|
// EventInterstitialHidden fired when interstitial page was hidden.
|
||||||
|
type EventInterstitialHidden struct{}
|
||||||
|
|
||||||
|
// EventNavigationRequested fired when a navigation is started if navigation
|
||||||
|
// throttles are enabled. The navigation will be deferred until
|
||||||
|
// processNavigation is called.
|
||||||
|
type EventNavigationRequested struct {
|
||||||
|
IsInMainFrame bool `json:"isInMainFrame,omitempty"` // Whether the navigation is taking place in the main frame or in a subframe.
|
||||||
|
IsRedirect bool `json:"isRedirect,omitempty"` // Whether the navigation has encountered a server redirect or not.
|
||||||
|
NavigationID int64 `json:"navigationId,omitempty"`
|
||||||
|
URL string `json:"url,omitempty"` // URL of requested navigation.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventTypes is all event types in the domain.
|
||||||
|
var EventTypes = []MethodType{
|
||||||
|
EventPageDomContentEventFired,
|
||||||
|
EventPageLoadEventFired,
|
||||||
|
EventPageFrameAttached,
|
||||||
|
EventPageFrameNavigated,
|
||||||
|
EventPageFrameDetached,
|
||||||
|
EventPageFrameStartedLoading,
|
||||||
|
EventPageFrameStoppedLoading,
|
||||||
|
EventPageFrameScheduledNavigation,
|
||||||
|
EventPageFrameClearedScheduledNavigation,
|
||||||
|
EventPageFrameResized,
|
||||||
|
EventPageJavascriptDialogOpening,
|
||||||
|
EventPageJavascriptDialogClosed,
|
||||||
|
EventPageScreencastFrame,
|
||||||
|
EventPageScreencastVisibilityChanged,
|
||||||
|
EventPageColorPicked,
|
||||||
|
EventPageInterstitialShown,
|
||||||
|
EventPageInterstitialHidden,
|
||||||
|
EventPageNavigationRequested,
|
||||||
|
}
|
1522
cdp/page/page.go
Normal file
1522
cdp/page/page.go
Normal file
File diff suppressed because it is too large
Load Diff
316
cdp/page/types.go
Normal file
316
cdp/page/types.go
Normal file
|
@ -0,0 +1,316 @@
|
||||||
|
package page
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
"errors"
|
||||||
|
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
"github.com/mailru/easyjson"
|
||||||
|
"github.com/mailru/easyjson/jlexer"
|
||||||
|
"github.com/mailru/easyjson/jwriter"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// ResourceType resource type as it was perceived by the rendering engine.
|
||||||
|
type ResourceType string
|
||||||
|
|
||||||
|
// String returns the ResourceType as string value.
|
||||||
|
func (t ResourceType) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ResourceType values.
|
||||||
|
const (
|
||||||
|
ResourceTypeDocument ResourceType = "Document"
|
||||||
|
ResourceTypeStylesheet ResourceType = "Stylesheet"
|
||||||
|
ResourceTypeImage ResourceType = "Image"
|
||||||
|
ResourceTypeMedia ResourceType = "Media"
|
||||||
|
ResourceTypeFont ResourceType = "Font"
|
||||||
|
ResourceTypeScript ResourceType = "Script"
|
||||||
|
ResourceTypeTextTrack ResourceType = "TextTrack"
|
||||||
|
ResourceTypeXHR ResourceType = "XHR"
|
||||||
|
ResourceTypeFetch ResourceType = "Fetch"
|
||||||
|
ResourceTypeEventSource ResourceType = "EventSource"
|
||||||
|
ResourceTypeWebSocket ResourceType = "WebSocket"
|
||||||
|
ResourceTypeManifest ResourceType = "Manifest"
|
||||||
|
ResourceTypeOther ResourceType = "Other"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t ResourceType) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t ResourceType) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *ResourceType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch ResourceType(in.String()) {
|
||||||
|
case ResourceTypeDocument:
|
||||||
|
*t = ResourceTypeDocument
|
||||||
|
case ResourceTypeStylesheet:
|
||||||
|
*t = ResourceTypeStylesheet
|
||||||
|
case ResourceTypeImage:
|
||||||
|
*t = ResourceTypeImage
|
||||||
|
case ResourceTypeMedia:
|
||||||
|
*t = ResourceTypeMedia
|
||||||
|
case ResourceTypeFont:
|
||||||
|
*t = ResourceTypeFont
|
||||||
|
case ResourceTypeScript:
|
||||||
|
*t = ResourceTypeScript
|
||||||
|
case ResourceTypeTextTrack:
|
||||||
|
*t = ResourceTypeTextTrack
|
||||||
|
case ResourceTypeXHR:
|
||||||
|
*t = ResourceTypeXHR
|
||||||
|
case ResourceTypeFetch:
|
||||||
|
*t = ResourceTypeFetch
|
||||||
|
case ResourceTypeEventSource:
|
||||||
|
*t = ResourceTypeEventSource
|
||||||
|
case ResourceTypeWebSocket:
|
||||||
|
*t = ResourceTypeWebSocket
|
||||||
|
case ResourceTypeManifest:
|
||||||
|
*t = ResourceTypeManifest
|
||||||
|
case ResourceTypeOther:
|
||||||
|
*t = ResourceTypeOther
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown ResourceType value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *ResourceType) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// FrameResource information about the Resource on the page.
|
||||||
|
type FrameResource struct {
|
||||||
|
URL string `json:"url,omitempty"` // Resource URL.
|
||||||
|
Type ResourceType `json:"type,omitempty"` // Type of this resource.
|
||||||
|
MimeType string `json:"mimeType,omitempty"` // Resource mimeType as determined by the browser.
|
||||||
|
LastModified Timestamp `json:"lastModified,omitempty"` // last-modified timestamp as reported by server.
|
||||||
|
ContentSize float64 `json:"contentSize,omitempty"` // Resource content size.
|
||||||
|
Failed bool `json:"failed,omitempty"` // True if the resource failed to load.
|
||||||
|
Canceled bool `json:"canceled,omitempty"` // True if the resource was canceled during loading.
|
||||||
|
}
|
||||||
|
|
||||||
|
// FrameResourceTree information about the Frame hierarchy along with their
|
||||||
|
// cached resources.
|
||||||
|
type FrameResourceTree struct {
|
||||||
|
Frame *Frame `json:"frame,omitempty"` // Frame information for this tree item.
|
||||||
|
ChildFrames []*FrameResourceTree `json:"childFrames,omitempty"` // Child frames.
|
||||||
|
Resources []*FrameResource `json:"resources,omitempty"` // Information about frame resources.
|
||||||
|
}
|
||||||
|
|
||||||
|
// ScriptIdentifier unique script identifier.
|
||||||
|
type ScriptIdentifier string
|
||||||
|
|
||||||
|
// String returns the ScriptIdentifier as string value.
|
||||||
|
func (t ScriptIdentifier) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// NavigationEntry navigation history entry.
|
||||||
|
type NavigationEntry struct {
|
||||||
|
ID int64 `json:"id,omitempty"` // Unique id of the navigation history entry.
|
||||||
|
URL string `json:"url,omitempty"` // URL of the navigation history entry.
|
||||||
|
Title string `json:"title,omitempty"` // Title of the navigation history entry.
|
||||||
|
}
|
||||||
|
|
||||||
|
// ScreencastFrameMetadata screencast frame metadata.
|
||||||
|
type ScreencastFrameMetadata struct {
|
||||||
|
OffsetTop float64 `json:"offsetTop,omitempty"` // Top offset in DIP.
|
||||||
|
PageScaleFactor float64 `json:"pageScaleFactor,omitempty"` // Page scale factor.
|
||||||
|
DeviceWidth float64 `json:"deviceWidth,omitempty"` // Device screen width in DIP.
|
||||||
|
DeviceHeight float64 `json:"deviceHeight,omitempty"` // Device screen height in DIP.
|
||||||
|
ScrollOffsetX float64 `json:"scrollOffsetX,omitempty"` // Position of horizontal scroll in CSS pixels.
|
||||||
|
ScrollOffsetY float64 `json:"scrollOffsetY,omitempty"` // Position of vertical scroll in CSS pixels.
|
||||||
|
Timestamp Timestamp `json:"timestamp,omitempty"` // Frame swap timestamp.
|
||||||
|
}
|
||||||
|
|
||||||
|
// DialogType javascript dialog type.
|
||||||
|
type DialogType string
|
||||||
|
|
||||||
|
// String returns the DialogType as string value.
|
||||||
|
func (t DialogType) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// DialogType values.
|
||||||
|
const (
|
||||||
|
DialogTypeAlert DialogType = "alert"
|
||||||
|
DialogTypeConfirm DialogType = "confirm"
|
||||||
|
DialogTypePrompt DialogType = "prompt"
|
||||||
|
DialogTypeBeforeunload DialogType = "beforeunload"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t DialogType) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t DialogType) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *DialogType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch DialogType(in.String()) {
|
||||||
|
case DialogTypeAlert:
|
||||||
|
*t = DialogTypeAlert
|
||||||
|
case DialogTypeConfirm:
|
||||||
|
*t = DialogTypeConfirm
|
||||||
|
case DialogTypePrompt:
|
||||||
|
*t = DialogTypePrompt
|
||||||
|
case DialogTypeBeforeunload:
|
||||||
|
*t = DialogTypeBeforeunload
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown DialogType value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *DialogType) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// AppManifestError error while paring app manifest.
|
||||||
|
type AppManifestError struct {
|
||||||
|
Message string `json:"message,omitempty"` // Error message.
|
||||||
|
Critical int64 `json:"critical,omitempty"` // If criticial, this is a non-recoverable parse error.
|
||||||
|
Line int64 `json:"line,omitempty"` // Error line.
|
||||||
|
Column int64 `json:"column,omitempty"` // Error column.
|
||||||
|
}
|
||||||
|
|
||||||
|
// NavigationResponse proceed: allow the navigation; Cancel: cancel the
|
||||||
|
// navigation; CancelAndIgnore: cancels the navigation and makes the requester
|
||||||
|
// of the navigation acts like the request was never made.
|
||||||
|
type NavigationResponse string
|
||||||
|
|
||||||
|
// String returns the NavigationResponse as string value.
|
||||||
|
func (t NavigationResponse) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// NavigationResponse values.
|
||||||
|
const (
|
||||||
|
NavigationResponseProceed NavigationResponse = "Proceed"
|
||||||
|
NavigationResponseCancel NavigationResponse = "Cancel"
|
||||||
|
NavigationResponseCancelAndIgnore NavigationResponse = "CancelAndIgnore"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t NavigationResponse) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t NavigationResponse) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *NavigationResponse) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch NavigationResponse(in.String()) {
|
||||||
|
case NavigationResponseProceed:
|
||||||
|
*t = NavigationResponseProceed
|
||||||
|
case NavigationResponseCancel:
|
||||||
|
*t = NavigationResponseCancel
|
||||||
|
case NavigationResponseCancelAndIgnore:
|
||||||
|
*t = NavigationResponseCancelAndIgnore
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown NavigationResponse value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *NavigationResponse) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// LayoutViewport layout viewport position and dimensions.
|
||||||
|
type LayoutViewport struct {
|
||||||
|
PageX int64 `json:"pageX,omitempty"` // Horizontal offset relative to the document (CSS pixels).
|
||||||
|
PageY int64 `json:"pageY,omitempty"` // Vertical offset relative to the document (CSS pixels).
|
||||||
|
ClientWidth int64 `json:"clientWidth,omitempty"` // Width (CSS pixels), excludes scrollbar if present.
|
||||||
|
ClientHeight int64 `json:"clientHeight,omitempty"` // Height (CSS pixels), excludes scrollbar if present.
|
||||||
|
}
|
||||||
|
|
||||||
|
// VisualViewport visual viewport position, dimensions, and scale.
|
||||||
|
type VisualViewport struct {
|
||||||
|
OffsetX float64 `json:"offsetX,omitempty"` // Horizontal offset relative to the layout viewport (CSS pixels).
|
||||||
|
OffsetY float64 `json:"offsetY,omitempty"` // Vertical offset relative to the layout viewport (CSS pixels).
|
||||||
|
PageX float64 `json:"pageX,omitempty"` // Horizontal offset relative to the document (CSS pixels).
|
||||||
|
PageY float64 `json:"pageY,omitempty"` // Vertical offset relative to the document (CSS pixels).
|
||||||
|
ClientWidth float64 `json:"clientWidth,omitempty"` // Width (CSS pixels), excludes scrollbar if present.
|
||||||
|
ClientHeight float64 `json:"clientHeight,omitempty"` // Height (CSS pixels), excludes scrollbar if present.
|
||||||
|
Scale float64 `json:"scale,omitempty"` // Scale relative to the ideal viewport (size at width=device-width).
|
||||||
|
}
|
||||||
|
|
||||||
|
// ScreencastFormat image compression format.
|
||||||
|
type ScreencastFormat string
|
||||||
|
|
||||||
|
// String returns the ScreencastFormat as string value.
|
||||||
|
func (t ScreencastFormat) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ScreencastFormat values.
|
||||||
|
const (
|
||||||
|
ScreencastFormatJpeg ScreencastFormat = "jpeg"
|
||||||
|
ScreencastFormatPng ScreencastFormat = "png"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t ScreencastFormat) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t ScreencastFormat) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *ScreencastFormat) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch ScreencastFormat(in.String()) {
|
||||||
|
case ScreencastFormatJpeg:
|
||||||
|
*t = ScreencastFormatJpeg
|
||||||
|
case ScreencastFormatPng:
|
||||||
|
*t = ScreencastFormatPng
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown ScreencastFormat value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *ScreencastFormat) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
1112
cdp/profiler/easyjson.go
Normal file
1112
cdp/profiler/easyjson.go
Normal file
File diff suppressed because it is too large
Load Diff
49
cdp/profiler/events.go
Normal file
49
cdp/profiler/events.go
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
package profiler
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
"github.com/knq/chromedp/cdp/debugger"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// EventConsoleProfileStarted sent when new profile recodring is started
|
||||||
|
// using console.profile() call.
|
||||||
|
type EventConsoleProfileStarted struct {
|
||||||
|
ID string `json:"id,omitempty"`
|
||||||
|
Location *debugger.Location `json:"location,omitempty"` // Location of console.profile().
|
||||||
|
Title string `json:"title,omitempty"` // Profile title passed as an argument to console.profile().
|
||||||
|
}
|
||||||
|
|
||||||
|
type EventConsoleProfileFinished struct {
|
||||||
|
ID string `json:"id,omitempty"`
|
||||||
|
Location *debugger.Location `json:"location,omitempty"` // Location of console.profileEnd().
|
||||||
|
Profile *Profile `json:"profile,omitempty"`
|
||||||
|
Title string `json:"title,omitempty"` // Profile title passed as an argument to console.profile().
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventTypes is all event types in the domain.
|
||||||
|
var EventTypes = []MethodType{
|
||||||
|
EventProfilerConsoleProfileStarted,
|
||||||
|
EventProfilerConsoleProfileFinished,
|
||||||
|
}
|
251
cdp/profiler/profiler.go
Normal file
251
cdp/profiler/profiler.go
Normal file
|
@ -0,0 +1,251 @@
|
||||||
|
// Package profiler provides the Chrome Debugging Protocol
|
||||||
|
// commands, types, and events for the Chrome Profiler domain.
|
||||||
|
//
|
||||||
|
// Generated by the chromedp-gen command.
|
||||||
|
package profiler
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
"github.com/mailru/easyjson"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
type EnableParams struct{}
|
||||||
|
|
||||||
|
func Enable() *EnableParams {
|
||||||
|
return &EnableParams{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Profiler.enable.
|
||||||
|
func (p *EnableParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandProfilerEnable, Empty)
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
type DisableParams struct{}
|
||||||
|
|
||||||
|
func Disable() *DisableParams {
|
||||||
|
return &DisableParams{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Profiler.disable.
|
||||||
|
func (p *DisableParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandProfilerDisable, Empty)
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetSamplingIntervalParams changes CPU profiler sampling interval. Must be
|
||||||
|
// called before CPU profiles recording started.
|
||||||
|
type SetSamplingIntervalParams struct {
|
||||||
|
Interval int64 `json:"interval"` // New sampling interval in microseconds.
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetSamplingInterval changes CPU profiler sampling interval. Must be called
|
||||||
|
// before CPU profiles recording started.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// interval - New sampling interval in microseconds.
|
||||||
|
func SetSamplingInterval(interval int64) *SetSamplingIntervalParams {
|
||||||
|
return &SetSamplingIntervalParams{
|
||||||
|
Interval: interval,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Profiler.setSamplingInterval.
|
||||||
|
func (p *SetSamplingIntervalParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandProfilerSetSamplingInterval, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
type StartParams struct{}
|
||||||
|
|
||||||
|
func Start() *StartParams {
|
||||||
|
return &StartParams{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Profiler.start.
|
||||||
|
func (p *StartParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandProfilerStart, Empty)
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
type StopParams struct{}
|
||||||
|
|
||||||
|
func Stop() *StopParams {
|
||||||
|
return &StopParams{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// StopReturns return values.
|
||||||
|
type StopReturns struct {
|
||||||
|
Profile *Profile `json:"profile,omitempty"` // Recorded profile.
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Profiler.stop.
|
||||||
|
//
|
||||||
|
// returns:
|
||||||
|
// profile - Recorded profile.
|
||||||
|
func (p *StopParams) Do(ctxt context.Context, h FrameHandler) (profile *Profile, err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandProfilerStop, Empty)
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return nil, ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
// unmarshal
|
||||||
|
var r StopReturns
|
||||||
|
err = easyjson.Unmarshal(v, &r)
|
||||||
|
if err != nil {
|
||||||
|
return nil, ErrInvalidResult
|
||||||
|
}
|
||||||
|
|
||||||
|
return r.Profile, nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return nil, v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return nil, ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil, ErrUnknownResult
|
||||||
|
}
|
55
cdp/profiler/types.go
Normal file
55
cdp/profiler/types.go
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
package profiler
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
"github.com/knq/chromedp/cdp/runtime"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// ProfileNode profile node. Holds callsite information, execution statistics
|
||||||
|
// and child nodes.
|
||||||
|
type ProfileNode struct {
|
||||||
|
ID int64 `json:"id,omitempty"` // Unique id of the node.
|
||||||
|
CallFrame *runtime.CallFrame `json:"callFrame,omitempty"` // Function location.
|
||||||
|
HitCount int64 `json:"hitCount,omitempty"` // Number of samples where this node was on top of the call stack.
|
||||||
|
Children []int64 `json:"children,omitempty"` // Child node ids.
|
||||||
|
DeoptReason string `json:"deoptReason,omitempty"` // The reason of being not optimized. The function may be deoptimized or marked as don't optimize.
|
||||||
|
PositionTicks []*PositionTickInfo `json:"positionTicks,omitempty"` // An array of source position ticks.
|
||||||
|
}
|
||||||
|
|
||||||
|
// Profile profile.
|
||||||
|
type Profile struct {
|
||||||
|
Nodes []*ProfileNode `json:"nodes,omitempty"` // The list of profile nodes. First item is the root node.
|
||||||
|
StartTime float64 `json:"startTime,omitempty"` // Profiling start timestamp in microseconds.
|
||||||
|
EndTime float64 `json:"endTime,omitempty"` // Profiling end timestamp in microseconds.
|
||||||
|
Samples []int64 `json:"samples,omitempty"` // Ids of samples top nodes.
|
||||||
|
TimeDeltas []int64 `json:"timeDeltas,omitempty"` // Time intervals between adjacent samples in microseconds. The first delta is relative to the profile startTime.
|
||||||
|
}
|
||||||
|
|
||||||
|
// PositionTickInfo specifies a number of samples attributed to a certain
|
||||||
|
// source position.
|
||||||
|
type PositionTickInfo struct {
|
||||||
|
Line int64 `json:"line,omitempty"` // Source line number (1-based).
|
||||||
|
Ticks int64 `json:"ticks,omitempty"` // Number of samples attributed to the source line.
|
||||||
|
}
|
354
cdp/rendering/easyjson.go
Normal file
354
cdp/rendering/easyjson.go
Normal file
|
@ -0,0 +1,354 @@
|
||||||
|
// AUTOGENERATED FILE: easyjson marshaler/unmarshalers.
|
||||||
|
|
||||||
|
package rendering
|
||||||
|
|
||||||
|
import (
|
||||||
|
json "encoding/json"
|
||||||
|
easyjson "github.com/mailru/easyjson"
|
||||||
|
jlexer "github.com/mailru/easyjson/jlexer"
|
||||||
|
jwriter "github.com/mailru/easyjson/jwriter"
|
||||||
|
)
|
||||||
|
|
||||||
|
// suppress unused package warning
|
||||||
|
var (
|
||||||
|
_ *json.RawMessage
|
||||||
|
_ *jlexer.Lexer
|
||||||
|
_ *jwriter.Writer
|
||||||
|
_ easyjson.Marshaler
|
||||||
|
)
|
||||||
|
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpRendering(in *jlexer.Lexer, out *SetShowViewportSizeOnResizeParams) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "show":
|
||||||
|
out.Show = bool(in.Bool())
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpRendering(out *jwriter.Writer, in SetShowViewportSizeOnResizeParams) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"show\":")
|
||||||
|
out.Bool(bool(in.Show))
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v SetShowViewportSizeOnResizeParams) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpRendering(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v SetShowViewportSizeOnResizeParams) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpRendering(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *SetShowViewportSizeOnResizeParams) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpRendering(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *SetShowViewportSizeOnResizeParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpRendering(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpRendering1(in *jlexer.Lexer, out *SetShowScrollBottleneckRectsParams) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "show":
|
||||||
|
out.Show = bool(in.Bool())
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpRendering1(out *jwriter.Writer, in SetShowScrollBottleneckRectsParams) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"show\":")
|
||||||
|
out.Bool(bool(in.Show))
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v SetShowScrollBottleneckRectsParams) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpRendering1(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v SetShowScrollBottleneckRectsParams) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpRendering1(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *SetShowScrollBottleneckRectsParams) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpRendering1(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *SetShowScrollBottleneckRectsParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpRendering1(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpRendering2(in *jlexer.Lexer, out *SetShowPaintRectsParams) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "result":
|
||||||
|
out.Result = bool(in.Bool())
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpRendering2(out *jwriter.Writer, in SetShowPaintRectsParams) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"result\":")
|
||||||
|
out.Bool(bool(in.Result))
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v SetShowPaintRectsParams) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpRendering2(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v SetShowPaintRectsParams) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpRendering2(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *SetShowPaintRectsParams) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpRendering2(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *SetShowPaintRectsParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpRendering2(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpRendering3(in *jlexer.Lexer, out *SetShowFPSCounterParams) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "show":
|
||||||
|
out.Show = bool(in.Bool())
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpRendering3(out *jwriter.Writer, in SetShowFPSCounterParams) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"show\":")
|
||||||
|
out.Bool(bool(in.Show))
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v SetShowFPSCounterParams) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpRendering3(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v SetShowFPSCounterParams) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpRendering3(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *SetShowFPSCounterParams) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpRendering3(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *SetShowFPSCounterParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpRendering3(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpRendering4(in *jlexer.Lexer, out *SetShowDebugBordersParams) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "show":
|
||||||
|
out.Show = bool(in.Bool())
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpRendering4(out *jwriter.Writer, in SetShowDebugBordersParams) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"show\":")
|
||||||
|
out.Bool(bool(in.Show))
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v SetShowDebugBordersParams) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpRendering4(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v SetShowDebugBordersParams) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpRendering4(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *SetShowDebugBordersParams) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpRendering4(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *SetShowDebugBordersParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpRendering4(l, v)
|
||||||
|
}
|
300
cdp/rendering/rendering.go
Normal file
300
cdp/rendering/rendering.go
Normal file
|
@ -0,0 +1,300 @@
|
||||||
|
// Package rendering provides the Chrome Debugging Protocol
|
||||||
|
// commands, types, and events for the Chrome Rendering domain.
|
||||||
|
//
|
||||||
|
// This domain allows to control rendering of the page.
|
||||||
|
//
|
||||||
|
// Generated by the chromedp-gen command.
|
||||||
|
package rendering
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
"github.com/mailru/easyjson"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// SetShowPaintRectsParams requests that backend shows paint rectangles.
|
||||||
|
type SetShowPaintRectsParams struct {
|
||||||
|
Result bool `json:"result"` // True for showing paint rectangles
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetShowPaintRects requests that backend shows paint rectangles.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// result - True for showing paint rectangles
|
||||||
|
func SetShowPaintRects(result bool) *SetShowPaintRectsParams {
|
||||||
|
return &SetShowPaintRectsParams{
|
||||||
|
Result: result,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Rendering.setShowPaintRects.
|
||||||
|
func (p *SetShowPaintRectsParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandRenderingSetShowPaintRects, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetShowDebugBordersParams requests that backend shows debug borders on
|
||||||
|
// layers.
|
||||||
|
type SetShowDebugBordersParams struct {
|
||||||
|
Show bool `json:"show"` // True for showing debug borders
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetShowDebugBorders requests that backend shows debug borders on layers.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// show - True for showing debug borders
|
||||||
|
func SetShowDebugBorders(show bool) *SetShowDebugBordersParams {
|
||||||
|
return &SetShowDebugBordersParams{
|
||||||
|
Show: show,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Rendering.setShowDebugBorders.
|
||||||
|
func (p *SetShowDebugBordersParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandRenderingSetShowDebugBorders, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetShowFPSCounterParams requests that backend shows the FPS counter.
|
||||||
|
type SetShowFPSCounterParams struct {
|
||||||
|
Show bool `json:"show"` // True for showing the FPS counter
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetShowFPSCounter requests that backend shows the FPS counter.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// show - True for showing the FPS counter
|
||||||
|
func SetShowFPSCounter(show bool) *SetShowFPSCounterParams {
|
||||||
|
return &SetShowFPSCounterParams{
|
||||||
|
Show: show,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Rendering.setShowFPSCounter.
|
||||||
|
func (p *SetShowFPSCounterParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandRenderingSetShowFPSCounter, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetShowScrollBottleneckRectsParams requests that backend shows scroll
|
||||||
|
// bottleneck rects.
|
||||||
|
type SetShowScrollBottleneckRectsParams struct {
|
||||||
|
Show bool `json:"show"` // True for showing scroll bottleneck rects
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetShowScrollBottleneckRects requests that backend shows scroll bottleneck
|
||||||
|
// rects.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// show - True for showing scroll bottleneck rects
|
||||||
|
func SetShowScrollBottleneckRects(show bool) *SetShowScrollBottleneckRectsParams {
|
||||||
|
return &SetShowScrollBottleneckRectsParams{
|
||||||
|
Show: show,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Rendering.setShowScrollBottleneckRects.
|
||||||
|
func (p *SetShowScrollBottleneckRectsParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandRenderingSetShowScrollBottleneckRects, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetShowViewportSizeOnResizeParams paints viewport size upon main frame
|
||||||
|
// resize.
|
||||||
|
type SetShowViewportSizeOnResizeParams struct {
|
||||||
|
Show bool `json:"show"` // Whether to paint size or not.
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetShowViewportSizeOnResize paints viewport size upon main frame resize.
|
||||||
|
//
|
||||||
|
// parameters:
|
||||||
|
// show - Whether to paint size or not.
|
||||||
|
func SetShowViewportSizeOnResize(show bool) *SetShowViewportSizeOnResizeParams {
|
||||||
|
return &SetShowViewportSizeOnResizeParams{
|
||||||
|
Show: show,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Rendering.setShowViewportSizeOnResize.
|
||||||
|
func (p *SetShowViewportSizeOnResizeParams) Do(ctxt context.Context, h FrameHandler) (err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// marshal
|
||||||
|
buf, err := easyjson.Marshal(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandRenderingSetShowViewportSizeOnResize, easyjson.RawMessage(buf))
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
return nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrUnknownResult
|
||||||
|
}
|
4121
cdp/runtime/easyjson.go
Normal file
4121
cdp/runtime/easyjson.go
Normal file
File diff suppressed because it is too large
Load Diff
81
cdp/runtime/events.go
Normal file
81
cdp/runtime/events.go
Normal file
|
@ -0,0 +1,81 @@
|
||||||
|
package runtime
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
"github.com/mailru/easyjson"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// EventExecutionContextCreated issued when new execution context is created.
|
||||||
|
type EventExecutionContextCreated struct {
|
||||||
|
Context *ExecutionContextDescription `json:"context,omitempty"` // A newly created execution contex.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventExecutionContextDestroyed issued when execution context is destroyed.
|
||||||
|
type EventExecutionContextDestroyed struct {
|
||||||
|
ExecutionContextID ExecutionContextID `json:"executionContextId,omitempty"` // Id of the destroyed context
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventExecutionContextsCleared issued when all executionContexts were
|
||||||
|
// cleared in browser.
|
||||||
|
type EventExecutionContextsCleared struct{}
|
||||||
|
|
||||||
|
// EventExceptionThrown issued when exception was thrown and unhandled.
|
||||||
|
type EventExceptionThrown struct {
|
||||||
|
Timestamp Timestamp `json:"timestamp,omitempty"` // Timestamp of the exception.
|
||||||
|
ExceptionDetails *ExceptionDetails `json:"exceptionDetails,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventExceptionRevoked issued when unhandled exception was revoked.
|
||||||
|
type EventExceptionRevoked struct {
|
||||||
|
Reason string `json:"reason,omitempty"` // Reason describing why exception was revoked.
|
||||||
|
ExceptionID int64 `json:"exceptionId,omitempty"` // The id of revoked exception, as reported in exceptionUnhandled.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventConsoleAPICalled issued when console API was called.
|
||||||
|
type EventConsoleAPICalled struct {
|
||||||
|
Type APIType `json:"type,omitempty"` // Type of the call.
|
||||||
|
Args []*RemoteObject `json:"args,omitempty"` // Call arguments.
|
||||||
|
ExecutionContextID ExecutionContextID `json:"executionContextId,omitempty"` // Identifier of the context where the call was made.
|
||||||
|
Timestamp Timestamp `json:"timestamp,omitempty"` // Call timestamp.
|
||||||
|
StackTrace *StackTrace `json:"stackTrace,omitempty"` // Stack trace captured when the call was made.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventInspectRequested issued when object should be inspected (for example,
|
||||||
|
// as a result of inspect() command line API call).
|
||||||
|
type EventInspectRequested struct {
|
||||||
|
Object *RemoteObject `json:"object,omitempty"`
|
||||||
|
Hints easyjson.RawMessage `json:"hints,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventTypes is all event types in the domain.
|
||||||
|
var EventTypes = []MethodType{
|
||||||
|
EventRuntimeExecutionContextCreated,
|
||||||
|
EventRuntimeExecutionContextDestroyed,
|
||||||
|
EventRuntimeExecutionContextsCleared,
|
||||||
|
EventRuntimeExceptionThrown,
|
||||||
|
EventRuntimeExceptionRevoked,
|
||||||
|
EventRuntimeConsoleAPICalled,
|
||||||
|
EventRuntimeInspectRequested,
|
||||||
|
}
|
1002
cdp/runtime/runtime.go
Normal file
1002
cdp/runtime/runtime.go
Normal file
File diff suppressed because it is too large
Load Diff
435
cdp/runtime/types.go
Normal file
435
cdp/runtime/types.go
Normal file
|
@ -0,0 +1,435 @@
|
||||||
|
package runtime
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
"errors"
|
||||||
|
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
"github.com/mailru/easyjson"
|
||||||
|
"github.com/mailru/easyjson/jlexer"
|
||||||
|
"github.com/mailru/easyjson/jwriter"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// ScriptID unique script identifier.
|
||||||
|
type ScriptID string
|
||||||
|
|
||||||
|
// String returns the ScriptID as string value.
|
||||||
|
func (t ScriptID) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// RemoteObjectID unique object identifier.
|
||||||
|
type RemoteObjectID string
|
||||||
|
|
||||||
|
// String returns the RemoteObjectID as string value.
|
||||||
|
func (t RemoteObjectID) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnserializableValue primitive value which cannot be JSON-stringified.
|
||||||
|
type UnserializableValue string
|
||||||
|
|
||||||
|
// String returns the UnserializableValue as string value.
|
||||||
|
func (t UnserializableValue) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnserializableValue values.
|
||||||
|
const (
|
||||||
|
UnserializableValueInfinity UnserializableValue = "Infinity"
|
||||||
|
UnserializableValueNaN UnserializableValue = "NaN"
|
||||||
|
UnserializableValueNegativeInfinity UnserializableValue = "-Infinity"
|
||||||
|
UnserializableValueNegative UnserializableValue = "-0"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t UnserializableValue) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t UnserializableValue) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *UnserializableValue) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch UnserializableValue(in.String()) {
|
||||||
|
case UnserializableValueInfinity:
|
||||||
|
*t = UnserializableValueInfinity
|
||||||
|
case UnserializableValueNaN:
|
||||||
|
*t = UnserializableValueNaN
|
||||||
|
case UnserializableValueNegativeInfinity:
|
||||||
|
*t = UnserializableValueNegativeInfinity
|
||||||
|
case UnserializableValueNegative:
|
||||||
|
*t = UnserializableValueNegative
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown UnserializableValue value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *UnserializableValue) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// RemoteObject mirror object referencing original JavaScript object.
|
||||||
|
type RemoteObject struct {
|
||||||
|
Type Type `json:"type,omitempty"` // Object type.
|
||||||
|
Subtype Subtype `json:"subtype,omitempty"` // Object subtype hint. Specified for object type values only.
|
||||||
|
ClassName string `json:"className,omitempty"` // Object class (constructor) name. Specified for object type values only.
|
||||||
|
Value easyjson.RawMessage `json:"value,omitempty"` // Remote object value in case of primitive values or JSON values (if it was requested).
|
||||||
|
UnserializableValue UnserializableValue `json:"unserializableValue,omitempty"` // Primitive value which can not be JSON-stringified does not have value, but gets this property.
|
||||||
|
Description string `json:"description,omitempty"` // String representation of the object.
|
||||||
|
ObjectID RemoteObjectID `json:"objectId,omitempty"` // Unique object identifier (for non-primitive values).
|
||||||
|
Preview *ObjectPreview `json:"preview,omitempty"` // Preview containing abbreviated property values. Specified for object type values only.
|
||||||
|
CustomPreview *CustomPreview `json:"customPreview,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type CustomPreview struct {
|
||||||
|
Header string `json:"header,omitempty"`
|
||||||
|
HasBody bool `json:"hasBody,omitempty"`
|
||||||
|
FormatterObjectID RemoteObjectID `json:"formatterObjectId,omitempty"`
|
||||||
|
BindRemoteObjectFunctionID RemoteObjectID `json:"bindRemoteObjectFunctionId,omitempty"`
|
||||||
|
ConfigObjectID RemoteObjectID `json:"configObjectId,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// ObjectPreview object containing abbreviated remote object value.
|
||||||
|
type ObjectPreview struct {
|
||||||
|
Type Type `json:"type,omitempty"` // Object type.
|
||||||
|
Subtype Subtype `json:"subtype,omitempty"` // Object subtype hint. Specified for object type values only.
|
||||||
|
Description string `json:"description,omitempty"` // String representation of the object.
|
||||||
|
Overflow bool `json:"overflow,omitempty"` // True iff some of the properties or entries of the original object did not fit.
|
||||||
|
Properties []*PropertyPreview `json:"properties,omitempty"` // List of the properties.
|
||||||
|
Entries []*EntryPreview `json:"entries,omitempty"` // List of the entries. Specified for map and set subtype values only.
|
||||||
|
}
|
||||||
|
|
||||||
|
type PropertyPreview struct {
|
||||||
|
Name string `json:"name,omitempty"` // Property name.
|
||||||
|
Type Type `json:"type,omitempty"` // Object type. Accessor means that the property itself is an accessor property.
|
||||||
|
Value string `json:"value,omitempty"` // User-friendly property value string.
|
||||||
|
ValuePreview *ObjectPreview `json:"valuePreview,omitempty"` // Nested value preview.
|
||||||
|
Subtype Subtype `json:"subtype,omitempty"` // Object subtype hint. Specified for object type values only.
|
||||||
|
}
|
||||||
|
|
||||||
|
type EntryPreview struct {
|
||||||
|
Key *ObjectPreview `json:"key,omitempty"` // Preview of the key. Specified for map-like collection entries.
|
||||||
|
Value *ObjectPreview `json:"value,omitempty"` // Preview of the value.
|
||||||
|
}
|
||||||
|
|
||||||
|
// PropertyDescriptor object property descriptor.
|
||||||
|
type PropertyDescriptor struct {
|
||||||
|
Name string `json:"name,omitempty"` // Property name or symbol description.
|
||||||
|
Value *RemoteObject `json:"value,omitempty"` // The value associated with the property.
|
||||||
|
Writable bool `json:"writable,omitempty"` // True if the value associated with the property may be changed (data descriptors only).
|
||||||
|
Get *RemoteObject `json:"get,omitempty"` // A function which serves as a getter for the property, or undefined if there is no getter (accessor descriptors only).
|
||||||
|
Set *RemoteObject `json:"set,omitempty"` // A function which serves as a setter for the property, or undefined if there is no setter (accessor descriptors only).
|
||||||
|
Configurable bool `json:"configurable,omitempty"` // True if the type of this property descriptor may be changed and if the property may be deleted from the corresponding object.
|
||||||
|
Enumerable bool `json:"enumerable,omitempty"` // True if this property shows up during enumeration of the properties on the corresponding object.
|
||||||
|
WasThrown bool `json:"wasThrown,omitempty"` // True if the result was thrown during the evaluation.
|
||||||
|
IsOwn bool `json:"isOwn,omitempty"` // True if the property is owned for the object.
|
||||||
|
Symbol *RemoteObject `json:"symbol,omitempty"` // Property symbol object, if the property is of the symbol type.
|
||||||
|
}
|
||||||
|
|
||||||
|
// InternalPropertyDescriptor object internal property descriptor. This
|
||||||
|
// property isn't normally visible in JavaScript code.
|
||||||
|
type InternalPropertyDescriptor struct {
|
||||||
|
Name string `json:"name,omitempty"` // Conventional property name.
|
||||||
|
Value *RemoteObject `json:"value,omitempty"` // The value associated with the property.
|
||||||
|
}
|
||||||
|
|
||||||
|
// CallArgument represents function call argument. Either remote object id
|
||||||
|
// objectId, primitive value, unserializable primitive value or neither of (for
|
||||||
|
// undefined) them should be specified.
|
||||||
|
type CallArgument struct {
|
||||||
|
Value easyjson.RawMessage `json:"value,omitempty"` // Primitive value.
|
||||||
|
UnserializableValue UnserializableValue `json:"unserializableValue,omitempty"` // Primitive value which can not be JSON-stringified.
|
||||||
|
ObjectID RemoteObjectID `json:"objectId,omitempty"` // Remote object handle.
|
||||||
|
}
|
||||||
|
|
||||||
|
// ExecutionContextID id of an execution context.
|
||||||
|
type ExecutionContextID int64
|
||||||
|
|
||||||
|
// Int64 returns the ExecutionContextID as int64 value.
|
||||||
|
func (t ExecutionContextID) Int64() int64 {
|
||||||
|
return int64(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ExecutionContextDescription description of an isolated world.
|
||||||
|
type ExecutionContextDescription struct {
|
||||||
|
ID ExecutionContextID `json:"id,omitempty"` // Unique id of the execution context. It can be used to specify in which execution context script evaluation should be performed.
|
||||||
|
Origin string `json:"origin,omitempty"` // Execution context origin.
|
||||||
|
Name string `json:"name,omitempty"` // Human readable name describing given context.
|
||||||
|
AuxData easyjson.RawMessage `json:"auxData,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// ExceptionDetails detailed information about exception (or error) that was
|
||||||
|
// thrown during script compilation or execution.
|
||||||
|
type ExceptionDetails struct {
|
||||||
|
ExceptionID int64 `json:"exceptionId,omitempty"` // Exception id.
|
||||||
|
Text string `json:"text,omitempty"` // Exception text, which should be used together with exception object when available.
|
||||||
|
LineNumber int64 `json:"lineNumber,omitempty"` // Line number of the exception location (0-based).
|
||||||
|
ColumnNumber int64 `json:"columnNumber,omitempty"` // Column number of the exception location (0-based).
|
||||||
|
ScriptID ScriptID `json:"scriptId,omitempty"` // Script ID of the exception location.
|
||||||
|
URL string `json:"url,omitempty"` // URL of the exception location, to be used when the script was not reported.
|
||||||
|
StackTrace *StackTrace `json:"stackTrace,omitempty"` // JavaScript stack trace if available.
|
||||||
|
Exception *RemoteObject `json:"exception,omitempty"` // Exception object if available.
|
||||||
|
ExecutionContextID ExecutionContextID `json:"executionContextId,omitempty"` // Identifier of the context where exception happened.
|
||||||
|
}
|
||||||
|
|
||||||
|
// CallFrame stack entry for runtime errors and assertions.
|
||||||
|
type CallFrame struct {
|
||||||
|
FunctionName string `json:"functionName,omitempty"` // JavaScript function name.
|
||||||
|
ScriptID ScriptID `json:"scriptId,omitempty"` // JavaScript script id.
|
||||||
|
URL string `json:"url,omitempty"` // JavaScript script name or url.
|
||||||
|
LineNumber int64 `json:"lineNumber,omitempty"` // JavaScript script line number (0-based).
|
||||||
|
ColumnNumber int64 `json:"columnNumber,omitempty"` // JavaScript script column number (0-based).
|
||||||
|
}
|
||||||
|
|
||||||
|
// StackTrace call frames for assertions or error messages.
|
||||||
|
type StackTrace struct {
|
||||||
|
Description string `json:"description,omitempty"` // String label of this stack trace. For async traces this may be a name of the function that initiated the async call.
|
||||||
|
CallFrames []*CallFrame `json:"callFrames,omitempty"` // JavaScript function name.
|
||||||
|
Parent *StackTrace `json:"parent,omitempty"` // Asynchronous JavaScript stack trace that preceded this stack, if available.
|
||||||
|
}
|
||||||
|
|
||||||
|
// Type object type.
|
||||||
|
type Type string
|
||||||
|
|
||||||
|
// String returns the Type as string value.
|
||||||
|
func (t Type) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Type values.
|
||||||
|
const (
|
||||||
|
TypeObject Type = "object"
|
||||||
|
TypeFunction Type = "function"
|
||||||
|
TypeUndefined Type = "undefined"
|
||||||
|
TypeString Type = "string"
|
||||||
|
TypeNumber Type = "number"
|
||||||
|
TypeBoolean Type = "boolean"
|
||||||
|
TypeSymbol Type = "symbol"
|
||||||
|
TypeAccessor Type = "accessor"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t Type) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t Type) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *Type) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch Type(in.String()) {
|
||||||
|
case TypeObject:
|
||||||
|
*t = TypeObject
|
||||||
|
case TypeFunction:
|
||||||
|
*t = TypeFunction
|
||||||
|
case TypeUndefined:
|
||||||
|
*t = TypeUndefined
|
||||||
|
case TypeString:
|
||||||
|
*t = TypeString
|
||||||
|
case TypeNumber:
|
||||||
|
*t = TypeNumber
|
||||||
|
case TypeBoolean:
|
||||||
|
*t = TypeBoolean
|
||||||
|
case TypeSymbol:
|
||||||
|
*t = TypeSymbol
|
||||||
|
case TypeAccessor:
|
||||||
|
*t = TypeAccessor
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown Type value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *Type) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Subtype object subtype hint. Specified for object type values only.
|
||||||
|
type Subtype string
|
||||||
|
|
||||||
|
// String returns the Subtype as string value.
|
||||||
|
func (t Subtype) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Subtype values.
|
||||||
|
const (
|
||||||
|
SubtypeArray Subtype = "array"
|
||||||
|
SubtypeNull Subtype = "null"
|
||||||
|
SubtypeNode Subtype = "node"
|
||||||
|
SubtypeRegexp Subtype = "regexp"
|
||||||
|
SubtypeDate Subtype = "date"
|
||||||
|
SubtypeMap Subtype = "map"
|
||||||
|
SubtypeSet Subtype = "set"
|
||||||
|
SubtypeIterator Subtype = "iterator"
|
||||||
|
SubtypeGenerator Subtype = "generator"
|
||||||
|
SubtypeError Subtype = "error"
|
||||||
|
SubtypeProxy Subtype = "proxy"
|
||||||
|
SubtypePromise Subtype = "promise"
|
||||||
|
SubtypeTypedarray Subtype = "typedarray"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t Subtype) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t Subtype) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *Subtype) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch Subtype(in.String()) {
|
||||||
|
case SubtypeArray:
|
||||||
|
*t = SubtypeArray
|
||||||
|
case SubtypeNull:
|
||||||
|
*t = SubtypeNull
|
||||||
|
case SubtypeNode:
|
||||||
|
*t = SubtypeNode
|
||||||
|
case SubtypeRegexp:
|
||||||
|
*t = SubtypeRegexp
|
||||||
|
case SubtypeDate:
|
||||||
|
*t = SubtypeDate
|
||||||
|
case SubtypeMap:
|
||||||
|
*t = SubtypeMap
|
||||||
|
case SubtypeSet:
|
||||||
|
*t = SubtypeSet
|
||||||
|
case SubtypeIterator:
|
||||||
|
*t = SubtypeIterator
|
||||||
|
case SubtypeGenerator:
|
||||||
|
*t = SubtypeGenerator
|
||||||
|
case SubtypeError:
|
||||||
|
*t = SubtypeError
|
||||||
|
case SubtypeProxy:
|
||||||
|
*t = SubtypeProxy
|
||||||
|
case SubtypePromise:
|
||||||
|
*t = SubtypePromise
|
||||||
|
case SubtypeTypedarray:
|
||||||
|
*t = SubtypeTypedarray
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown Subtype value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *Subtype) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// APIType type of the call.
|
||||||
|
type APIType string
|
||||||
|
|
||||||
|
// String returns the APIType as string value.
|
||||||
|
func (t APIType) String() string {
|
||||||
|
return string(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// APIType values.
|
||||||
|
const (
|
||||||
|
APITypeLog APIType = "log"
|
||||||
|
APITypeDebug APIType = "debug"
|
||||||
|
APITypeInfo APIType = "info"
|
||||||
|
APITypeError APIType = "error"
|
||||||
|
APITypeWarning APIType = "warning"
|
||||||
|
APITypeDir APIType = "dir"
|
||||||
|
APITypeDirxml APIType = "dirxml"
|
||||||
|
APITypeTable APIType = "table"
|
||||||
|
APITypeTrace APIType = "trace"
|
||||||
|
APITypeClear APIType = "clear"
|
||||||
|
APITypeStartGroup APIType = "startGroup"
|
||||||
|
APITypeStartGroupCollapsed APIType = "startGroupCollapsed"
|
||||||
|
APITypeEndGroup APIType = "endGroup"
|
||||||
|
APITypeAssert APIType = "assert"
|
||||||
|
APITypeProfile APIType = "profile"
|
||||||
|
APITypeProfileEnd APIType = "profileEnd"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||||
|
func (t APIType) MarshalEasyJSON(out *jwriter.Writer) {
|
||||||
|
out.String(string(t))
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON satisfies json.Marshaler.
|
||||||
|
func (t APIType) MarshalJSON() ([]byte, error) {
|
||||||
|
return easyjson.Marshal(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||||
|
func (t *APIType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||||
|
switch APIType(in.String()) {
|
||||||
|
case APITypeLog:
|
||||||
|
*t = APITypeLog
|
||||||
|
case APITypeDebug:
|
||||||
|
*t = APITypeDebug
|
||||||
|
case APITypeInfo:
|
||||||
|
*t = APITypeInfo
|
||||||
|
case APITypeError:
|
||||||
|
*t = APITypeError
|
||||||
|
case APITypeWarning:
|
||||||
|
*t = APITypeWarning
|
||||||
|
case APITypeDir:
|
||||||
|
*t = APITypeDir
|
||||||
|
case APITypeDirxml:
|
||||||
|
*t = APITypeDirxml
|
||||||
|
case APITypeTable:
|
||||||
|
*t = APITypeTable
|
||||||
|
case APITypeTrace:
|
||||||
|
*t = APITypeTrace
|
||||||
|
case APITypeClear:
|
||||||
|
*t = APITypeClear
|
||||||
|
case APITypeStartGroup:
|
||||||
|
*t = APITypeStartGroup
|
||||||
|
case APITypeStartGroupCollapsed:
|
||||||
|
*t = APITypeStartGroupCollapsed
|
||||||
|
case APITypeEndGroup:
|
||||||
|
*t = APITypeEndGroup
|
||||||
|
case APITypeAssert:
|
||||||
|
*t = APITypeAssert
|
||||||
|
case APITypeProfile:
|
||||||
|
*t = APITypeProfile
|
||||||
|
case APITypeProfileEnd:
|
||||||
|
*t = APITypeProfileEnd
|
||||||
|
|
||||||
|
default:
|
||||||
|
in.AddError(errors.New("unknown APIType value"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||||||
|
func (t *APIType) UnmarshalJSON(buf []byte) error {
|
||||||
|
return easyjson.Unmarshal(buf, t)
|
||||||
|
}
|
266
cdp/schema/easyjson.go
Normal file
266
cdp/schema/easyjson.go
Normal file
|
@ -0,0 +1,266 @@
|
||||||
|
// AUTOGENERATED FILE: easyjson marshaler/unmarshalers.
|
||||||
|
|
||||||
|
package schema
|
||||||
|
|
||||||
|
import (
|
||||||
|
json "encoding/json"
|
||||||
|
easyjson "github.com/mailru/easyjson"
|
||||||
|
jlexer "github.com/mailru/easyjson/jlexer"
|
||||||
|
jwriter "github.com/mailru/easyjson/jwriter"
|
||||||
|
)
|
||||||
|
|
||||||
|
// suppress unused package warning
|
||||||
|
var (
|
||||||
|
_ *json.RawMessage
|
||||||
|
_ *jlexer.Lexer
|
||||||
|
_ *jwriter.Writer
|
||||||
|
_ easyjson.Marshaler
|
||||||
|
)
|
||||||
|
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpSchema(in *jlexer.Lexer, out *GetDomainsReturns) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "domains":
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
out.Domains = nil
|
||||||
|
} else {
|
||||||
|
in.Delim('[')
|
||||||
|
if !in.IsDelim(']') {
|
||||||
|
out.Domains = make([]*Domain, 0, 8)
|
||||||
|
} else {
|
||||||
|
out.Domains = []*Domain{}
|
||||||
|
}
|
||||||
|
for !in.IsDelim(']') {
|
||||||
|
var v1 *Domain
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
v1 = nil
|
||||||
|
} else {
|
||||||
|
if v1 == nil {
|
||||||
|
v1 = new(Domain)
|
||||||
|
}
|
||||||
|
(*v1).UnmarshalEasyJSON(in)
|
||||||
|
}
|
||||||
|
out.Domains = append(out.Domains, v1)
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim(']')
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpSchema(out *jwriter.Writer, in GetDomainsReturns) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if len(in.Domains) != 0 {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"domains\":")
|
||||||
|
if in.Domains == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 {
|
||||||
|
out.RawString("null")
|
||||||
|
} else {
|
||||||
|
out.RawByte('[')
|
||||||
|
for v2, v3 := range in.Domains {
|
||||||
|
if v2 > 0 {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
if v3 == nil {
|
||||||
|
out.RawString("null")
|
||||||
|
} else {
|
||||||
|
(*v3).MarshalEasyJSON(out)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
out.RawByte(']')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v GetDomainsReturns) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpSchema(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v GetDomainsReturns) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpSchema(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *GetDomainsReturns) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpSchema(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *GetDomainsReturns) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpSchema(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpSchema1(in *jlexer.Lexer, out *GetDomainsParams) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpSchema1(out *jwriter.Writer, in GetDomainsParams) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v GetDomainsParams) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpSchema1(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v GetDomainsParams) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpSchema1(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *GetDomainsParams) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpSchema1(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *GetDomainsParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpSchema1(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpSchema2(in *jlexer.Lexer, out *Domain) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "name":
|
||||||
|
out.Name = string(in.String())
|
||||||
|
case "version":
|
||||||
|
out.Version = string(in.String())
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpSchema2(out *jwriter.Writer, in Domain) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if in.Name != "" {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"name\":")
|
||||||
|
out.String(string(in.Name))
|
||||||
|
}
|
||||||
|
if in.Version != "" {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"version\":")
|
||||||
|
out.String(string(in.Version))
|
||||||
|
}
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v Domain) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpSchema2(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v Domain) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpSchema2(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *Domain) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpSchema2(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *Domain) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpSchema2(l, v)
|
||||||
|
}
|
90
cdp/schema/schema.go
Normal file
90
cdp/schema/schema.go
Normal file
|
@ -0,0 +1,90 @@
|
||||||
|
// Package schema provides the Chrome Debugging Protocol
|
||||||
|
// commands, types, and events for the Chrome Schema domain.
|
||||||
|
//
|
||||||
|
// Provides information about the protocol schema.
|
||||||
|
//
|
||||||
|
// Generated by the chromedp-gen command.
|
||||||
|
package schema
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
"github.com/mailru/easyjson"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// GetDomainsParams returns supported domains.
|
||||||
|
type GetDomainsParams struct{}
|
||||||
|
|
||||||
|
// GetDomains returns supported domains.
|
||||||
|
func GetDomains() *GetDomainsParams {
|
||||||
|
return &GetDomainsParams{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetDomainsReturns return values.
|
||||||
|
type GetDomainsReturns struct {
|
||||||
|
Domains []*Domain `json:"domains,omitempty"` // List of supported domains.
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do executes Schema.getDomains.
|
||||||
|
//
|
||||||
|
// returns:
|
||||||
|
// domains - List of supported domains.
|
||||||
|
func (p *GetDomainsParams) Do(ctxt context.Context, h FrameHandler) (domains []*Domain, err error) {
|
||||||
|
if ctxt == nil {
|
||||||
|
ctxt = context.Background()
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
|
ch := h.Execute(ctxt, CommandSchemaGetDomains, Empty)
|
||||||
|
|
||||||
|
// read response
|
||||||
|
select {
|
||||||
|
case res := <-ch:
|
||||||
|
if res == nil {
|
||||||
|
return nil, ErrChannelClosed
|
||||||
|
}
|
||||||
|
|
||||||
|
switch v := res.(type) {
|
||||||
|
case easyjson.RawMessage:
|
||||||
|
// unmarshal
|
||||||
|
var r GetDomainsReturns
|
||||||
|
err = easyjson.Unmarshal(v, &r)
|
||||||
|
if err != nil {
|
||||||
|
return nil, ErrInvalidResult
|
||||||
|
}
|
||||||
|
|
||||||
|
return r.Domains, nil
|
||||||
|
|
||||||
|
case error:
|
||||||
|
return nil, v
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctxt.Done():
|
||||||
|
return nil, ErrContextDone
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil, ErrUnknownResult
|
||||||
|
}
|
33
cdp/schema/types.go
Normal file
33
cdp/schema/types.go
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
package schema
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// Domain description of the protocol domain.
|
||||||
|
type Domain struct {
|
||||||
|
Name string `json:"name,omitempty"` // Domain name.
|
||||||
|
Version string `json:"version,omitempty"` // Domain version.
|
||||||
|
}
|
575
cdp/security/easyjson.go
Normal file
575
cdp/security/easyjson.go
Normal file
|
@ -0,0 +1,575 @@
|
||||||
|
// AUTOGENERATED FILE: easyjson marshaler/unmarshalers.
|
||||||
|
|
||||||
|
package security
|
||||||
|
|
||||||
|
import (
|
||||||
|
json "encoding/json"
|
||||||
|
easyjson "github.com/mailru/easyjson"
|
||||||
|
jlexer "github.com/mailru/easyjson/jlexer"
|
||||||
|
jwriter "github.com/mailru/easyjson/jwriter"
|
||||||
|
)
|
||||||
|
|
||||||
|
// suppress unused package warning
|
||||||
|
var (
|
||||||
|
_ *json.RawMessage
|
||||||
|
_ *jlexer.Lexer
|
||||||
|
_ *jwriter.Writer
|
||||||
|
_ easyjson.Marshaler
|
||||||
|
)
|
||||||
|
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpSecurity(in *jlexer.Lexer, out *ShowCertificateViewerParams) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpSecurity(out *jwriter.Writer, in ShowCertificateViewerParams) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v ShowCertificateViewerParams) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpSecurity(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v ShowCertificateViewerParams) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpSecurity(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *ShowCertificateViewerParams) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpSecurity(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *ShowCertificateViewerParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpSecurity(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpSecurity1(in *jlexer.Lexer, out *SecurityStateExplanation) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "securityState":
|
||||||
|
(out.SecurityState).UnmarshalEasyJSON(in)
|
||||||
|
case "summary":
|
||||||
|
out.Summary = string(in.String())
|
||||||
|
case "description":
|
||||||
|
out.Description = string(in.String())
|
||||||
|
case "hasCertificate":
|
||||||
|
out.HasCertificate = bool(in.Bool())
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpSecurity1(out *jwriter.Writer, in SecurityStateExplanation) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if in.SecurityState != "" {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"securityState\":")
|
||||||
|
(in.SecurityState).MarshalEasyJSON(out)
|
||||||
|
}
|
||||||
|
if in.Summary != "" {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"summary\":")
|
||||||
|
out.String(string(in.Summary))
|
||||||
|
}
|
||||||
|
if in.Description != "" {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"description\":")
|
||||||
|
out.String(string(in.Description))
|
||||||
|
}
|
||||||
|
if in.HasCertificate {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"hasCertificate\":")
|
||||||
|
out.Bool(bool(in.HasCertificate))
|
||||||
|
}
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v SecurityStateExplanation) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpSecurity1(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v SecurityStateExplanation) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpSecurity1(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *SecurityStateExplanation) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpSecurity1(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *SecurityStateExplanation) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpSecurity1(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpSecurity2(in *jlexer.Lexer, out *InsecureContentStatus) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "ranMixedContent":
|
||||||
|
out.RanMixedContent = bool(in.Bool())
|
||||||
|
case "displayedMixedContent":
|
||||||
|
out.DisplayedMixedContent = bool(in.Bool())
|
||||||
|
case "ranContentWithCertErrors":
|
||||||
|
out.RanContentWithCertErrors = bool(in.Bool())
|
||||||
|
case "displayedContentWithCertErrors":
|
||||||
|
out.DisplayedContentWithCertErrors = bool(in.Bool())
|
||||||
|
case "ranInsecureContentStyle":
|
||||||
|
(out.RanInsecureContentStyle).UnmarshalEasyJSON(in)
|
||||||
|
case "displayedInsecureContentStyle":
|
||||||
|
(out.DisplayedInsecureContentStyle).UnmarshalEasyJSON(in)
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpSecurity2(out *jwriter.Writer, in InsecureContentStatus) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if in.RanMixedContent {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"ranMixedContent\":")
|
||||||
|
out.Bool(bool(in.RanMixedContent))
|
||||||
|
}
|
||||||
|
if in.DisplayedMixedContent {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"displayedMixedContent\":")
|
||||||
|
out.Bool(bool(in.DisplayedMixedContent))
|
||||||
|
}
|
||||||
|
if in.RanContentWithCertErrors {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"ranContentWithCertErrors\":")
|
||||||
|
out.Bool(bool(in.RanContentWithCertErrors))
|
||||||
|
}
|
||||||
|
if in.DisplayedContentWithCertErrors {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"displayedContentWithCertErrors\":")
|
||||||
|
out.Bool(bool(in.DisplayedContentWithCertErrors))
|
||||||
|
}
|
||||||
|
if in.RanInsecureContentStyle != "" {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"ranInsecureContentStyle\":")
|
||||||
|
(in.RanInsecureContentStyle).MarshalEasyJSON(out)
|
||||||
|
}
|
||||||
|
if in.DisplayedInsecureContentStyle != "" {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"displayedInsecureContentStyle\":")
|
||||||
|
(in.DisplayedInsecureContentStyle).MarshalEasyJSON(out)
|
||||||
|
}
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v InsecureContentStatus) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpSecurity2(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v InsecureContentStatus) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpSecurity2(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *InsecureContentStatus) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpSecurity2(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *InsecureContentStatus) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpSecurity2(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpSecurity3(in *jlexer.Lexer, out *EventSecurityStateChanged) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
case "securityState":
|
||||||
|
(out.SecurityState).UnmarshalEasyJSON(in)
|
||||||
|
case "schemeIsCryptographic":
|
||||||
|
out.SchemeIsCryptographic = bool(in.Bool())
|
||||||
|
case "explanations":
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
out.Explanations = nil
|
||||||
|
} else {
|
||||||
|
in.Delim('[')
|
||||||
|
if !in.IsDelim(']') {
|
||||||
|
out.Explanations = make([]*SecurityStateExplanation, 0, 8)
|
||||||
|
} else {
|
||||||
|
out.Explanations = []*SecurityStateExplanation{}
|
||||||
|
}
|
||||||
|
for !in.IsDelim(']') {
|
||||||
|
var v1 *SecurityStateExplanation
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
v1 = nil
|
||||||
|
} else {
|
||||||
|
if v1 == nil {
|
||||||
|
v1 = new(SecurityStateExplanation)
|
||||||
|
}
|
||||||
|
(*v1).UnmarshalEasyJSON(in)
|
||||||
|
}
|
||||||
|
out.Explanations = append(out.Explanations, v1)
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim(']')
|
||||||
|
}
|
||||||
|
case "insecureContentStatus":
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
out.InsecureContentStatus = nil
|
||||||
|
} else {
|
||||||
|
if out.InsecureContentStatus == nil {
|
||||||
|
out.InsecureContentStatus = new(InsecureContentStatus)
|
||||||
|
}
|
||||||
|
(*out.InsecureContentStatus).UnmarshalEasyJSON(in)
|
||||||
|
}
|
||||||
|
case "summary":
|
||||||
|
out.Summary = string(in.String())
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpSecurity3(out *jwriter.Writer, in EventSecurityStateChanged) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
if in.SecurityState != "" {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"securityState\":")
|
||||||
|
(in.SecurityState).MarshalEasyJSON(out)
|
||||||
|
}
|
||||||
|
if in.SchemeIsCryptographic {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"schemeIsCryptographic\":")
|
||||||
|
out.Bool(bool(in.SchemeIsCryptographic))
|
||||||
|
}
|
||||||
|
if len(in.Explanations) != 0 {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"explanations\":")
|
||||||
|
if in.Explanations == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 {
|
||||||
|
out.RawString("null")
|
||||||
|
} else {
|
||||||
|
out.RawByte('[')
|
||||||
|
for v2, v3 := range in.Explanations {
|
||||||
|
if v2 > 0 {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
if v3 == nil {
|
||||||
|
out.RawString("null")
|
||||||
|
} else {
|
||||||
|
(*v3).MarshalEasyJSON(out)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
out.RawByte(']')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if in.InsecureContentStatus != nil {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"insecureContentStatus\":")
|
||||||
|
if in.InsecureContentStatus == nil {
|
||||||
|
out.RawString("null")
|
||||||
|
} else {
|
||||||
|
(*in.InsecureContentStatus).MarshalEasyJSON(out)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if in.Summary != "" {
|
||||||
|
if !first {
|
||||||
|
out.RawByte(',')
|
||||||
|
}
|
||||||
|
first = false
|
||||||
|
out.RawString("\"summary\":")
|
||||||
|
out.String(string(in.Summary))
|
||||||
|
}
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v EventSecurityStateChanged) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpSecurity3(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v EventSecurityStateChanged) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpSecurity3(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *EventSecurityStateChanged) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpSecurity3(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *EventSecurityStateChanged) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpSecurity3(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpSecurity4(in *jlexer.Lexer, out *EnableParams) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpSecurity4(out *jwriter.Writer, in EnableParams) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v EnableParams) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpSecurity4(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v EnableParams) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpSecurity4(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *EnableParams) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpSecurity4(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *EnableParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpSecurity4(l, v)
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpSecurity5(in *jlexer.Lexer, out *DisableParams) {
|
||||||
|
isTopLevel := in.IsStart()
|
||||||
|
if in.IsNull() {
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
in.Skip()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
in.Delim('{')
|
||||||
|
for !in.IsDelim('}') {
|
||||||
|
key := in.UnsafeString()
|
||||||
|
in.WantColon()
|
||||||
|
if in.IsNull() {
|
||||||
|
in.Skip()
|
||||||
|
in.WantComma()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch key {
|
||||||
|
default:
|
||||||
|
in.SkipRecursive()
|
||||||
|
}
|
||||||
|
in.WantComma()
|
||||||
|
}
|
||||||
|
in.Delim('}')
|
||||||
|
if isTopLevel {
|
||||||
|
in.Consumed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpSecurity5(out *jwriter.Writer, in DisableParams) {
|
||||||
|
out.RawByte('{')
|
||||||
|
first := true
|
||||||
|
_ = first
|
||||||
|
out.RawByte('}')
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalJSON supports json.Marshaler interface
|
||||||
|
func (v DisableParams) MarshalJSON() ([]byte, error) {
|
||||||
|
w := jwriter.Writer{}
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpSecurity5(&w, v)
|
||||||
|
return w.Buffer.BuildBytes(), w.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalEasyJSON supports easyjson.Marshaler interface
|
||||||
|
func (v DisableParams) MarshalEasyJSON(w *jwriter.Writer) {
|
||||||
|
easyjsonC5a4559bEncodeGithubComKnqChromedpCdpSecurity5(w, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON supports json.Unmarshaler interface
|
||||||
|
func (v *DisableParams) UnmarshalJSON(data []byte) error {
|
||||||
|
r := jlexer.Lexer{Data: data}
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpSecurity5(&r, v)
|
||||||
|
return r.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
|
||||||
|
func (v *DisableParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
|
||||||
|
easyjsonC5a4559bDecodeGithubComKnqChromedpCdpSecurity5(l, v)
|
||||||
|
}
|
41
cdp/security/events.go
Normal file
41
cdp/security/events.go
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
package security
|
||||||
|
|
||||||
|
// AUTOGENERATED. DO NOT EDIT.
|
||||||
|
|
||||||
|
import (
|
||||||
|
. "github.com/knq/chromedp/cdp"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ BackendNode
|
||||||
|
_ BackendNodeID
|
||||||
|
_ ComputedProperty
|
||||||
|
_ ErrorType
|
||||||
|
_ Frame
|
||||||
|
_ FrameID
|
||||||
|
_ LoaderID
|
||||||
|
_ Message
|
||||||
|
_ MessageError
|
||||||
|
_ MethodType
|
||||||
|
_ Node
|
||||||
|
_ NodeID
|
||||||
|
_ NodeType
|
||||||
|
_ PseudoType
|
||||||
|
_ RGBA
|
||||||
|
_ ShadowRootType
|
||||||
|
_ Timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
// EventSecurityStateChanged the security state of the page changed.
|
||||||
|
type EventSecurityStateChanged struct {
|
||||||
|
SecurityState SecurityState `json:"securityState,omitempty"` // Security state.
|
||||||
|
SchemeIsCryptographic bool `json:"schemeIsCryptographic,omitempty"` // True if the page was loaded over cryptographic transport such as HTTPS.
|
||||||
|
Explanations []*SecurityStateExplanation `json:"explanations,omitempty"` // List of explanations for the security state. If the overall security state is `insecure` or `warning`, at least one corresponding explanation should be included.
|
||||||
|
InsecureContentStatus *InsecureContentStatus `json:"insecureContentStatus,omitempty"` // Information about insecure content on the page.
|
||||||
|
Summary string `json:"summary,omitempty"` // Overrides user-visible description of the state.
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventTypes is all event types in the domain.
|
||||||
|
var EventTypes = []MethodType{
|
||||||
|
EventSecuritySecurityStateChanged,
|
||||||
|
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user