github.com/primecitizens/pcz/std@v0.2.1/plat/js/webext/activitylogprivate/apis_js_wasm.go (about)

     1  // SPDX-License-Identifier: Apache-2.0
     2  // Copyright 2023 The Prime Citizens
     3  
     4  package activitylogprivate
     5  
     6  import (
     7  	"github.com/primecitizens/pcz/std/core/abi"
     8  	"github.com/primecitizens/pcz/std/core/mark"
     9  	"github.com/primecitizens/pcz/std/ffi/js"
    10  	"github.com/primecitizens/pcz/std/plat/js/webext/activitylogprivate/bindings"
    11  )
    12  
    13  type ExtensionActivityType uint32
    14  
    15  const (
    16  	_ ExtensionActivityType = iota
    17  
    18  	ExtensionActivityType_API_CALL
    19  	ExtensionActivityType_API_EVENT
    20  	ExtensionActivityType_CONTENT_SCRIPT
    21  	ExtensionActivityType_DOM_ACCESS
    22  	ExtensionActivityType_DOM_EVENT
    23  	ExtensionActivityType_WEB_REQUEST
    24  )
    25  
    26  func (ExtensionActivityType) FromRef(str js.Ref) ExtensionActivityType {
    27  	return ExtensionActivityType(bindings.ConstOfExtensionActivityType(str))
    28  }
    29  
    30  func (x ExtensionActivityType) String() (string, bool) {
    31  	switch x {
    32  	case ExtensionActivityType_API_CALL:
    33  		return "api_call", true
    34  	case ExtensionActivityType_API_EVENT:
    35  		return "api_event", true
    36  	case ExtensionActivityType_CONTENT_SCRIPT:
    37  		return "content_script", true
    38  	case ExtensionActivityType_DOM_ACCESS:
    39  		return "dom_access", true
    40  	case ExtensionActivityType_DOM_EVENT:
    41  		return "dom_event", true
    42  	case ExtensionActivityType_WEB_REQUEST:
    43  		return "web_request", true
    44  	default:
    45  		return "", false
    46  	}
    47  }
    48  
    49  type ExtensionActivityDomVerb uint32
    50  
    51  const (
    52  	_ ExtensionActivityDomVerb = iota
    53  
    54  	ExtensionActivityDomVerb_GETTER
    55  	ExtensionActivityDomVerb_SETTER
    56  	ExtensionActivityDomVerb_METHOD
    57  	ExtensionActivityDomVerb_INSERTED
    58  	ExtensionActivityDomVerb_XHR
    59  	ExtensionActivityDomVerb_WEBREQUEST
    60  	ExtensionActivityDomVerb_MODIFIED
    61  )
    62  
    63  func (ExtensionActivityDomVerb) FromRef(str js.Ref) ExtensionActivityDomVerb {
    64  	return ExtensionActivityDomVerb(bindings.ConstOfExtensionActivityDomVerb(str))
    65  }
    66  
    67  func (x ExtensionActivityDomVerb) String() (string, bool) {
    68  	switch x {
    69  	case ExtensionActivityDomVerb_GETTER:
    70  		return "getter", true
    71  	case ExtensionActivityDomVerb_SETTER:
    72  		return "setter", true
    73  	case ExtensionActivityDomVerb_METHOD:
    74  		return "method", true
    75  	case ExtensionActivityDomVerb_INSERTED:
    76  		return "inserted", true
    77  	case ExtensionActivityDomVerb_XHR:
    78  		return "xhr", true
    79  	case ExtensionActivityDomVerb_WEBREQUEST:
    80  		return "webrequest", true
    81  	case ExtensionActivityDomVerb_MODIFIED:
    82  		return "modified", true
    83  	default:
    84  		return "", false
    85  	}
    86  }
    87  
    88  type ExtensionActivityFieldOther struct {
    89  	// DomVerb is "ExtensionActivityFieldOther.domVerb"
    90  	//
    91  	// Optional
    92  	DomVerb ExtensionActivityDomVerb
    93  	// Extra is "ExtensionActivityFieldOther.extra"
    94  	//
    95  	// Optional
    96  	Extra js.String
    97  	// Prerender is "ExtensionActivityFieldOther.prerender"
    98  	//
    99  	// Optional
   100  	//
   101  	// NOTE: FFI_USE_Prerender MUST be set to true to make this field effective.
   102  	Prerender bool
   103  	// WebRequest is "ExtensionActivityFieldOther.webRequest"
   104  	//
   105  	// Optional
   106  	WebRequest js.String
   107  
   108  	FFI_USE_Prerender bool // for Prerender.
   109  
   110  	FFI_USE bool
   111  }
   112  
   113  // FromRef calls UpdateFrom and returns a ExtensionActivityFieldOther with all fields set.
   114  func (p ExtensionActivityFieldOther) FromRef(ref js.Ref) ExtensionActivityFieldOther {
   115  	p.UpdateFrom(ref)
   116  	return p
   117  }
   118  
   119  // New creates a new ExtensionActivityFieldOther in the application heap.
   120  func (p ExtensionActivityFieldOther) New() js.Ref {
   121  	return bindings.ExtensionActivityFieldOtherJSLoad(
   122  		js.Pointer(&p), js.True, 0,
   123  	)
   124  }
   125  
   126  // UpdateFrom copies value of all fields of the heap object to p.
   127  func (p *ExtensionActivityFieldOther) UpdateFrom(ref js.Ref) {
   128  	bindings.ExtensionActivityFieldOtherJSStore(
   129  		js.Pointer(p), ref,
   130  	)
   131  }
   132  
   133  // Update writes all fields of the p to the heap object referenced by ref.
   134  func (p *ExtensionActivityFieldOther) Update(ref js.Ref) {
   135  	bindings.ExtensionActivityFieldOtherJSLoad(
   136  		js.Pointer(p), js.False, ref,
   137  	)
   138  }
   139  
   140  // FreeMembers frees fields with heap reference, if recursive is true
   141  // free all heap references reachable from p.
   142  func (p *ExtensionActivityFieldOther) FreeMembers(recursive bool) {
   143  	js.Free(
   144  		p.Extra.Ref(),
   145  		p.WebRequest.Ref(),
   146  	)
   147  	p.Extra = p.Extra.FromRef(js.Undefined)
   148  	p.WebRequest = p.WebRequest.FromRef(js.Undefined)
   149  }
   150  
   151  type ExtensionActivity struct {
   152  	// ActivityId is "ExtensionActivity.activityId"
   153  	//
   154  	// Optional
   155  	ActivityId js.String
   156  	// ActivityType is "ExtensionActivity.activityType"
   157  	//
   158  	// Required
   159  	ActivityType ExtensionActivityType
   160  	// ApiCall is "ExtensionActivity.apiCall"
   161  	//
   162  	// Optional
   163  	ApiCall js.String
   164  	// ArgUrl is "ExtensionActivity.argUrl"
   165  	//
   166  	// Optional
   167  	ArgUrl js.String
   168  	// Args is "ExtensionActivity.args"
   169  	//
   170  	// Optional
   171  	Args js.String
   172  	// Count is "ExtensionActivity.count"
   173  	//
   174  	// Optional
   175  	//
   176  	// NOTE: FFI_USE_Count MUST be set to true to make this field effective.
   177  	Count float64
   178  	// ExtensionId is "ExtensionActivity.extensionId"
   179  	//
   180  	// Optional
   181  	ExtensionId js.String
   182  	// Other is "ExtensionActivity.other"
   183  	//
   184  	// Optional
   185  	//
   186  	// NOTE: Other.FFI_USE MUST be set to true to get Other used.
   187  	Other ExtensionActivityFieldOther
   188  	// PageTitle is "ExtensionActivity.pageTitle"
   189  	//
   190  	// Optional
   191  	PageTitle js.String
   192  	// PageUrl is "ExtensionActivity.pageUrl"
   193  	//
   194  	// Optional
   195  	PageUrl js.String
   196  	// Time is "ExtensionActivity.time"
   197  	//
   198  	// Optional
   199  	//
   200  	// NOTE: FFI_USE_Time MUST be set to true to make this field effective.
   201  	Time float64
   202  
   203  	FFI_USE_Count bool // for Count.
   204  	FFI_USE_Time  bool // for Time.
   205  
   206  	FFI_USE bool
   207  }
   208  
   209  // FromRef calls UpdateFrom and returns a ExtensionActivity with all fields set.
   210  func (p ExtensionActivity) FromRef(ref js.Ref) ExtensionActivity {
   211  	p.UpdateFrom(ref)
   212  	return p
   213  }
   214  
   215  // New creates a new ExtensionActivity in the application heap.
   216  func (p ExtensionActivity) New() js.Ref {
   217  	return bindings.ExtensionActivityJSLoad(
   218  		js.Pointer(&p), js.True, 0,
   219  	)
   220  }
   221  
   222  // UpdateFrom copies value of all fields of the heap object to p.
   223  func (p *ExtensionActivity) UpdateFrom(ref js.Ref) {
   224  	bindings.ExtensionActivityJSStore(
   225  		js.Pointer(p), ref,
   226  	)
   227  }
   228  
   229  // Update writes all fields of the p to the heap object referenced by ref.
   230  func (p *ExtensionActivity) Update(ref js.Ref) {
   231  	bindings.ExtensionActivityJSLoad(
   232  		js.Pointer(p), js.False, ref,
   233  	)
   234  }
   235  
   236  // FreeMembers frees fields with heap reference, if recursive is true
   237  // free all heap references reachable from p.
   238  func (p *ExtensionActivity) FreeMembers(recursive bool) {
   239  	js.Free(
   240  		p.ActivityId.Ref(),
   241  		p.ApiCall.Ref(),
   242  		p.ArgUrl.Ref(),
   243  		p.Args.Ref(),
   244  		p.ExtensionId.Ref(),
   245  		p.PageTitle.Ref(),
   246  		p.PageUrl.Ref(),
   247  	)
   248  	p.ActivityId = p.ActivityId.FromRef(js.Undefined)
   249  	p.ApiCall = p.ApiCall.FromRef(js.Undefined)
   250  	p.ArgUrl = p.ArgUrl.FromRef(js.Undefined)
   251  	p.Args = p.Args.FromRef(js.Undefined)
   252  	p.ExtensionId = p.ExtensionId.FromRef(js.Undefined)
   253  	p.PageTitle = p.PageTitle.FromRef(js.Undefined)
   254  	p.PageUrl = p.PageUrl.FromRef(js.Undefined)
   255  	if recursive {
   256  		p.Other.FreeMembers(true)
   257  	}
   258  }
   259  
   260  type ActivityResultSet struct {
   261  	// Activities is "ActivityResultSet.activities"
   262  	//
   263  	// Required
   264  	Activities js.Array[ExtensionActivity]
   265  
   266  	FFI_USE bool
   267  }
   268  
   269  // FromRef calls UpdateFrom and returns a ActivityResultSet with all fields set.
   270  func (p ActivityResultSet) FromRef(ref js.Ref) ActivityResultSet {
   271  	p.UpdateFrom(ref)
   272  	return p
   273  }
   274  
   275  // New creates a new ActivityResultSet in the application heap.
   276  func (p ActivityResultSet) New() js.Ref {
   277  	return bindings.ActivityResultSetJSLoad(
   278  		js.Pointer(&p), js.True, 0,
   279  	)
   280  }
   281  
   282  // UpdateFrom copies value of all fields of the heap object to p.
   283  func (p *ActivityResultSet) UpdateFrom(ref js.Ref) {
   284  	bindings.ActivityResultSetJSStore(
   285  		js.Pointer(p), ref,
   286  	)
   287  }
   288  
   289  // Update writes all fields of the p to the heap object referenced by ref.
   290  func (p *ActivityResultSet) Update(ref js.Ref) {
   291  	bindings.ActivityResultSetJSLoad(
   292  		js.Pointer(p), js.False, ref,
   293  	)
   294  }
   295  
   296  // FreeMembers frees fields with heap reference, if recursive is true
   297  // free all heap references reachable from p.
   298  func (p *ActivityResultSet) FreeMembers(recursive bool) {
   299  	js.Free(
   300  		p.Activities.Ref(),
   301  	)
   302  	p.Activities = p.Activities.FromRef(js.Undefined)
   303  }
   304  
   305  type ExtensionActivityFilter uint32
   306  
   307  const (
   308  	_ ExtensionActivityFilter = iota
   309  
   310  	ExtensionActivityFilter_API_CALL
   311  	ExtensionActivityFilter_API_EVENT
   312  	ExtensionActivityFilter_CONTENT_SCRIPT
   313  	ExtensionActivityFilter_DOM_ACCESS
   314  	ExtensionActivityFilter_DOM_EVENT
   315  	ExtensionActivityFilter_WEB_REQUEST
   316  	ExtensionActivityFilter_ANY
   317  )
   318  
   319  func (ExtensionActivityFilter) FromRef(str js.Ref) ExtensionActivityFilter {
   320  	return ExtensionActivityFilter(bindings.ConstOfExtensionActivityFilter(str))
   321  }
   322  
   323  func (x ExtensionActivityFilter) String() (string, bool) {
   324  	switch x {
   325  	case ExtensionActivityFilter_API_CALL:
   326  		return "api_call", true
   327  	case ExtensionActivityFilter_API_EVENT:
   328  		return "api_event", true
   329  	case ExtensionActivityFilter_CONTENT_SCRIPT:
   330  		return "content_script", true
   331  	case ExtensionActivityFilter_DOM_ACCESS:
   332  		return "dom_access", true
   333  	case ExtensionActivityFilter_DOM_EVENT:
   334  		return "dom_event", true
   335  	case ExtensionActivityFilter_WEB_REQUEST:
   336  		return "web_request", true
   337  	case ExtensionActivityFilter_ANY:
   338  		return "any", true
   339  	default:
   340  		return "", false
   341  	}
   342  }
   343  
   344  type Filter struct {
   345  	// ActivityType is "Filter.activityType"
   346  	//
   347  	// Required
   348  	ActivityType ExtensionActivityFilter
   349  	// ApiCall is "Filter.apiCall"
   350  	//
   351  	// Optional
   352  	ApiCall js.String
   353  	// ArgUrl is "Filter.argUrl"
   354  	//
   355  	// Optional
   356  	ArgUrl js.String
   357  	// DaysAgo is "Filter.daysAgo"
   358  	//
   359  	// Optional
   360  	//
   361  	// NOTE: FFI_USE_DaysAgo MUST be set to true to make this field effective.
   362  	DaysAgo int64
   363  	// ExtensionId is "Filter.extensionId"
   364  	//
   365  	// Optional
   366  	ExtensionId js.String
   367  	// PageUrl is "Filter.pageUrl"
   368  	//
   369  	// Optional
   370  	PageUrl js.String
   371  
   372  	FFI_USE_DaysAgo bool // for DaysAgo.
   373  
   374  	FFI_USE bool
   375  }
   376  
   377  // FromRef calls UpdateFrom and returns a Filter with all fields set.
   378  func (p Filter) FromRef(ref js.Ref) Filter {
   379  	p.UpdateFrom(ref)
   380  	return p
   381  }
   382  
   383  // New creates a new Filter in the application heap.
   384  func (p Filter) New() js.Ref {
   385  	return bindings.FilterJSLoad(
   386  		js.Pointer(&p), js.True, 0,
   387  	)
   388  }
   389  
   390  // UpdateFrom copies value of all fields of the heap object to p.
   391  func (p *Filter) UpdateFrom(ref js.Ref) {
   392  	bindings.FilterJSStore(
   393  		js.Pointer(p), ref,
   394  	)
   395  }
   396  
   397  // Update writes all fields of the p to the heap object referenced by ref.
   398  func (p *Filter) Update(ref js.Ref) {
   399  	bindings.FilterJSLoad(
   400  		js.Pointer(p), js.False, ref,
   401  	)
   402  }
   403  
   404  // FreeMembers frees fields with heap reference, if recursive is true
   405  // free all heap references reachable from p.
   406  func (p *Filter) FreeMembers(recursive bool) {
   407  	js.Free(
   408  		p.ApiCall.Ref(),
   409  		p.ArgUrl.Ref(),
   410  		p.ExtensionId.Ref(),
   411  		p.PageUrl.Ref(),
   412  	)
   413  	p.ApiCall = p.ApiCall.FromRef(js.Undefined)
   414  	p.ArgUrl = p.ArgUrl.FromRef(js.Undefined)
   415  	p.ExtensionId = p.ExtensionId.FromRef(js.Undefined)
   416  	p.PageUrl = p.PageUrl.FromRef(js.Undefined)
   417  }
   418  
   419  // HasFuncDeleteActivities returns true if the function "WEBEXT.activityLogPrivate.deleteActivities" exists.
   420  func HasFuncDeleteActivities() bool {
   421  	return js.True == bindings.HasFuncDeleteActivities()
   422  }
   423  
   424  // FuncDeleteActivities returns the function "WEBEXT.activityLogPrivate.deleteActivities".
   425  func FuncDeleteActivities() (fn js.Func[func(activityIds js.Array[js.String]) js.Promise[js.Void]]) {
   426  	bindings.FuncDeleteActivities(
   427  		js.Pointer(&fn),
   428  	)
   429  	return
   430  }
   431  
   432  // DeleteActivities calls the function "WEBEXT.activityLogPrivate.deleteActivities" directly.
   433  func DeleteActivities(activityIds js.Array[js.String]) (ret js.Promise[js.Void]) {
   434  	bindings.CallDeleteActivities(
   435  		js.Pointer(&ret),
   436  		activityIds.Ref(),
   437  	)
   438  
   439  	return
   440  }
   441  
   442  // TryDeleteActivities calls the function "WEBEXT.activityLogPrivate.deleteActivities"
   443  // in a try/catch block and returns (_, err, ok = false) when it went through
   444  // the catch clause.
   445  func TryDeleteActivities(activityIds js.Array[js.String]) (ret js.Promise[js.Void], exception js.Any, ok bool) {
   446  	ok = js.True == bindings.TryDeleteActivities(
   447  		js.Pointer(&ret), js.Pointer(&exception),
   448  		activityIds.Ref(),
   449  	)
   450  
   451  	return
   452  }
   453  
   454  // HasFuncDeleteActivitiesByExtension returns true if the function "WEBEXT.activityLogPrivate.deleteActivitiesByExtension" exists.
   455  func HasFuncDeleteActivitiesByExtension() bool {
   456  	return js.True == bindings.HasFuncDeleteActivitiesByExtension()
   457  }
   458  
   459  // FuncDeleteActivitiesByExtension returns the function "WEBEXT.activityLogPrivate.deleteActivitiesByExtension".
   460  func FuncDeleteActivitiesByExtension() (fn js.Func[func(extensionId js.String) js.Promise[js.Void]]) {
   461  	bindings.FuncDeleteActivitiesByExtension(
   462  		js.Pointer(&fn),
   463  	)
   464  	return
   465  }
   466  
   467  // DeleteActivitiesByExtension calls the function "WEBEXT.activityLogPrivate.deleteActivitiesByExtension" directly.
   468  func DeleteActivitiesByExtension(extensionId js.String) (ret js.Promise[js.Void]) {
   469  	bindings.CallDeleteActivitiesByExtension(
   470  		js.Pointer(&ret),
   471  		extensionId.Ref(),
   472  	)
   473  
   474  	return
   475  }
   476  
   477  // TryDeleteActivitiesByExtension calls the function "WEBEXT.activityLogPrivate.deleteActivitiesByExtension"
   478  // in a try/catch block and returns (_, err, ok = false) when it went through
   479  // the catch clause.
   480  func TryDeleteActivitiesByExtension(extensionId js.String) (ret js.Promise[js.Void], exception js.Any, ok bool) {
   481  	ok = js.True == bindings.TryDeleteActivitiesByExtension(
   482  		js.Pointer(&ret), js.Pointer(&exception),
   483  		extensionId.Ref(),
   484  	)
   485  
   486  	return
   487  }
   488  
   489  // HasFuncDeleteDatabase returns true if the function "WEBEXT.activityLogPrivate.deleteDatabase" exists.
   490  func HasFuncDeleteDatabase() bool {
   491  	return js.True == bindings.HasFuncDeleteDatabase()
   492  }
   493  
   494  // FuncDeleteDatabase returns the function "WEBEXT.activityLogPrivate.deleteDatabase".
   495  func FuncDeleteDatabase() (fn js.Func[func()]) {
   496  	bindings.FuncDeleteDatabase(
   497  		js.Pointer(&fn),
   498  	)
   499  	return
   500  }
   501  
   502  // DeleteDatabase calls the function "WEBEXT.activityLogPrivate.deleteDatabase" directly.
   503  func DeleteDatabase() (ret js.Void) {
   504  	bindings.CallDeleteDatabase(
   505  		js.Pointer(&ret),
   506  	)
   507  
   508  	return
   509  }
   510  
   511  // TryDeleteDatabase calls the function "WEBEXT.activityLogPrivate.deleteDatabase"
   512  // in a try/catch block and returns (_, err, ok = false) when it went through
   513  // the catch clause.
   514  func TryDeleteDatabase() (ret js.Void, exception js.Any, ok bool) {
   515  	ok = js.True == bindings.TryDeleteDatabase(
   516  		js.Pointer(&ret), js.Pointer(&exception),
   517  	)
   518  
   519  	return
   520  }
   521  
   522  // HasFuncDeleteUrls returns true if the function "WEBEXT.activityLogPrivate.deleteUrls" exists.
   523  func HasFuncDeleteUrls() bool {
   524  	return js.True == bindings.HasFuncDeleteUrls()
   525  }
   526  
   527  // FuncDeleteUrls returns the function "WEBEXT.activityLogPrivate.deleteUrls".
   528  func FuncDeleteUrls() (fn js.Func[func(urls js.Array[js.String])]) {
   529  	bindings.FuncDeleteUrls(
   530  		js.Pointer(&fn),
   531  	)
   532  	return
   533  }
   534  
   535  // DeleteUrls calls the function "WEBEXT.activityLogPrivate.deleteUrls" directly.
   536  func DeleteUrls(urls js.Array[js.String]) (ret js.Void) {
   537  	bindings.CallDeleteUrls(
   538  		js.Pointer(&ret),
   539  		urls.Ref(),
   540  	)
   541  
   542  	return
   543  }
   544  
   545  // TryDeleteUrls calls the function "WEBEXT.activityLogPrivate.deleteUrls"
   546  // in a try/catch block and returns (_, err, ok = false) when it went through
   547  // the catch clause.
   548  func TryDeleteUrls(urls js.Array[js.String]) (ret js.Void, exception js.Any, ok bool) {
   549  	ok = js.True == bindings.TryDeleteUrls(
   550  		js.Pointer(&ret), js.Pointer(&exception),
   551  		urls.Ref(),
   552  	)
   553  
   554  	return
   555  }
   556  
   557  // HasFuncGetExtensionActivities returns true if the function "WEBEXT.activityLogPrivate.getExtensionActivities" exists.
   558  func HasFuncGetExtensionActivities() bool {
   559  	return js.True == bindings.HasFuncGetExtensionActivities()
   560  }
   561  
   562  // FuncGetExtensionActivities returns the function "WEBEXT.activityLogPrivate.getExtensionActivities".
   563  func FuncGetExtensionActivities() (fn js.Func[func(filter Filter) js.Promise[ActivityResultSet]]) {
   564  	bindings.FuncGetExtensionActivities(
   565  		js.Pointer(&fn),
   566  	)
   567  	return
   568  }
   569  
   570  // GetExtensionActivities calls the function "WEBEXT.activityLogPrivate.getExtensionActivities" directly.
   571  func GetExtensionActivities(filter Filter) (ret js.Promise[ActivityResultSet]) {
   572  	bindings.CallGetExtensionActivities(
   573  		js.Pointer(&ret),
   574  		js.Pointer(&filter),
   575  	)
   576  
   577  	return
   578  }
   579  
   580  // TryGetExtensionActivities calls the function "WEBEXT.activityLogPrivate.getExtensionActivities"
   581  // in a try/catch block and returns (_, err, ok = false) when it went through
   582  // the catch clause.
   583  func TryGetExtensionActivities(filter Filter) (ret js.Promise[ActivityResultSet], exception js.Any, ok bool) {
   584  	ok = js.True == bindings.TryGetExtensionActivities(
   585  		js.Pointer(&ret), js.Pointer(&exception),
   586  		js.Pointer(&filter),
   587  	)
   588  
   589  	return
   590  }
   591  
   592  type OnExtensionActivityEventCallbackFunc func(this js.Ref, activity *ExtensionActivity) js.Ref
   593  
   594  func (fn OnExtensionActivityEventCallbackFunc) Register() js.Func[func(activity *ExtensionActivity)] {
   595  	return js.RegisterCallback[func(activity *ExtensionActivity)](
   596  		fn, abi.FuncPCABIInternal(fn),
   597  	)
   598  }
   599  
   600  func (fn OnExtensionActivityEventCallbackFunc) DispatchCallback(
   601  	targetPC uintptr, ctx *js.CallbackContext,
   602  ) {
   603  	args := ctx.Args()
   604  	if len(args) != 1+1 /* js this */ ||
   605  		targetPC != uintptr(abi.FuncPCABIInternal(fn)) {
   606  		js.ThrowInvalidCallbackInvocation()
   607  	}
   608  	var arg0 ExtensionActivity
   609  	arg0.UpdateFrom(args[0+1])
   610  	defer arg0.FreeMembers(true)
   611  
   612  	if ctx.Return(fn(
   613  		args[0],
   614  
   615  		mark.NoEscape(&arg0),
   616  	)) {
   617  		return
   618  	}
   619  
   620  	js.ThrowCallbackValueNotReturned()
   621  }
   622  
   623  type OnExtensionActivityEventCallback[T any] struct {
   624  	Fn  func(arg T, this js.Ref, activity *ExtensionActivity) js.Ref
   625  	Arg T
   626  }
   627  
   628  func (cb *OnExtensionActivityEventCallback[T]) Register() js.Func[func(activity *ExtensionActivity)] {
   629  	return js.RegisterCallback[func(activity *ExtensionActivity)](
   630  		cb, abi.FuncPCABIInternal(cb.Fn),
   631  	)
   632  }
   633  
   634  func (cb *OnExtensionActivityEventCallback[T]) DispatchCallback(
   635  	targetPC uintptr, ctx *js.CallbackContext,
   636  ) {
   637  	args := ctx.Args()
   638  	if len(args) != 1+1 /* js this */ ||
   639  		targetPC != uintptr(abi.FuncPCABIInternal(cb.Fn)) {
   640  		js.ThrowInvalidCallbackInvocation()
   641  	}
   642  	var arg0 ExtensionActivity
   643  	arg0.UpdateFrom(args[0+1])
   644  	defer arg0.FreeMembers(true)
   645  
   646  	if ctx.Return(cb.Fn(
   647  		cb.Arg,
   648  		args[0],
   649  
   650  		mark.NoEscape(&arg0),
   651  	)) {
   652  		return
   653  	}
   654  
   655  	js.ThrowCallbackValueNotReturned()
   656  }
   657  
   658  // HasFuncOnExtensionActivity returns true if the function "WEBEXT.activityLogPrivate.onExtensionActivity.addListener" exists.
   659  func HasFuncOnExtensionActivity() bool {
   660  	return js.True == bindings.HasFuncOnExtensionActivity()
   661  }
   662  
   663  // FuncOnExtensionActivity returns the function "WEBEXT.activityLogPrivate.onExtensionActivity.addListener".
   664  func FuncOnExtensionActivity() (fn js.Func[func(callback js.Func[func(activity *ExtensionActivity)])]) {
   665  	bindings.FuncOnExtensionActivity(
   666  		js.Pointer(&fn),
   667  	)
   668  	return
   669  }
   670  
   671  // OnExtensionActivity calls the function "WEBEXT.activityLogPrivate.onExtensionActivity.addListener" directly.
   672  func OnExtensionActivity(callback js.Func[func(activity *ExtensionActivity)]) (ret js.Void) {
   673  	bindings.CallOnExtensionActivity(
   674  		js.Pointer(&ret),
   675  		callback.Ref(),
   676  	)
   677  
   678  	return
   679  }
   680  
   681  // TryOnExtensionActivity calls the function "WEBEXT.activityLogPrivate.onExtensionActivity.addListener"
   682  // in a try/catch block and returns (_, err, ok = false) when it went through
   683  // the catch clause.
   684  func TryOnExtensionActivity(callback js.Func[func(activity *ExtensionActivity)]) (ret js.Void, exception js.Any, ok bool) {
   685  	ok = js.True == bindings.TryOnExtensionActivity(
   686  		js.Pointer(&ret), js.Pointer(&exception),
   687  		callback.Ref(),
   688  	)
   689  
   690  	return
   691  }
   692  
   693  // HasFuncOffExtensionActivity returns true if the function "WEBEXT.activityLogPrivate.onExtensionActivity.removeListener" exists.
   694  func HasFuncOffExtensionActivity() bool {
   695  	return js.True == bindings.HasFuncOffExtensionActivity()
   696  }
   697  
   698  // FuncOffExtensionActivity returns the function "WEBEXT.activityLogPrivate.onExtensionActivity.removeListener".
   699  func FuncOffExtensionActivity() (fn js.Func[func(callback js.Func[func(activity *ExtensionActivity)])]) {
   700  	bindings.FuncOffExtensionActivity(
   701  		js.Pointer(&fn),
   702  	)
   703  	return
   704  }
   705  
   706  // OffExtensionActivity calls the function "WEBEXT.activityLogPrivate.onExtensionActivity.removeListener" directly.
   707  func OffExtensionActivity(callback js.Func[func(activity *ExtensionActivity)]) (ret js.Void) {
   708  	bindings.CallOffExtensionActivity(
   709  		js.Pointer(&ret),
   710  		callback.Ref(),
   711  	)
   712  
   713  	return
   714  }
   715  
   716  // TryOffExtensionActivity calls the function "WEBEXT.activityLogPrivate.onExtensionActivity.removeListener"
   717  // in a try/catch block and returns (_, err, ok = false) when it went through
   718  // the catch clause.
   719  func TryOffExtensionActivity(callback js.Func[func(activity *ExtensionActivity)]) (ret js.Void, exception js.Any, ok bool) {
   720  	ok = js.True == bindings.TryOffExtensionActivity(
   721  		js.Pointer(&ret), js.Pointer(&exception),
   722  		callback.Ref(),
   723  	)
   724  
   725  	return
   726  }
   727  
   728  // HasFuncHasOnExtensionActivity returns true if the function "WEBEXT.activityLogPrivate.onExtensionActivity.hasListener" exists.
   729  func HasFuncHasOnExtensionActivity() bool {
   730  	return js.True == bindings.HasFuncHasOnExtensionActivity()
   731  }
   732  
   733  // FuncHasOnExtensionActivity returns the function "WEBEXT.activityLogPrivate.onExtensionActivity.hasListener".
   734  func FuncHasOnExtensionActivity() (fn js.Func[func(callback js.Func[func(activity *ExtensionActivity)]) bool]) {
   735  	bindings.FuncHasOnExtensionActivity(
   736  		js.Pointer(&fn),
   737  	)
   738  	return
   739  }
   740  
   741  // HasOnExtensionActivity calls the function "WEBEXT.activityLogPrivate.onExtensionActivity.hasListener" directly.
   742  func HasOnExtensionActivity(callback js.Func[func(activity *ExtensionActivity)]) (ret bool) {
   743  	bindings.CallHasOnExtensionActivity(
   744  		js.Pointer(&ret),
   745  		callback.Ref(),
   746  	)
   747  
   748  	return
   749  }
   750  
   751  // TryHasOnExtensionActivity calls the function "WEBEXT.activityLogPrivate.onExtensionActivity.hasListener"
   752  // in a try/catch block and returns (_, err, ok = false) when it went through
   753  // the catch clause.
   754  func TryHasOnExtensionActivity(callback js.Func[func(activity *ExtensionActivity)]) (ret bool, exception js.Any, ok bool) {
   755  	ok = js.True == bindings.TryHasOnExtensionActivity(
   756  		js.Pointer(&ret), js.Pointer(&exception),
   757  		callback.Ref(),
   758  	)
   759  
   760  	return
   761  }