Add cdp support for xpath scrapers (#625)

Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
This commit is contained in:
bnkai
2020-08-04 03:42:40 +03:00
committed by GitHub
parent 1b4a9eed36
commit 4373f9bf01
284 changed files with 133250 additions and 54 deletions

709
vendor/github.com/chromedp/cdproto/log/easyjson.go generated vendored Normal file
View File

@@ -0,0 +1,709 @@
// Code generated by easyjson for marshaling/unmarshaling. DO NOT EDIT.
package log
import (
json "encoding/json"
network "github.com/chromedp/cdproto/network"
runtime "github.com/chromedp/cdproto/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 easyjsonC5a4559bDecodeGithubComChromedpCdprotoLog(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 easyjsonC5a4559bEncodeGithubComChromedpCdprotoLog(out *jwriter.Writer, in ViolationSetting) {
out.RawByte('{')
first := true
_ = first
{
const prefix string = ",\"name\":"
out.RawString(prefix[1:])
(in.Name).MarshalEasyJSON(out)
}
{
const prefix string = ",\"threshold\":"
out.RawString(prefix)
out.Float64(float64(in.Threshold))
}
out.RawByte('}')
}
// MarshalJSON supports json.Marshaler interface
func (v ViolationSetting) MarshalJSON() ([]byte, error) {
w := jwriter.Writer{}
easyjsonC5a4559bEncodeGithubComChromedpCdprotoLog(&w, v)
return w.Buffer.BuildBytes(), w.Error
}
// MarshalEasyJSON supports easyjson.Marshaler interface
func (v ViolationSetting) MarshalEasyJSON(w *jwriter.Writer) {
easyjsonC5a4559bEncodeGithubComChromedpCdprotoLog(w, v)
}
// UnmarshalJSON supports json.Unmarshaler interface
func (v *ViolationSetting) UnmarshalJSON(data []byte) error {
r := jlexer.Lexer{Data: data}
easyjsonC5a4559bDecodeGithubComChromedpCdprotoLog(&r, v)
return r.Error()
}
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *ViolationSetting) UnmarshalEasyJSON(l *jlexer.Lexer) {
easyjsonC5a4559bDecodeGithubComChromedpCdprotoLog(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoLog1(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 easyjsonC5a4559bEncodeGithubComChromedpCdprotoLog1(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{}
easyjsonC5a4559bEncodeGithubComChromedpCdprotoLog1(&w, v)
return w.Buffer.BuildBytes(), w.Error
}
// MarshalEasyJSON supports easyjson.Marshaler interface
func (v StopViolationsReportParams) MarshalEasyJSON(w *jwriter.Writer) {
easyjsonC5a4559bEncodeGithubComChromedpCdprotoLog1(w, v)
}
// UnmarshalJSON supports json.Unmarshaler interface
func (v *StopViolationsReportParams) UnmarshalJSON(data []byte) error {
r := jlexer.Lexer{Data: data}
easyjsonC5a4559bDecodeGithubComChromedpCdprotoLog1(&r, v)
return r.Error()
}
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *StopViolationsReportParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
easyjsonC5a4559bDecodeGithubComChromedpCdprotoLog1(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoLog2(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 out.Config == nil {
if !in.IsDelim(']') {
out.Config = make([]*ViolationSetting, 0, 8)
} else {
out.Config = []*ViolationSetting{}
}
} else {
out.Config = (out.Config)[:0]
}
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 easyjsonC5a4559bEncodeGithubComChromedpCdprotoLog2(out *jwriter.Writer, in StartViolationsReportParams) {
out.RawByte('{')
first := true
_ = first
{
const prefix string = ",\"config\":"
out.RawString(prefix[1:])
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{}
easyjsonC5a4559bEncodeGithubComChromedpCdprotoLog2(&w, v)
return w.Buffer.BuildBytes(), w.Error
}
// MarshalEasyJSON supports easyjson.Marshaler interface
func (v StartViolationsReportParams) MarshalEasyJSON(w *jwriter.Writer) {
easyjsonC5a4559bEncodeGithubComChromedpCdprotoLog2(w, v)
}
// UnmarshalJSON supports json.Unmarshaler interface
func (v *StartViolationsReportParams) UnmarshalJSON(data []byte) error {
r := jlexer.Lexer{Data: data}
easyjsonC5a4559bDecodeGithubComChromedpCdprotoLog2(&r, v)
return r.Error()
}
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *StartViolationsReportParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
easyjsonC5a4559bDecodeGithubComChromedpCdprotoLog2(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoLog3(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(Entry)
}
(*out.Entry).UnmarshalEasyJSON(in)
}
default:
in.SkipRecursive()
}
in.WantComma()
}
in.Delim('}')
if isTopLevel {
in.Consumed()
}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoLog3(out *jwriter.Writer, in EventEntryAdded) {
out.RawByte('{')
first := true
_ = first
{
const prefix string = ",\"entry\":"
out.RawString(prefix[1:])
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{}
easyjsonC5a4559bEncodeGithubComChromedpCdprotoLog3(&w, v)
return w.Buffer.BuildBytes(), w.Error
}
// MarshalEasyJSON supports easyjson.Marshaler interface
func (v EventEntryAdded) MarshalEasyJSON(w *jwriter.Writer) {
easyjsonC5a4559bEncodeGithubComChromedpCdprotoLog3(w, v)
}
// UnmarshalJSON supports json.Unmarshaler interface
func (v *EventEntryAdded) UnmarshalJSON(data []byte) error {
r := jlexer.Lexer{Data: data}
easyjsonC5a4559bDecodeGithubComChromedpCdprotoLog3(&r, v)
return r.Error()
}
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *EventEntryAdded) UnmarshalEasyJSON(l *jlexer.Lexer) {
easyjsonC5a4559bDecodeGithubComChromedpCdprotoLog3(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoLog4(in *jlexer.Lexer, out *Entry) {
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":
if in.IsNull() {
in.Skip()
out.Timestamp = nil
} else {
if out.Timestamp == nil {
out.Timestamp = new(runtime.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())
case "args":
if in.IsNull() {
in.Skip()
out.Args = nil
} else {
in.Delim('[')
if out.Args == nil {
if !in.IsDelim(']') {
out.Args = make([]*runtime.RemoteObject, 0, 8)
} else {
out.Args = []*runtime.RemoteObject{}
}
} else {
out.Args = (out.Args)[:0]
}
for !in.IsDelim(']') {
var v4 *runtime.RemoteObject
if in.IsNull() {
in.Skip()
v4 = nil
} else {
if v4 == nil {
v4 = new(runtime.RemoteObject)
}
(*v4).UnmarshalEasyJSON(in)
}
out.Args = append(out.Args, v4)
in.WantComma()
}
in.Delim(']')
}
default:
in.SkipRecursive()
}
in.WantComma()
}
in.Delim('}')
if isTopLevel {
in.Consumed()
}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoLog4(out *jwriter.Writer, in Entry) {
out.RawByte('{')
first := true
_ = first
{
const prefix string = ",\"source\":"
out.RawString(prefix[1:])
(in.Source).MarshalEasyJSON(out)
}
{
const prefix string = ",\"level\":"
out.RawString(prefix)
(in.Level).MarshalEasyJSON(out)
}
{
const prefix string = ",\"text\":"
out.RawString(prefix)
out.String(string(in.Text))
}
{
const prefix string = ",\"timestamp\":"
out.RawString(prefix)
if in.Timestamp == nil {
out.RawString("null")
} else {
(*in.Timestamp).MarshalEasyJSON(out)
}
}
if in.URL != "" {
const prefix string = ",\"url\":"
out.RawString(prefix)
out.String(string(in.URL))
}
if in.LineNumber != 0 {
const prefix string = ",\"lineNumber\":"
out.RawString(prefix)
out.Int64(int64(in.LineNumber))
}
if in.StackTrace != nil {
const prefix string = ",\"stackTrace\":"
out.RawString(prefix)
(*in.StackTrace).MarshalEasyJSON(out)
}
if in.NetworkRequestID != "" {
const prefix string = ",\"networkRequestId\":"
out.RawString(prefix)
out.String(string(in.NetworkRequestID))
}
if in.WorkerID != "" {
const prefix string = ",\"workerId\":"
out.RawString(prefix)
out.String(string(in.WorkerID))
}
if len(in.Args) != 0 {
const prefix string = ",\"args\":"
out.RawString(prefix)
{
out.RawByte('[')
for v5, v6 := range in.Args {
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 Entry) MarshalJSON() ([]byte, error) {
w := jwriter.Writer{}
easyjsonC5a4559bEncodeGithubComChromedpCdprotoLog4(&w, v)
return w.Buffer.BuildBytes(), w.Error
}
// MarshalEasyJSON supports easyjson.Marshaler interface
func (v Entry) MarshalEasyJSON(w *jwriter.Writer) {
easyjsonC5a4559bEncodeGithubComChromedpCdprotoLog4(w, v)
}
// UnmarshalJSON supports json.Unmarshaler interface
func (v *Entry) UnmarshalJSON(data []byte) error {
r := jlexer.Lexer{Data: data}
easyjsonC5a4559bDecodeGithubComChromedpCdprotoLog4(&r, v)
return r.Error()
}
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *Entry) UnmarshalEasyJSON(l *jlexer.Lexer) {
easyjsonC5a4559bDecodeGithubComChromedpCdprotoLog4(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoLog5(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 easyjsonC5a4559bEncodeGithubComChromedpCdprotoLog5(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{}
easyjsonC5a4559bEncodeGithubComChromedpCdprotoLog5(&w, v)
return w.Buffer.BuildBytes(), w.Error
}
// MarshalEasyJSON supports easyjson.Marshaler interface
func (v EnableParams) MarshalEasyJSON(w *jwriter.Writer) {
easyjsonC5a4559bEncodeGithubComChromedpCdprotoLog5(w, v)
}
// UnmarshalJSON supports json.Unmarshaler interface
func (v *EnableParams) UnmarshalJSON(data []byte) error {
r := jlexer.Lexer{Data: data}
easyjsonC5a4559bDecodeGithubComChromedpCdprotoLog5(&r, v)
return r.Error()
}
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *EnableParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
easyjsonC5a4559bDecodeGithubComChromedpCdprotoLog5(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoLog6(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 easyjsonC5a4559bEncodeGithubComChromedpCdprotoLog6(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{}
easyjsonC5a4559bEncodeGithubComChromedpCdprotoLog6(&w, v)
return w.Buffer.BuildBytes(), w.Error
}
// MarshalEasyJSON supports easyjson.Marshaler interface
func (v DisableParams) MarshalEasyJSON(w *jwriter.Writer) {
easyjsonC5a4559bEncodeGithubComChromedpCdprotoLog6(w, v)
}
// UnmarshalJSON supports json.Unmarshaler interface
func (v *DisableParams) UnmarshalJSON(data []byte) error {
r := jlexer.Lexer{Data: data}
easyjsonC5a4559bDecodeGithubComChromedpCdprotoLog6(&r, v)
return r.Error()
}
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *DisableParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
easyjsonC5a4559bDecodeGithubComChromedpCdprotoLog6(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoLog7(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 easyjsonC5a4559bEncodeGithubComChromedpCdprotoLog7(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{}
easyjsonC5a4559bEncodeGithubComChromedpCdprotoLog7(&w, v)
return w.Buffer.BuildBytes(), w.Error
}
// MarshalEasyJSON supports easyjson.Marshaler interface
func (v ClearParams) MarshalEasyJSON(w *jwriter.Writer) {
easyjsonC5a4559bEncodeGithubComChromedpCdprotoLog7(w, v)
}
// UnmarshalJSON supports json.Unmarshaler interface
func (v *ClearParams) UnmarshalJSON(data []byte) error {
r := jlexer.Lexer{Data: data}
easyjsonC5a4559bDecodeGithubComChromedpCdprotoLog7(&r, v)
return r.Error()
}
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *ClearParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
easyjsonC5a4559bDecodeGithubComChromedpCdprotoLog7(l, v)
}

10
vendor/github.com/chromedp/cdproto/log/events.go generated vendored Normal file
View File

@@ -0,0 +1,10 @@
package log
// Code generated by cdproto-gen. DO NOT EDIT.
// EventEntryAdded issued when new message was logged.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Log#event-entryAdded
type EventEntryAdded struct {
Entry *Entry `json:"entry"` // The entry.
}

110
vendor/github.com/chromedp/cdproto/log/log.go generated vendored Normal file
View File

@@ -0,0 +1,110 @@
// Package log provides the Chrome DevTools Protocol
// commands, types, and events for the Log domain.
//
// Provides access to log entries.
//
// Generated by the cdproto-gen command.
package log
// Code generated by cdproto-gen. DO NOT EDIT.
import (
"context"
"github.com/chromedp/cdproto/cdp"
)
// ClearParams clears the log.
type ClearParams struct{}
// Clear clears the log.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Log#method-clear
func Clear() *ClearParams {
return &ClearParams{}
}
// Do executes Log.clear against the provided context.
func (p *ClearParams) Do(ctx context.Context) (err error) {
return cdp.Execute(ctx, CommandClear, nil, nil)
}
// 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.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Log#method-disable
func Disable() *DisableParams {
return &DisableParams{}
}
// Do executes Log.disable against the provided context.
func (p *DisableParams) Do(ctx context.Context) (err error) {
return cdp.Execute(ctx, CommandDisable, nil, nil)
}
// 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.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Log#method-enable
func Enable() *EnableParams {
return &EnableParams{}
}
// Do executes Log.enable against the provided context.
func (p *EnableParams) Do(ctx context.Context) (err error) {
return cdp.Execute(ctx, CommandEnable, nil, nil)
}
// StartViolationsReportParams start violation reporting.
type StartViolationsReportParams struct {
Config []*ViolationSetting `json:"config"` // Configuration for violations.
}
// StartViolationsReport start violation reporting.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Log#method-startViolationsReport
//
// parameters:
// config - Configuration for violations.
func StartViolationsReport(config []*ViolationSetting) *StartViolationsReportParams {
return &StartViolationsReportParams{
Config: config,
}
}
// Do executes Log.startViolationsReport against the provided context.
func (p *StartViolationsReportParams) Do(ctx context.Context) (err error) {
return cdp.Execute(ctx, CommandStartViolationsReport, p, nil)
}
// StopViolationsReportParams stop violation reporting.
type StopViolationsReportParams struct{}
// StopViolationsReport stop violation reporting.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Log#method-stopViolationsReport
func StopViolationsReport() *StopViolationsReportParams {
return &StopViolationsReportParams{}
}
// Do executes Log.stopViolationsReport against the provided context.
func (p *StopViolationsReportParams) Do(ctx context.Context) (err error) {
return cdp.Execute(ctx, CommandStopViolationsReport, nil, nil)
}
// Command names.
const (
CommandClear = "Log.clear"
CommandDisable = "Log.disable"
CommandEnable = "Log.enable"
CommandStartViolationsReport = "Log.startViolationsReport"
CommandStopViolationsReport = "Log.stopViolationsReport"
)

223
vendor/github.com/chromedp/cdproto/log/types.go generated vendored Normal file
View File

@@ -0,0 +1,223 @@
package log
// Code generated by cdproto-gen. DO NOT EDIT.
import (
"errors"
"github.com/chromedp/cdproto/network"
"github.com/chromedp/cdproto/runtime"
"github.com/mailru/easyjson"
"github.com/mailru/easyjson/jlexer"
"github.com/mailru/easyjson/jwriter"
)
// Entry log entry.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Log#type-LogEntry
type Entry struct {
Source Source `json:"source"` // Log entry source.
Level Level `json:"level"` // Log entry severity.
Text string `json:"text"` // Logged text.
Timestamp *runtime.Timestamp `json:"timestamp"` // 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.
Args []*runtime.RemoteObject `json:"args,omitempty"` // Call arguments.
}
// ViolationSetting violation configuration setting.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Log#type-ViolationSetting
type ViolationSetting struct {
Name Violation `json:"name"` // Violation type.
Threshold float64 `json:"threshold"` // Time threshold to trigger upon.
}
// Source log entry source.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Log#type-LogEntry
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"
SourceRecommendation Source = "recommendation"
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 SourceRecommendation:
*t = SourceRecommendation
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.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Log#type-LogEntry
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.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Log#type-ViolationSetting
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"
ViolationDiscouragedAPIUse Violation = "discouragedAPIUse"
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 ViolationDiscouragedAPIUse:
*t = ViolationDiscouragedAPIUse
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)
}