Updating to latest protocol.json (clarifying timestamp behavior)
* Disabled AddOnLoadScript/RemoveOnLoadScript * Updated chromedp-gen fixups for latest timestamp declarations * Updated to latest protocol.json definitions
This commit is contained in:
		
							parent
							
								
									57826bddb1
								
							
						
					
					
						commit
						1e295eddfb
					
				
							
								
								
									
										78
									
								
								cdp/cdp.go
									
									
									
									
									
								
							
							
						
						
									
										78
									
								
								cdp/cdp.go
									
									
									
									
									
								
							@ -9,6 +9,7 @@ import (
 | 
				
			|||||||
	"sync"
 | 
						"sync"
 | 
				
			||||||
	"time"
 | 
						"time"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						"github.com/knq/sysutil"
 | 
				
			||||||
	"github.com/mailru/easyjson"
 | 
						"github.com/mailru/easyjson"
 | 
				
			||||||
	"github.com/mailru/easyjson/jlexer"
 | 
						"github.com/mailru/easyjson/jlexer"
 | 
				
			||||||
	"github.com/mailru/easyjson/jwriter"
 | 
						"github.com/mailru/easyjson/jwriter"
 | 
				
			||||||
@ -74,8 +75,8 @@ const (
 | 
				
			|||||||
	EventPageNavigationRequested                           MethodType = "Page.navigationRequested"
 | 
						EventPageNavigationRequested                           MethodType = "Page.navigationRequested"
 | 
				
			||||||
	CommandPageEnable                                      MethodType = "Page.enable"
 | 
						CommandPageEnable                                      MethodType = "Page.enable"
 | 
				
			||||||
	CommandPageDisable                                     MethodType = "Page.disable"
 | 
						CommandPageDisable                                     MethodType = "Page.disable"
 | 
				
			||||||
	CommandPageAddScriptToEvaluateOnLoad                   MethodType = "Page.addScriptToEvaluateOnLoad"
 | 
						CommandPageAddScriptToEvaluateOnNewDocument            MethodType = "Page.addScriptToEvaluateOnNewDocument"
 | 
				
			||||||
	CommandPageRemoveScriptToEvaluateOnLoad                MethodType = "Page.removeScriptToEvaluateOnLoad"
 | 
						CommandPageRemoveScriptToEvaluateOnNewDocument         MethodType = "Page.removeScriptToEvaluateOnNewDocument"
 | 
				
			||||||
	CommandPageSetAutoAttachToCreatedPages                 MethodType = "Page.setAutoAttachToCreatedPages"
 | 
						CommandPageSetAutoAttachToCreatedPages                 MethodType = "Page.setAutoAttachToCreatedPages"
 | 
				
			||||||
	CommandPageReload                                      MethodType = "Page.reload"
 | 
						CommandPageReload                                      MethodType = "Page.reload"
 | 
				
			||||||
	CommandPageNavigate                                    MethodType = "Page.navigate"
 | 
						CommandPageNavigate                                    MethodType = "Page.navigate"
 | 
				
			||||||
@ -177,7 +178,7 @@ const (
 | 
				
			|||||||
	CommandNetworkSetBypassServiceWorker                   MethodType = "Network.setBypassServiceWorker"
 | 
						CommandNetworkSetBypassServiceWorker                   MethodType = "Network.setBypassServiceWorker"
 | 
				
			||||||
	CommandNetworkSetDataSizeLimitsForTest                 MethodType = "Network.setDataSizeLimitsForTest"
 | 
						CommandNetworkSetDataSizeLimitsForTest                 MethodType = "Network.setDataSizeLimitsForTest"
 | 
				
			||||||
	CommandNetworkGetCertificate                           MethodType = "Network.getCertificate"
 | 
						CommandNetworkGetCertificate                           MethodType = "Network.getCertificate"
 | 
				
			||||||
	CommandNetworkEnableRequestInterception                MethodType = "Network.enableRequestInterception"
 | 
						CommandNetworkSetRequestInterceptionEnabled            MethodType = "Network.setRequestInterceptionEnabled"
 | 
				
			||||||
	CommandNetworkContinueInterceptedRequest               MethodType = "Network.continueInterceptedRequest"
 | 
						CommandNetworkContinueInterceptedRequest               MethodType = "Network.continueInterceptedRequest"
 | 
				
			||||||
	EventDatabaseAddDatabase                               MethodType = "Database.addDatabase"
 | 
						EventDatabaseAddDatabase                               MethodType = "Database.addDatabase"
 | 
				
			||||||
	CommandDatabaseEnable                                  MethodType = "Database.enable"
 | 
						CommandDatabaseEnable                                  MethodType = "Database.enable"
 | 
				
			||||||
@ -536,10 +537,10 @@ func (t *MethodType) UnmarshalEasyJSON(in *jlexer.Lexer) {
 | 
				
			|||||||
		*t = CommandPageEnable
 | 
							*t = CommandPageEnable
 | 
				
			||||||
	case CommandPageDisable:
 | 
						case CommandPageDisable:
 | 
				
			||||||
		*t = CommandPageDisable
 | 
							*t = CommandPageDisable
 | 
				
			||||||
	case CommandPageAddScriptToEvaluateOnLoad:
 | 
						case CommandPageAddScriptToEvaluateOnNewDocument:
 | 
				
			||||||
		*t = CommandPageAddScriptToEvaluateOnLoad
 | 
							*t = CommandPageAddScriptToEvaluateOnNewDocument
 | 
				
			||||||
	case CommandPageRemoveScriptToEvaluateOnLoad:
 | 
						case CommandPageRemoveScriptToEvaluateOnNewDocument:
 | 
				
			||||||
		*t = CommandPageRemoveScriptToEvaluateOnLoad
 | 
							*t = CommandPageRemoveScriptToEvaluateOnNewDocument
 | 
				
			||||||
	case CommandPageSetAutoAttachToCreatedPages:
 | 
						case CommandPageSetAutoAttachToCreatedPages:
 | 
				
			||||||
		*t = CommandPageSetAutoAttachToCreatedPages
 | 
							*t = CommandPageSetAutoAttachToCreatedPages
 | 
				
			||||||
	case CommandPageReload:
 | 
						case CommandPageReload:
 | 
				
			||||||
@ -742,8 +743,8 @@ func (t *MethodType) UnmarshalEasyJSON(in *jlexer.Lexer) {
 | 
				
			|||||||
		*t = CommandNetworkSetDataSizeLimitsForTest
 | 
							*t = CommandNetworkSetDataSizeLimitsForTest
 | 
				
			||||||
	case CommandNetworkGetCertificate:
 | 
						case CommandNetworkGetCertificate:
 | 
				
			||||||
		*t = CommandNetworkGetCertificate
 | 
							*t = CommandNetworkGetCertificate
 | 
				
			||||||
	case CommandNetworkEnableRequestInterception:
 | 
						case CommandNetworkSetRequestInterceptionEnabled:
 | 
				
			||||||
		*t = CommandNetworkEnableRequestInterception
 | 
							*t = CommandNetworkSetRequestInterceptionEnabled
 | 
				
			||||||
	case CommandNetworkContinueInterceptedRequest:
 | 
						case CommandNetworkContinueInterceptedRequest:
 | 
				
			||||||
		*t = CommandNetworkContinueInterceptedRequest
 | 
							*t = CommandNetworkContinueInterceptedRequest
 | 
				
			||||||
	case EventDatabaseAddDatabase:
 | 
						case EventDatabaseAddDatabase:
 | 
				
			||||||
@ -1501,16 +1502,16 @@ func (t LoaderID) String() string {
 | 
				
			|||||||
	return string(t)
 | 
						return string(t)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Timestamp number of seconds since epoch.
 | 
					// TimeSinceEpoch uTC time in seconds, counted from January 1, 1970.
 | 
				
			||||||
type Timestamp time.Time
 | 
					type TimeSinceEpoch time.Time
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Time returns the Timestamp as time.Time value.
 | 
					// Time returns the TimeSinceEpoch as time.Time value.
 | 
				
			||||||
func (t Timestamp) Time() time.Time {
 | 
					func (t TimeSinceEpoch) Time() time.Time {
 | 
				
			||||||
	return time.Time(t)
 | 
						return time.Time(t)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// MarshalEasyJSON satisfies easyjson.Marshaler.
 | 
					// MarshalEasyJSON satisfies easyjson.Marshaler.
 | 
				
			||||||
func (t Timestamp) MarshalEasyJSON(out *jwriter.Writer) {
 | 
					func (t TimeSinceEpoch) MarshalEasyJSON(out *jwriter.Writer) {
 | 
				
			||||||
	v := float64(time.Time(t).UnixNano() / int64(time.Second))
 | 
						v := float64(time.Time(t).UnixNano() / int64(time.Second))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	out.Buffer.EnsureSpace(20)
 | 
						out.Buffer.EnsureSpace(20)
 | 
				
			||||||
@ -1518,17 +1519,58 @@ func (t Timestamp) MarshalEasyJSON(out *jwriter.Writer) {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// MarshalJSON satisfies json.Marshaler.
 | 
					// MarshalJSON satisfies json.Marshaler.
 | 
				
			||||||
func (t Timestamp) MarshalJSON() ([]byte, error) {
 | 
					func (t TimeSinceEpoch) MarshalJSON() ([]byte, error) {
 | 
				
			||||||
	return easyjson.Marshal(t)
 | 
						return easyjson.Marshal(t)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
 | 
					// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
 | 
				
			||||||
func (t *Timestamp) UnmarshalEasyJSON(in *jlexer.Lexer) {
 | 
					func (t *TimeSinceEpoch) UnmarshalEasyJSON(in *jlexer.Lexer) {
 | 
				
			||||||
	*t = Timestamp(time.Unix(0, int64(in.Float64()*float64(time.Second))))
 | 
						*t = TimeSinceEpoch(time.Unix(0, int64(in.Float64()*float64(time.Second))))
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// UnmarshalJSON satisfies json.Unmarshaler.
 | 
					// UnmarshalJSON satisfies json.Unmarshaler.
 | 
				
			||||||
func (t *Timestamp) UnmarshalJSON(buf []byte) error {
 | 
					func (t *TimeSinceEpoch) UnmarshalJSON(buf []byte) error {
 | 
				
			||||||
 | 
						return easyjson.Unmarshal(buf, t)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// MonotonicTime monotonically increasing time in seconds since an arbitrary
 | 
				
			||||||
 | 
					// point in the past.
 | 
				
			||||||
 | 
					type MonotonicTime time.Time
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Time returns the MonotonicTime as time.Time value.
 | 
				
			||||||
 | 
					func (t MonotonicTime) Time() time.Time {
 | 
				
			||||||
 | 
						return time.Time(t)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// MonotonicTimeEpoch is the MonotonicTime time epoch.
 | 
				
			||||||
 | 
					var MonotonicTimeEpoch *time.Time
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func init() {
 | 
				
			||||||
 | 
						// initialize epoch
 | 
				
			||||||
 | 
						bt := sysutil.BootTime()
 | 
				
			||||||
 | 
						MonotonicTimeEpoch = &bt
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// MarshalEasyJSON satisfies easyjson.Marshaler.
 | 
				
			||||||
 | 
					func (t MonotonicTime) MarshalEasyJSON(out *jwriter.Writer) {
 | 
				
			||||||
 | 
						v := float64(time.Time(t).Sub(*MonotonicTimeEpoch)) / float64(time.Second)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						out.Buffer.EnsureSpace(20)
 | 
				
			||||||
 | 
						out.Buffer.Buf = strconv.AppendFloat(out.Buffer.Buf, v, 'f', -1, 64)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// MarshalJSON satisfies json.Marshaler.
 | 
				
			||||||
 | 
					func (t MonotonicTime) MarshalJSON() ([]byte, error) {
 | 
				
			||||||
 | 
						return easyjson.Marshal(t)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
 | 
				
			||||||
 | 
					func (t *MonotonicTime) UnmarshalEasyJSON(in *jlexer.Lexer) {
 | 
				
			||||||
 | 
						*t = MonotonicTime(MonotonicTimeEpoch.Add(time.Duration(in.Float64() * float64(time.Second))))
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// UnmarshalJSON satisfies json.Unmarshaler.
 | 
				
			||||||
 | 
					func (t *MonotonicTime) UnmarshalJSON(buf []byte) error {
 | 
				
			||||||
	return easyjson.Unmarshal(buf, t)
 | 
						return easyjson.Unmarshal(buf, t)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -77,10 +77,10 @@ func UnmarshalMessage(msg *cdp.Message) (interface{}, error) {
 | 
				
			|||||||
	case cdp.CommandPageDisable:
 | 
						case cdp.CommandPageDisable:
 | 
				
			||||||
		return emptyVal, nil
 | 
							return emptyVal, nil
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	case cdp.CommandPageAddScriptToEvaluateOnLoad:
 | 
						case cdp.CommandPageAddScriptToEvaluateOnNewDocument:
 | 
				
			||||||
		v = new(page.AddScriptToEvaluateOnLoadReturns)
 | 
							v = new(page.AddScriptToEvaluateOnNewDocumentReturns)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	case cdp.CommandPageRemoveScriptToEvaluateOnLoad:
 | 
						case cdp.CommandPageRemoveScriptToEvaluateOnNewDocument:
 | 
				
			||||||
		return emptyVal, nil
 | 
							return emptyVal, nil
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	case cdp.CommandPageSetAutoAttachToCreatedPages:
 | 
						case cdp.CommandPageSetAutoAttachToCreatedPages:
 | 
				
			||||||
@ -389,7 +389,7 @@ func UnmarshalMessage(msg *cdp.Message) (interface{}, error) {
 | 
				
			|||||||
	case cdp.CommandNetworkGetCertificate:
 | 
						case cdp.CommandNetworkGetCertificate:
 | 
				
			||||||
		v = new(network.GetCertificateReturns)
 | 
							v = new(network.GetCertificateReturns)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	case cdp.CommandNetworkEnableRequestInterception:
 | 
						case cdp.CommandNetworkSetRequestInterceptionEnabled:
 | 
				
			||||||
		return emptyVal, nil
 | 
							return emptyVal, nil
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	case cdp.CommandNetworkContinueInterceptedRequest:
 | 
						case cdp.CommandNetworkContinueInterceptedRequest:
 | 
				
			||||||
 | 
				
			|||||||
@ -4,7 +4,6 @@ package heapprofiler
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
	json "encoding/json"
 | 
						json "encoding/json"
 | 
				
			||||||
	cdp "github.com/knq/chromedp/cdp"
 | 
					 | 
				
			||||||
	runtime "github.com/knq/chromedp/cdp/runtime"
 | 
						runtime "github.com/knq/chromedp/cdp/runtime"
 | 
				
			||||||
	easyjson "github.com/mailru/easyjson"
 | 
						easyjson "github.com/mailru/easyjson"
 | 
				
			||||||
	jlexer "github.com/mailru/easyjson/jlexer"
 | 
						jlexer "github.com/mailru/easyjson/jlexer"
 | 
				
			||||||
@ -1113,15 +1112,7 @@ func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpHeapprofiler14(in *jlexer.Lexe
 | 
				
			|||||||
		case "lastSeenObjectId":
 | 
							case "lastSeenObjectId":
 | 
				
			||||||
			out.LastSeenObjectID = int64(in.Int64())
 | 
								out.LastSeenObjectID = int64(in.Int64())
 | 
				
			||||||
		case "timestamp":
 | 
							case "timestamp":
 | 
				
			||||||
			if in.IsNull() {
 | 
								out.Timestamp = float64(in.Float64())
 | 
				
			||||||
				in.Skip()
 | 
					 | 
				
			||||||
				out.Timestamp = nil
 | 
					 | 
				
			||||||
			} else {
 | 
					 | 
				
			||||||
				if out.Timestamp == nil {
 | 
					 | 
				
			||||||
					out.Timestamp = new(cdp.Timestamp)
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
				(*out.Timestamp).UnmarshalEasyJSON(in)
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
		default:
 | 
							default:
 | 
				
			||||||
			in.SkipRecursive()
 | 
								in.SkipRecursive()
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
@ -1147,11 +1138,7 @@ func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpHeapprofiler14(out *jwriter.Wr
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
	first = false
 | 
						first = false
 | 
				
			||||||
	out.RawString("\"timestamp\":")
 | 
						out.RawString("\"timestamp\":")
 | 
				
			||||||
	if in.Timestamp == nil {
 | 
						out.Float64(float64(in.Timestamp))
 | 
				
			||||||
		out.RawString("null")
 | 
					 | 
				
			||||||
	} else {
 | 
					 | 
				
			||||||
		(*in.Timestamp).MarshalEasyJSON(out)
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	out.RawByte('}')
 | 
						out.RawByte('}')
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -28,7 +28,7 @@ type EventReportHeapSnapshotProgress struct {
 | 
				
			|||||||
// lastSeenObjectId event.
 | 
					// lastSeenObjectId event.
 | 
				
			||||||
type EventLastSeenObjectID struct {
 | 
					type EventLastSeenObjectID struct {
 | 
				
			||||||
	LastSeenObjectID int64   `json:"lastSeenObjectId"`
 | 
						LastSeenObjectID int64   `json:"lastSeenObjectId"`
 | 
				
			||||||
	Timestamp        *cdp.Timestamp `json:"timestamp"`
 | 
						Timestamp        float64 `json:"timestamp"`
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// EventHeapStatsUpdate if heap objects tracking has been started then
 | 
					// EventHeapStatsUpdate if heap objects tracking has been started then
 | 
				
			||||||
 | 
				
			|||||||
@ -4,7 +4,6 @@ package input
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
	json "encoding/json"
 | 
						json "encoding/json"
 | 
				
			||||||
	cdp "github.com/knq/chromedp/cdp"
 | 
					 | 
				
			||||||
	easyjson "github.com/mailru/easyjson"
 | 
						easyjson "github.com/mailru/easyjson"
 | 
				
			||||||
	jlexer "github.com/mailru/easyjson/jlexer"
 | 
						jlexer "github.com/mailru/easyjson/jlexer"
 | 
				
			||||||
	jwriter "github.com/mailru/easyjson/jwriter"
 | 
						jwriter "github.com/mailru/easyjson/jwriter"
 | 
				
			||||||
@ -632,7 +631,7 @@ func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpInput5(in *jlexer.Lexer, out *
 | 
				
			|||||||
				out.Timestamp = nil
 | 
									out.Timestamp = nil
 | 
				
			||||||
			} else {
 | 
								} else {
 | 
				
			||||||
				if out.Timestamp == nil {
 | 
									if out.Timestamp == nil {
 | 
				
			||||||
					out.Timestamp = new(cdp.Timestamp)
 | 
										out.Timestamp = new(TimeSinceEpoch)
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
				(*out.Timestamp).UnmarshalEasyJSON(in)
 | 
									(*out.Timestamp).UnmarshalEasyJSON(in)
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
@ -812,7 +811,7 @@ func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpInput6(in *jlexer.Lexer, out *
 | 
				
			|||||||
				out.Timestamp = nil
 | 
									out.Timestamp = nil
 | 
				
			||||||
			} else {
 | 
								} else {
 | 
				
			||||||
				if out.Timestamp == nil {
 | 
									if out.Timestamp == nil {
 | 
				
			||||||
					out.Timestamp = new(cdp.Timestamp)
 | 
										out.Timestamp = new(TimeSinceEpoch)
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
				(*out.Timestamp).UnmarshalEasyJSON(in)
 | 
									(*out.Timestamp).UnmarshalEasyJSON(in)
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
@ -936,7 +935,7 @@ func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpInput7(in *jlexer.Lexer, out *
 | 
				
			|||||||
				out.Timestamp = nil
 | 
									out.Timestamp = nil
 | 
				
			||||||
			} else {
 | 
								} else {
 | 
				
			||||||
				if out.Timestamp == nil {
 | 
									if out.Timestamp == nil {
 | 
				
			||||||
					out.Timestamp = new(cdp.Timestamp)
 | 
										out.Timestamp = new(TimeSinceEpoch)
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
				(*out.Timestamp).UnmarshalEasyJSON(in)
 | 
									(*out.Timestamp).UnmarshalEasyJSON(in)
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
@ -1067,7 +1066,7 @@ func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpInput8(in *jlexer.Lexer, out *
 | 
				
			|||||||
				out.Timestamp = nil
 | 
									out.Timestamp = nil
 | 
				
			||||||
			} else {
 | 
								} else {
 | 
				
			||||||
				if out.Timestamp == nil {
 | 
									if out.Timestamp == nil {
 | 
				
			||||||
					out.Timestamp = new(cdp.Timestamp)
 | 
										out.Timestamp = new(TimeSinceEpoch)
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
				(*out.Timestamp).UnmarshalEasyJSON(in)
 | 
									(*out.Timestamp).UnmarshalEasyJSON(in)
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
 | 
				
			|||||||
@ -38,7 +38,7 @@ func (p *SetIgnoreInputEventsParams) Do(ctxt context.Context, h cdp.Handler) (er
 | 
				
			|||||||
type DispatchKeyEventParams struct {
 | 
					type DispatchKeyEventParams struct {
 | 
				
			||||||
	Type                  KeyType         `json:"type"`                            // Type of the key event.
 | 
						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).
 | 
						Modifiers             Modifier        `json:"modifiers,omitempty"`             // Bit field representing pressed modifier keys. Alt=1, Ctrl=2, Meta/Command=4, Shift=8 (default: 0).
 | 
				
			||||||
	Timestamp             *cdp.Timestamp `json:"timestamp,omitempty"`             // Time at which the event occurred. Measured in UTC time in seconds since January 1, 1970 (default: current time).
 | 
						Timestamp             *TimeSinceEpoch `json:"timestamp,omitempty"`             // Time at which the event occurred.
 | 
				
			||||||
	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: "")
 | 
						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: "").
 | 
						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: "").
 | 
						KeyIdentifier         string          `json:"keyIdentifier,omitempty"`         // Unique key identifier (e.g., 'U+0041') (default: "").
 | 
				
			||||||
@ -68,9 +68,8 @@ func (p DispatchKeyEventParams) WithModifiers(modifiers Modifier) *DispatchKeyEv
 | 
				
			|||||||
	return &p
 | 
						return &p
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// WithTimestamp time at which the event occurred. Measured in UTC time in
 | 
					// WithTimestamp time at which the event occurred.
 | 
				
			||||||
// seconds since January 1, 1970 (default: current time).
 | 
					func (p DispatchKeyEventParams) WithTimestamp(timestamp *TimeSinceEpoch) *DispatchKeyEventParams {
 | 
				
			||||||
func (p DispatchKeyEventParams) WithTimestamp(timestamp *cdp.Timestamp) *DispatchKeyEventParams {
 | 
					 | 
				
			||||||
	p.Timestamp = timestamp
 | 
						p.Timestamp = timestamp
 | 
				
			||||||
	return &p
 | 
						return &p
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -156,7 +155,7 @@ type DispatchMouseEventParams struct {
 | 
				
			|||||||
	X          int64           `json:"x"`                    // X coordinate of the event relative to the main frame's viewport.
 | 
						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.
 | 
						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).
 | 
						Modifiers  Modifier        `json:"modifiers,omitempty"`  // Bit field representing pressed modifier keys. Alt=1, Ctrl=2, Meta/Command=4, Shift=8 (default: 0).
 | 
				
			||||||
	Timestamp  *cdp.Timestamp `json:"timestamp,omitempty"`  // Time at which the event occurred. Measured in UTC time in seconds since January 1, 1970 (default: current time).
 | 
						Timestamp  *TimeSinceEpoch `json:"timestamp,omitempty"`  // Time at which the event occurred.
 | 
				
			||||||
	Button     ButtonType      `json:"button,omitempty"`     // Mouse button (default: "none").
 | 
						Button     ButtonType      `json:"button,omitempty"`     // Mouse button (default: "none").
 | 
				
			||||||
	ClickCount int64           `json:"clickCount,omitempty"` // Number of times the mouse button was clicked (default: 0).
 | 
						ClickCount int64           `json:"clickCount,omitempty"` // Number of times the mouse button was clicked (default: 0).
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -182,9 +181,8 @@ func (p DispatchMouseEventParams) WithModifiers(modifiers Modifier) *DispatchMou
 | 
				
			|||||||
	return &p
 | 
						return &p
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// WithTimestamp time at which the event occurred. Measured in UTC time in
 | 
					// WithTimestamp time at which the event occurred.
 | 
				
			||||||
// seconds since January 1, 1970 (default: current time).
 | 
					func (p DispatchMouseEventParams) WithTimestamp(timestamp *TimeSinceEpoch) *DispatchMouseEventParams {
 | 
				
			||||||
func (p DispatchMouseEventParams) WithTimestamp(timestamp *cdp.Timestamp) *DispatchMouseEventParams {
 | 
					 | 
				
			||||||
	p.Timestamp = timestamp
 | 
						p.Timestamp = timestamp
 | 
				
			||||||
	return &p
 | 
						return &p
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -212,7 +210,7 @@ type DispatchTouchEventParams struct {
 | 
				
			|||||||
	Type        TouchType       `json:"type"`                // Type of the touch event.
 | 
						Type        TouchType       `json:"type"`                // Type of the touch event.
 | 
				
			||||||
	TouchPoints []*TouchPoint   `json:"touchPoints"`         // Touch points.
 | 
						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).
 | 
						Modifiers   Modifier        `json:"modifiers,omitempty"` // Bit field representing pressed modifier keys. Alt=1, Ctrl=2, Meta/Command=4, Shift=8 (default: 0).
 | 
				
			||||||
	Timestamp   *cdp.Timestamp `json:"timestamp,omitempty"` // Time at which the event occurred. Measured in UTC time in seconds since January 1, 1970 (default: current time).
 | 
						Timestamp   *TimeSinceEpoch `json:"timestamp,omitempty"` // Time at which the event occurred.
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// DispatchTouchEvent dispatches a touch event to the page.
 | 
					// DispatchTouchEvent dispatches a touch event to the page.
 | 
				
			||||||
@ -234,9 +232,8 @@ func (p DispatchTouchEventParams) WithModifiers(modifiers Modifier) *DispatchTou
 | 
				
			|||||||
	return &p
 | 
						return &p
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// WithTimestamp time at which the event occurred. Measured in UTC time in
 | 
					// WithTimestamp time at which the event occurred.
 | 
				
			||||||
// seconds since January 1, 1970 (default: current time).
 | 
					func (p DispatchTouchEventParams) WithTimestamp(timestamp *TimeSinceEpoch) *DispatchTouchEventParams {
 | 
				
			||||||
func (p DispatchTouchEventParams) WithTimestamp(timestamp *cdp.Timestamp) *DispatchTouchEventParams {
 | 
					 | 
				
			||||||
	p.Timestamp = timestamp
 | 
						p.Timestamp = timestamp
 | 
				
			||||||
	return &p
 | 
						return &p
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -253,7 +250,7 @@ type EmulateTouchFromMouseEventParams struct {
 | 
				
			|||||||
	Type       MouseType       `json:"type"`                 // Type of the mouse event.
 | 
						Type       MouseType       `json:"type"`                 // Type of the mouse event.
 | 
				
			||||||
	X          int64           `json:"x"`                    // X coordinate of the mouse pointer in DIP.
 | 
						X          int64           `json:"x"`                    // X coordinate of the mouse pointer in DIP.
 | 
				
			||||||
	Y          int64           `json:"y"`                    // Y coordinate of the mouse pointer in DIP.
 | 
						Y          int64           `json:"y"`                    // Y coordinate of the mouse pointer in DIP.
 | 
				
			||||||
	Timestamp  *cdp.Timestamp `json:"timestamp"`            // Time at which the event occurred. Measured in UTC time in seconds since January 1, 1970.
 | 
						Timestamp  *TimeSinceEpoch `json:"timestamp"`            // Time at which the event occurred.
 | 
				
			||||||
	Button     ButtonType      `json:"button"`               // Mouse button.
 | 
						Button     ButtonType      `json:"button"`               // Mouse button.
 | 
				
			||||||
	DeltaX     float64         `json:"deltaX,omitempty"`     // X delta in DIP for mouse wheel event (default: 0).
 | 
						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).
 | 
						DeltaY     float64         `json:"deltaY,omitempty"`     // Y delta in DIP for mouse wheel event (default: 0).
 | 
				
			||||||
@ -268,9 +265,9 @@ type EmulateTouchFromMouseEventParams struct {
 | 
				
			|||||||
//   type - Type of the mouse event.
 | 
					//   type - Type of the mouse event.
 | 
				
			||||||
//   x - X coordinate of the mouse pointer in DIP.
 | 
					//   x - X coordinate of the mouse pointer in DIP.
 | 
				
			||||||
//   y - Y 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.
 | 
					//   timestamp - Time at which the event occurred.
 | 
				
			||||||
//   button - Mouse button.
 | 
					//   button - Mouse button.
 | 
				
			||||||
func EmulateTouchFromMouseEvent(typeVal MouseType, x int64, y int64, timestamp *cdp.Timestamp, button ButtonType) *EmulateTouchFromMouseEventParams {
 | 
					func EmulateTouchFromMouseEvent(typeVal MouseType, x int64, y int64, timestamp *TimeSinceEpoch, button ButtonType) *EmulateTouchFromMouseEventParams {
 | 
				
			||||||
	return &EmulateTouchFromMouseEventParams{
 | 
						return &EmulateTouchFromMouseEventParams{
 | 
				
			||||||
		Type:      typeVal,
 | 
							Type:      typeVal,
 | 
				
			||||||
		X:         x,
 | 
							X:         x,
 | 
				
			||||||
 | 
				
			|||||||
@ -3,6 +3,8 @@ package input
 | 
				
			|||||||
import (
 | 
					import (
 | 
				
			||||||
	"errors"
 | 
						"errors"
 | 
				
			||||||
	"fmt"
 | 
						"fmt"
 | 
				
			||||||
 | 
						"strconv"
 | 
				
			||||||
 | 
						"time"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"github.com/mailru/easyjson"
 | 
						"github.com/mailru/easyjson"
 | 
				
			||||||
	"github.com/mailru/easyjson/jlexer"
 | 
						"github.com/mailru/easyjson/jlexer"
 | 
				
			||||||
@ -68,6 +70,37 @@ func (t *GestureType) UnmarshalJSON(buf []byte) error {
 | 
				
			|||||||
	return easyjson.Unmarshal(buf, t)
 | 
						return easyjson.Unmarshal(buf, t)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// TimeSinceEpoch uTC time in seconds, counted from January 1, 1970.
 | 
				
			||||||
 | 
					type TimeSinceEpoch time.Time
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Time returns the TimeSinceEpoch as time.Time value.
 | 
				
			||||||
 | 
					func (t TimeSinceEpoch) Time() time.Time {
 | 
				
			||||||
 | 
						return time.Time(t)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// MarshalEasyJSON satisfies easyjson.Marshaler.
 | 
				
			||||||
 | 
					func (t TimeSinceEpoch) MarshalEasyJSON(out *jwriter.Writer) {
 | 
				
			||||||
 | 
						v := float64(time.Time(t).UnixNano() / int64(time.Second))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						out.Buffer.EnsureSpace(20)
 | 
				
			||||||
 | 
						out.Buffer.Buf = strconv.AppendFloat(out.Buffer.Buf, v, 'f', -1, 64)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// MarshalJSON satisfies json.Marshaler.
 | 
				
			||||||
 | 
					func (t TimeSinceEpoch) MarshalJSON() ([]byte, error) {
 | 
				
			||||||
 | 
						return easyjson.Marshal(t)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
 | 
				
			||||||
 | 
					func (t *TimeSinceEpoch) UnmarshalEasyJSON(in *jlexer.Lexer) {
 | 
				
			||||||
 | 
						*t = TimeSinceEpoch(time.Unix(0, int64(in.Float64()*float64(time.Second))))
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// UnmarshalJSON satisfies json.Unmarshaler.
 | 
				
			||||||
 | 
					func (t *TimeSinceEpoch) UnmarshalJSON(buf []byte) error {
 | 
				
			||||||
 | 
						return easyjson.Unmarshal(buf, t)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Modifier input key modifier type.
 | 
					// Modifier input key modifier type.
 | 
				
			||||||
type Modifier int64
 | 
					type Modifier int64
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@ -12,7 +12,7 @@ import (
 | 
				
			|||||||
type EventResourceChangedPriority struct {
 | 
					type EventResourceChangedPriority struct {
 | 
				
			||||||
	RequestID   RequestID          `json:"requestId"`   // Request identifier.
 | 
						RequestID   RequestID          `json:"requestId"`   // Request identifier.
 | 
				
			||||||
	NewPriority ResourcePriority   `json:"newPriority"` // New priority
 | 
						NewPriority ResourcePriority   `json:"newPriority"` // New priority
 | 
				
			||||||
	Timestamp   *cdp.Timestamp   `json:"timestamp"`   // Timestamp.
 | 
						Timestamp   *cdp.MonotonicTime `json:"timestamp"`   // Timestamp.
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// EventRequestWillBeSent fired when page is about to send HTTP request.
 | 
					// EventRequestWillBeSent fired when page is about to send HTTP request.
 | 
				
			||||||
@ -21,8 +21,8 @@ type EventRequestWillBeSent struct {
 | 
				
			|||||||
	LoaderID         cdp.LoaderID        `json:"loaderId"`                   // Loader identifier. Empty string if the request is fetched form worker.
 | 
						LoaderID         cdp.LoaderID        `json:"loaderId"`                   // Loader identifier. Empty string if the request is fetched form worker.
 | 
				
			||||||
	DocumentURL      string              `json:"documentURL"`                // URL of the document this request is loaded for.
 | 
						DocumentURL      string              `json:"documentURL"`                // URL of the document this request is loaded for.
 | 
				
			||||||
	Request          *Request            `json:"request"`                    // Request data.
 | 
						Request          *Request            `json:"request"`                    // Request data.
 | 
				
			||||||
	Timestamp        *cdp.Timestamp    `json:"timestamp"`                  // Timestamp.
 | 
						Timestamp        *cdp.MonotonicTime  `json:"timestamp"`                  // Timestamp.
 | 
				
			||||||
	WallTime         *cdp.Timestamp    `json:"wallTime"`                   // UTC Timestamp.
 | 
						WallTime         *cdp.TimeSinceEpoch `json:"wallTime"`                   // Timestamp.
 | 
				
			||||||
	Initiator        *Initiator          `json:"initiator"`                  // Request initiator.
 | 
						Initiator        *Initiator          `json:"initiator"`                  // Request initiator.
 | 
				
			||||||
	RedirectResponse *Response           `json:"redirectResponse,omitempty"` // Redirect response data.
 | 
						RedirectResponse *Response           `json:"redirectResponse,omitempty"` // Redirect response data.
 | 
				
			||||||
	Type             page.ResourceType   `json:"type,omitempty"`             // Type of this resource.
 | 
						Type             page.ResourceType   `json:"type,omitempty"`             // Type of this resource.
 | 
				
			||||||
@ -38,7 +38,7 @@ type EventRequestServedFromCache struct {
 | 
				
			|||||||
type EventResponseReceived struct {
 | 
					type EventResponseReceived struct {
 | 
				
			||||||
	RequestID RequestID          `json:"requestId"`         // Request identifier.
 | 
						RequestID RequestID          `json:"requestId"`         // Request identifier.
 | 
				
			||||||
	LoaderID  cdp.LoaderID       `json:"loaderId"`          // Loader identifier. Empty string if the request is fetched form worker.
 | 
						LoaderID  cdp.LoaderID       `json:"loaderId"`          // Loader identifier. Empty string if the request is fetched form worker.
 | 
				
			||||||
	Timestamp *cdp.Timestamp    `json:"timestamp"`         // Timestamp.
 | 
						Timestamp *cdp.MonotonicTime `json:"timestamp"`         // Timestamp.
 | 
				
			||||||
	Type      page.ResourceType  `json:"type"`              // Resource type.
 | 
						Type      page.ResourceType  `json:"type"`              // Resource type.
 | 
				
			||||||
	Response  *Response          `json:"response"`          // Response data.
 | 
						Response  *Response          `json:"response"`          // Response data.
 | 
				
			||||||
	FrameID   cdp.FrameID        `json:"frameId,omitempty"` // Frame identifier.
 | 
						FrameID   cdp.FrameID        `json:"frameId,omitempty"` // Frame identifier.
 | 
				
			||||||
@ -47,7 +47,7 @@ type EventResponseReceived struct {
 | 
				
			|||||||
// EventDataReceived fired when data chunk was received over the network.
 | 
					// EventDataReceived fired when data chunk was received over the network.
 | 
				
			||||||
type EventDataReceived struct {
 | 
					type EventDataReceived struct {
 | 
				
			||||||
	RequestID         RequestID          `json:"requestId"`         // Request identifier.
 | 
						RequestID         RequestID          `json:"requestId"`         // Request identifier.
 | 
				
			||||||
	Timestamp         *cdp.Timestamp `json:"timestamp"`         // Timestamp.
 | 
						Timestamp         *cdp.MonotonicTime `json:"timestamp"`         // Timestamp.
 | 
				
			||||||
	DataLength        int64              `json:"dataLength"`        // Data chunk length.
 | 
						DataLength        int64              `json:"dataLength"`        // Data chunk length.
 | 
				
			||||||
	EncodedDataLength int64              `json:"encodedDataLength"` // Actual bytes received (might be less than dataLength for compressed encodings).
 | 
						EncodedDataLength int64              `json:"encodedDataLength"` // Actual bytes received (might be less than dataLength for compressed encodings).
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -55,14 +55,14 @@ type EventDataReceived struct {
 | 
				
			|||||||
// EventLoadingFinished fired when HTTP request has finished loading.
 | 
					// EventLoadingFinished fired when HTTP request has finished loading.
 | 
				
			||||||
type EventLoadingFinished struct {
 | 
					type EventLoadingFinished struct {
 | 
				
			||||||
	RequestID         RequestID          `json:"requestId"`         // Request identifier.
 | 
						RequestID         RequestID          `json:"requestId"`         // Request identifier.
 | 
				
			||||||
	Timestamp         *cdp.Timestamp `json:"timestamp"`         // Timestamp.
 | 
						Timestamp         *cdp.MonotonicTime `json:"timestamp"`         // Timestamp.
 | 
				
			||||||
	EncodedDataLength float64            `json:"encodedDataLength"` // Total number of bytes received for this request.
 | 
						EncodedDataLength float64            `json:"encodedDataLength"` // Total number of bytes received for this request.
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// EventLoadingFailed fired when HTTP request has failed to load.
 | 
					// EventLoadingFailed fired when HTTP request has failed to load.
 | 
				
			||||||
type EventLoadingFailed struct {
 | 
					type EventLoadingFailed struct {
 | 
				
			||||||
	RequestID     RequestID          `json:"requestId"`               // Request identifier.
 | 
						RequestID     RequestID          `json:"requestId"`               // Request identifier.
 | 
				
			||||||
	Timestamp     *cdp.Timestamp    `json:"timestamp"`               // Timestamp.
 | 
						Timestamp     *cdp.MonotonicTime `json:"timestamp"`               // Timestamp.
 | 
				
			||||||
	Type          page.ResourceType  `json:"type"`                    // Resource type.
 | 
						Type          page.ResourceType  `json:"type"`                    // Resource type.
 | 
				
			||||||
	ErrorText     string             `json:"errorText"`               // User friendly error message.
 | 
						ErrorText     string             `json:"errorText"`               // User friendly error message.
 | 
				
			||||||
	Canceled      bool               `json:"canceled,omitempty"`      // True if loading was canceled.
 | 
						Canceled      bool               `json:"canceled,omitempty"`      // True if loading was canceled.
 | 
				
			||||||
@ -73,8 +73,8 @@ type EventLoadingFailed struct {
 | 
				
			|||||||
// initiate handshake.
 | 
					// initiate handshake.
 | 
				
			||||||
type EventWebSocketWillSendHandshakeRequest struct {
 | 
					type EventWebSocketWillSendHandshakeRequest struct {
 | 
				
			||||||
	RequestID RequestID           `json:"requestId"` // Request identifier.
 | 
						RequestID RequestID           `json:"requestId"` // Request identifier.
 | 
				
			||||||
	Timestamp *cdp.Timestamp    `json:"timestamp"` // Timestamp.
 | 
						Timestamp *cdp.MonotonicTime  `json:"timestamp"` // Timestamp.
 | 
				
			||||||
	WallTime  *cdp.Timestamp    `json:"wallTime"`  // UTC Timestamp.
 | 
						WallTime  *cdp.TimeSinceEpoch `json:"wallTime"`  // UTC Timestamp.
 | 
				
			||||||
	Request   *WebSocketRequest   `json:"request"`   // WebSocket request data.
 | 
						Request   *WebSocketRequest   `json:"request"`   // WebSocket request data.
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -82,7 +82,7 @@ type EventWebSocketWillSendHandshakeRequest struct {
 | 
				
			|||||||
// response becomes available.
 | 
					// response becomes available.
 | 
				
			||||||
type EventWebSocketHandshakeResponseReceived struct {
 | 
					type EventWebSocketHandshakeResponseReceived struct {
 | 
				
			||||||
	RequestID RequestID          `json:"requestId"` // Request identifier.
 | 
						RequestID RequestID          `json:"requestId"` // Request identifier.
 | 
				
			||||||
	Timestamp *cdp.Timestamp     `json:"timestamp"` // Timestamp.
 | 
						Timestamp *cdp.MonotonicTime `json:"timestamp"` // Timestamp.
 | 
				
			||||||
	Response  *WebSocketResponse `json:"response"`  // WebSocket response data.
 | 
						Response  *WebSocketResponse `json:"response"`  // WebSocket response data.
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -96,27 +96,27 @@ type EventWebSocketCreated struct {
 | 
				
			|||||||
// EventWebSocketClosed fired when WebSocket is closed.
 | 
					// EventWebSocketClosed fired when WebSocket is closed.
 | 
				
			||||||
type EventWebSocketClosed struct {
 | 
					type EventWebSocketClosed struct {
 | 
				
			||||||
	RequestID RequestID          `json:"requestId"` // Request identifier.
 | 
						RequestID RequestID          `json:"requestId"` // Request identifier.
 | 
				
			||||||
	Timestamp *cdp.Timestamp `json:"timestamp"` // Timestamp.
 | 
						Timestamp *cdp.MonotonicTime `json:"timestamp"` // Timestamp.
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// EventWebSocketFrameReceived fired when WebSocket frame is received.
 | 
					// EventWebSocketFrameReceived fired when WebSocket frame is received.
 | 
				
			||||||
type EventWebSocketFrameReceived struct {
 | 
					type EventWebSocketFrameReceived struct {
 | 
				
			||||||
	RequestID RequestID          `json:"requestId"` // Request identifier.
 | 
						RequestID RequestID          `json:"requestId"` // Request identifier.
 | 
				
			||||||
	Timestamp *cdp.Timestamp  `json:"timestamp"` // Timestamp.
 | 
						Timestamp *cdp.MonotonicTime `json:"timestamp"` // Timestamp.
 | 
				
			||||||
	Response  *WebSocketFrame    `json:"response"`  // WebSocket response data.
 | 
						Response  *WebSocketFrame    `json:"response"`  // WebSocket response data.
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// EventWebSocketFrameError fired when WebSocket frame error occurs.
 | 
					// EventWebSocketFrameError fired when WebSocket frame error occurs.
 | 
				
			||||||
type EventWebSocketFrameError struct {
 | 
					type EventWebSocketFrameError struct {
 | 
				
			||||||
	RequestID    RequestID          `json:"requestId"`    // Request identifier.
 | 
						RequestID    RequestID          `json:"requestId"`    // Request identifier.
 | 
				
			||||||
	Timestamp    *cdp.Timestamp `json:"timestamp"`    // Timestamp.
 | 
						Timestamp    *cdp.MonotonicTime `json:"timestamp"`    // Timestamp.
 | 
				
			||||||
	ErrorMessage string             `json:"errorMessage"` // WebSocket frame error message.
 | 
						ErrorMessage string             `json:"errorMessage"` // WebSocket frame error message.
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// EventWebSocketFrameSent fired when WebSocket frame is sent.
 | 
					// EventWebSocketFrameSent fired when WebSocket frame is sent.
 | 
				
			||||||
type EventWebSocketFrameSent struct {
 | 
					type EventWebSocketFrameSent struct {
 | 
				
			||||||
	RequestID RequestID          `json:"requestId"` // Request identifier.
 | 
						RequestID RequestID          `json:"requestId"` // Request identifier.
 | 
				
			||||||
	Timestamp *cdp.Timestamp  `json:"timestamp"` // Timestamp.
 | 
						Timestamp *cdp.MonotonicTime `json:"timestamp"` // Timestamp.
 | 
				
			||||||
	Response  *WebSocketFrame    `json:"response"`  // WebSocket response data.
 | 
						Response  *WebSocketFrame    `json:"response"`  // WebSocket response data.
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -124,7 +124,7 @@ type EventWebSocketFrameSent struct {
 | 
				
			|||||||
// received.
 | 
					// received.
 | 
				
			||||||
type EventEventSourceMessageReceived struct {
 | 
					type EventEventSourceMessageReceived struct {
 | 
				
			||||||
	RequestID RequestID          `json:"requestId"` // Request identifier.
 | 
						RequestID RequestID          `json:"requestId"` // Request identifier.
 | 
				
			||||||
	Timestamp *cdp.Timestamp `json:"timestamp"` // Timestamp.
 | 
						Timestamp *cdp.MonotonicTime `json:"timestamp"` // Timestamp.
 | 
				
			||||||
	EventName string             `json:"eventName"` // Message type.
 | 
						EventName string             `json:"eventName"` // Message type.
 | 
				
			||||||
	EventID   string             `json:"eventId"`   // Message identifier.
 | 
						EventID   string             `json:"eventId"`   // Message identifier.
 | 
				
			||||||
	Data      string             `json:"data"`      // Message content.
 | 
						Data      string             `json:"data"`      // Message content.
 | 
				
			||||||
 | 
				
			|||||||
@ -407,7 +407,7 @@ type SetCookieParams struct {
 | 
				
			|||||||
	Secure         bool                `json:"secure,omitempty"`         // Defaults ot false.
 | 
						Secure         bool                `json:"secure,omitempty"`         // Defaults ot false.
 | 
				
			||||||
	HTTPOnly       bool                `json:"httpOnly,omitempty"`       // Defaults to false.
 | 
						HTTPOnly       bool                `json:"httpOnly,omitempty"`       // Defaults to false.
 | 
				
			||||||
	SameSite       CookieSameSite      `json:"sameSite,omitempty"`       // Defaults to browser default behavior.
 | 
						SameSite       CookieSameSite      `json:"sameSite,omitempty"`       // Defaults to browser default behavior.
 | 
				
			||||||
	ExpirationDate *cdp.Timestamp `json:"expirationDate,omitempty"` // If omitted, the cookie becomes a session cookie.
 | 
						ExpirationDate *cdp.TimeSinceEpoch `json:"expirationDate,omitempty"` // If omitted, the cookie becomes a session cookie.
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// SetCookie sets a cookie with the given cookie data; may overwrite
 | 
					// SetCookie sets a cookie with the given cookie data; may overwrite
 | 
				
			||||||
@ -456,7 +456,7 @@ func (p SetCookieParams) WithSameSite(sameSite CookieSameSite) *SetCookieParams
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// WithExpirationDate if omitted, the cookie becomes a session cookie.
 | 
					// WithExpirationDate if omitted, the cookie becomes a session cookie.
 | 
				
			||||||
func (p SetCookieParams) WithExpirationDate(expirationDate *cdp.Timestamp) *SetCookieParams {
 | 
					func (p SetCookieParams) WithExpirationDate(expirationDate *cdp.TimeSinceEpoch) *SetCookieParams {
 | 
				
			||||||
	p.ExpirationDate = expirationDate
 | 
						p.ExpirationDate = expirationDate
 | 
				
			||||||
	return &p
 | 
						return &p
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -656,25 +656,25 @@ func (p *GetCertificateParams) Do(ctxt context.Context, h cdp.Handler) (tableNam
 | 
				
			|||||||
	return res.TableNames, nil
 | 
						return res.TableNames, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// EnableRequestInterceptionParams [no description].
 | 
					// SetRequestInterceptionEnabledParams [no description].
 | 
				
			||||||
type EnableRequestInterceptionParams struct {
 | 
					type SetRequestInterceptionEnabledParams struct {
 | 
				
			||||||
	Enabled bool `json:"enabled"` // Whether or not HTTP requests should be intercepted and Network.requestIntercepted events sent.
 | 
						Enabled bool `json:"enabled"` // Whether or not HTTP requests should be intercepted and Network.requestIntercepted events sent.
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// EnableRequestInterception [no description].
 | 
					// SetRequestInterceptionEnabled [no description].
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
// parameters:
 | 
					// parameters:
 | 
				
			||||||
//   enabled - Whether or not HTTP requests should be intercepted and Network.requestIntercepted events sent.
 | 
					//   enabled - Whether or not HTTP requests should be intercepted and Network.requestIntercepted events sent.
 | 
				
			||||||
func EnableRequestInterception(enabled bool) *EnableRequestInterceptionParams {
 | 
					func SetRequestInterceptionEnabled(enabled bool) *SetRequestInterceptionEnabledParams {
 | 
				
			||||||
	return &EnableRequestInterceptionParams{
 | 
						return &SetRequestInterceptionEnabledParams{
 | 
				
			||||||
		Enabled: enabled,
 | 
							Enabled: enabled,
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Do executes Network.enableRequestInterception against the provided context and
 | 
					// Do executes Network.setRequestInterceptionEnabled against the provided context and
 | 
				
			||||||
// target handler.
 | 
					// target handler.
 | 
				
			||||||
func (p *EnableRequestInterceptionParams) Do(ctxt context.Context, h cdp.Handler) (err error) {
 | 
					func (p *SetRequestInterceptionEnabledParams) Do(ctxt context.Context, h cdp.Handler) (err error) {
 | 
				
			||||||
	return h.Execute(ctxt, cdp.CommandNetworkEnableRequestInterception, p, nil)
 | 
						return h.Execute(ctxt, cdp.CommandNetworkSetRequestInterceptionEnabled, p, nil)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ContinueInterceptedRequestParams response to Network.requestIntercepted
 | 
					// ContinueInterceptedRequestParams response to Network.requestIntercepted
 | 
				
			||||||
 | 
				
			|||||||
@ -288,7 +288,7 @@ type Request struct {
 | 
				
			|||||||
	Method           string                    `json:"method"`                     // HTTP request method.
 | 
						Method           string                    `json:"method"`                     // HTTP request method.
 | 
				
			||||||
	Headers          Headers                   `json:"headers"`                    // HTTP request headers.
 | 
						Headers          Headers                   `json:"headers"`                    // HTTP request headers.
 | 
				
			||||||
	PostData         string                    `json:"postData,omitempty"`         // HTTP POST request data.
 | 
						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/
 | 
						MixedContentType security.MixedContentType `json:"mixedContentType,omitempty"` // The mixed content type of the request.
 | 
				
			||||||
	InitialPriority  ResourcePriority          `json:"initialPriority"`            // Priority of the resource request at the time request is sent.
 | 
						InitialPriority  ResourcePriority          `json:"initialPriority"`            // Priority of the resource request at the time request is sent.
 | 
				
			||||||
	ReferrerPolicy   ReferrerPolicy            `json:"referrerPolicy"`             // The referrer policy of the request, as defined in https://www.w3.org/TR/referrer-policy/
 | 
						ReferrerPolicy   ReferrerPolicy            `json:"referrerPolicy"`             // The referrer policy of the request, as defined in https://www.w3.org/TR/referrer-policy/
 | 
				
			||||||
	IsLinkPreload    bool                      `json:"isLinkPreload,omitempty"`    // Whether is loaded via link preload.
 | 
						IsLinkPreload    bool                      `json:"isLinkPreload,omitempty"`    // Whether is loaded via link preload.
 | 
				
			||||||
@ -301,7 +301,7 @@ type SignedCertificateTimestamp struct {
 | 
				
			|||||||
	Origin             string              `json:"origin"`             // Origin.
 | 
						Origin             string              `json:"origin"`             // Origin.
 | 
				
			||||||
	LogDescription     string              `json:"logDescription"`     // Log name / description.
 | 
						LogDescription     string              `json:"logDescription"`     // Log name / description.
 | 
				
			||||||
	LogID              string              `json:"logId"`              // Log ID.
 | 
						LogID              string              `json:"logId"`              // Log ID.
 | 
				
			||||||
	Timestamp          *cdp.Timestamp `json:"timestamp"`          // Issuance date.
 | 
						Timestamp          *cdp.TimeSinceEpoch `json:"timestamp"`          // Issuance date.
 | 
				
			||||||
	HashAlgorithm      string              `json:"hashAlgorithm"`      // Hash algorithm.
 | 
						HashAlgorithm      string              `json:"hashAlgorithm"`      // Hash algorithm.
 | 
				
			||||||
	SignatureAlgorithm string              `json:"signatureAlgorithm"` // Signature algorithm.
 | 
						SignatureAlgorithm string              `json:"signatureAlgorithm"` // Signature algorithm.
 | 
				
			||||||
	SignatureData      string              `json:"signatureData"`      // Signature data.
 | 
						SignatureData      string              `json:"signatureData"`      // Signature data.
 | 
				
			||||||
@ -318,8 +318,8 @@ type SecurityDetails struct {
 | 
				
			|||||||
	SubjectName                    string                        `json:"subjectName"`                    // Certificate subject name.
 | 
						SubjectName                    string                        `json:"subjectName"`                    // Certificate subject name.
 | 
				
			||||||
	SanList                        []string                      `json:"sanList"`                        // Subject Alternative Name (SAN) DNS names and IP addresses.
 | 
						SanList                        []string                      `json:"sanList"`                        // Subject Alternative Name (SAN) DNS names and IP addresses.
 | 
				
			||||||
	Issuer                         string                        `json:"issuer"`                         // Name of the issuing CA.
 | 
						Issuer                         string                        `json:"issuer"`                         // Name of the issuing CA.
 | 
				
			||||||
	ValidFrom                      *cdp.Timestamp                `json:"validFrom"`                      // Certificate valid from date.
 | 
						ValidFrom                      *cdp.TimeSinceEpoch           `json:"validFrom"`                      // Certificate valid from date.
 | 
				
			||||||
	ValidTo                        *cdp.Timestamp                `json:"validTo"`                        // Certificate valid to (expiration) date
 | 
						ValidTo                        *cdp.TimeSinceEpoch           `json:"validTo"`                        // Certificate valid to (expiration) date
 | 
				
			||||||
	SignedCertificateTimestampList []*SignedCertificateTimestamp `json:"signedCertificateTimestampList"` // List of signed certificate timestamps (SCTs).
 | 
						SignedCertificateTimestampList []*SignedCertificateTimestamp `json:"signedCertificateTimestampList"` // List of signed certificate timestamps (SCTs).
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -467,52 +467,6 @@ type AuthChallengeResponse struct {
 | 
				
			|||||||
	Password string                        `json:"password,omitempty"` // The password to provide, possibly empty. Should only be set if response is ProvideCredentials.
 | 
						Password string                        `json:"password,omitempty"` // The password to provide, possibly empty. Should only be set if response is ProvideCredentials.
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// 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
 | 
					// ReferrerPolicy the referrer policy of the request, as defined in
 | 
				
			||||||
// https://www.w3.org/TR/referrer-policy/.
 | 
					// https://www.w3.org/TR/referrer-policy/.
 | 
				
			||||||
type ReferrerPolicy string
 | 
					type ReferrerPolicy string
 | 
				
			||||||
 | 
				
			|||||||
@ -825,7 +825,7 @@ func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpPage9(in *jlexer.Lexer, out *S
 | 
				
			|||||||
				out.Timestamp = nil
 | 
									out.Timestamp = nil
 | 
				
			||||||
			} else {
 | 
								} else {
 | 
				
			||||||
				if out.Timestamp == nil {
 | 
									if out.Timestamp == nil {
 | 
				
			||||||
					out.Timestamp = new(Bootstamp)
 | 
										out.Timestamp = new(cdp.TimeSinceEpoch)
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
				(*out.Timestamp).UnmarshalEasyJSON(in)
 | 
									(*out.Timestamp).UnmarshalEasyJSON(in)
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
@ -1043,7 +1043,7 @@ func (v *RequestAppBannerParams) UnmarshalJSON(data []byte) error {
 | 
				
			|||||||
func (v *RequestAppBannerParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
 | 
					func (v *RequestAppBannerParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
 | 
				
			||||||
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpPage11(l, v)
 | 
						easyjsonC5a4559bDecodeGithubComKnqChromedpCdpPage11(l, v)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpPage12(in *jlexer.Lexer, out *RemoveScriptToEvaluateOnLoadParams) {
 | 
					func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpPage12(in *jlexer.Lexer, out *RemoveScriptToEvaluateOnNewDocumentParams) {
 | 
				
			||||||
	isTopLevel := in.IsStart()
 | 
						isTopLevel := in.IsStart()
 | 
				
			||||||
	if in.IsNull() {
 | 
						if in.IsNull() {
 | 
				
			||||||
		if isTopLevel {
 | 
							if isTopLevel {
 | 
				
			||||||
@ -1074,7 +1074,7 @@ func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpPage12(in *jlexer.Lexer, out *
 | 
				
			|||||||
		in.Consumed()
 | 
							in.Consumed()
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpPage12(out *jwriter.Writer, in RemoveScriptToEvaluateOnLoadParams) {
 | 
					func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpPage12(out *jwriter.Writer, in RemoveScriptToEvaluateOnNewDocumentParams) {
 | 
				
			||||||
	out.RawByte('{')
 | 
						out.RawByte('{')
 | 
				
			||||||
	first := true
 | 
						first := true
 | 
				
			||||||
	_ = first
 | 
						_ = first
 | 
				
			||||||
@ -1088,26 +1088,26 @@ func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpPage12(out *jwriter.Writer, in
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// MarshalJSON supports json.Marshaler interface
 | 
					// MarshalJSON supports json.Marshaler interface
 | 
				
			||||||
func (v RemoveScriptToEvaluateOnLoadParams) MarshalJSON() ([]byte, error) {
 | 
					func (v RemoveScriptToEvaluateOnNewDocumentParams) MarshalJSON() ([]byte, error) {
 | 
				
			||||||
	w := jwriter.Writer{}
 | 
						w := jwriter.Writer{}
 | 
				
			||||||
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpPage12(&w, v)
 | 
						easyjsonC5a4559bEncodeGithubComKnqChromedpCdpPage12(&w, v)
 | 
				
			||||||
	return w.Buffer.BuildBytes(), w.Error
 | 
						return w.Buffer.BuildBytes(), w.Error
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// MarshalEasyJSON supports easyjson.Marshaler interface
 | 
					// MarshalEasyJSON supports easyjson.Marshaler interface
 | 
				
			||||||
func (v RemoveScriptToEvaluateOnLoadParams) MarshalEasyJSON(w *jwriter.Writer) {
 | 
					func (v RemoveScriptToEvaluateOnNewDocumentParams) MarshalEasyJSON(w *jwriter.Writer) {
 | 
				
			||||||
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpPage12(w, v)
 | 
						easyjsonC5a4559bEncodeGithubComKnqChromedpCdpPage12(w, v)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// UnmarshalJSON supports json.Unmarshaler interface
 | 
					// UnmarshalJSON supports json.Unmarshaler interface
 | 
				
			||||||
func (v *RemoveScriptToEvaluateOnLoadParams) UnmarshalJSON(data []byte) error {
 | 
					func (v *RemoveScriptToEvaluateOnNewDocumentParams) UnmarshalJSON(data []byte) error {
 | 
				
			||||||
	r := jlexer.Lexer{Data: data}
 | 
						r := jlexer.Lexer{Data: data}
 | 
				
			||||||
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpPage12(&r, v)
 | 
						easyjsonC5a4559bDecodeGithubComKnqChromedpCdpPage12(&r, v)
 | 
				
			||||||
	return r.Error()
 | 
						return r.Error()
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
 | 
					// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
 | 
				
			||||||
func (v *RemoveScriptToEvaluateOnLoadParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
 | 
					func (v *RemoveScriptToEvaluateOnNewDocumentParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
 | 
				
			||||||
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpPage12(l, v)
 | 
						easyjsonC5a4559bDecodeGithubComKnqChromedpCdpPage12(l, v)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpPage13(in *jlexer.Lexer, out *ReloadParams) {
 | 
					func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpPage13(in *jlexer.Lexer, out *ReloadParams) {
 | 
				
			||||||
@ -3060,7 +3060,7 @@ func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpPage34(in *jlexer.Lexer, out *
 | 
				
			|||||||
				out.LastModified = nil
 | 
									out.LastModified = nil
 | 
				
			||||||
			} else {
 | 
								} else {
 | 
				
			||||||
				if out.LastModified == nil {
 | 
									if out.LastModified == nil {
 | 
				
			||||||
					out.LastModified = new(cdp.Timestamp)
 | 
										out.LastModified = new(cdp.TimeSinceEpoch)
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
				(*out.LastModified).UnmarshalEasyJSON(in)
 | 
									(*out.LastModified).UnmarshalEasyJSON(in)
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
@ -3442,7 +3442,7 @@ func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpPage38(in *jlexer.Lexer, out *
 | 
				
			|||||||
				out.Timestamp = nil
 | 
									out.Timestamp = nil
 | 
				
			||||||
			} else {
 | 
								} else {
 | 
				
			||||||
				if out.Timestamp == nil {
 | 
									if out.Timestamp == nil {
 | 
				
			||||||
					out.Timestamp = new(Bootstamp)
 | 
										out.Timestamp = new(cdp.MonotonicTime)
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
				(*out.Timestamp).UnmarshalEasyJSON(in)
 | 
									(*out.Timestamp).UnmarshalEasyJSON(in)
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
@ -4359,7 +4359,7 @@ func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpPage51(in *jlexer.Lexer, out *
 | 
				
			|||||||
				out.Timestamp = nil
 | 
									out.Timestamp = nil
 | 
				
			||||||
			} else {
 | 
								} else {
 | 
				
			||||||
				if out.Timestamp == nil {
 | 
									if out.Timestamp == nil {
 | 
				
			||||||
					out.Timestamp = new(Bootstamp)
 | 
										out.Timestamp = new(cdp.MonotonicTime)
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
				(*out.Timestamp).UnmarshalEasyJSON(in)
 | 
									(*out.Timestamp).UnmarshalEasyJSON(in)
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
@ -4936,7 +4936,7 @@ func (v *AppManifestError) UnmarshalJSON(data []byte) error {
 | 
				
			|||||||
func (v *AppManifestError) UnmarshalEasyJSON(l *jlexer.Lexer) {
 | 
					func (v *AppManifestError) UnmarshalEasyJSON(l *jlexer.Lexer) {
 | 
				
			||||||
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpPage58(l, v)
 | 
						easyjsonC5a4559bDecodeGithubComKnqChromedpCdpPage58(l, v)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpPage59(in *jlexer.Lexer, out *AddScriptToEvaluateOnLoadReturns) {
 | 
					func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpPage59(in *jlexer.Lexer, out *AddScriptToEvaluateOnNewDocumentReturns) {
 | 
				
			||||||
	isTopLevel := in.IsStart()
 | 
						isTopLevel := in.IsStart()
 | 
				
			||||||
	if in.IsNull() {
 | 
						if in.IsNull() {
 | 
				
			||||||
		if isTopLevel {
 | 
							if isTopLevel {
 | 
				
			||||||
@ -4967,7 +4967,7 @@ func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpPage59(in *jlexer.Lexer, out *
 | 
				
			|||||||
		in.Consumed()
 | 
							in.Consumed()
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpPage59(out *jwriter.Writer, in AddScriptToEvaluateOnLoadReturns) {
 | 
					func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpPage59(out *jwriter.Writer, in AddScriptToEvaluateOnNewDocumentReturns) {
 | 
				
			||||||
	out.RawByte('{')
 | 
						out.RawByte('{')
 | 
				
			||||||
	first := true
 | 
						first := true
 | 
				
			||||||
	_ = first
 | 
						_ = first
 | 
				
			||||||
@ -4983,29 +4983,29 @@ func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpPage59(out *jwriter.Writer, in
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// MarshalJSON supports json.Marshaler interface
 | 
					// MarshalJSON supports json.Marshaler interface
 | 
				
			||||||
func (v AddScriptToEvaluateOnLoadReturns) MarshalJSON() ([]byte, error) {
 | 
					func (v AddScriptToEvaluateOnNewDocumentReturns) MarshalJSON() ([]byte, error) {
 | 
				
			||||||
	w := jwriter.Writer{}
 | 
						w := jwriter.Writer{}
 | 
				
			||||||
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpPage59(&w, v)
 | 
						easyjsonC5a4559bEncodeGithubComKnqChromedpCdpPage59(&w, v)
 | 
				
			||||||
	return w.Buffer.BuildBytes(), w.Error
 | 
						return w.Buffer.BuildBytes(), w.Error
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// MarshalEasyJSON supports easyjson.Marshaler interface
 | 
					// MarshalEasyJSON supports easyjson.Marshaler interface
 | 
				
			||||||
func (v AddScriptToEvaluateOnLoadReturns) MarshalEasyJSON(w *jwriter.Writer) {
 | 
					func (v AddScriptToEvaluateOnNewDocumentReturns) MarshalEasyJSON(w *jwriter.Writer) {
 | 
				
			||||||
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpPage59(w, v)
 | 
						easyjsonC5a4559bEncodeGithubComKnqChromedpCdpPage59(w, v)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// UnmarshalJSON supports json.Unmarshaler interface
 | 
					// UnmarshalJSON supports json.Unmarshaler interface
 | 
				
			||||||
func (v *AddScriptToEvaluateOnLoadReturns) UnmarshalJSON(data []byte) error {
 | 
					func (v *AddScriptToEvaluateOnNewDocumentReturns) UnmarshalJSON(data []byte) error {
 | 
				
			||||||
	r := jlexer.Lexer{Data: data}
 | 
						r := jlexer.Lexer{Data: data}
 | 
				
			||||||
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpPage59(&r, v)
 | 
						easyjsonC5a4559bDecodeGithubComKnqChromedpCdpPage59(&r, v)
 | 
				
			||||||
	return r.Error()
 | 
						return r.Error()
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
 | 
					// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
 | 
				
			||||||
func (v *AddScriptToEvaluateOnLoadReturns) UnmarshalEasyJSON(l *jlexer.Lexer) {
 | 
					func (v *AddScriptToEvaluateOnNewDocumentReturns) UnmarshalEasyJSON(l *jlexer.Lexer) {
 | 
				
			||||||
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpPage59(l, v)
 | 
						easyjsonC5a4559bDecodeGithubComKnqChromedpCdpPage59(l, v)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpPage60(in *jlexer.Lexer, out *AddScriptToEvaluateOnLoadParams) {
 | 
					func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpPage60(in *jlexer.Lexer, out *AddScriptToEvaluateOnNewDocumentParams) {
 | 
				
			||||||
	isTopLevel := in.IsStart()
 | 
						isTopLevel := in.IsStart()
 | 
				
			||||||
	if in.IsNull() {
 | 
						if in.IsNull() {
 | 
				
			||||||
		if isTopLevel {
 | 
							if isTopLevel {
 | 
				
			||||||
@ -5024,8 +5024,8 @@ func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpPage60(in *jlexer.Lexer, out *
 | 
				
			|||||||
			continue
 | 
								continue
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		switch key {
 | 
							switch key {
 | 
				
			||||||
		case "scriptSource":
 | 
							case "source":
 | 
				
			||||||
			out.ScriptSource = string(in.String())
 | 
								out.Source = string(in.String())
 | 
				
			||||||
		default:
 | 
							default:
 | 
				
			||||||
			in.SkipRecursive()
 | 
								in.SkipRecursive()
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
@ -5036,7 +5036,7 @@ func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpPage60(in *jlexer.Lexer, out *
 | 
				
			|||||||
		in.Consumed()
 | 
							in.Consumed()
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpPage60(out *jwriter.Writer, in AddScriptToEvaluateOnLoadParams) {
 | 
					func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpPage60(out *jwriter.Writer, in AddScriptToEvaluateOnNewDocumentParams) {
 | 
				
			||||||
	out.RawByte('{')
 | 
						out.RawByte('{')
 | 
				
			||||||
	first := true
 | 
						first := true
 | 
				
			||||||
	_ = first
 | 
						_ = first
 | 
				
			||||||
@ -5044,31 +5044,31 @@ func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpPage60(out *jwriter.Writer, in
 | 
				
			|||||||
		out.RawByte(',')
 | 
							out.RawByte(',')
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	first = false
 | 
						first = false
 | 
				
			||||||
	out.RawString("\"scriptSource\":")
 | 
						out.RawString("\"source\":")
 | 
				
			||||||
	out.String(string(in.ScriptSource))
 | 
						out.String(string(in.Source))
 | 
				
			||||||
	out.RawByte('}')
 | 
						out.RawByte('}')
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// MarshalJSON supports json.Marshaler interface
 | 
					// MarshalJSON supports json.Marshaler interface
 | 
				
			||||||
func (v AddScriptToEvaluateOnLoadParams) MarshalJSON() ([]byte, error) {
 | 
					func (v AddScriptToEvaluateOnNewDocumentParams) MarshalJSON() ([]byte, error) {
 | 
				
			||||||
	w := jwriter.Writer{}
 | 
						w := jwriter.Writer{}
 | 
				
			||||||
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpPage60(&w, v)
 | 
						easyjsonC5a4559bEncodeGithubComKnqChromedpCdpPage60(&w, v)
 | 
				
			||||||
	return w.Buffer.BuildBytes(), w.Error
 | 
						return w.Buffer.BuildBytes(), w.Error
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// MarshalEasyJSON supports easyjson.Marshaler interface
 | 
					// MarshalEasyJSON supports easyjson.Marshaler interface
 | 
				
			||||||
func (v AddScriptToEvaluateOnLoadParams) MarshalEasyJSON(w *jwriter.Writer) {
 | 
					func (v AddScriptToEvaluateOnNewDocumentParams) MarshalEasyJSON(w *jwriter.Writer) {
 | 
				
			||||||
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpPage60(w, v)
 | 
						easyjsonC5a4559bEncodeGithubComKnqChromedpCdpPage60(w, v)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// UnmarshalJSON supports json.Unmarshaler interface
 | 
					// UnmarshalJSON supports json.Unmarshaler interface
 | 
				
			||||||
func (v *AddScriptToEvaluateOnLoadParams) UnmarshalJSON(data []byte) error {
 | 
					func (v *AddScriptToEvaluateOnNewDocumentParams) UnmarshalJSON(data []byte) error {
 | 
				
			||||||
	r := jlexer.Lexer{Data: data}
 | 
						r := jlexer.Lexer{Data: data}
 | 
				
			||||||
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpPage60(&r, v)
 | 
						easyjsonC5a4559bDecodeGithubComKnqChromedpCdpPage60(&r, v)
 | 
				
			||||||
	return r.Error()
 | 
						return r.Error()
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
 | 
					// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
 | 
				
			||||||
func (v *AddScriptToEvaluateOnLoadParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
 | 
					func (v *AddScriptToEvaluateOnNewDocumentParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
 | 
				
			||||||
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpPage60(l, v)
 | 
						easyjsonC5a4559bDecodeGithubComKnqChromedpCdpPage60(l, v)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -9,12 +9,12 @@ import (
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// EventDomContentEventFired [no description].
 | 
					// EventDomContentEventFired [no description].
 | 
				
			||||||
type EventDomContentEventFired struct {
 | 
					type EventDomContentEventFired struct {
 | 
				
			||||||
	Timestamp *Bootstamp `json:"timestamp"`
 | 
						Timestamp *cdp.MonotonicTime `json:"timestamp"`
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// EventLoadEventFired [no description].
 | 
					// EventLoadEventFired [no description].
 | 
				
			||||||
type EventLoadEventFired struct {
 | 
					type EventLoadEventFired struct {
 | 
				
			||||||
	Timestamp *Bootstamp `json:"timestamp"`
 | 
						Timestamp *cdp.MonotonicTime `json:"timestamp"`
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// EventFrameAttached fired when frame has been attached to its parent.
 | 
					// EventFrameAttached fired when frame has been attached to its parent.
 | 
				
			||||||
 | 
				
			|||||||
@ -47,35 +47,37 @@ func (p *DisableParams) Do(ctxt context.Context, h cdp.Handler) (err error) {
 | 
				
			|||||||
	return h.Execute(ctxt, cdp.CommandPageDisable, nil, nil)
 | 
						return h.Execute(ctxt, cdp.CommandPageDisable, nil, nil)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// AddScriptToEvaluateOnLoadParams [no description].
 | 
					// AddScriptToEvaluateOnNewDocumentParams evaluates given script in every
 | 
				
			||||||
type AddScriptToEvaluateOnLoadParams struct {
 | 
					// frame upon creation (before loading frame's scripts).
 | 
				
			||||||
	ScriptSource string `json:"scriptSource"`
 | 
					type AddScriptToEvaluateOnNewDocumentParams struct {
 | 
				
			||||||
 | 
						Source string `json:"source"`
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// AddScriptToEvaluateOnLoad [no description].
 | 
					// AddScriptToEvaluateOnNewDocument evaluates given script in every frame
 | 
				
			||||||
 | 
					// upon creation (before loading frame's scripts).
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
// parameters:
 | 
					// parameters:
 | 
				
			||||||
//   scriptSource
 | 
					//   source
 | 
				
			||||||
func AddScriptToEvaluateOnLoad(scriptSource string) *AddScriptToEvaluateOnLoadParams {
 | 
					func AddScriptToEvaluateOnNewDocument(source string) *AddScriptToEvaluateOnNewDocumentParams {
 | 
				
			||||||
	return &AddScriptToEvaluateOnLoadParams{
 | 
						return &AddScriptToEvaluateOnNewDocumentParams{
 | 
				
			||||||
		ScriptSource: scriptSource,
 | 
							Source: source,
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// AddScriptToEvaluateOnLoadReturns return values.
 | 
					// AddScriptToEvaluateOnNewDocumentReturns return values.
 | 
				
			||||||
type AddScriptToEvaluateOnLoadReturns struct {
 | 
					type AddScriptToEvaluateOnNewDocumentReturns struct {
 | 
				
			||||||
	Identifier ScriptIdentifier `json:"identifier,omitempty"` // Identifier of the added script.
 | 
						Identifier ScriptIdentifier `json:"identifier,omitempty"` // Identifier of the added script.
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Do executes Page.addScriptToEvaluateOnLoad against the provided context and
 | 
					// Do executes Page.addScriptToEvaluateOnNewDocument against the provided context and
 | 
				
			||||||
// target handler.
 | 
					// target handler.
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
// returns:
 | 
					// returns:
 | 
				
			||||||
//   identifier - Identifier of the added script.
 | 
					//   identifier - Identifier of the added script.
 | 
				
			||||||
func (p *AddScriptToEvaluateOnLoadParams) Do(ctxt context.Context, h cdp.Handler) (identifier ScriptIdentifier, err error) {
 | 
					func (p *AddScriptToEvaluateOnNewDocumentParams) Do(ctxt context.Context, h cdp.Handler) (identifier ScriptIdentifier, err error) {
 | 
				
			||||||
	// execute
 | 
						// execute
 | 
				
			||||||
	var res AddScriptToEvaluateOnLoadReturns
 | 
						var res AddScriptToEvaluateOnNewDocumentReturns
 | 
				
			||||||
	err = h.Execute(ctxt, cdp.CommandPageAddScriptToEvaluateOnLoad, p, &res)
 | 
						err = h.Execute(ctxt, cdp.CommandPageAddScriptToEvaluateOnNewDocument, p, &res)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return "", err
 | 
							return "", err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@ -83,25 +85,26 @@ func (p *AddScriptToEvaluateOnLoadParams) Do(ctxt context.Context, h cdp.Handler
 | 
				
			|||||||
	return res.Identifier, nil
 | 
						return res.Identifier, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// RemoveScriptToEvaluateOnLoadParams [no description].
 | 
					// RemoveScriptToEvaluateOnNewDocumentParams removes given script from the
 | 
				
			||||||
type RemoveScriptToEvaluateOnLoadParams struct {
 | 
					// list.
 | 
				
			||||||
 | 
					type RemoveScriptToEvaluateOnNewDocumentParams struct {
 | 
				
			||||||
	Identifier ScriptIdentifier `json:"identifier"`
 | 
						Identifier ScriptIdentifier `json:"identifier"`
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// RemoveScriptToEvaluateOnLoad [no description].
 | 
					// RemoveScriptToEvaluateOnNewDocument removes given script from the list.
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
// parameters:
 | 
					// parameters:
 | 
				
			||||||
//   identifier
 | 
					//   identifier
 | 
				
			||||||
func RemoveScriptToEvaluateOnLoad(identifier ScriptIdentifier) *RemoveScriptToEvaluateOnLoadParams {
 | 
					func RemoveScriptToEvaluateOnNewDocument(identifier ScriptIdentifier) *RemoveScriptToEvaluateOnNewDocumentParams {
 | 
				
			||||||
	return &RemoveScriptToEvaluateOnLoadParams{
 | 
						return &RemoveScriptToEvaluateOnNewDocumentParams{
 | 
				
			||||||
		Identifier: identifier,
 | 
							Identifier: identifier,
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Do executes Page.removeScriptToEvaluateOnLoad against the provided context and
 | 
					// Do executes Page.removeScriptToEvaluateOnNewDocument against the provided context and
 | 
				
			||||||
// target handler.
 | 
					// target handler.
 | 
				
			||||||
func (p *RemoveScriptToEvaluateOnLoadParams) Do(ctxt context.Context, h cdp.Handler) (err error) {
 | 
					func (p *RemoveScriptToEvaluateOnNewDocumentParams) Do(ctxt context.Context, h cdp.Handler) (err error) {
 | 
				
			||||||
	return h.Execute(ctxt, cdp.CommandPageRemoveScriptToEvaluateOnLoad, p, nil)
 | 
						return h.Execute(ctxt, cdp.CommandPageRemoveScriptToEvaluateOnNewDocument, p, nil)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// SetAutoAttachToCreatedPagesParams controls whether browser will open a new
 | 
					// SetAutoAttachToCreatedPagesParams controls whether browser will open a new
 | 
				
			||||||
 | 
				
			|||||||
@ -4,11 +4,8 @@ package page
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
	"errors"
 | 
						"errors"
 | 
				
			||||||
	"strconv"
 | 
					 | 
				
			||||||
	"time"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	cdp "github.com/knq/chromedp/cdp"
 | 
						cdp "github.com/knq/chromedp/cdp"
 | 
				
			||||||
	"github.com/knq/sysutil"
 | 
					 | 
				
			||||||
	"github.com/mailru/easyjson"
 | 
						"github.com/mailru/easyjson"
 | 
				
			||||||
	"github.com/mailru/easyjson/jlexer"
 | 
						"github.com/mailru/easyjson/jlexer"
 | 
				
			||||||
	"github.com/mailru/easyjson/jwriter"
 | 
						"github.com/mailru/easyjson/jwriter"
 | 
				
			||||||
@ -94,7 +91,7 @@ type FrameResource struct {
 | 
				
			|||||||
	URL          string              `json:"url"`                    // Resource URL.
 | 
						URL          string              `json:"url"`                    // Resource URL.
 | 
				
			||||||
	Type         ResourceType        `json:"type"`                   // Type of this resource.
 | 
						Type         ResourceType        `json:"type"`                   // Type of this resource.
 | 
				
			||||||
	MimeType     string              `json:"mimeType"`               // Resource mimeType as determined by the browser.
 | 
						MimeType     string              `json:"mimeType"`               // Resource mimeType as determined by the browser.
 | 
				
			||||||
	LastModified *cdp.Timestamp `json:"lastModified,omitempty"` // last-modified timestamp as reported by server.
 | 
						LastModified *cdp.TimeSinceEpoch `json:"lastModified,omitempty"` // last-modified timestamp as reported by server.
 | 
				
			||||||
	ContentSize  float64             `json:"contentSize,omitempty"`  // Resource content size.
 | 
						ContentSize  float64             `json:"contentSize,omitempty"`  // Resource content size.
 | 
				
			||||||
	Failed       bool                `json:"failed,omitempty"`       // True if the resource failed to load.
 | 
						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.
 | 
						Canceled     bool                `json:"canceled,omitempty"`     // True if the resource was canceled during loading.
 | 
				
			||||||
@ -205,7 +202,7 @@ type ScreencastFrameMetadata struct {
 | 
				
			|||||||
	DeviceHeight    float64             `json:"deviceHeight"`        // Device screen height in DIP.
 | 
						DeviceHeight    float64             `json:"deviceHeight"`        // Device screen height in DIP.
 | 
				
			||||||
	ScrollOffsetX   float64             `json:"scrollOffsetX"`       // Position of horizontal scroll in CSS pixels.
 | 
						ScrollOffsetX   float64             `json:"scrollOffsetX"`       // Position of horizontal scroll in CSS pixels.
 | 
				
			||||||
	ScrollOffsetY   float64             `json:"scrollOffsetY"`       // Position of vertical scroll in CSS pixels.
 | 
						ScrollOffsetY   float64             `json:"scrollOffsetY"`       // Position of vertical scroll in CSS pixels.
 | 
				
			||||||
	Timestamp       *Bootstamp `json:"timestamp,omitempty"` // Frame swap timestamp.
 | 
						Timestamp       *cdp.TimeSinceEpoch `json:"timestamp,omitempty"` // Frame swap timestamp.
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// DialogType javascript dialog type.
 | 
					// DialogType javascript dialog type.
 | 
				
			||||||
@ -330,37 +327,6 @@ type VisualViewport struct {
 | 
				
			|||||||
	Scale        float64 `json:"scale"`        // Scale relative to the ideal viewport (size at width=device-width).
 | 
						Scale        float64 `json:"scale"`        // Scale relative to the ideal viewport (size at width=device-width).
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Bootstamp bootstamp type.
 | 
					 | 
				
			||||||
type Bootstamp time.Time
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Time returns the Bootstamp as time.Time value.
 | 
					 | 
				
			||||||
func (t Bootstamp) Time() time.Time {
 | 
					 | 
				
			||||||
	return time.Time(t)
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// MarshalEasyJSON satisfies easyjson.Marshaler.
 | 
					 | 
				
			||||||
func (t Bootstamp) MarshalEasyJSON(out *jwriter.Writer) {
 | 
					 | 
				
			||||||
	v := float64(time.Time(t).Sub(sysutil.BootTime())) / float64(time.Second)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	out.Buffer.EnsureSpace(20)
 | 
					 | 
				
			||||||
	out.Buffer.Buf = strconv.AppendFloat(out.Buffer.Buf, v, 'f', -1, 64)
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// MarshalJSON satisfies json.Marshaler.
 | 
					 | 
				
			||||||
func (t Bootstamp) MarshalJSON() ([]byte, error) {
 | 
					 | 
				
			||||||
	return easyjson.Marshal(t)
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
 | 
					 | 
				
			||||||
func (t *Bootstamp) UnmarshalEasyJSON(in *jlexer.Lexer) {
 | 
					 | 
				
			||||||
	*t = Bootstamp(sysutil.BootTime().Add(time.Duration(in.Float64() * float64(time.Second))))
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// UnmarshalJSON satisfies json.Unmarshaler.
 | 
					 | 
				
			||||||
func (t *Bootstamp) UnmarshalJSON(buf []byte) error {
 | 
					 | 
				
			||||||
	return easyjson.Unmarshal(buf, t)
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// CaptureScreenshotFormat image compression format (defaults to png).
 | 
					// CaptureScreenshotFormat image compression format (defaults to png).
 | 
				
			||||||
type CaptureScreenshotFormat string
 | 
					type CaptureScreenshotFormat string
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -44,6 +44,8 @@ func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpSecurity(in *jlexer.Lexer, out
 | 
				
			|||||||
			out.Description = string(in.String())
 | 
								out.Description = string(in.String())
 | 
				
			||||||
		case "hasCertificate":
 | 
							case "hasCertificate":
 | 
				
			||||||
			out.HasCertificate = bool(in.Bool())
 | 
								out.HasCertificate = bool(in.Bool())
 | 
				
			||||||
 | 
							case "mixedContentType":
 | 
				
			||||||
 | 
								(out.MixedContentType).UnmarshalEasyJSON(in)
 | 
				
			||||||
		default:
 | 
							default:
 | 
				
			||||||
			in.SkipRecursive()
 | 
								in.SkipRecursive()
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
@ -82,6 +84,12 @@ func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpSecurity(out *jwriter.Writer,
 | 
				
			|||||||
	first = false
 | 
						first = false
 | 
				
			||||||
	out.RawString("\"hasCertificate\":")
 | 
						out.RawString("\"hasCertificate\":")
 | 
				
			||||||
	out.Bool(bool(in.HasCertificate))
 | 
						out.Bool(bool(in.HasCertificate))
 | 
				
			||||||
 | 
						if !first {
 | 
				
			||||||
 | 
							out.RawByte(',')
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						first = false
 | 
				
			||||||
 | 
						out.RawString("\"mixedContentType\":")
 | 
				
			||||||
 | 
						(in.MixedContentType).MarshalEasyJSON(out)
 | 
				
			||||||
	out.RawByte('}')
 | 
						out.RawByte('}')
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -18,6 +18,52 @@ func (t CertificateID) Int64() int64 {
 | 
				
			|||||||
	return int64(t)
 | 
						return int64(t)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// MixedContentType a description of mixed content (HTTP resources on HTTPS
 | 
				
			||||||
 | 
					// pages), as defined by https://www.w3.org/TR/mixed-content/#categories.
 | 
				
			||||||
 | 
					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)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// State the security level of a page or resource.
 | 
					// State the security level of a page or resource.
 | 
				
			||||||
type State string
 | 
					type State string
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -79,6 +125,7 @@ type StateExplanation struct {
 | 
				
			|||||||
	Summary          string           `json:"summary"`          // Short phrase describing the type of factor.
 | 
						Summary          string           `json:"summary"`          // Short phrase describing the type of factor.
 | 
				
			||||||
	Description      string           `json:"description"`      // Full text explanation of the factor.
 | 
						Description      string           `json:"description"`      // Full text explanation of the factor.
 | 
				
			||||||
	HasCertificate   bool             `json:"hasCertificate"`   // True if the page has a certificate.
 | 
						HasCertificate   bool             `json:"hasCertificate"`   // True if the page has a certificate.
 | 
				
			||||||
 | 
						MixedContentType MixedContentType `json:"mixedContentType"` // The type of mixed content described by the explanation.
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// InsecureContentStatus information about insecure content on the page.
 | 
					// InsecureContentStatus information about insecure content on the page.
 | 
				
			||||||
 | 
				
			|||||||
@ -12,11 +12,8 @@
 | 
				
			|||||||
//  - add 'Inspector.Message' type as a object with id (integer), method (MethodType), params (interface{}), error (MessageError).
 | 
					//  - add 'Inspector.Message' type as a object with id (integer), method (MethodType), params (interface{}), error (MessageError).
 | 
				
			||||||
//  - add 'Inspector.DetachReason' type and change event 'Inspector.detached''s parameter reason's type.
 | 
					//  - add 'Inspector.DetachReason' type and change event 'Inspector.detached''s parameter reason's type.
 | 
				
			||||||
//  - add 'Inspector.ErrorType' type.
 | 
					//  - add 'Inspector.ErrorType' type.
 | 
				
			||||||
//  - change type of Network.Timestamp and Runtime.Timestamp to internal Timestamp type.
 | 
					//  - change type of Network.TimeSinceEpoch, Network.MonotonicTime, and
 | 
				
			||||||
//  - add 'Page.Bootstamp' type and convert all command/event parameters named
 | 
					//    Runtime.Timestamp to internal Timestamp type.
 | 
				
			||||||
//    'timestamp' in the Page domain to the Bootstamp type.
 | 
					 | 
				
			||||||
//  - change any object property or command/event parameter named 'timestamp'
 | 
					 | 
				
			||||||
//    that doesn't have a $ref defined to 'Network.Timestamp'.
 | 
					 | 
				
			||||||
//  - convert object properties and event/command parameters that are enums into independent types.
 | 
					//  - convert object properties and event/command parameters that are enums into independent types.
 | 
				
			||||||
//  - change '*.modifiers' parameters to type Input.Modifier.
 | 
					//  - change '*.modifiers' parameters to type Input.Modifier.
 | 
				
			||||||
//  - add 'DOM.NodeType' type and convert "nodeType" parameters to it.
 | 
					//  - add 'DOM.NodeType' type and convert "nodeType" parameters to it.
 | 
				
			||||||
@ -59,7 +56,8 @@ func setup() {
 | 
				
			|||||||
		"Inspector.Message":      true,
 | 
							"Inspector.Message":      true,
 | 
				
			||||||
		"Inspector.MethodType":   true,
 | 
							"Inspector.MethodType":   true,
 | 
				
			||||||
		"Network.LoaderId":       true,
 | 
							"Network.LoaderId":       true,
 | 
				
			||||||
		"Network.Timestamp":      true,
 | 
							"Network.MonotonicTime":  true,
 | 
				
			||||||
 | 
							"Network.TimeSinceEpoch": true,
 | 
				
			||||||
		"Page.FrameId":           true,
 | 
							"Page.FrameId":           true,
 | 
				
			||||||
		"Page.Frame":             true,
 | 
							"Page.Frame":             true,
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@ -206,14 +204,6 @@ func FixDomains(domains []*internal.Domain) {
 | 
				
			|||||||
		},
 | 
							},
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// bootstamp type
 | 
					 | 
				
			||||||
	bootstampType := &internal.Type{
 | 
					 | 
				
			||||||
		ID:            "Bootstamp",
 | 
					 | 
				
			||||||
		Type:          internal.TypeTimestamp,
 | 
					 | 
				
			||||||
		TimestampType: internal.TimestampTypeBootstamp,
 | 
					 | 
				
			||||||
		Description:   "Bootstamp type.",
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// process domains
 | 
						// process domains
 | 
				
			||||||
	for _, d := range domains {
 | 
						for _, d := range domains {
 | 
				
			||||||
		switch d.Domain {
 | 
							switch d.Domain {
 | 
				
			||||||
@ -246,8 +236,14 @@ func FixDomains(domains []*internal.Domain) {
 | 
				
			|||||||
			// add Input types
 | 
								// add Input types
 | 
				
			||||||
			d.Types = append(d.Types, modifierType)
 | 
								d.Types = append(d.Types, modifierType)
 | 
				
			||||||
			for _, t := range d.Types {
 | 
								for _, t := range d.Types {
 | 
				
			||||||
				if t.ID == "GestureSourceType" {
 | 
									switch t.ID {
 | 
				
			||||||
 | 
									case "GestureSourceType":
 | 
				
			||||||
					t.ID = "GestureType"
 | 
										t.ID = "GestureType"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									case "TimeSinceEpoch":
 | 
				
			||||||
 | 
										t.Type = internal.TypeTimestamp
 | 
				
			||||||
 | 
										t.TimestampType = internal.TimestampTypeSecond
 | 
				
			||||||
 | 
										t.Extra = templates.ExtraTimestampTemplate(t, d)
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -296,14 +292,8 @@ func FixDomains(domains []*internal.Domain) {
 | 
				
			|||||||
			}
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		case internal.DomainPage:
 | 
							case internal.DomainPage:
 | 
				
			||||||
			// add Page types
 | 
					 | 
				
			||||||
			d.Types = append(d.Types, bootstampType)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
			for _, t := range d.Types {
 | 
								for _, t := range d.Types {
 | 
				
			||||||
				switch t.ID {
 | 
									switch t.ID {
 | 
				
			||||||
				case "Bootstamp":
 | 
					 | 
				
			||||||
					t.Extra += templates.ExtraTimestampTemplate(t, d)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
				case "FrameId":
 | 
									case "FrameId":
 | 
				
			||||||
					t.Extra += templates.ExtraFixStringUnmarshaler(internal.ForceCamel(t.ID), "", "")
 | 
										t.Extra += templates.ExtraFixStringUnmarshaler(internal.ForceCamel(t.ID), "", "")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -352,13 +342,20 @@ func FixDomains(domains []*internal.Domain) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
		case internal.DomainNetwork:
 | 
							case internal.DomainNetwork:
 | 
				
			||||||
			for _, t := range d.Types {
 | 
								for _, t := range d.Types {
 | 
				
			||||||
				// change Timestamp to TypeTimestamp and add extra unmarshaling template
 | 
									// change Monotonic to TypeTimestamp and add extra unmarshaling template
 | 
				
			||||||
				if t.ID == "Timestamp" {
 | 
									if t.ID == "TimeSinceEpoch" {
 | 
				
			||||||
					t.Type = internal.TypeTimestamp
 | 
										t.Type = internal.TypeTimestamp
 | 
				
			||||||
					t.TimestampType = internal.TimestampTypeSecond
 | 
										t.TimestampType = internal.TimestampTypeSecond
 | 
				
			||||||
					t.Extra = templates.ExtraTimestampTemplate(t, d)
 | 
										t.Extra = templates.ExtraTimestampTemplate(t, d)
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									// change Monotonic to TypeTimestamp and add extra unmarshaling template
 | 
				
			||||||
 | 
									if t.ID == "MonotonicTime" {
 | 
				
			||||||
 | 
										t.Type = internal.TypeTimestamp
 | 
				
			||||||
 | 
										t.TimestampType = internal.TimestampTypeMonotonic
 | 
				
			||||||
 | 
										t.Extra = templates.ExtraTimestampTemplate(t, d)
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				// change Headers to be a map[string]interface{}
 | 
									// change Headers to be a map[string]interface{}
 | 
				
			||||||
				if t.ID == "Headers" {
 | 
									if t.ID == "Headers" {
 | 
				
			||||||
					t.Type = internal.TypeAny
 | 
										t.Type = internal.TypeAny
 | 
				
			||||||
@ -464,22 +461,6 @@ func convertObjectProperties(params []*internal.Type, d *internal.Domain, name s
 | 
				
			|||||||
		case p.Enum != nil:
 | 
							case p.Enum != nil:
 | 
				
			||||||
			r = append(r, fixupEnumParameter(name, p, d))
 | 
								r = append(r, fixupEnumParameter(name, p, d))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		case p.Name == "timestamp" && p.Ref == "" && d.Domain == internal.DomainPage:
 | 
					 | 
				
			||||||
			r = append(r, &internal.Type{
 | 
					 | 
				
			||||||
				Name:        p.Name,
 | 
					 | 
				
			||||||
				Ref:         "Page.Bootstamp",
 | 
					 | 
				
			||||||
				Description: p.Description,
 | 
					 | 
				
			||||||
				Optional:    p.Optional,
 | 
					 | 
				
			||||||
			})
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		case p.Name == "timestamp" && p.Ref == "":
 | 
					 | 
				
			||||||
			r = append(r, &internal.Type{
 | 
					 | 
				
			||||||
				Name:        p.Name,
 | 
					 | 
				
			||||||
				Ref:         "Network.Timestamp",
 | 
					 | 
				
			||||||
				Description: p.Description,
 | 
					 | 
				
			||||||
				Optional:    p.Optional,
 | 
					 | 
				
			||||||
			})
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		case p.Name == "modifiers":
 | 
							case p.Name == "modifiers":
 | 
				
			||||||
			r = append(r, &internal.Type{
 | 
								r = append(r, &internal.Type{
 | 
				
			||||||
				Name:        p.Name,
 | 
									Name:        p.Name,
 | 
				
			||||||
 | 
				
			|||||||
@ -156,5 +156,5 @@ type TimestampType int
 | 
				
			|||||||
const (
 | 
					const (
 | 
				
			||||||
	TimestampTypeMillisecond TimestampType = 1 + iota
 | 
						TimestampTypeMillisecond TimestampType = 1 + iota
 | 
				
			||||||
	TimestampTypeSecond
 | 
						TimestampTypeSecond
 | 
				
			||||||
	TimestampTypeBootstamp
 | 
						TimestampTypeMonotonic
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
				
			|||||||
@ -97,7 +97,8 @@
 | 
				
			|||||||
      "description": "Actions and events related to the inspected page belong to the page domain.",
 | 
					      "description": "Actions and events related to the inspected page belong to the page domain.",
 | 
				
			||||||
      "dependencies": [
 | 
					      "dependencies": [
 | 
				
			||||||
        "Debugger",
 | 
					        "Debugger",
 | 
				
			||||||
        "DOM"
 | 
					        "DOM",
 | 
				
			||||||
 | 
					        "Network"
 | 
				
			||||||
      ],
 | 
					      ],
 | 
				
			||||||
      "types": [
 | 
					      "types": [
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
@ -191,7 +192,7 @@
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "name": "lastModified",
 | 
					              "name": "lastModified",
 | 
				
			||||||
              "$ref": "Network.Timestamp",
 | 
					              "$ref": "Network.TimeSinceEpoch",
 | 
				
			||||||
              "description": "last-modified timestamp as reported by server.",
 | 
					              "description": "last-modified timestamp as reported by server.",
 | 
				
			||||||
              "optional": true
 | 
					              "optional": true
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
@ -348,7 +349,7 @@
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "name": "timestamp",
 | 
					              "name": "timestamp",
 | 
				
			||||||
              "type": "number",
 | 
					              "$ref": "Network.TimeSinceEpoch",
 | 
				
			||||||
              "optional": true,
 | 
					              "optional": true,
 | 
				
			||||||
              "experimental": true,
 | 
					              "experimental": true,
 | 
				
			||||||
              "description": "Frame swap timestamp."
 | 
					              "description": "Frame swap timestamp."
 | 
				
			||||||
@ -503,6 +504,8 @@
 | 
				
			|||||||
              "description": "Identifier of the added script."
 | 
					              "description": "Identifier of the added script."
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          ],
 | 
					          ],
 | 
				
			||||||
 | 
					          "deprecated": true,
 | 
				
			||||||
 | 
					          "description": "Deprecated, please use addScriptToEvaluateOnNewDocument instead.",
 | 
				
			||||||
          "experimental": true
 | 
					          "experimental": true
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
@ -513,6 +516,37 @@
 | 
				
			|||||||
              "$ref": "ScriptIdentifier"
 | 
					              "$ref": "ScriptIdentifier"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          ],
 | 
					          ],
 | 
				
			||||||
 | 
					          "deprecated": true,
 | 
				
			||||||
 | 
					          "description": "Deprecated, please use removeScriptToEvaluateOnNewDocument instead.",
 | 
				
			||||||
 | 
					          "experimental": true
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "name": "addScriptToEvaluateOnNewDocument",
 | 
				
			||||||
 | 
					          "parameters": [
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					              "name": "source",
 | 
				
			||||||
 | 
					              "type": "string"
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					          ],
 | 
				
			||||||
 | 
					          "returns": [
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					              "name": "identifier",
 | 
				
			||||||
 | 
					              "$ref": "ScriptIdentifier",
 | 
				
			||||||
 | 
					              "description": "Identifier of the added script."
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					          ],
 | 
				
			||||||
 | 
					          "description": "Evaluates given script in every frame upon creation (before loading frame's scripts).",
 | 
				
			||||||
 | 
					          "experimental": true
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "name": "removeScriptToEvaluateOnNewDocument",
 | 
				
			||||||
 | 
					          "parameters": [
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					              "name": "identifier",
 | 
				
			||||||
 | 
					              "$ref": "ScriptIdentifier"
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					          ],
 | 
				
			||||||
 | 
					          "description": "Removes given script from the list.",
 | 
				
			||||||
          "experimental": true
 | 
					          "experimental": true
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
@ -1226,7 +1260,7 @@
 | 
				
			|||||||
          "parameters": [
 | 
					          "parameters": [
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "name": "timestamp",
 | 
					              "name": "timestamp",
 | 
				
			||||||
              "type": "number"
 | 
					              "$ref": "Network.MonotonicTime"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          ]
 | 
					          ]
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@ -1235,7 +1269,7 @@
 | 
				
			|||||||
          "parameters": [
 | 
					          "parameters": [
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "name": "timestamp",
 | 
					              "name": "timestamp",
 | 
				
			||||||
              "type": "number"
 | 
					              "$ref": "Network.MonotonicTime"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          ]
 | 
					          ]
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@ -2140,6 +2174,16 @@
 | 
				
			|||||||
          "type": "integer",
 | 
					          "type": "integer",
 | 
				
			||||||
          "description": "An internal certificate ID value."
 | 
					          "description": "An internal certificate ID value."
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "id": "MixedContentType",
 | 
				
			||||||
 | 
					          "type": "string",
 | 
				
			||||||
 | 
					          "enum": [
 | 
				
			||||||
 | 
					            "blockable",
 | 
				
			||||||
 | 
					            "optionally-blockable",
 | 
				
			||||||
 | 
					            "none"
 | 
				
			||||||
 | 
					          ],
 | 
				
			||||||
 | 
					          "description": "A description of mixed content (HTTP resources on HTTPS pages), as defined by https://www.w3.org/TR/mixed-content/#categories"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          "id": "SecurityState",
 | 
					          "id": "SecurityState",
 | 
				
			||||||
          "type": "string",
 | 
					          "type": "string",
 | 
				
			||||||
@ -2176,6 +2220,11 @@
 | 
				
			|||||||
              "name": "hasCertificate",
 | 
					              "name": "hasCertificate",
 | 
				
			||||||
              "type": "boolean",
 | 
					              "type": "boolean",
 | 
				
			||||||
              "description": "True if the page has a certificate."
 | 
					              "description": "True if the page has a certificate."
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					              "name": "mixedContentType",
 | 
				
			||||||
 | 
					              "$ref": "MixedContentType",
 | 
				
			||||||
 | 
					              "description": "The type of mixed content described by the explanation."
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          ],
 | 
					          ],
 | 
				
			||||||
          "description": "An explanation of an factor contributing to the security state."
 | 
					          "description": "An explanation of an factor contributing to the security state."
 | 
				
			||||||
@ -2375,9 +2424,14 @@
 | 
				
			|||||||
          "description": "Network level fetch failure reason."
 | 
					          "description": "Network level fetch failure reason."
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          "id": "Timestamp",
 | 
					          "id": "TimeSinceEpoch",
 | 
				
			||||||
          "type": "number",
 | 
					          "type": "number",
 | 
				
			||||||
          "description": "Number of seconds since epoch."
 | 
					          "description": "UTC time in seconds, counted from January 1, 1970."
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "id": "MonotonicTime",
 | 
				
			||||||
 | 
					          "type": "number",
 | 
				
			||||||
 | 
					          "description": "Monotonically increasing time in seconds since an arbitrary point in the past."
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          "id": "Headers",
 | 
					          "id": "Headers",
 | 
				
			||||||
@ -2540,14 +2594,9 @@
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "name": "mixedContentType",
 | 
					              "name": "mixedContentType",
 | 
				
			||||||
 | 
					              "$ref": "Security.MixedContentType",
 | 
				
			||||||
              "optional": true,
 | 
					              "optional": true,
 | 
				
			||||||
              "type": "string",
 | 
					              "description": "The mixed content type of the request."
 | 
				
			||||||
              "enum": [
 | 
					 | 
				
			||||||
                "blockable",
 | 
					 | 
				
			||||||
                "optionally-blockable",
 | 
					 | 
				
			||||||
                "none"
 | 
					 | 
				
			||||||
              ],
 | 
					 | 
				
			||||||
              "description": "The mixed content status of the request, as defined in http://www.w3.org/TR/mixed-content/"
 | 
					 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "name": "initialPriority",
 | 
					              "name": "initialPriority",
 | 
				
			||||||
@ -2604,7 +2653,7 @@
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "name": "timestamp",
 | 
					              "name": "timestamp",
 | 
				
			||||||
              "$ref": "Timestamp",
 | 
					              "$ref": "TimeSinceEpoch",
 | 
				
			||||||
              "description": "Issuance date."
 | 
					              "description": "Issuance date."
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
@ -2681,12 +2730,12 @@
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "name": "validFrom",
 | 
					              "name": "validFrom",
 | 
				
			||||||
              "$ref": "Timestamp",
 | 
					              "$ref": "TimeSinceEpoch",
 | 
				
			||||||
              "description": "Certificate valid from date."
 | 
					              "description": "Certificate valid from date."
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "name": "validTo",
 | 
					              "name": "validTo",
 | 
				
			||||||
              "$ref": "Timestamp",
 | 
					              "$ref": "TimeSinceEpoch",
 | 
				
			||||||
              "description": "Certificate valid to (expiration) date"
 | 
					              "description": "Certificate valid to (expiration) date"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
@ -3327,7 +3376,7 @@
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "name": "expirationDate",
 | 
					              "name": "expirationDate",
 | 
				
			||||||
              "$ref": "Timestamp",
 | 
					              "$ref": "TimeSinceEpoch",
 | 
				
			||||||
              "optional": true,
 | 
					              "optional": true,
 | 
				
			||||||
              "description": "If omitted, the cookie becomes a session cookie."
 | 
					              "description": "If omitted, the cookie becomes a session cookie."
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
@ -3448,7 +3497,7 @@
 | 
				
			|||||||
          "experimental": true
 | 
					          "experimental": true
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          "name": "enableRequestInterception",
 | 
					          "name": "setRequestInterceptionEnabled",
 | 
				
			||||||
          "parameters": [
 | 
					          "parameters": [
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "name": "enabled",
 | 
					              "name": "enabled",
 | 
				
			||||||
@ -3529,7 +3578,7 @@
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "name": "timestamp",
 | 
					              "name": "timestamp",
 | 
				
			||||||
              "$ref": "Timestamp",
 | 
					              "$ref": "MonotonicTime",
 | 
				
			||||||
              "description": "Timestamp."
 | 
					              "description": "Timestamp."
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          ],
 | 
					          ],
 | 
				
			||||||
@ -3561,14 +3610,14 @@
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "name": "timestamp",
 | 
					              "name": "timestamp",
 | 
				
			||||||
              "$ref": "Timestamp",
 | 
					              "$ref": "MonotonicTime",
 | 
				
			||||||
              "description": "Timestamp."
 | 
					              "description": "Timestamp."
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "name": "wallTime",
 | 
					              "name": "wallTime",
 | 
				
			||||||
              "$ref": "Timestamp",
 | 
					              "$ref": "TimeSinceEpoch",
 | 
				
			||||||
              "experimental": true,
 | 
					              "experimental": true,
 | 
				
			||||||
              "description": "UTC Timestamp."
 | 
					              "description": "Timestamp."
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "name": "initiator",
 | 
					              "name": "initiator",
 | 
				
			||||||
@ -3624,7 +3673,7 @@
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "name": "timestamp",
 | 
					              "name": "timestamp",
 | 
				
			||||||
              "$ref": "Timestamp",
 | 
					              "$ref": "MonotonicTime",
 | 
				
			||||||
              "description": "Timestamp."
 | 
					              "description": "Timestamp."
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
@ -3657,7 +3706,7 @@
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "name": "timestamp",
 | 
					              "name": "timestamp",
 | 
				
			||||||
              "$ref": "Timestamp",
 | 
					              "$ref": "MonotonicTime",
 | 
				
			||||||
              "description": "Timestamp."
 | 
					              "description": "Timestamp."
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
@ -3683,7 +3732,7 @@
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "name": "timestamp",
 | 
					              "name": "timestamp",
 | 
				
			||||||
              "$ref": "Timestamp",
 | 
					              "$ref": "MonotonicTime",
 | 
				
			||||||
              "description": "Timestamp."
 | 
					              "description": "Timestamp."
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
@ -3704,7 +3753,7 @@
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "name": "timestamp",
 | 
					              "name": "timestamp",
 | 
				
			||||||
              "$ref": "Timestamp",
 | 
					              "$ref": "MonotonicTime",
 | 
				
			||||||
              "description": "Timestamp."
 | 
					              "description": "Timestamp."
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
@ -3743,12 +3792,12 @@
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "name": "timestamp",
 | 
					              "name": "timestamp",
 | 
				
			||||||
              "$ref": "Timestamp",
 | 
					              "$ref": "MonotonicTime",
 | 
				
			||||||
              "description": "Timestamp."
 | 
					              "description": "Timestamp."
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "name": "wallTime",
 | 
					              "name": "wallTime",
 | 
				
			||||||
              "$ref": "Timestamp",
 | 
					              "$ref": "TimeSinceEpoch",
 | 
				
			||||||
              "experimental": true,
 | 
					              "experimental": true,
 | 
				
			||||||
              "description": "UTC Timestamp."
 | 
					              "description": "UTC Timestamp."
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
@ -3771,7 +3820,7 @@
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "name": "timestamp",
 | 
					              "name": "timestamp",
 | 
				
			||||||
              "$ref": "Timestamp",
 | 
					              "$ref": "MonotonicTime",
 | 
				
			||||||
              "description": "Timestamp."
 | 
					              "description": "Timestamp."
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
@ -3816,7 +3865,7 @@
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "name": "timestamp",
 | 
					              "name": "timestamp",
 | 
				
			||||||
              "$ref": "Timestamp",
 | 
					              "$ref": "MonotonicTime",
 | 
				
			||||||
              "description": "Timestamp."
 | 
					              "description": "Timestamp."
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          ],
 | 
					          ],
 | 
				
			||||||
@ -3833,7 +3882,7 @@
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "name": "timestamp",
 | 
					              "name": "timestamp",
 | 
				
			||||||
              "$ref": "Timestamp",
 | 
					              "$ref": "MonotonicTime",
 | 
				
			||||||
              "description": "Timestamp."
 | 
					              "description": "Timestamp."
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
@ -3855,7 +3904,7 @@
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "name": "timestamp",
 | 
					              "name": "timestamp",
 | 
				
			||||||
              "$ref": "Timestamp",
 | 
					              "$ref": "MonotonicTime",
 | 
				
			||||||
              "description": "Timestamp."
 | 
					              "description": "Timestamp."
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
@ -3877,7 +3926,7 @@
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "name": "timestamp",
 | 
					              "name": "timestamp",
 | 
				
			||||||
              "$ref": "Timestamp",
 | 
					              "$ref": "MonotonicTime",
 | 
				
			||||||
              "description": "Timestamp."
 | 
					              "description": "Timestamp."
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
@ -3899,7 +3948,7 @@
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "name": "timestamp",
 | 
					              "name": "timestamp",
 | 
				
			||||||
              "$ref": "Timestamp",
 | 
					              "$ref": "MonotonicTime",
 | 
				
			||||||
              "description": "Timestamp."
 | 
					              "description": "Timestamp."
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
@ -8642,6 +8691,11 @@
 | 
				
			|||||||
            "touch",
 | 
					            "touch",
 | 
				
			||||||
            "mouse"
 | 
					            "mouse"
 | 
				
			||||||
          ]
 | 
					          ]
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "id": "TimeSinceEpoch",
 | 
				
			||||||
 | 
					          "type": "number",
 | 
				
			||||||
 | 
					          "description": "UTC time in seconds, counted from January 1, 1970."
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      ],
 | 
					      ],
 | 
				
			||||||
      "commands": [
 | 
					      "commands": [
 | 
				
			||||||
@ -8678,9 +8732,9 @@
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "name": "timestamp",
 | 
					              "name": "timestamp",
 | 
				
			||||||
              "type": "number",
 | 
					              "$ref": "TimeSinceEpoch",
 | 
				
			||||||
              "optional": true,
 | 
					              "optional": true,
 | 
				
			||||||
              "description": "Time at which the event occurred. Measured in UTC time in seconds since January 1, 1970 (default: current time)."
 | 
					              "description": "Time at which the event occurred."
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "name": "text",
 | 
					              "name": "text",
 | 
				
			||||||
@ -8776,9 +8830,9 @@
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "name": "timestamp",
 | 
					              "name": "timestamp",
 | 
				
			||||||
              "type": "number",
 | 
					              "$ref": "TimeSinceEpoch",
 | 
				
			||||||
              "optional": true,
 | 
					              "optional": true,
 | 
				
			||||||
              "description": "Time at which the event occurred. Measured in UTC time in seconds since January 1, 1970 (default: current time)."
 | 
					              "description": "Time at which the event occurred."
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "name": "button",
 | 
					              "name": "button",
 | 
				
			||||||
@ -8831,9 +8885,9 @@
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "name": "timestamp",
 | 
					              "name": "timestamp",
 | 
				
			||||||
              "type": "number",
 | 
					              "$ref": "TimeSinceEpoch",
 | 
				
			||||||
              "optional": true,
 | 
					              "optional": true,
 | 
				
			||||||
              "description": "Time at which the event occurred. Measured in UTC time in seconds since January 1, 1970 (default: current time)."
 | 
					              "description": "Time at which the event occurred."
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          ],
 | 
					          ],
 | 
				
			||||||
          "description": "Dispatches a touch event to the page."
 | 
					          "description": "Dispatches a touch event to the page."
 | 
				
			||||||
@ -8865,8 +8919,8 @@
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "name": "timestamp",
 | 
					              "name": "timestamp",
 | 
				
			||||||
              "type": "number",
 | 
					              "$ref": "TimeSinceEpoch",
 | 
				
			||||||
              "description": "Time at which the event occurred. Measured in UTC time in seconds since January 1, 1970."
 | 
					              "description": "Time at which the event occurred."
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "name": "button",
 | 
					              "name": "button",
 | 
				
			||||||
 | 
				
			|||||||
@ -6,15 +6,26 @@
 | 
				
			|||||||
// defines its JSON unmarshaling.
 | 
					// defines its JSON unmarshaling.
 | 
				
			||||||
{% func ExtraTimestampTemplate(t *internal.Type, d *internal.Domain) %}{%code
 | 
					{% func ExtraTimestampTemplate(t *internal.Type, d *internal.Domain) %}{%code
 | 
				
			||||||
	typ := t.IDorName()
 | 
						typ := t.IDorName()
 | 
				
			||||||
	bootstamp := t.TimestampType == internal.TimestampTypeBootstamp
 | 
						monotonic := t.TimestampType == internal.TimestampTypeMonotonic
 | 
				
			||||||
	timeRes := "time.Millisecond"
 | 
						timeRes := "time.Millisecond"
 | 
				
			||||||
	if t.TimestampType != internal.TimestampTypeMillisecond {
 | 
						if t.TimestampType != internal.TimestampTypeMillisecond {
 | 
				
			||||||
		timeRes = "time.Second"
 | 
							timeRes = "time.Second"
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
%}
 | 
					%}
 | 
				
			||||||
 | 
					{% if monotonic %}
 | 
				
			||||||
 | 
					// {%s= typ %}Epoch is the {%s= typ %} time epoch.
 | 
				
			||||||
 | 
					var {%s= typ %}Epoch *time.Time
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func init() {
 | 
				
			||||||
 | 
						// initialize epoch
 | 
				
			||||||
 | 
						bt := sysutil.BootTime()
 | 
				
			||||||
 | 
						{%s= typ %}Epoch = &bt
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					{% endif %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// MarshalEasyJSON satisfies easyjson.Marshaler.
 | 
					// MarshalEasyJSON satisfies easyjson.Marshaler.
 | 
				
			||||||
func (t {%s= typ %}) MarshalEasyJSON(out *jwriter.Writer) {
 | 
					func (t {%s= typ %}) MarshalEasyJSON(out *jwriter.Writer) {
 | 
				
			||||||
	v := {% if bootstamp %}float64(time.Time(t).Sub(sysutil.BootTime()))/float64(time.Second){% else %}float64(time.Time(t).UnixNano()/int64({%s= timeRes %})){% endif %}
 | 
						v := {% if monotonic %}float64(time.Time(t).Sub(*{%s= typ %}Epoch))/float64(time.Second){% else %}float64(time.Time(t).UnixNano()/int64({%s= timeRes %})){% endif %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	out.Buffer.EnsureSpace(20)
 | 
						out.Buffer.EnsureSpace(20)
 | 
				
			||||||
	out.Buffer.Buf = strconv.AppendFloat(out.Buffer.Buf, v, 'f', -1, 64)
 | 
						out.Buffer.Buf = strconv.AppendFloat(out.Buffer.Buf, v, 'f', -1, 64)
 | 
				
			||||||
@ -26,8 +37,8 @@ func (t {%s= typ %}) MarshalJSON() ([]byte, error) {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
 | 
					// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
 | 
				
			||||||
func (t *{%s= typ %}) UnmarshalEasyJSON(in *jlexer.Lexer) {{% if bootstamp %}
 | 
					func (t *{%s= typ %}) UnmarshalEasyJSON(in *jlexer.Lexer) {{% if monotonic %}
 | 
				
			||||||
	*t = {%s= typ %}(sysutil.BootTime().Add(time.Duration(in.Float64()*float64(time.Second)))){% else %}
 | 
						*t = {%s= typ %}({%s= typ %}Epoch.Add(time.Duration(in.Float64()*float64(time.Second)))){% else %}
 | 
				
			||||||
	*t = {%s= typ %}(time.Unix(0, int64(in.Float64()*float64({%s= timeRes %})))){% endif %}
 | 
						*t = {%s= typ %}(time.Unix(0, int64(in.Float64()*float64({%s= timeRes %})))){% endif %}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -29,7 +29,7 @@ var (
 | 
				
			|||||||
func StreamExtraTimestampTemplate(qw422016 *qt422016.Writer, t *internal.Type, d *internal.Domain) {
 | 
					func StreamExtraTimestampTemplate(qw422016 *qt422016.Writer, t *internal.Type, d *internal.Domain) {
 | 
				
			||||||
	//line templates/extra.qtpl:8
 | 
						//line templates/extra.qtpl:8
 | 
				
			||||||
	typ := t.IDorName()
 | 
						typ := t.IDorName()
 | 
				
			||||||
	bootstamp := t.TimestampType == internal.TimestampTypeBootstamp
 | 
						monotonic := t.TimestampType == internal.TimestampTypeMonotonic
 | 
				
			||||||
	timeRes := "time.Millisecond"
 | 
						timeRes := "time.Millisecond"
 | 
				
			||||||
	if t.TimestampType != internal.TimestampTypeMillisecond {
 | 
						if t.TimestampType != internal.TimestampTypeMillisecond {
 | 
				
			||||||
		timeRes = "time.Second"
 | 
							timeRes = "time.Second"
 | 
				
			||||||
@ -37,28 +37,67 @@ func StreamExtraTimestampTemplate(qw422016 *qt422016.Writer, t *internal.Type, d
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	//line templates/extra.qtpl:14
 | 
						//line templates/extra.qtpl:14
 | 
				
			||||||
	qw422016.N().S(`
 | 
						qw422016.N().S(`
 | 
				
			||||||
// MarshalEasyJSON satisfies easyjson.Marshaler.
 | 
					`)
 | 
				
			||||||
func (t `)
 | 
						//line templates/extra.qtpl:15
 | 
				
			||||||
 | 
						if monotonic {
 | 
				
			||||||
 | 
							//line templates/extra.qtpl:15
 | 
				
			||||||
 | 
							qw422016.N().S(`
 | 
				
			||||||
 | 
					// `)
 | 
				
			||||||
		//line templates/extra.qtpl:16
 | 
							//line templates/extra.qtpl:16
 | 
				
			||||||
		qw422016.N().S(typ)
 | 
							qw422016.N().S(typ)
 | 
				
			||||||
		//line templates/extra.qtpl:16
 | 
							//line templates/extra.qtpl:16
 | 
				
			||||||
 | 
							qw422016.N().S(`Epoch is the `)
 | 
				
			||||||
 | 
							//line templates/extra.qtpl:16
 | 
				
			||||||
 | 
							qw422016.N().S(typ)
 | 
				
			||||||
 | 
							//line templates/extra.qtpl:16
 | 
				
			||||||
 | 
							qw422016.N().S(` time epoch.
 | 
				
			||||||
 | 
					var `)
 | 
				
			||||||
 | 
							//line templates/extra.qtpl:17
 | 
				
			||||||
 | 
							qw422016.N().S(typ)
 | 
				
			||||||
 | 
							//line templates/extra.qtpl:17
 | 
				
			||||||
 | 
							qw422016.N().S(`Epoch *time.Time
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func init() {
 | 
				
			||||||
 | 
						// initialize epoch
 | 
				
			||||||
 | 
						bt := sysutil.BootTime()
 | 
				
			||||||
 | 
						`)
 | 
				
			||||||
 | 
							//line templates/extra.qtpl:22
 | 
				
			||||||
 | 
							qw422016.N().S(typ)
 | 
				
			||||||
 | 
							//line templates/extra.qtpl:22
 | 
				
			||||||
 | 
							qw422016.N().S(`Epoch = &bt
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					`)
 | 
				
			||||||
 | 
							//line templates/extra.qtpl:24
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						//line templates/extra.qtpl:24
 | 
				
			||||||
 | 
						qw422016.N().S(`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// MarshalEasyJSON satisfies easyjson.Marshaler.
 | 
				
			||||||
 | 
					func (t `)
 | 
				
			||||||
 | 
						//line templates/extra.qtpl:27
 | 
				
			||||||
 | 
						qw422016.N().S(typ)
 | 
				
			||||||
 | 
						//line templates/extra.qtpl:27
 | 
				
			||||||
	qw422016.N().S(`) MarshalEasyJSON(out *jwriter.Writer) {
 | 
						qw422016.N().S(`) MarshalEasyJSON(out *jwriter.Writer) {
 | 
				
			||||||
	v := `)
 | 
						v := `)
 | 
				
			||||||
	//line templates/extra.qtpl:17
 | 
						//line templates/extra.qtpl:28
 | 
				
			||||||
	if bootstamp {
 | 
						if monotonic {
 | 
				
			||||||
		//line templates/extra.qtpl:17
 | 
							//line templates/extra.qtpl:28
 | 
				
			||||||
		qw422016.N().S(`float64(time.Time(t).Sub(sysutil.BootTime()))/float64(time.Second)`)
 | 
							qw422016.N().S(`float64(time.Time(t).Sub(*`)
 | 
				
			||||||
		//line templates/extra.qtpl:17
 | 
							//line templates/extra.qtpl:28
 | 
				
			||||||
 | 
							qw422016.N().S(typ)
 | 
				
			||||||
 | 
							//line templates/extra.qtpl:28
 | 
				
			||||||
 | 
							qw422016.N().S(`Epoch))/float64(time.Second)`)
 | 
				
			||||||
 | 
							//line templates/extra.qtpl:28
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
		//line templates/extra.qtpl:17
 | 
							//line templates/extra.qtpl:28
 | 
				
			||||||
		qw422016.N().S(`float64(time.Time(t).UnixNano()/int64(`)
 | 
							qw422016.N().S(`float64(time.Time(t).UnixNano()/int64(`)
 | 
				
			||||||
		//line templates/extra.qtpl:17
 | 
							//line templates/extra.qtpl:28
 | 
				
			||||||
		qw422016.N().S(timeRes)
 | 
							qw422016.N().S(timeRes)
 | 
				
			||||||
		//line templates/extra.qtpl:17
 | 
							//line templates/extra.qtpl:28
 | 
				
			||||||
		qw422016.N().S(`))`)
 | 
							qw422016.N().S(`))`)
 | 
				
			||||||
		//line templates/extra.qtpl:17
 | 
							//line templates/extra.qtpl:28
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	//line templates/extra.qtpl:17
 | 
						//line templates/extra.qtpl:28
 | 
				
			||||||
	qw422016.N().S(`
 | 
						qw422016.N().S(`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	out.Buffer.EnsureSpace(20)
 | 
						out.Buffer.EnsureSpace(20)
 | 
				
			||||||
@ -67,90 +106,94 @@ func (t `)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// MarshalJSON satisfies json.Marshaler.
 | 
					// MarshalJSON satisfies json.Marshaler.
 | 
				
			||||||
func (t `)
 | 
					func (t `)
 | 
				
			||||||
	//line templates/extra.qtpl:24
 | 
						//line templates/extra.qtpl:35
 | 
				
			||||||
	qw422016.N().S(typ)
 | 
						qw422016.N().S(typ)
 | 
				
			||||||
	//line templates/extra.qtpl:24
 | 
						//line templates/extra.qtpl:35
 | 
				
			||||||
	qw422016.N().S(`) MarshalJSON() ([]byte, error) {
 | 
						qw422016.N().S(`) MarshalJSON() ([]byte, error) {
 | 
				
			||||||
	return easyjson.Marshal(t)
 | 
						return easyjson.Marshal(t)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
 | 
					// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
 | 
				
			||||||
func (t *`)
 | 
					func (t *`)
 | 
				
			||||||
	//line templates/extra.qtpl:29
 | 
						//line templates/extra.qtpl:40
 | 
				
			||||||
	qw422016.N().S(typ)
 | 
						qw422016.N().S(typ)
 | 
				
			||||||
	//line templates/extra.qtpl:29
 | 
						//line templates/extra.qtpl:40
 | 
				
			||||||
	qw422016.N().S(`) UnmarshalEasyJSON(in *jlexer.Lexer) {`)
 | 
						qw422016.N().S(`) UnmarshalEasyJSON(in *jlexer.Lexer) {`)
 | 
				
			||||||
	//line templates/extra.qtpl:29
 | 
						//line templates/extra.qtpl:40
 | 
				
			||||||
	if bootstamp {
 | 
						if monotonic {
 | 
				
			||||||
		//line templates/extra.qtpl:29
 | 
							//line templates/extra.qtpl:40
 | 
				
			||||||
		qw422016.N().S(`
 | 
							qw422016.N().S(`
 | 
				
			||||||
	*t = `)
 | 
						*t = `)
 | 
				
			||||||
		//line templates/extra.qtpl:30
 | 
							//line templates/extra.qtpl:41
 | 
				
			||||||
		qw422016.N().S(typ)
 | 
							qw422016.N().S(typ)
 | 
				
			||||||
		//line templates/extra.qtpl:30
 | 
							//line templates/extra.qtpl:41
 | 
				
			||||||
		qw422016.N().S(`(sysutil.BootTime().Add(time.Duration(in.Float64()*float64(time.Second))))`)
 | 
							qw422016.N().S(`(`)
 | 
				
			||||||
		//line templates/extra.qtpl:30
 | 
							//line templates/extra.qtpl:41
 | 
				
			||||||
 | 
							qw422016.N().S(typ)
 | 
				
			||||||
 | 
							//line templates/extra.qtpl:41
 | 
				
			||||||
 | 
							qw422016.N().S(`Epoch.Add(time.Duration(in.Float64()*float64(time.Second))))`)
 | 
				
			||||||
 | 
							//line templates/extra.qtpl:41
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
		//line templates/extra.qtpl:30
 | 
							//line templates/extra.qtpl:41
 | 
				
			||||||
		qw422016.N().S(`
 | 
							qw422016.N().S(`
 | 
				
			||||||
	*t = `)
 | 
						*t = `)
 | 
				
			||||||
		//line templates/extra.qtpl:31
 | 
							//line templates/extra.qtpl:42
 | 
				
			||||||
		qw422016.N().S(typ)
 | 
							qw422016.N().S(typ)
 | 
				
			||||||
		//line templates/extra.qtpl:31
 | 
							//line templates/extra.qtpl:42
 | 
				
			||||||
		qw422016.N().S(`(time.Unix(0, int64(in.Float64()*float64(`)
 | 
							qw422016.N().S(`(time.Unix(0, int64(in.Float64()*float64(`)
 | 
				
			||||||
		//line templates/extra.qtpl:31
 | 
							//line templates/extra.qtpl:42
 | 
				
			||||||
		qw422016.N().S(timeRes)
 | 
							qw422016.N().S(timeRes)
 | 
				
			||||||
		//line templates/extra.qtpl:31
 | 
							//line templates/extra.qtpl:42
 | 
				
			||||||
		qw422016.N().S(`))))`)
 | 
							qw422016.N().S(`))))`)
 | 
				
			||||||
		//line templates/extra.qtpl:31
 | 
							//line templates/extra.qtpl:42
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	//line templates/extra.qtpl:31
 | 
						//line templates/extra.qtpl:42
 | 
				
			||||||
	qw422016.N().S(`
 | 
						qw422016.N().S(`
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// UnmarshalJSON satisfies json.Unmarshaler.
 | 
					// UnmarshalJSON satisfies json.Unmarshaler.
 | 
				
			||||||
func (t *`)
 | 
					func (t *`)
 | 
				
			||||||
	//line templates/extra.qtpl:35
 | 
						//line templates/extra.qtpl:46
 | 
				
			||||||
	qw422016.N().S(typ)
 | 
						qw422016.N().S(typ)
 | 
				
			||||||
	//line templates/extra.qtpl:35
 | 
						//line templates/extra.qtpl:46
 | 
				
			||||||
	qw422016.N().S(`) UnmarshalJSON(buf []byte) error {
 | 
						qw422016.N().S(`) UnmarshalJSON(buf []byte) error {
 | 
				
			||||||
	return easyjson.Unmarshal(buf, t)
 | 
						return easyjson.Unmarshal(buf, t)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
`)
 | 
					`)
 | 
				
			||||||
//line templates/extra.qtpl:38
 | 
					//line templates/extra.qtpl:49
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//line templates/extra.qtpl:38
 | 
					//line templates/extra.qtpl:49
 | 
				
			||||||
func WriteExtraTimestampTemplate(qq422016 qtio422016.Writer, t *internal.Type, d *internal.Domain) {
 | 
					func WriteExtraTimestampTemplate(qq422016 qtio422016.Writer, t *internal.Type, d *internal.Domain) {
 | 
				
			||||||
	//line templates/extra.qtpl:38
 | 
						//line templates/extra.qtpl:49
 | 
				
			||||||
	qw422016 := qt422016.AcquireWriter(qq422016)
 | 
						qw422016 := qt422016.AcquireWriter(qq422016)
 | 
				
			||||||
	//line templates/extra.qtpl:38
 | 
						//line templates/extra.qtpl:49
 | 
				
			||||||
	StreamExtraTimestampTemplate(qw422016, t, d)
 | 
						StreamExtraTimestampTemplate(qw422016, t, d)
 | 
				
			||||||
	//line templates/extra.qtpl:38
 | 
						//line templates/extra.qtpl:49
 | 
				
			||||||
	qt422016.ReleaseWriter(qw422016)
 | 
						qt422016.ReleaseWriter(qw422016)
 | 
				
			||||||
//line templates/extra.qtpl:38
 | 
					//line templates/extra.qtpl:49
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//line templates/extra.qtpl:38
 | 
					//line templates/extra.qtpl:49
 | 
				
			||||||
func ExtraTimestampTemplate(t *internal.Type, d *internal.Domain) string {
 | 
					func ExtraTimestampTemplate(t *internal.Type, d *internal.Domain) string {
 | 
				
			||||||
	//line templates/extra.qtpl:38
 | 
						//line templates/extra.qtpl:49
 | 
				
			||||||
	qb422016 := qt422016.AcquireByteBuffer()
 | 
						qb422016 := qt422016.AcquireByteBuffer()
 | 
				
			||||||
	//line templates/extra.qtpl:38
 | 
						//line templates/extra.qtpl:49
 | 
				
			||||||
	WriteExtraTimestampTemplate(qb422016, t, d)
 | 
						WriteExtraTimestampTemplate(qb422016, t, d)
 | 
				
			||||||
	//line templates/extra.qtpl:38
 | 
						//line templates/extra.qtpl:49
 | 
				
			||||||
	qs422016 := string(qb422016.B)
 | 
						qs422016 := string(qb422016.B)
 | 
				
			||||||
	//line templates/extra.qtpl:38
 | 
						//line templates/extra.qtpl:49
 | 
				
			||||||
	qt422016.ReleaseByteBuffer(qb422016)
 | 
						qt422016.ReleaseByteBuffer(qb422016)
 | 
				
			||||||
	//line templates/extra.qtpl:38
 | 
						//line templates/extra.qtpl:49
 | 
				
			||||||
	return qs422016
 | 
						return qs422016
 | 
				
			||||||
//line templates/extra.qtpl:38
 | 
					//line templates/extra.qtpl:49
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ExtraFrameTemplate is a special template for the Page.Frame type, adding FrameState.
 | 
					// ExtraFrameTemplate is a special template for the Page.Frame type, adding FrameState.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//line templates/extra.qtpl:41
 | 
					//line templates/extra.qtpl:52
 | 
				
			||||||
func StreamExtraFrameTemplate(qw422016 *qt422016.Writer) {
 | 
					func StreamExtraFrameTemplate(qw422016 *qt422016.Writer) {
 | 
				
			||||||
	//line templates/extra.qtpl:41
 | 
						//line templates/extra.qtpl:52
 | 
				
			||||||
	qw422016.N().S(`
 | 
						qw422016.N().S(`
 | 
				
			||||||
// FrameState is the state of a Frame.
 | 
					// FrameState is the state of a Frame.
 | 
				
			||||||
type FrameState uint16
 | 
					type FrameState uint16
 | 
				
			||||||
@ -189,40 +232,40 @@ func (fs FrameState) String() string {
 | 
				
			|||||||
// EmptyFrameID is the "non-existent" frame id.
 | 
					// EmptyFrameID is the "non-existent" frame id.
 | 
				
			||||||
const EmptyFrameID = FrameID("")
 | 
					const EmptyFrameID = FrameID("")
 | 
				
			||||||
`)
 | 
					`)
 | 
				
			||||||
//line templates/extra.qtpl:78
 | 
					//line templates/extra.qtpl:89
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//line templates/extra.qtpl:78
 | 
					//line templates/extra.qtpl:89
 | 
				
			||||||
func WriteExtraFrameTemplate(qq422016 qtio422016.Writer) {
 | 
					func WriteExtraFrameTemplate(qq422016 qtio422016.Writer) {
 | 
				
			||||||
	//line templates/extra.qtpl:78
 | 
						//line templates/extra.qtpl:89
 | 
				
			||||||
	qw422016 := qt422016.AcquireWriter(qq422016)
 | 
						qw422016 := qt422016.AcquireWriter(qq422016)
 | 
				
			||||||
	//line templates/extra.qtpl:78
 | 
						//line templates/extra.qtpl:89
 | 
				
			||||||
	StreamExtraFrameTemplate(qw422016)
 | 
						StreamExtraFrameTemplate(qw422016)
 | 
				
			||||||
	//line templates/extra.qtpl:78
 | 
						//line templates/extra.qtpl:89
 | 
				
			||||||
	qt422016.ReleaseWriter(qw422016)
 | 
						qt422016.ReleaseWriter(qw422016)
 | 
				
			||||||
//line templates/extra.qtpl:78
 | 
					//line templates/extra.qtpl:89
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//line templates/extra.qtpl:78
 | 
					//line templates/extra.qtpl:89
 | 
				
			||||||
func ExtraFrameTemplate() string {
 | 
					func ExtraFrameTemplate() string {
 | 
				
			||||||
	//line templates/extra.qtpl:78
 | 
						//line templates/extra.qtpl:89
 | 
				
			||||||
	qb422016 := qt422016.AcquireByteBuffer()
 | 
						qb422016 := qt422016.AcquireByteBuffer()
 | 
				
			||||||
	//line templates/extra.qtpl:78
 | 
						//line templates/extra.qtpl:89
 | 
				
			||||||
	WriteExtraFrameTemplate(qb422016)
 | 
						WriteExtraFrameTemplate(qb422016)
 | 
				
			||||||
	//line templates/extra.qtpl:78
 | 
						//line templates/extra.qtpl:89
 | 
				
			||||||
	qs422016 := string(qb422016.B)
 | 
						qs422016 := string(qb422016.B)
 | 
				
			||||||
	//line templates/extra.qtpl:78
 | 
						//line templates/extra.qtpl:89
 | 
				
			||||||
	qt422016.ReleaseByteBuffer(qb422016)
 | 
						qt422016.ReleaseByteBuffer(qb422016)
 | 
				
			||||||
	//line templates/extra.qtpl:78
 | 
						//line templates/extra.qtpl:89
 | 
				
			||||||
	return qs422016
 | 
						return qs422016
 | 
				
			||||||
//line templates/extra.qtpl:78
 | 
					//line templates/extra.qtpl:89
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ExtraNodeTemplate is a special template for the DOM.Node type, adding NodeState.
 | 
					// ExtraNodeTemplate is a special template for the DOM.Node type, adding NodeState.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//line templates/extra.qtpl:81
 | 
					//line templates/extra.qtpl:92
 | 
				
			||||||
func StreamExtraNodeTemplate(qw422016 *qt422016.Writer) {
 | 
					func StreamExtraNodeTemplate(qw422016 *qt422016.Writer) {
 | 
				
			||||||
	//line templates/extra.qtpl:81
 | 
						//line templates/extra.qtpl:92
 | 
				
			||||||
	qw422016.N().S(`
 | 
						qw422016.N().S(`
 | 
				
			||||||
// AttributeValue returns the named attribute for the node.
 | 
					// AttributeValue returns the named attribute for the node.
 | 
				
			||||||
func (n *Node) AttributeValue(name string) string {
 | 
					func (n *Node) AttributeValue(name string) string {
 | 
				
			||||||
@ -256,21 +299,21 @@ func (n *Node) xpath(stopAtDocument, stopAtID bool) string {
 | 
				
			|||||||
	case stopAtID && id != "":
 | 
						case stopAtID && id != "":
 | 
				
			||||||
		p = "/"
 | 
							p = "/"
 | 
				
			||||||
		pos = `)
 | 
							pos = `)
 | 
				
			||||||
	//line templates/extra.qtpl:81
 | 
						//line templates/extra.qtpl:92
 | 
				
			||||||
	qw422016.N().S("`")
 | 
						qw422016.N().S("`")
 | 
				
			||||||
	//line templates/extra.qtpl:81
 | 
						//line templates/extra.qtpl:92
 | 
				
			||||||
	qw422016.N().S(`[@id='`)
 | 
						qw422016.N().S(`[@id='`)
 | 
				
			||||||
	//line templates/extra.qtpl:81
 | 
						//line templates/extra.qtpl:92
 | 
				
			||||||
	qw422016.N().S("`")
 | 
						qw422016.N().S("`")
 | 
				
			||||||
	//line templates/extra.qtpl:81
 | 
						//line templates/extra.qtpl:92
 | 
				
			||||||
	qw422016.N().S(`+id+`)
 | 
						qw422016.N().S(`+id+`)
 | 
				
			||||||
	//line templates/extra.qtpl:81
 | 
						//line templates/extra.qtpl:92
 | 
				
			||||||
	qw422016.N().S("`")
 | 
						qw422016.N().S("`")
 | 
				
			||||||
	//line templates/extra.qtpl:81
 | 
						//line templates/extra.qtpl:92
 | 
				
			||||||
	qw422016.N().S(`']`)
 | 
						qw422016.N().S(`']`)
 | 
				
			||||||
	//line templates/extra.qtpl:81
 | 
						//line templates/extra.qtpl:92
 | 
				
			||||||
	qw422016.N().S("`")
 | 
						qw422016.N().S("`")
 | 
				
			||||||
	//line templates/extra.qtpl:81
 | 
						//line templates/extra.qtpl:92
 | 
				
			||||||
	qw422016.N().S(`
 | 
						qw422016.N().S(`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	case n.Parent != nil:
 | 
						case n.Parent != nil:
 | 
				
			||||||
@ -354,136 +397,136 @@ func (ns NodeState) String() string {
 | 
				
			|||||||
// EmptyNodeID is the "non-existent" node id.
 | 
					// EmptyNodeID is the "non-existent" node id.
 | 
				
			||||||
const EmptyNodeID = NodeID(0)
 | 
					const EmptyNodeID = NodeID(0)
 | 
				
			||||||
`)
 | 
					`)
 | 
				
			||||||
//line templates/extra.qtpl:195
 | 
					//line templates/extra.qtpl:206
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//line templates/extra.qtpl:195
 | 
					//line templates/extra.qtpl:206
 | 
				
			||||||
func WriteExtraNodeTemplate(qq422016 qtio422016.Writer) {
 | 
					func WriteExtraNodeTemplate(qq422016 qtio422016.Writer) {
 | 
				
			||||||
	//line templates/extra.qtpl:195
 | 
						//line templates/extra.qtpl:206
 | 
				
			||||||
	qw422016 := qt422016.AcquireWriter(qq422016)
 | 
						qw422016 := qt422016.AcquireWriter(qq422016)
 | 
				
			||||||
	//line templates/extra.qtpl:195
 | 
						//line templates/extra.qtpl:206
 | 
				
			||||||
	StreamExtraNodeTemplate(qw422016)
 | 
						StreamExtraNodeTemplate(qw422016)
 | 
				
			||||||
	//line templates/extra.qtpl:195
 | 
						//line templates/extra.qtpl:206
 | 
				
			||||||
	qt422016.ReleaseWriter(qw422016)
 | 
						qt422016.ReleaseWriter(qw422016)
 | 
				
			||||||
//line templates/extra.qtpl:195
 | 
					//line templates/extra.qtpl:206
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//line templates/extra.qtpl:195
 | 
					//line templates/extra.qtpl:206
 | 
				
			||||||
func ExtraNodeTemplate() string {
 | 
					func ExtraNodeTemplate() string {
 | 
				
			||||||
	//line templates/extra.qtpl:195
 | 
						//line templates/extra.qtpl:206
 | 
				
			||||||
	qb422016 := qt422016.AcquireByteBuffer()
 | 
						qb422016 := qt422016.AcquireByteBuffer()
 | 
				
			||||||
	//line templates/extra.qtpl:195
 | 
						//line templates/extra.qtpl:206
 | 
				
			||||||
	WriteExtraNodeTemplate(qb422016)
 | 
						WriteExtraNodeTemplate(qb422016)
 | 
				
			||||||
	//line templates/extra.qtpl:195
 | 
						//line templates/extra.qtpl:206
 | 
				
			||||||
	qs422016 := string(qb422016.B)
 | 
						qs422016 := string(qb422016.B)
 | 
				
			||||||
	//line templates/extra.qtpl:195
 | 
						//line templates/extra.qtpl:206
 | 
				
			||||||
	qt422016.ReleaseByteBuffer(qb422016)
 | 
						qt422016.ReleaseByteBuffer(qb422016)
 | 
				
			||||||
	//line templates/extra.qtpl:195
 | 
						//line templates/extra.qtpl:206
 | 
				
			||||||
	return qs422016
 | 
						return qs422016
 | 
				
			||||||
//line templates/extra.qtpl:195
 | 
					//line templates/extra.qtpl:206
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ExtraFixStringUnmarshaler is a template that forces values to be parsed properly.
 | 
					// ExtraFixStringUnmarshaler is a template that forces values to be parsed properly.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//line templates/extra.qtpl:198
 | 
					//line templates/extra.qtpl:209
 | 
				
			||||||
func StreamExtraFixStringUnmarshaler(qw422016 *qt422016.Writer, typ, parseFunc, extra string) {
 | 
					func StreamExtraFixStringUnmarshaler(qw422016 *qt422016.Writer, typ, parseFunc, extra string) {
 | 
				
			||||||
	//line templates/extra.qtpl:198
 | 
						//line templates/extra.qtpl:209
 | 
				
			||||||
	qw422016.N().S(`
 | 
						qw422016.N().S(`
 | 
				
			||||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
 | 
					// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
 | 
				
			||||||
func (t *`)
 | 
					func (t *`)
 | 
				
			||||||
	//line templates/extra.qtpl:200
 | 
						//line templates/extra.qtpl:211
 | 
				
			||||||
	qw422016.N().S(typ)
 | 
						qw422016.N().S(typ)
 | 
				
			||||||
	//line templates/extra.qtpl:200
 | 
						//line templates/extra.qtpl:211
 | 
				
			||||||
	qw422016.N().S(`) UnmarshalEasyJSON(in *jlexer.Lexer) {
 | 
						qw422016.N().S(`) UnmarshalEasyJSON(in *jlexer.Lexer) {
 | 
				
			||||||
	buf := in.Raw()
 | 
						buf := in.Raw()
 | 
				
			||||||
	if l := len(buf); l > 2 && buf[0] == '"' && buf[l-1] == '"' {
 | 
						if l := len(buf); l > 2 && buf[0] == '"' && buf[l-1] == '"' {
 | 
				
			||||||
		buf = buf[1:l-1]
 | 
							buf = buf[1:l-1]
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
`)
 | 
					`)
 | 
				
			||||||
	//line templates/extra.qtpl:205
 | 
						//line templates/extra.qtpl:216
 | 
				
			||||||
	if parseFunc != "" {
 | 
						if parseFunc != "" {
 | 
				
			||||||
		//line templates/extra.qtpl:205
 | 
							//line templates/extra.qtpl:216
 | 
				
			||||||
		qw422016.N().S(`
 | 
							qw422016.N().S(`
 | 
				
			||||||
	v, err := strconv.`)
 | 
						v, err := strconv.`)
 | 
				
			||||||
		//line templates/extra.qtpl:206
 | 
							//line templates/extra.qtpl:217
 | 
				
			||||||
		qw422016.N().S(parseFunc)
 | 
							qw422016.N().S(parseFunc)
 | 
				
			||||||
		//line templates/extra.qtpl:206
 | 
							//line templates/extra.qtpl:217
 | 
				
			||||||
		qw422016.N().S(`(string(buf)`)
 | 
							qw422016.N().S(`(string(buf)`)
 | 
				
			||||||
		//line templates/extra.qtpl:206
 | 
							//line templates/extra.qtpl:217
 | 
				
			||||||
		qw422016.N().S(extra)
 | 
							qw422016.N().S(extra)
 | 
				
			||||||
		//line templates/extra.qtpl:206
 | 
							//line templates/extra.qtpl:217
 | 
				
			||||||
		qw422016.N().S(`)
 | 
							qw422016.N().S(`)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		in.AddError(err)
 | 
							in.AddError(err)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
`)
 | 
					`)
 | 
				
			||||||
		//line templates/extra.qtpl:210
 | 
							//line templates/extra.qtpl:221
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	//line templates/extra.qtpl:210
 | 
						//line templates/extra.qtpl:221
 | 
				
			||||||
	qw422016.N().S(`
 | 
						qw422016.N().S(`
 | 
				
			||||||
	*t = `)
 | 
						*t = `)
 | 
				
			||||||
	//line templates/extra.qtpl:211
 | 
						//line templates/extra.qtpl:222
 | 
				
			||||||
	qw422016.N().S(typ)
 | 
						qw422016.N().S(typ)
 | 
				
			||||||
	//line templates/extra.qtpl:211
 | 
						//line templates/extra.qtpl:222
 | 
				
			||||||
	qw422016.N().S(`(`)
 | 
						qw422016.N().S(`(`)
 | 
				
			||||||
	//line templates/extra.qtpl:211
 | 
						//line templates/extra.qtpl:222
 | 
				
			||||||
	if parseFunc != "" {
 | 
						if parseFunc != "" {
 | 
				
			||||||
		//line templates/extra.qtpl:211
 | 
							//line templates/extra.qtpl:222
 | 
				
			||||||
		qw422016.N().S(`v`)
 | 
							qw422016.N().S(`v`)
 | 
				
			||||||
		//line templates/extra.qtpl:211
 | 
							//line templates/extra.qtpl:222
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
		//line templates/extra.qtpl:211
 | 
							//line templates/extra.qtpl:222
 | 
				
			||||||
		qw422016.N().S(`buf`)
 | 
							qw422016.N().S(`buf`)
 | 
				
			||||||
		//line templates/extra.qtpl:211
 | 
							//line templates/extra.qtpl:222
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	//line templates/extra.qtpl:211
 | 
						//line templates/extra.qtpl:222
 | 
				
			||||||
	qw422016.N().S(`)
 | 
						qw422016.N().S(`)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// UnmarshalJSON satisfies json.Unmarshaler.
 | 
					// UnmarshalJSON satisfies json.Unmarshaler.
 | 
				
			||||||
func (t *`)
 | 
					func (t *`)
 | 
				
			||||||
	//line templates/extra.qtpl:215
 | 
						//line templates/extra.qtpl:226
 | 
				
			||||||
	qw422016.N().S(typ)
 | 
						qw422016.N().S(typ)
 | 
				
			||||||
	//line templates/extra.qtpl:215
 | 
						//line templates/extra.qtpl:226
 | 
				
			||||||
	qw422016.N().S(`) UnmarshalJSON(buf []byte) error {
 | 
						qw422016.N().S(`) UnmarshalJSON(buf []byte) error {
 | 
				
			||||||
	return easyjson.Unmarshal(buf, t)
 | 
						return easyjson.Unmarshal(buf, t)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
`)
 | 
					`)
 | 
				
			||||||
//line templates/extra.qtpl:218
 | 
					//line templates/extra.qtpl:229
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//line templates/extra.qtpl:218
 | 
					//line templates/extra.qtpl:229
 | 
				
			||||||
func WriteExtraFixStringUnmarshaler(qq422016 qtio422016.Writer, typ, parseFunc, extra string) {
 | 
					func WriteExtraFixStringUnmarshaler(qq422016 qtio422016.Writer, typ, parseFunc, extra string) {
 | 
				
			||||||
	//line templates/extra.qtpl:218
 | 
						//line templates/extra.qtpl:229
 | 
				
			||||||
	qw422016 := qt422016.AcquireWriter(qq422016)
 | 
						qw422016 := qt422016.AcquireWriter(qq422016)
 | 
				
			||||||
	//line templates/extra.qtpl:218
 | 
						//line templates/extra.qtpl:229
 | 
				
			||||||
	StreamExtraFixStringUnmarshaler(qw422016, typ, parseFunc, extra)
 | 
						StreamExtraFixStringUnmarshaler(qw422016, typ, parseFunc, extra)
 | 
				
			||||||
	//line templates/extra.qtpl:218
 | 
						//line templates/extra.qtpl:229
 | 
				
			||||||
	qt422016.ReleaseWriter(qw422016)
 | 
						qt422016.ReleaseWriter(qw422016)
 | 
				
			||||||
//line templates/extra.qtpl:218
 | 
					//line templates/extra.qtpl:229
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//line templates/extra.qtpl:218
 | 
					//line templates/extra.qtpl:229
 | 
				
			||||||
func ExtraFixStringUnmarshaler(typ, parseFunc, extra string) string {
 | 
					func ExtraFixStringUnmarshaler(typ, parseFunc, extra string) string {
 | 
				
			||||||
	//line templates/extra.qtpl:218
 | 
						//line templates/extra.qtpl:229
 | 
				
			||||||
	qb422016 := qt422016.AcquireByteBuffer()
 | 
						qb422016 := qt422016.AcquireByteBuffer()
 | 
				
			||||||
	//line templates/extra.qtpl:218
 | 
						//line templates/extra.qtpl:229
 | 
				
			||||||
	WriteExtraFixStringUnmarshaler(qb422016, typ, parseFunc, extra)
 | 
						WriteExtraFixStringUnmarshaler(qb422016, typ, parseFunc, extra)
 | 
				
			||||||
	//line templates/extra.qtpl:218
 | 
						//line templates/extra.qtpl:229
 | 
				
			||||||
	qs422016 := string(qb422016.B)
 | 
						qs422016 := string(qb422016.B)
 | 
				
			||||||
	//line templates/extra.qtpl:218
 | 
						//line templates/extra.qtpl:229
 | 
				
			||||||
	qt422016.ReleaseByteBuffer(qb422016)
 | 
						qt422016.ReleaseByteBuffer(qb422016)
 | 
				
			||||||
	//line templates/extra.qtpl:218
 | 
						//line templates/extra.qtpl:229
 | 
				
			||||||
	return qs422016
 | 
						return qs422016
 | 
				
			||||||
//line templates/extra.qtpl:218
 | 
					//line templates/extra.qtpl:229
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ExtraExceptionDetailsTemplate is a special template for the Runtime.ExceptionDetails type that
 | 
					// ExtraExceptionDetailsTemplate is a special template for the Runtime.ExceptionDetails type that
 | 
				
			||||||
// defines the standard error interface.
 | 
					// defines the standard error interface.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//line templates/extra.qtpl:222
 | 
					//line templates/extra.qtpl:233
 | 
				
			||||||
func StreamExtraExceptionDetailsTemplate(qw422016 *qt422016.Writer) {
 | 
					func StreamExtraExceptionDetailsTemplate(qw422016 *qt422016.Writer) {
 | 
				
			||||||
	//line templates/extra.qtpl:222
 | 
						//line templates/extra.qtpl:233
 | 
				
			||||||
	qw422016.N().S(`
 | 
						qw422016.N().S(`
 | 
				
			||||||
// Error satisfies the error interface.
 | 
					// Error satisfies the error interface.
 | 
				
			||||||
func (e *ExceptionDetails) Error() string {
 | 
					func (e *ExceptionDetails) Error() string {
 | 
				
			||||||
@ -492,41 +535,41 @@ func (e *ExceptionDetails) Error() string {
 | 
				
			|||||||
	return fmt.Sprintf("encountered exception '%s' (%d:%d)", e.Text, e.LineNumber, e.ColumnNumber)
 | 
						return fmt.Sprintf("encountered exception '%s' (%d:%d)", e.Text, e.LineNumber, e.ColumnNumber)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
`)
 | 
					`)
 | 
				
			||||||
//line templates/extra.qtpl:229
 | 
					//line templates/extra.qtpl:240
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//line templates/extra.qtpl:229
 | 
					//line templates/extra.qtpl:240
 | 
				
			||||||
func WriteExtraExceptionDetailsTemplate(qq422016 qtio422016.Writer) {
 | 
					func WriteExtraExceptionDetailsTemplate(qq422016 qtio422016.Writer) {
 | 
				
			||||||
	//line templates/extra.qtpl:229
 | 
						//line templates/extra.qtpl:240
 | 
				
			||||||
	qw422016 := qt422016.AcquireWriter(qq422016)
 | 
						qw422016 := qt422016.AcquireWriter(qq422016)
 | 
				
			||||||
	//line templates/extra.qtpl:229
 | 
						//line templates/extra.qtpl:240
 | 
				
			||||||
	StreamExtraExceptionDetailsTemplate(qw422016)
 | 
						StreamExtraExceptionDetailsTemplate(qw422016)
 | 
				
			||||||
	//line templates/extra.qtpl:229
 | 
						//line templates/extra.qtpl:240
 | 
				
			||||||
	qt422016.ReleaseWriter(qw422016)
 | 
						qt422016.ReleaseWriter(qw422016)
 | 
				
			||||||
//line templates/extra.qtpl:229
 | 
					//line templates/extra.qtpl:240
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//line templates/extra.qtpl:229
 | 
					//line templates/extra.qtpl:240
 | 
				
			||||||
func ExtraExceptionDetailsTemplate() string {
 | 
					func ExtraExceptionDetailsTemplate() string {
 | 
				
			||||||
	//line templates/extra.qtpl:229
 | 
						//line templates/extra.qtpl:240
 | 
				
			||||||
	qb422016 := qt422016.AcquireByteBuffer()
 | 
						qb422016 := qt422016.AcquireByteBuffer()
 | 
				
			||||||
	//line templates/extra.qtpl:229
 | 
						//line templates/extra.qtpl:240
 | 
				
			||||||
	WriteExtraExceptionDetailsTemplate(qb422016)
 | 
						WriteExtraExceptionDetailsTemplate(qb422016)
 | 
				
			||||||
	//line templates/extra.qtpl:229
 | 
						//line templates/extra.qtpl:240
 | 
				
			||||||
	qs422016 := string(qb422016.B)
 | 
						qs422016 := string(qb422016.B)
 | 
				
			||||||
	//line templates/extra.qtpl:229
 | 
						//line templates/extra.qtpl:240
 | 
				
			||||||
	qt422016.ReleaseByteBuffer(qb422016)
 | 
						qt422016.ReleaseByteBuffer(qb422016)
 | 
				
			||||||
	//line templates/extra.qtpl:229
 | 
						//line templates/extra.qtpl:240
 | 
				
			||||||
	return qs422016
 | 
						return qs422016
 | 
				
			||||||
//line templates/extra.qtpl:229
 | 
					//line templates/extra.qtpl:240
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ExtraCDPTypes is the template for additional internal type
 | 
					// ExtraCDPTypes is the template for additional internal type
 | 
				
			||||||
// declarations.
 | 
					// declarations.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//line templates/extra.qtpl:233
 | 
					//line templates/extra.qtpl:244
 | 
				
			||||||
func StreamExtraCDPTypes(qw422016 *qt422016.Writer) {
 | 
					func StreamExtraCDPTypes(qw422016 *qt422016.Writer) {
 | 
				
			||||||
	//line templates/extra.qtpl:233
 | 
						//line templates/extra.qtpl:244
 | 
				
			||||||
	qw422016.N().S(`
 | 
						qw422016.N().S(`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Error satisfies the error interface.
 | 
					// Error satisfies the error interface.
 | 
				
			||||||
@ -560,40 +603,40 @@ type Handler interface {
 | 
				
			|||||||
	Release(<-chan interface{})
 | 
						Release(<-chan interface{})
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
`)
 | 
					`)
 | 
				
			||||||
//line templates/extra.qtpl:265
 | 
					//line templates/extra.qtpl:276
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//line templates/extra.qtpl:265
 | 
					//line templates/extra.qtpl:276
 | 
				
			||||||
func WriteExtraCDPTypes(qq422016 qtio422016.Writer) {
 | 
					func WriteExtraCDPTypes(qq422016 qtio422016.Writer) {
 | 
				
			||||||
	//line templates/extra.qtpl:265
 | 
						//line templates/extra.qtpl:276
 | 
				
			||||||
	qw422016 := qt422016.AcquireWriter(qq422016)
 | 
						qw422016 := qt422016.AcquireWriter(qq422016)
 | 
				
			||||||
	//line templates/extra.qtpl:265
 | 
						//line templates/extra.qtpl:276
 | 
				
			||||||
	StreamExtraCDPTypes(qw422016)
 | 
						StreamExtraCDPTypes(qw422016)
 | 
				
			||||||
	//line templates/extra.qtpl:265
 | 
						//line templates/extra.qtpl:276
 | 
				
			||||||
	qt422016.ReleaseWriter(qw422016)
 | 
						qt422016.ReleaseWriter(qw422016)
 | 
				
			||||||
//line templates/extra.qtpl:265
 | 
					//line templates/extra.qtpl:276
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//line templates/extra.qtpl:265
 | 
					//line templates/extra.qtpl:276
 | 
				
			||||||
func ExtraCDPTypes() string {
 | 
					func ExtraCDPTypes() string {
 | 
				
			||||||
	//line templates/extra.qtpl:265
 | 
						//line templates/extra.qtpl:276
 | 
				
			||||||
	qb422016 := qt422016.AcquireByteBuffer()
 | 
						qb422016 := qt422016.AcquireByteBuffer()
 | 
				
			||||||
	//line templates/extra.qtpl:265
 | 
						//line templates/extra.qtpl:276
 | 
				
			||||||
	WriteExtraCDPTypes(qb422016)
 | 
						WriteExtraCDPTypes(qb422016)
 | 
				
			||||||
	//line templates/extra.qtpl:265
 | 
						//line templates/extra.qtpl:276
 | 
				
			||||||
	qs422016 := string(qb422016.B)
 | 
						qs422016 := string(qb422016.B)
 | 
				
			||||||
	//line templates/extra.qtpl:265
 | 
						//line templates/extra.qtpl:276
 | 
				
			||||||
	qt422016.ReleaseByteBuffer(qb422016)
 | 
						qt422016.ReleaseByteBuffer(qb422016)
 | 
				
			||||||
	//line templates/extra.qtpl:265
 | 
						//line templates/extra.qtpl:276
 | 
				
			||||||
	return qs422016
 | 
						return qs422016
 | 
				
			||||||
//line templates/extra.qtpl:265
 | 
					//line templates/extra.qtpl:276
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ExtraUtilTemplate generates the decode func for the Message type.
 | 
					// ExtraUtilTemplate generates the decode func for the Message type.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//line templates/extra.qtpl:268
 | 
					//line templates/extra.qtpl:279
 | 
				
			||||||
func StreamExtraUtilTemplate(qw422016 *qt422016.Writer, domains []*internal.Domain) {
 | 
					func StreamExtraUtilTemplate(qw422016 *qt422016.Writer, domains []*internal.Domain) {
 | 
				
			||||||
	//line templates/extra.qtpl:268
 | 
						//line templates/extra.qtpl:279
 | 
				
			||||||
	qw422016.N().S(`
 | 
						qw422016.N().S(`
 | 
				
			||||||
type empty struct{}
 | 
					type empty struct{}
 | 
				
			||||||
var emptyVal = &empty{}
 | 
					var emptyVal = &empty{}
 | 
				
			||||||
@ -602,66 +645,66 @@ var emptyVal = &empty{}
 | 
				
			|||||||
func UnmarshalMessage(msg *cdp.Message) (interface{}, error) {
 | 
					func UnmarshalMessage(msg *cdp.Message) (interface{}, error) {
 | 
				
			||||||
	var v easyjson.Unmarshaler
 | 
						var v easyjson.Unmarshaler
 | 
				
			||||||
	switch msg.Method {`)
 | 
						switch msg.Method {`)
 | 
				
			||||||
	//line templates/extra.qtpl:275
 | 
						//line templates/extra.qtpl:286
 | 
				
			||||||
	for _, d := range domains {
 | 
						for _, d := range domains {
 | 
				
			||||||
		//line templates/extra.qtpl:275
 | 
							//line templates/extra.qtpl:286
 | 
				
			||||||
		for _, c := range d.Commands {
 | 
							for _, c := range d.Commands {
 | 
				
			||||||
			//line templates/extra.qtpl:275
 | 
								//line templates/extra.qtpl:286
 | 
				
			||||||
			qw422016.N().S(`
 | 
								qw422016.N().S(`
 | 
				
			||||||
	case cdp.`)
 | 
						case cdp.`)
 | 
				
			||||||
			//line templates/extra.qtpl:276
 | 
								//line templates/extra.qtpl:287
 | 
				
			||||||
			qw422016.N().S(c.CommandMethodType(d))
 | 
								qw422016.N().S(c.CommandMethodType(d))
 | 
				
			||||||
			//line templates/extra.qtpl:276
 | 
								//line templates/extra.qtpl:287
 | 
				
			||||||
			qw422016.N().S(`:`)
 | 
								qw422016.N().S(`:`)
 | 
				
			||||||
			//line templates/extra.qtpl:276
 | 
								//line templates/extra.qtpl:287
 | 
				
			||||||
			if len(c.Returns) == 0 {
 | 
								if len(c.Returns) == 0 {
 | 
				
			||||||
				//line templates/extra.qtpl:276
 | 
									//line templates/extra.qtpl:287
 | 
				
			||||||
				qw422016.N().S(`
 | 
									qw422016.N().S(`
 | 
				
			||||||
		return emptyVal, nil`)
 | 
							return emptyVal, nil`)
 | 
				
			||||||
				//line templates/extra.qtpl:277
 | 
									//line templates/extra.qtpl:288
 | 
				
			||||||
			} else {
 | 
								} else {
 | 
				
			||||||
				//line templates/extra.qtpl:277
 | 
									//line templates/extra.qtpl:288
 | 
				
			||||||
				qw422016.N().S(`
 | 
									qw422016.N().S(`
 | 
				
			||||||
		v = new(`)
 | 
							v = new(`)
 | 
				
			||||||
				//line templates/extra.qtpl:278
 | 
									//line templates/extra.qtpl:289
 | 
				
			||||||
				qw422016.N().S(d.PackageRefName())
 | 
									qw422016.N().S(d.PackageRefName())
 | 
				
			||||||
				//line templates/extra.qtpl:278
 | 
									//line templates/extra.qtpl:289
 | 
				
			||||||
				qw422016.N().S(`.`)
 | 
									qw422016.N().S(`.`)
 | 
				
			||||||
				//line templates/extra.qtpl:278
 | 
									//line templates/extra.qtpl:289
 | 
				
			||||||
				qw422016.N().S(c.CommandReturnsType())
 | 
									qw422016.N().S(c.CommandReturnsType())
 | 
				
			||||||
				//line templates/extra.qtpl:278
 | 
									//line templates/extra.qtpl:289
 | 
				
			||||||
				qw422016.N().S(`)`)
 | 
									qw422016.N().S(`)`)
 | 
				
			||||||
				//line templates/extra.qtpl:278
 | 
									//line templates/extra.qtpl:289
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			//line templates/extra.qtpl:278
 | 
								//line templates/extra.qtpl:289
 | 
				
			||||||
			qw422016.N().S(`
 | 
								qw422016.N().S(`
 | 
				
			||||||
	`)
 | 
						`)
 | 
				
			||||||
			//line templates/extra.qtpl:279
 | 
								//line templates/extra.qtpl:290
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		//line templates/extra.qtpl:279
 | 
							//line templates/extra.qtpl:290
 | 
				
			||||||
		for _, e := range d.Events {
 | 
							for _, e := range d.Events {
 | 
				
			||||||
			//line templates/extra.qtpl:279
 | 
								//line templates/extra.qtpl:290
 | 
				
			||||||
			qw422016.N().S(`
 | 
								qw422016.N().S(`
 | 
				
			||||||
	case cdp.`)
 | 
						case cdp.`)
 | 
				
			||||||
			//line templates/extra.qtpl:280
 | 
								//line templates/extra.qtpl:291
 | 
				
			||||||
			qw422016.N().S(e.EventMethodType(d))
 | 
								qw422016.N().S(e.EventMethodType(d))
 | 
				
			||||||
			//line templates/extra.qtpl:280
 | 
								//line templates/extra.qtpl:291
 | 
				
			||||||
			qw422016.N().S(`:
 | 
								qw422016.N().S(`:
 | 
				
			||||||
		v = new(`)
 | 
							v = new(`)
 | 
				
			||||||
			//line templates/extra.qtpl:281
 | 
								//line templates/extra.qtpl:292
 | 
				
			||||||
			qw422016.N().S(d.PackageRefName())
 | 
								qw422016.N().S(d.PackageRefName())
 | 
				
			||||||
			//line templates/extra.qtpl:281
 | 
								//line templates/extra.qtpl:292
 | 
				
			||||||
			qw422016.N().S(`.`)
 | 
								qw422016.N().S(`.`)
 | 
				
			||||||
			//line templates/extra.qtpl:281
 | 
								//line templates/extra.qtpl:292
 | 
				
			||||||
			qw422016.N().S(e.EventType())
 | 
								qw422016.N().S(e.EventType())
 | 
				
			||||||
			//line templates/extra.qtpl:281
 | 
								//line templates/extra.qtpl:292
 | 
				
			||||||
			qw422016.N().S(`)
 | 
								qw422016.N().S(`)
 | 
				
			||||||
	`)
 | 
						`)
 | 
				
			||||||
			//line templates/extra.qtpl:282
 | 
								//line templates/extra.qtpl:293
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		//line templates/extra.qtpl:282
 | 
							//line templates/extra.qtpl:293
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	//line templates/extra.qtpl:282
 | 
						//line templates/extra.qtpl:293
 | 
				
			||||||
	qw422016.N().S(`}
 | 
						qw422016.N().S(`}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	var buf easyjson.RawMessage
 | 
						var buf easyjson.RawMessage
 | 
				
			||||||
@ -684,69 +727,69 @@ func UnmarshalMessage(msg *cdp.Message) (interface{}, error) {
 | 
				
			|||||||
	return v, nil
 | 
						return v, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
`)
 | 
					`)
 | 
				
			||||||
//line templates/extra.qtpl:303
 | 
					//line templates/extra.qtpl:314
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//line templates/extra.qtpl:303
 | 
					//line templates/extra.qtpl:314
 | 
				
			||||||
func WriteExtraUtilTemplate(qq422016 qtio422016.Writer, domains []*internal.Domain) {
 | 
					func WriteExtraUtilTemplate(qq422016 qtio422016.Writer, domains []*internal.Domain) {
 | 
				
			||||||
	//line templates/extra.qtpl:303
 | 
						//line templates/extra.qtpl:314
 | 
				
			||||||
	qw422016 := qt422016.AcquireWriter(qq422016)
 | 
						qw422016 := qt422016.AcquireWriter(qq422016)
 | 
				
			||||||
	//line templates/extra.qtpl:303
 | 
						//line templates/extra.qtpl:314
 | 
				
			||||||
	StreamExtraUtilTemplate(qw422016, domains)
 | 
						StreamExtraUtilTemplate(qw422016, domains)
 | 
				
			||||||
	//line templates/extra.qtpl:303
 | 
						//line templates/extra.qtpl:314
 | 
				
			||||||
	qt422016.ReleaseWriter(qw422016)
 | 
						qt422016.ReleaseWriter(qw422016)
 | 
				
			||||||
//line templates/extra.qtpl:303
 | 
					//line templates/extra.qtpl:314
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//line templates/extra.qtpl:303
 | 
					//line templates/extra.qtpl:314
 | 
				
			||||||
func ExtraUtilTemplate(domains []*internal.Domain) string {
 | 
					func ExtraUtilTemplate(domains []*internal.Domain) string {
 | 
				
			||||||
	//line templates/extra.qtpl:303
 | 
						//line templates/extra.qtpl:314
 | 
				
			||||||
	qb422016 := qt422016.AcquireByteBuffer()
 | 
						qb422016 := qt422016.AcquireByteBuffer()
 | 
				
			||||||
	//line templates/extra.qtpl:303
 | 
						//line templates/extra.qtpl:314
 | 
				
			||||||
	WriteExtraUtilTemplate(qb422016, domains)
 | 
						WriteExtraUtilTemplate(qb422016, domains)
 | 
				
			||||||
	//line templates/extra.qtpl:303
 | 
						//line templates/extra.qtpl:314
 | 
				
			||||||
	qs422016 := string(qb422016.B)
 | 
						qs422016 := string(qb422016.B)
 | 
				
			||||||
	//line templates/extra.qtpl:303
 | 
						//line templates/extra.qtpl:314
 | 
				
			||||||
	qt422016.ReleaseByteBuffer(qb422016)
 | 
						qt422016.ReleaseByteBuffer(qb422016)
 | 
				
			||||||
	//line templates/extra.qtpl:303
 | 
						//line templates/extra.qtpl:314
 | 
				
			||||||
	return qs422016
 | 
						return qs422016
 | 
				
			||||||
//line templates/extra.qtpl:303
 | 
					//line templates/extra.qtpl:314
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//line templates/extra.qtpl:305
 | 
					//line templates/extra.qtpl:316
 | 
				
			||||||
func StreamExtraMethodTypeDomainDecoder(qw422016 *qt422016.Writer) {
 | 
					func StreamExtraMethodTypeDomainDecoder(qw422016 *qt422016.Writer) {
 | 
				
			||||||
	//line templates/extra.qtpl:305
 | 
						//line templates/extra.qtpl:316
 | 
				
			||||||
	qw422016.N().S(`
 | 
						qw422016.N().S(`
 | 
				
			||||||
// Domain returns the Chrome Debugging Protocol domain of the event or command.
 | 
					// Domain returns the Chrome Debugging Protocol domain of the event or command.
 | 
				
			||||||
func (t MethodType) Domain() string {
 | 
					func (t MethodType) Domain() string {
 | 
				
			||||||
	return string(t[:strings.IndexByte(string(t), '.')])
 | 
						return string(t[:strings.IndexByte(string(t), '.')])
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
`)
 | 
					`)
 | 
				
			||||||
//line templates/extra.qtpl:310
 | 
					//line templates/extra.qtpl:321
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//line templates/extra.qtpl:310
 | 
					//line templates/extra.qtpl:321
 | 
				
			||||||
func WriteExtraMethodTypeDomainDecoder(qq422016 qtio422016.Writer) {
 | 
					func WriteExtraMethodTypeDomainDecoder(qq422016 qtio422016.Writer) {
 | 
				
			||||||
	//line templates/extra.qtpl:310
 | 
						//line templates/extra.qtpl:321
 | 
				
			||||||
	qw422016 := qt422016.AcquireWriter(qq422016)
 | 
						qw422016 := qt422016.AcquireWriter(qq422016)
 | 
				
			||||||
	//line templates/extra.qtpl:310
 | 
						//line templates/extra.qtpl:321
 | 
				
			||||||
	StreamExtraMethodTypeDomainDecoder(qw422016)
 | 
						StreamExtraMethodTypeDomainDecoder(qw422016)
 | 
				
			||||||
	//line templates/extra.qtpl:310
 | 
						//line templates/extra.qtpl:321
 | 
				
			||||||
	qt422016.ReleaseWriter(qw422016)
 | 
						qt422016.ReleaseWriter(qw422016)
 | 
				
			||||||
//line templates/extra.qtpl:310
 | 
					//line templates/extra.qtpl:321
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//line templates/extra.qtpl:310
 | 
					//line templates/extra.qtpl:321
 | 
				
			||||||
func ExtraMethodTypeDomainDecoder() string {
 | 
					func ExtraMethodTypeDomainDecoder() string {
 | 
				
			||||||
	//line templates/extra.qtpl:310
 | 
						//line templates/extra.qtpl:321
 | 
				
			||||||
	qb422016 := qt422016.AcquireByteBuffer()
 | 
						qb422016 := qt422016.AcquireByteBuffer()
 | 
				
			||||||
	//line templates/extra.qtpl:310
 | 
						//line templates/extra.qtpl:321
 | 
				
			||||||
	WriteExtraMethodTypeDomainDecoder(qb422016)
 | 
						WriteExtraMethodTypeDomainDecoder(qb422016)
 | 
				
			||||||
	//line templates/extra.qtpl:310
 | 
						//line templates/extra.qtpl:321
 | 
				
			||||||
	qs422016 := string(qb422016.B)
 | 
						qs422016 := string(qb422016.B)
 | 
				
			||||||
	//line templates/extra.qtpl:310
 | 
						//line templates/extra.qtpl:321
 | 
				
			||||||
	qt422016.ReleaseByteBuffer(qb422016)
 | 
						qt422016.ReleaseByteBuffer(qb422016)
 | 
				
			||||||
	//line templates/extra.qtpl:310
 | 
						//line templates/extra.qtpl:321
 | 
				
			||||||
	return qs422016
 | 
						return qs422016
 | 
				
			||||||
//line templates/extra.qtpl:310
 | 
					//line templates/extra.qtpl:321
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										4
									
								
								nav.go
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								nav.go
									
									
									
									
									
								
							@ -96,7 +96,7 @@ func CaptureScreenshot(res *[]byte) Action {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// AddOnLoadScript adds a script to evaluate on page load.
 | 
					// AddOnLoadScript adds a script to evaluate on page load.
 | 
				
			||||||
func AddOnLoadScript(source string, id *page.ScriptIdentifier) Action {
 | 
					/*func AddOnLoadScript(source string, id *page.ScriptIdentifier) Action {
 | 
				
			||||||
	if id == nil {
 | 
						if id == nil {
 | 
				
			||||||
		panic("id cannot be nil")
 | 
							panic("id cannot be nil")
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@ -111,7 +111,7 @@ func AddOnLoadScript(source string, id *page.ScriptIdentifier) Action {
 | 
				
			|||||||
// RemoveOnLoadScript removes a script to evaluate on page load.
 | 
					// RemoveOnLoadScript removes a script to evaluate on page load.
 | 
				
			||||||
func RemoveOnLoadScript(id page.ScriptIdentifier) Action {
 | 
					func RemoveOnLoadScript(id page.ScriptIdentifier) Action {
 | 
				
			||||||
	return page.RemoveScriptToEvaluateOnLoad(id)
 | 
						return page.RemoveScriptToEvaluateOnLoad(id)
 | 
				
			||||||
}
 | 
					}*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Location retrieves the document location.
 | 
					// Location retrieves the document location.
 | 
				
			||||||
func Location(urlstr *string) Action {
 | 
					func Location(urlstr *string) Action {
 | 
				
			||||||
 | 
				
			|||||||
@ -328,7 +328,7 @@ func TestCaptureScreenshot(t *testing.T) {
 | 
				
			|||||||
	//TODO: test image
 | 
						//TODO: test image
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func TestAddOnLoadScript(t *testing.T) {
 | 
					/*func TestAddOnLoadScript(t *testing.T) {
 | 
				
			||||||
	t.Parallel()
 | 
						t.Parallel()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	var err error
 | 
						var err error
 | 
				
			||||||
@ -384,7 +384,7 @@ func TestRemoveOnLoadScript(t *testing.T) {
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	time.Sleep(50 * time.Millisecond)
 | 
						time.Sleep(50 * time.Millisecond)
 | 
				
			||||||
}
 | 
					}*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func TestLocation(t *testing.T) {
 | 
					func TestLocation(t *testing.T) {
 | 
				
			||||||
	t.Parallel()
 | 
						t.Parallel()
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user