github.com/primecitizens/pcz/std@v0.2.1/plat/js/webext/runtime/apis_js_wasm.go (about) 1 // SPDX-License-Identifier: Apache-2.0 2 // Copyright 2023 The Prime Citizens 3 4 package runtime 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/runtime/bindings" 11 "github.com/primecitizens/pcz/std/plat/js/webext/tabs" 12 ) 13 14 type ConnectArgConnectInfo struct { 15 // IncludeTlsChannelId is "ConnectArgConnectInfo.includeTlsChannelId" 16 // 17 // Optional 18 // 19 // NOTE: FFI_USE_IncludeTlsChannelId MUST be set to true to make this field effective. 20 IncludeTlsChannelId bool 21 // Name is "ConnectArgConnectInfo.name" 22 // 23 // Optional 24 Name js.String 25 26 FFI_USE_IncludeTlsChannelId bool // for IncludeTlsChannelId. 27 28 FFI_USE bool 29 } 30 31 // FromRef calls UpdateFrom and returns a ConnectArgConnectInfo with all fields set. 32 func (p ConnectArgConnectInfo) FromRef(ref js.Ref) ConnectArgConnectInfo { 33 p.UpdateFrom(ref) 34 return p 35 } 36 37 // New creates a new ConnectArgConnectInfo in the application heap. 38 func (p ConnectArgConnectInfo) New() js.Ref { 39 return bindings.ConnectArgConnectInfoJSLoad( 40 js.Pointer(&p), js.True, 0, 41 ) 42 } 43 44 // UpdateFrom copies value of all fields of the heap object to p. 45 func (p *ConnectArgConnectInfo) UpdateFrom(ref js.Ref) { 46 bindings.ConnectArgConnectInfoJSStore( 47 js.Pointer(p), ref, 48 ) 49 } 50 51 // Update writes all fields of the p to the heap object referenced by ref. 52 func (p *ConnectArgConnectInfo) Update(ref js.Ref) { 53 bindings.ConnectArgConnectInfoJSLoad( 54 js.Pointer(p), js.False, ref, 55 ) 56 } 57 58 // FreeMembers frees fields with heap reference, if recursive is true 59 // free all heap references reachable from p. 60 func (p *ConnectArgConnectInfo) FreeMembers(recursive bool) { 61 js.Free( 62 p.Name.Ref(), 63 ) 64 p.Name = p.Name.FromRef(js.Undefined) 65 } 66 67 type ContextType uint32 68 69 const ( 70 _ ContextType = iota 71 72 ContextType_TAB 73 ContextType_POPUP 74 ContextType_BACKGROUND 75 ContextType_OFFSCREEN_DOCUMENT 76 ContextType_SIDE_PANEL 77 ) 78 79 func (ContextType) FromRef(str js.Ref) ContextType { 80 return ContextType(bindings.ConstOfContextType(str)) 81 } 82 83 func (x ContextType) String() (string, bool) { 84 switch x { 85 case ContextType_TAB: 86 return "TAB", true 87 case ContextType_POPUP: 88 return "POPUP", true 89 case ContextType_BACKGROUND: 90 return "BACKGROUND", true 91 case ContextType_OFFSCREEN_DOCUMENT: 92 return "OFFSCREEN_DOCUMENT", true 93 case ContextType_SIDE_PANEL: 94 return "SIDE_PANEL", true 95 default: 96 return "", false 97 } 98 } 99 100 type ContextFilter struct { 101 // ContextIds is "ContextFilter.contextIds" 102 // 103 // Optional 104 ContextIds js.Array[js.String] 105 // ContextTypes is "ContextFilter.contextTypes" 106 // 107 // Optional 108 ContextTypes js.Array[ContextType] 109 // DocumentIds is "ContextFilter.documentIds" 110 // 111 // Optional 112 DocumentIds js.Array[js.String] 113 // DocumentOrigins is "ContextFilter.documentOrigins" 114 // 115 // Optional 116 DocumentOrigins js.Array[js.String] 117 // DocumentUrls is "ContextFilter.documentUrls" 118 // 119 // Optional 120 DocumentUrls js.Array[js.String] 121 // FrameIds is "ContextFilter.frameIds" 122 // 123 // Optional 124 FrameIds js.Array[int64] 125 // Incognito is "ContextFilter.incognito" 126 // 127 // Optional 128 // 129 // NOTE: FFI_USE_Incognito MUST be set to true to make this field effective. 130 Incognito bool 131 // TabIds is "ContextFilter.tabIds" 132 // 133 // Optional 134 TabIds js.Array[int64] 135 // WindowIds is "ContextFilter.windowIds" 136 // 137 // Optional 138 WindowIds js.Array[int64] 139 140 FFI_USE_Incognito bool // for Incognito. 141 142 FFI_USE bool 143 } 144 145 // FromRef calls UpdateFrom and returns a ContextFilter with all fields set. 146 func (p ContextFilter) FromRef(ref js.Ref) ContextFilter { 147 p.UpdateFrom(ref) 148 return p 149 } 150 151 // New creates a new ContextFilter in the application heap. 152 func (p ContextFilter) New() js.Ref { 153 return bindings.ContextFilterJSLoad( 154 js.Pointer(&p), js.True, 0, 155 ) 156 } 157 158 // UpdateFrom copies value of all fields of the heap object to p. 159 func (p *ContextFilter) UpdateFrom(ref js.Ref) { 160 bindings.ContextFilterJSStore( 161 js.Pointer(p), ref, 162 ) 163 } 164 165 // Update writes all fields of the p to the heap object referenced by ref. 166 func (p *ContextFilter) Update(ref js.Ref) { 167 bindings.ContextFilterJSLoad( 168 js.Pointer(p), js.False, ref, 169 ) 170 } 171 172 // FreeMembers frees fields with heap reference, if recursive is true 173 // free all heap references reachable from p. 174 func (p *ContextFilter) FreeMembers(recursive bool) { 175 js.Free( 176 p.ContextIds.Ref(), 177 p.ContextTypes.Ref(), 178 p.DocumentIds.Ref(), 179 p.DocumentOrigins.Ref(), 180 p.DocumentUrls.Ref(), 181 p.FrameIds.Ref(), 182 p.TabIds.Ref(), 183 p.WindowIds.Ref(), 184 ) 185 p.ContextIds = p.ContextIds.FromRef(js.Undefined) 186 p.ContextTypes = p.ContextTypes.FromRef(js.Undefined) 187 p.DocumentIds = p.DocumentIds.FromRef(js.Undefined) 188 p.DocumentOrigins = p.DocumentOrigins.FromRef(js.Undefined) 189 p.DocumentUrls = p.DocumentUrls.FromRef(js.Undefined) 190 p.FrameIds = p.FrameIds.FromRef(js.Undefined) 191 p.TabIds = p.TabIds.FromRef(js.Undefined) 192 p.WindowIds = p.WindowIds.FromRef(js.Undefined) 193 } 194 195 type ExtensionContext struct { 196 // ContextId is "ExtensionContext.contextId" 197 // 198 // Required 199 ContextId js.String 200 // ContextType is "ExtensionContext.contextType" 201 // 202 // Required 203 ContextType ContextType 204 // DocumentId is "ExtensionContext.documentId" 205 // 206 // Optional 207 DocumentId js.String 208 // DocumentOrigin is "ExtensionContext.documentOrigin" 209 // 210 // Optional 211 DocumentOrigin js.String 212 // DocumentUrl is "ExtensionContext.documentUrl" 213 // 214 // Optional 215 DocumentUrl js.String 216 // FrameId is "ExtensionContext.frameId" 217 // 218 // Required 219 FrameId int64 220 // Incognito is "ExtensionContext.incognito" 221 // 222 // Required 223 Incognito bool 224 // TabId is "ExtensionContext.tabId" 225 // 226 // Required 227 TabId int64 228 // WindowId is "ExtensionContext.windowId" 229 // 230 // Required 231 WindowId int64 232 233 FFI_USE bool 234 } 235 236 // FromRef calls UpdateFrom and returns a ExtensionContext with all fields set. 237 func (p ExtensionContext) FromRef(ref js.Ref) ExtensionContext { 238 p.UpdateFrom(ref) 239 return p 240 } 241 242 // New creates a new ExtensionContext in the application heap. 243 func (p ExtensionContext) New() js.Ref { 244 return bindings.ExtensionContextJSLoad( 245 js.Pointer(&p), js.True, 0, 246 ) 247 } 248 249 // UpdateFrom copies value of all fields of the heap object to p. 250 func (p *ExtensionContext) UpdateFrom(ref js.Ref) { 251 bindings.ExtensionContextJSStore( 252 js.Pointer(p), ref, 253 ) 254 } 255 256 // Update writes all fields of the p to the heap object referenced by ref. 257 func (p *ExtensionContext) Update(ref js.Ref) { 258 bindings.ExtensionContextJSLoad( 259 js.Pointer(p), js.False, ref, 260 ) 261 } 262 263 // FreeMembers frees fields with heap reference, if recursive is true 264 // free all heap references reachable from p. 265 func (p *ExtensionContext) FreeMembers(recursive bool) { 266 js.Free( 267 p.ContextId.Ref(), 268 p.DocumentId.Ref(), 269 p.DocumentOrigin.Ref(), 270 p.DocumentUrl.Ref(), 271 ) 272 p.ContextId = p.ContextId.FromRef(js.Undefined) 273 p.DocumentId = p.DocumentId.FromRef(js.Undefined) 274 p.DocumentOrigin = p.DocumentOrigin.FromRef(js.Undefined) 275 p.DocumentUrl = p.DocumentUrl.FromRef(js.Undefined) 276 } 277 278 type GetPackageDirectoryEntryArgCallbackFunc func(this js.Ref, directoryEntry js.Any) js.Ref 279 280 func (fn GetPackageDirectoryEntryArgCallbackFunc) Register() js.Func[func(directoryEntry js.Any)] { 281 return js.RegisterCallback[func(directoryEntry js.Any)]( 282 fn, abi.FuncPCABIInternal(fn), 283 ) 284 } 285 286 func (fn GetPackageDirectoryEntryArgCallbackFunc) DispatchCallback( 287 targetPC uintptr, ctx *js.CallbackContext, 288 ) { 289 args := ctx.Args() 290 if len(args) != 1+1 /* js this */ || 291 targetPC != uintptr(abi.FuncPCABIInternal(fn)) { 292 js.ThrowInvalidCallbackInvocation() 293 } 294 295 if ctx.Return(fn( 296 args[0], 297 298 js.Any{}.FromRef(args[0+1]), 299 )) { 300 return 301 } 302 303 js.ThrowCallbackValueNotReturned() 304 } 305 306 type GetPackageDirectoryEntryArgCallback[T any] struct { 307 Fn func(arg T, this js.Ref, directoryEntry js.Any) js.Ref 308 Arg T 309 } 310 311 func (cb *GetPackageDirectoryEntryArgCallback[T]) Register() js.Func[func(directoryEntry js.Any)] { 312 return js.RegisterCallback[func(directoryEntry js.Any)]( 313 cb, abi.FuncPCABIInternal(cb.Fn), 314 ) 315 } 316 317 func (cb *GetPackageDirectoryEntryArgCallback[T]) DispatchCallback( 318 targetPC uintptr, ctx *js.CallbackContext, 319 ) { 320 args := ctx.Args() 321 if len(args) != 1+1 /* js this */ || 322 targetPC != uintptr(abi.FuncPCABIInternal(cb.Fn)) { 323 js.ThrowInvalidCallbackInvocation() 324 } 325 326 if ctx.Return(cb.Fn( 327 cb.Arg, 328 args[0], 329 330 js.Any{}.FromRef(args[0+1]), 331 )) { 332 return 333 } 334 335 js.ThrowCallbackValueNotReturned() 336 } 337 338 type LastErrorProperty struct { 339 // Message is "LastErrorProperty.message" 340 // 341 // Optional 342 Message js.String 343 344 FFI_USE bool 345 } 346 347 // FromRef calls UpdateFrom and returns a LastErrorProperty with all fields set. 348 func (p LastErrorProperty) FromRef(ref js.Ref) LastErrorProperty { 349 p.UpdateFrom(ref) 350 return p 351 } 352 353 // New creates a new LastErrorProperty in the application heap. 354 func (p LastErrorProperty) New() js.Ref { 355 return bindings.LastErrorPropertyJSLoad( 356 js.Pointer(&p), js.True, 0, 357 ) 358 } 359 360 // UpdateFrom copies value of all fields of the heap object to p. 361 func (p *LastErrorProperty) UpdateFrom(ref js.Ref) { 362 bindings.LastErrorPropertyJSStore( 363 js.Pointer(p), ref, 364 ) 365 } 366 367 // Update writes all fields of the p to the heap object referenced by ref. 368 func (p *LastErrorProperty) Update(ref js.Ref) { 369 bindings.LastErrorPropertyJSLoad( 370 js.Pointer(p), js.False, ref, 371 ) 372 } 373 374 // FreeMembers frees fields with heap reference, if recursive is true 375 // free all heap references reachable from p. 376 func (p *LastErrorProperty) FreeMembers(recursive bool) { 377 js.Free( 378 p.Message.Ref(), 379 ) 380 p.Message = p.Message.FromRef(js.Undefined) 381 } 382 383 type MessageSender struct { 384 // DocumentId is "MessageSender.documentId" 385 // 386 // Optional 387 DocumentId js.String 388 // DocumentLifecycle is "MessageSender.documentLifecycle" 389 // 390 // Optional 391 DocumentLifecycle js.String 392 // FrameId is "MessageSender.frameId" 393 // 394 // Optional 395 // 396 // NOTE: FFI_USE_FrameId MUST be set to true to make this field effective. 397 FrameId int64 398 // GuestProcessId is "MessageSender.guestProcessId" 399 // 400 // Optional 401 // 402 // NOTE: FFI_USE_GuestProcessId MUST be set to true to make this field effective. 403 GuestProcessId int64 404 // GuestRenderFrameRoutingId is "MessageSender.guestRenderFrameRoutingId" 405 // 406 // Optional 407 // 408 // NOTE: FFI_USE_GuestRenderFrameRoutingId MUST be set to true to make this field effective. 409 GuestRenderFrameRoutingId int64 410 // Id is "MessageSender.id" 411 // 412 // Optional 413 Id js.String 414 // NativeApplication is "MessageSender.nativeApplication" 415 // 416 // Optional 417 NativeApplication js.String 418 // Origin is "MessageSender.origin" 419 // 420 // Optional 421 Origin js.String 422 // Tab is "MessageSender.tab" 423 // 424 // Optional 425 // 426 // NOTE: Tab.FFI_USE MUST be set to true to get Tab used. 427 Tab tabs.Tab 428 // TlsChannelId is "MessageSender.tlsChannelId" 429 // 430 // Optional 431 TlsChannelId js.String 432 // Url is "MessageSender.url" 433 // 434 // Optional 435 Url js.String 436 437 FFI_USE_FrameId bool // for FrameId. 438 FFI_USE_GuestProcessId bool // for GuestProcessId. 439 FFI_USE_GuestRenderFrameRoutingId bool // for GuestRenderFrameRoutingId. 440 441 FFI_USE bool 442 } 443 444 // FromRef calls UpdateFrom and returns a MessageSender with all fields set. 445 func (p MessageSender) FromRef(ref js.Ref) MessageSender { 446 p.UpdateFrom(ref) 447 return p 448 } 449 450 // New creates a new MessageSender in the application heap. 451 func (p MessageSender) New() js.Ref { 452 return bindings.MessageSenderJSLoad( 453 js.Pointer(&p), js.True, 0, 454 ) 455 } 456 457 // UpdateFrom copies value of all fields of the heap object to p. 458 func (p *MessageSender) UpdateFrom(ref js.Ref) { 459 bindings.MessageSenderJSStore( 460 js.Pointer(p), ref, 461 ) 462 } 463 464 // Update writes all fields of the p to the heap object referenced by ref. 465 func (p *MessageSender) Update(ref js.Ref) { 466 bindings.MessageSenderJSLoad( 467 js.Pointer(p), js.False, ref, 468 ) 469 } 470 471 // FreeMembers frees fields with heap reference, if recursive is true 472 // free all heap references reachable from p. 473 func (p *MessageSender) FreeMembers(recursive bool) { 474 js.Free( 475 p.DocumentId.Ref(), 476 p.DocumentLifecycle.Ref(), 477 p.Id.Ref(), 478 p.NativeApplication.Ref(), 479 p.Origin.Ref(), 480 p.TlsChannelId.Ref(), 481 p.Url.Ref(), 482 ) 483 p.DocumentId = p.DocumentId.FromRef(js.Undefined) 484 p.DocumentLifecycle = p.DocumentLifecycle.FromRef(js.Undefined) 485 p.Id = p.Id.FromRef(js.Undefined) 486 p.NativeApplication = p.NativeApplication.FromRef(js.Undefined) 487 p.Origin = p.Origin.FromRef(js.Undefined) 488 p.TlsChannelId = p.TlsChannelId.FromRef(js.Undefined) 489 p.Url = p.Url.FromRef(js.Undefined) 490 if recursive { 491 p.Tab.FreeMembers(true) 492 } 493 } 494 495 type OnInstalledReason uint32 496 497 const ( 498 _ OnInstalledReason = iota 499 500 OnInstalledReason_INSTALL 501 OnInstalledReason_UPDATE 502 OnInstalledReason_CHROME_UPDATE 503 OnInstalledReason_SHARED_MODULE_UPDATE 504 ) 505 506 func (OnInstalledReason) FromRef(str js.Ref) OnInstalledReason { 507 return OnInstalledReason(bindings.ConstOfOnInstalledReason(str)) 508 } 509 510 func (x OnInstalledReason) String() (string, bool) { 511 switch x { 512 case OnInstalledReason_INSTALL: 513 return "install", true 514 case OnInstalledReason_UPDATE: 515 return "update", true 516 case OnInstalledReason_CHROME_UPDATE: 517 return "chrome_update", true 518 case OnInstalledReason_SHARED_MODULE_UPDATE: 519 return "shared_module_update", true 520 default: 521 return "", false 522 } 523 } 524 525 type OnInstalledArgDetails struct { 526 // Id is "OnInstalledArgDetails.id" 527 // 528 // Optional 529 Id js.String 530 // PreviousVersion is "OnInstalledArgDetails.previousVersion" 531 // 532 // Optional 533 PreviousVersion js.String 534 // Reason is "OnInstalledArgDetails.reason" 535 // 536 // Required 537 Reason OnInstalledReason 538 539 FFI_USE bool 540 } 541 542 // FromRef calls UpdateFrom and returns a OnInstalledArgDetails with all fields set. 543 func (p OnInstalledArgDetails) FromRef(ref js.Ref) OnInstalledArgDetails { 544 p.UpdateFrom(ref) 545 return p 546 } 547 548 // New creates a new OnInstalledArgDetails in the application heap. 549 func (p OnInstalledArgDetails) New() js.Ref { 550 return bindings.OnInstalledArgDetailsJSLoad( 551 js.Pointer(&p), js.True, 0, 552 ) 553 } 554 555 // UpdateFrom copies value of all fields of the heap object to p. 556 func (p *OnInstalledArgDetails) UpdateFrom(ref js.Ref) { 557 bindings.OnInstalledArgDetailsJSStore( 558 js.Pointer(p), ref, 559 ) 560 } 561 562 // Update writes all fields of the p to the heap object referenced by ref. 563 func (p *OnInstalledArgDetails) Update(ref js.Ref) { 564 bindings.OnInstalledArgDetailsJSLoad( 565 js.Pointer(p), js.False, ref, 566 ) 567 } 568 569 // FreeMembers frees fields with heap reference, if recursive is true 570 // free all heap references reachable from p. 571 func (p *OnInstalledArgDetails) FreeMembers(recursive bool) { 572 js.Free( 573 p.Id.Ref(), 574 p.PreviousVersion.Ref(), 575 ) 576 p.Id = p.Id.FromRef(js.Undefined) 577 p.PreviousVersion = p.PreviousVersion.FromRef(js.Undefined) 578 } 579 580 type OnMessageArgSendResponseFunc func(this js.Ref) js.Ref 581 582 func (fn OnMessageArgSendResponseFunc) Register() js.Func[func()] { 583 return js.RegisterCallback[func()]( 584 fn, abi.FuncPCABIInternal(fn), 585 ) 586 } 587 588 func (fn OnMessageArgSendResponseFunc) DispatchCallback( 589 targetPC uintptr, ctx *js.CallbackContext, 590 ) { 591 args := ctx.Args() 592 if len(args) != 0+1 /* js this */ || 593 targetPC != uintptr(abi.FuncPCABIInternal(fn)) { 594 js.ThrowInvalidCallbackInvocation() 595 } 596 597 if ctx.Return(fn( 598 args[0], 599 )) { 600 return 601 } 602 603 js.ThrowCallbackValueNotReturned() 604 } 605 606 type OnMessageArgSendResponse[T any] struct { 607 Fn func(arg T, this js.Ref) js.Ref 608 Arg T 609 } 610 611 func (cb *OnMessageArgSendResponse[T]) Register() js.Func[func()] { 612 return js.RegisterCallback[func()]( 613 cb, abi.FuncPCABIInternal(cb.Fn), 614 ) 615 } 616 617 func (cb *OnMessageArgSendResponse[T]) DispatchCallback( 618 targetPC uintptr, ctx *js.CallbackContext, 619 ) { 620 args := ctx.Args() 621 if len(args) != 0+1 /* js this */ || 622 targetPC != uintptr(abi.FuncPCABIInternal(cb.Fn)) { 623 js.ThrowInvalidCallbackInvocation() 624 } 625 626 if ctx.Return(cb.Fn( 627 cb.Arg, 628 args[0], 629 )) { 630 return 631 } 632 633 js.ThrowCallbackValueNotReturned() 634 } 635 636 type OnMessageExternalArgSendResponseFunc func(this js.Ref) js.Ref 637 638 func (fn OnMessageExternalArgSendResponseFunc) Register() js.Func[func()] { 639 return js.RegisterCallback[func()]( 640 fn, abi.FuncPCABIInternal(fn), 641 ) 642 } 643 644 func (fn OnMessageExternalArgSendResponseFunc) DispatchCallback( 645 targetPC uintptr, ctx *js.CallbackContext, 646 ) { 647 args := ctx.Args() 648 if len(args) != 0+1 /* js this */ || 649 targetPC != uintptr(abi.FuncPCABIInternal(fn)) { 650 js.ThrowInvalidCallbackInvocation() 651 } 652 653 if ctx.Return(fn( 654 args[0], 655 )) { 656 return 657 } 658 659 js.ThrowCallbackValueNotReturned() 660 } 661 662 type OnMessageExternalArgSendResponse[T any] struct { 663 Fn func(arg T, this js.Ref) js.Ref 664 Arg T 665 } 666 667 func (cb *OnMessageExternalArgSendResponse[T]) Register() js.Func[func()] { 668 return js.RegisterCallback[func()]( 669 cb, abi.FuncPCABIInternal(cb.Fn), 670 ) 671 } 672 673 func (cb *OnMessageExternalArgSendResponse[T]) DispatchCallback( 674 targetPC uintptr, ctx *js.CallbackContext, 675 ) { 676 args := ctx.Args() 677 if len(args) != 0+1 /* js this */ || 678 targetPC != uintptr(abi.FuncPCABIInternal(cb.Fn)) { 679 js.ThrowInvalidCallbackInvocation() 680 } 681 682 if ctx.Return(cb.Fn( 683 cb.Arg, 684 args[0], 685 )) { 686 return 687 } 688 689 js.ThrowCallbackValueNotReturned() 690 } 691 692 type OnRestartRequiredReason uint32 693 694 const ( 695 _ OnRestartRequiredReason = iota 696 697 OnRestartRequiredReason_APP_UPDATE 698 OnRestartRequiredReason_OS_UPDATE 699 OnRestartRequiredReason_PERIODIC 700 ) 701 702 func (OnRestartRequiredReason) FromRef(str js.Ref) OnRestartRequiredReason { 703 return OnRestartRequiredReason(bindings.ConstOfOnRestartRequiredReason(str)) 704 } 705 706 func (x OnRestartRequiredReason) String() (string, bool) { 707 switch x { 708 case OnRestartRequiredReason_APP_UPDATE: 709 return "app_update", true 710 case OnRestartRequiredReason_OS_UPDATE: 711 return "os_update", true 712 case OnRestartRequiredReason_PERIODIC: 713 return "periodic", true 714 default: 715 return "", false 716 } 717 } 718 719 type OnUserScriptMessageArgSendResponseFunc func(this js.Ref) js.Ref 720 721 func (fn OnUserScriptMessageArgSendResponseFunc) Register() js.Func[func()] { 722 return js.RegisterCallback[func()]( 723 fn, abi.FuncPCABIInternal(fn), 724 ) 725 } 726 727 func (fn OnUserScriptMessageArgSendResponseFunc) DispatchCallback( 728 targetPC uintptr, ctx *js.CallbackContext, 729 ) { 730 args := ctx.Args() 731 if len(args) != 0+1 /* js this */ || 732 targetPC != uintptr(abi.FuncPCABIInternal(fn)) { 733 js.ThrowInvalidCallbackInvocation() 734 } 735 736 if ctx.Return(fn( 737 args[0], 738 )) { 739 return 740 } 741 742 js.ThrowCallbackValueNotReturned() 743 } 744 745 type OnUserScriptMessageArgSendResponse[T any] struct { 746 Fn func(arg T, this js.Ref) js.Ref 747 Arg T 748 } 749 750 func (cb *OnUserScriptMessageArgSendResponse[T]) Register() js.Func[func()] { 751 return js.RegisterCallback[func()]( 752 cb, abi.FuncPCABIInternal(cb.Fn), 753 ) 754 } 755 756 func (cb *OnUserScriptMessageArgSendResponse[T]) DispatchCallback( 757 targetPC uintptr, ctx *js.CallbackContext, 758 ) { 759 args := ctx.Args() 760 if len(args) != 0+1 /* js this */ || 761 targetPC != uintptr(abi.FuncPCABIInternal(cb.Fn)) { 762 js.ThrowInvalidCallbackInvocation() 763 } 764 765 if ctx.Return(cb.Fn( 766 cb.Arg, 767 args[0], 768 )) { 769 return 770 } 771 772 js.ThrowCallbackValueNotReturned() 773 } 774 775 type PlatformArch uint32 776 777 const ( 778 _ PlatformArch = iota 779 780 PlatformArch_ARM 781 PlatformArch_ARM64 782 PlatformArch_X86_32 783 PlatformArch_X86_64 784 PlatformArch_MIPS 785 PlatformArch_MIPS64 786 ) 787 788 func (PlatformArch) FromRef(str js.Ref) PlatformArch { 789 return PlatformArch(bindings.ConstOfPlatformArch(str)) 790 } 791 792 func (x PlatformArch) String() (string, bool) { 793 switch x { 794 case PlatformArch_ARM: 795 return "arm", true 796 case PlatformArch_ARM64: 797 return "arm64", true 798 case PlatformArch_X86_32: 799 return "x86-32", true 800 case PlatformArch_X86_64: 801 return "x86-64", true 802 case PlatformArch_MIPS: 803 return "mips", true 804 case PlatformArch_MIPS64: 805 return "mips64", true 806 default: 807 return "", false 808 } 809 } 810 811 type PlatformNaclArch uint32 812 813 const ( 814 _ PlatformNaclArch = iota 815 816 PlatformNaclArch_ARM 817 PlatformNaclArch_X86_32 818 PlatformNaclArch_X86_64 819 PlatformNaclArch_MIPS 820 PlatformNaclArch_MIPS64 821 ) 822 823 func (PlatformNaclArch) FromRef(str js.Ref) PlatformNaclArch { 824 return PlatformNaclArch(bindings.ConstOfPlatformNaclArch(str)) 825 } 826 827 func (x PlatformNaclArch) String() (string, bool) { 828 switch x { 829 case PlatformNaclArch_ARM: 830 return "arm", true 831 case PlatformNaclArch_X86_32: 832 return "x86-32", true 833 case PlatformNaclArch_X86_64: 834 return "x86-64", true 835 case PlatformNaclArch_MIPS: 836 return "mips", true 837 case PlatformNaclArch_MIPS64: 838 return "mips64", true 839 default: 840 return "", false 841 } 842 } 843 844 type PlatformOs uint32 845 846 const ( 847 _ PlatformOs = iota 848 849 PlatformOs_MAC 850 PlatformOs_WIN 851 PlatformOs_ANDROID 852 PlatformOs_CROS 853 PlatformOs_LINUX 854 PlatformOs_OPENBSD 855 PlatformOs_FUCHSIA 856 ) 857 858 func (PlatformOs) FromRef(str js.Ref) PlatformOs { 859 return PlatformOs(bindings.ConstOfPlatformOs(str)) 860 } 861 862 func (x PlatformOs) String() (string, bool) { 863 switch x { 864 case PlatformOs_MAC: 865 return "mac", true 866 case PlatformOs_WIN: 867 return "win", true 868 case PlatformOs_ANDROID: 869 return "android", true 870 case PlatformOs_CROS: 871 return "cros", true 872 case PlatformOs_LINUX: 873 return "linux", true 874 case PlatformOs_OPENBSD: 875 return "openbsd", true 876 case PlatformOs_FUCHSIA: 877 return "fuchsia", true 878 default: 879 return "", false 880 } 881 } 882 883 type PlatformInfo struct { 884 // Arch is "PlatformInfo.arch" 885 // 886 // Required 887 Arch PlatformArch 888 // NaclArch is "PlatformInfo.nacl_arch" 889 // 890 // Required 891 NaclArch PlatformNaclArch 892 // Os is "PlatformInfo.os" 893 // 894 // Required 895 Os PlatformOs 896 897 FFI_USE bool 898 } 899 900 // FromRef calls UpdateFrom and returns a PlatformInfo with all fields set. 901 func (p PlatformInfo) FromRef(ref js.Ref) PlatformInfo { 902 p.UpdateFrom(ref) 903 return p 904 } 905 906 // New creates a new PlatformInfo in the application heap. 907 func (p PlatformInfo) New() js.Ref { 908 return bindings.PlatformInfoJSLoad( 909 js.Pointer(&p), js.True, 0, 910 ) 911 } 912 913 // UpdateFrom copies value of all fields of the heap object to p. 914 func (p *PlatformInfo) UpdateFrom(ref js.Ref) { 915 bindings.PlatformInfoJSStore( 916 js.Pointer(p), ref, 917 ) 918 } 919 920 // Update writes all fields of the p to the heap object referenced by ref. 921 func (p *PlatformInfo) Update(ref js.Ref) { 922 bindings.PlatformInfoJSLoad( 923 js.Pointer(p), js.False, ref, 924 ) 925 } 926 927 // FreeMembers frees fields with heap reference, if recursive is true 928 // free all heap references reachable from p. 929 func (p *PlatformInfo) FreeMembers(recursive bool) { 930 } 931 932 type PortFieldDisconnectFunc func(this js.Ref) js.Ref 933 934 func (fn PortFieldDisconnectFunc) Register() js.Func[func()] { 935 return js.RegisterCallback[func()]( 936 fn, abi.FuncPCABIInternal(fn), 937 ) 938 } 939 940 func (fn PortFieldDisconnectFunc) DispatchCallback( 941 targetPC uintptr, ctx *js.CallbackContext, 942 ) { 943 args := ctx.Args() 944 if len(args) != 0+1 /* js this */ || 945 targetPC != uintptr(abi.FuncPCABIInternal(fn)) { 946 js.ThrowInvalidCallbackInvocation() 947 } 948 949 if ctx.Return(fn( 950 args[0], 951 )) { 952 return 953 } 954 955 js.ThrowCallbackValueNotReturned() 956 } 957 958 type PortFieldDisconnect[T any] struct { 959 Fn func(arg T, this js.Ref) js.Ref 960 Arg T 961 } 962 963 func (cb *PortFieldDisconnect[T]) Register() js.Func[func()] { 964 return js.RegisterCallback[func()]( 965 cb, abi.FuncPCABIInternal(cb.Fn), 966 ) 967 } 968 969 func (cb *PortFieldDisconnect[T]) DispatchCallback( 970 targetPC uintptr, ctx *js.CallbackContext, 971 ) { 972 args := ctx.Args() 973 if len(args) != 0+1 /* js this */ || 974 targetPC != uintptr(abi.FuncPCABIInternal(cb.Fn)) { 975 js.ThrowInvalidCallbackInvocation() 976 } 977 978 if ctx.Return(cb.Fn( 979 cb.Arg, 980 args[0], 981 )) { 982 return 983 } 984 985 js.ThrowCallbackValueNotReturned() 986 } 987 988 type PortFieldPostMessageFunc func(this js.Ref, message js.Any) js.Ref 989 990 func (fn PortFieldPostMessageFunc) Register() js.Func[func(message js.Any)] { 991 return js.RegisterCallback[func(message js.Any)]( 992 fn, abi.FuncPCABIInternal(fn), 993 ) 994 } 995 996 func (fn PortFieldPostMessageFunc) DispatchCallback( 997 targetPC uintptr, ctx *js.CallbackContext, 998 ) { 999 args := ctx.Args() 1000 if len(args) != 1+1 /* js this */ || 1001 targetPC != uintptr(abi.FuncPCABIInternal(fn)) { 1002 js.ThrowInvalidCallbackInvocation() 1003 } 1004 1005 if ctx.Return(fn( 1006 args[0], 1007 1008 js.Any{}.FromRef(args[0+1]), 1009 )) { 1010 return 1011 } 1012 1013 js.ThrowCallbackValueNotReturned() 1014 } 1015 1016 type PortFieldPostMessage[T any] struct { 1017 Fn func(arg T, this js.Ref, message js.Any) js.Ref 1018 Arg T 1019 } 1020 1021 func (cb *PortFieldPostMessage[T]) Register() js.Func[func(message js.Any)] { 1022 return js.RegisterCallback[func(message js.Any)]( 1023 cb, abi.FuncPCABIInternal(cb.Fn), 1024 ) 1025 } 1026 1027 func (cb *PortFieldPostMessage[T]) DispatchCallback( 1028 targetPC uintptr, ctx *js.CallbackContext, 1029 ) { 1030 args := ctx.Args() 1031 if len(args) != 1+1 /* js this */ || 1032 targetPC != uintptr(abi.FuncPCABIInternal(cb.Fn)) { 1033 js.ThrowInvalidCallbackInvocation() 1034 } 1035 1036 if ctx.Return(cb.Fn( 1037 cb.Arg, 1038 args[0], 1039 1040 js.Any{}.FromRef(args[0+1]), 1041 )) { 1042 return 1043 } 1044 1045 js.ThrowCallbackValueNotReturned() 1046 } 1047 1048 type Port struct { 1049 // Disconnect is "Port.disconnect" 1050 // 1051 // Required 1052 Disconnect js.Func[func()] 1053 // Name is "Port.name" 1054 // 1055 // Required 1056 Name js.String 1057 // PostMessage is "Port.postMessage" 1058 // 1059 // Required 1060 PostMessage js.Func[func(message js.Any)] 1061 // Sender is "Port.sender" 1062 // 1063 // Optional 1064 // 1065 // NOTE: Sender.FFI_USE MUST be set to true to get Sender used. 1066 Sender MessageSender 1067 1068 FFI_USE bool 1069 } 1070 1071 // FromRef calls UpdateFrom and returns a Port with all fields set. 1072 func (p Port) FromRef(ref js.Ref) Port { 1073 p.UpdateFrom(ref) 1074 return p 1075 } 1076 1077 // New creates a new Port in the application heap. 1078 func (p Port) New() js.Ref { 1079 return bindings.PortJSLoad( 1080 js.Pointer(&p), js.True, 0, 1081 ) 1082 } 1083 1084 // UpdateFrom copies value of all fields of the heap object to p. 1085 func (p *Port) UpdateFrom(ref js.Ref) { 1086 bindings.PortJSStore( 1087 js.Pointer(p), ref, 1088 ) 1089 } 1090 1091 // Update writes all fields of the p to the heap object referenced by ref. 1092 func (p *Port) Update(ref js.Ref) { 1093 bindings.PortJSLoad( 1094 js.Pointer(p), js.False, ref, 1095 ) 1096 } 1097 1098 // FreeMembers frees fields with heap reference, if recursive is true 1099 // free all heap references reachable from p. 1100 func (p *Port) FreeMembers(recursive bool) { 1101 js.Free( 1102 p.Disconnect.Ref(), 1103 p.Name.Ref(), 1104 p.PostMessage.Ref(), 1105 ) 1106 p.Disconnect = p.Disconnect.FromRef(js.Undefined) 1107 p.Name = p.Name.FromRef(js.Undefined) 1108 p.PostMessage = p.PostMessage.FromRef(js.Undefined) 1109 if recursive { 1110 p.Sender.FreeMembers(true) 1111 } 1112 } 1113 1114 type RequestUpdateCheckStatus uint32 1115 1116 const ( 1117 _ RequestUpdateCheckStatus = iota 1118 1119 RequestUpdateCheckStatus_THROTTLED 1120 RequestUpdateCheckStatus_NO_UPDATE 1121 RequestUpdateCheckStatus_UPDATE_AVAILABLE 1122 ) 1123 1124 func (RequestUpdateCheckStatus) FromRef(str js.Ref) RequestUpdateCheckStatus { 1125 return RequestUpdateCheckStatus(bindings.ConstOfRequestUpdateCheckStatus(str)) 1126 } 1127 1128 func (x RequestUpdateCheckStatus) String() (string, bool) { 1129 switch x { 1130 case RequestUpdateCheckStatus_THROTTLED: 1131 return "throttled", true 1132 case RequestUpdateCheckStatus_NO_UPDATE: 1133 return "no_update", true 1134 case RequestUpdateCheckStatus_UPDATE_AVAILABLE: 1135 return "update_available", true 1136 default: 1137 return "", false 1138 } 1139 } 1140 1141 type RequestUpdateCheckReturnType struct { 1142 // Status is "RequestUpdateCheckReturnType.status" 1143 // 1144 // Required 1145 Status RequestUpdateCheckStatus 1146 // Version is "RequestUpdateCheckReturnType.version" 1147 // 1148 // Optional 1149 Version js.String 1150 1151 FFI_USE bool 1152 } 1153 1154 // FromRef calls UpdateFrom and returns a RequestUpdateCheckReturnType with all fields set. 1155 func (p RequestUpdateCheckReturnType) FromRef(ref js.Ref) RequestUpdateCheckReturnType { 1156 p.UpdateFrom(ref) 1157 return p 1158 } 1159 1160 // New creates a new RequestUpdateCheckReturnType in the application heap. 1161 func (p RequestUpdateCheckReturnType) New() js.Ref { 1162 return bindings.RequestUpdateCheckReturnTypeJSLoad( 1163 js.Pointer(&p), js.True, 0, 1164 ) 1165 } 1166 1167 // UpdateFrom copies value of all fields of the heap object to p. 1168 func (p *RequestUpdateCheckReturnType) UpdateFrom(ref js.Ref) { 1169 bindings.RequestUpdateCheckReturnTypeJSStore( 1170 js.Pointer(p), ref, 1171 ) 1172 } 1173 1174 // Update writes all fields of the p to the heap object referenced by ref. 1175 func (p *RequestUpdateCheckReturnType) Update(ref js.Ref) { 1176 bindings.RequestUpdateCheckReturnTypeJSLoad( 1177 js.Pointer(p), js.False, ref, 1178 ) 1179 } 1180 1181 // FreeMembers frees fields with heap reference, if recursive is true 1182 // free all heap references reachable from p. 1183 func (p *RequestUpdateCheckReturnType) FreeMembers(recursive bool) { 1184 js.Free( 1185 p.Version.Ref(), 1186 ) 1187 p.Version = p.Version.FromRef(js.Undefined) 1188 } 1189 1190 type SendMessageArgOptions struct { 1191 // IncludeTlsChannelId is "SendMessageArgOptions.includeTlsChannelId" 1192 // 1193 // Optional 1194 // 1195 // NOTE: FFI_USE_IncludeTlsChannelId MUST be set to true to make this field effective. 1196 IncludeTlsChannelId bool 1197 1198 FFI_USE_IncludeTlsChannelId bool // for IncludeTlsChannelId. 1199 1200 FFI_USE bool 1201 } 1202 1203 // FromRef calls UpdateFrom and returns a SendMessageArgOptions with all fields set. 1204 func (p SendMessageArgOptions) FromRef(ref js.Ref) SendMessageArgOptions { 1205 p.UpdateFrom(ref) 1206 return p 1207 } 1208 1209 // New creates a new SendMessageArgOptions in the application heap. 1210 func (p SendMessageArgOptions) New() js.Ref { 1211 return bindings.SendMessageArgOptionsJSLoad( 1212 js.Pointer(&p), js.True, 0, 1213 ) 1214 } 1215 1216 // UpdateFrom copies value of all fields of the heap object to p. 1217 func (p *SendMessageArgOptions) UpdateFrom(ref js.Ref) { 1218 bindings.SendMessageArgOptionsJSStore( 1219 js.Pointer(p), ref, 1220 ) 1221 } 1222 1223 // Update writes all fields of the p to the heap object referenced by ref. 1224 func (p *SendMessageArgOptions) Update(ref js.Ref) { 1225 bindings.SendMessageArgOptionsJSLoad( 1226 js.Pointer(p), js.False, ref, 1227 ) 1228 } 1229 1230 // FreeMembers frees fields with heap reference, if recursive is true 1231 // free all heap references reachable from p. 1232 func (p *SendMessageArgOptions) FreeMembers(recursive bool) { 1233 } 1234 1235 // HasFuncConnect returns true if the function "WEBEXT.runtime.connect" exists. 1236 func HasFuncConnect() bool { 1237 return js.True == bindings.HasFuncConnect() 1238 } 1239 1240 // FuncConnect returns the function "WEBEXT.runtime.connect". 1241 func FuncConnect() (fn js.Func[func(extensionId js.String, connectInfo ConnectArgConnectInfo) Port]) { 1242 bindings.FuncConnect( 1243 js.Pointer(&fn), 1244 ) 1245 return 1246 } 1247 1248 // Connect calls the function "WEBEXT.runtime.connect" directly. 1249 func Connect(extensionId js.String, connectInfo ConnectArgConnectInfo) (ret Port) { 1250 bindings.CallConnect( 1251 js.Pointer(&ret), 1252 extensionId.Ref(), 1253 js.Pointer(&connectInfo), 1254 ) 1255 1256 return 1257 } 1258 1259 // TryConnect calls the function "WEBEXT.runtime.connect" 1260 // in a try/catch block and returns (_, err, ok = false) when it went through 1261 // the catch clause. 1262 func TryConnect(extensionId js.String, connectInfo ConnectArgConnectInfo) (ret Port, exception js.Any, ok bool) { 1263 ok = js.True == bindings.TryConnect( 1264 js.Pointer(&ret), js.Pointer(&exception), 1265 extensionId.Ref(), 1266 js.Pointer(&connectInfo), 1267 ) 1268 1269 return 1270 } 1271 1272 // HasFuncConnectNative returns true if the function "WEBEXT.runtime.connectNative" exists. 1273 func HasFuncConnectNative() bool { 1274 return js.True == bindings.HasFuncConnectNative() 1275 } 1276 1277 // FuncConnectNative returns the function "WEBEXT.runtime.connectNative". 1278 func FuncConnectNative() (fn js.Func[func(application js.String) Port]) { 1279 bindings.FuncConnectNative( 1280 js.Pointer(&fn), 1281 ) 1282 return 1283 } 1284 1285 // ConnectNative calls the function "WEBEXT.runtime.connectNative" directly. 1286 func ConnectNative(application js.String) (ret Port) { 1287 bindings.CallConnectNative( 1288 js.Pointer(&ret), 1289 application.Ref(), 1290 ) 1291 1292 return 1293 } 1294 1295 // TryConnectNative calls the function "WEBEXT.runtime.connectNative" 1296 // in a try/catch block and returns (_, err, ok = false) when it went through 1297 // the catch clause. 1298 func TryConnectNative(application js.String) (ret Port, exception js.Any, ok bool) { 1299 ok = js.True == bindings.TryConnectNative( 1300 js.Pointer(&ret), js.Pointer(&exception), 1301 application.Ref(), 1302 ) 1303 1304 return 1305 } 1306 1307 // HasFuncGetBackgroundPage returns true if the function "WEBEXT.runtime.getBackgroundPage" exists. 1308 func HasFuncGetBackgroundPage() bool { 1309 return js.True == bindings.HasFuncGetBackgroundPage() 1310 } 1311 1312 // FuncGetBackgroundPage returns the function "WEBEXT.runtime.getBackgroundPage". 1313 func FuncGetBackgroundPage() (fn js.Func[func() js.Promise[js.Any]]) { 1314 bindings.FuncGetBackgroundPage( 1315 js.Pointer(&fn), 1316 ) 1317 return 1318 } 1319 1320 // GetBackgroundPage calls the function "WEBEXT.runtime.getBackgroundPage" directly. 1321 func GetBackgroundPage() (ret js.Promise[js.Any]) { 1322 bindings.CallGetBackgroundPage( 1323 js.Pointer(&ret), 1324 ) 1325 1326 return 1327 } 1328 1329 // TryGetBackgroundPage calls the function "WEBEXT.runtime.getBackgroundPage" 1330 // in a try/catch block and returns (_, err, ok = false) when it went through 1331 // the catch clause. 1332 func TryGetBackgroundPage() (ret js.Promise[js.Any], exception js.Any, ok bool) { 1333 ok = js.True == bindings.TryGetBackgroundPage( 1334 js.Pointer(&ret), js.Pointer(&exception), 1335 ) 1336 1337 return 1338 } 1339 1340 // HasFuncGetContexts returns true if the function "WEBEXT.runtime.getContexts" exists. 1341 func HasFuncGetContexts() bool { 1342 return js.True == bindings.HasFuncGetContexts() 1343 } 1344 1345 // FuncGetContexts returns the function "WEBEXT.runtime.getContexts". 1346 func FuncGetContexts() (fn js.Func[func(filter ContextFilter) js.Promise[js.Array[ExtensionContext]]]) { 1347 bindings.FuncGetContexts( 1348 js.Pointer(&fn), 1349 ) 1350 return 1351 } 1352 1353 // GetContexts calls the function "WEBEXT.runtime.getContexts" directly. 1354 func GetContexts(filter ContextFilter) (ret js.Promise[js.Array[ExtensionContext]]) { 1355 bindings.CallGetContexts( 1356 js.Pointer(&ret), 1357 js.Pointer(&filter), 1358 ) 1359 1360 return 1361 } 1362 1363 // TryGetContexts calls the function "WEBEXT.runtime.getContexts" 1364 // in a try/catch block and returns (_, err, ok = false) when it went through 1365 // the catch clause. 1366 func TryGetContexts(filter ContextFilter) (ret js.Promise[js.Array[ExtensionContext]], exception js.Any, ok bool) { 1367 ok = js.True == bindings.TryGetContexts( 1368 js.Pointer(&ret), js.Pointer(&exception), 1369 js.Pointer(&filter), 1370 ) 1371 1372 return 1373 } 1374 1375 // HasFuncGetManifest returns true if the function "WEBEXT.runtime.getManifest" exists. 1376 func HasFuncGetManifest() bool { 1377 return js.True == bindings.HasFuncGetManifest() 1378 } 1379 1380 // FuncGetManifest returns the function "WEBEXT.runtime.getManifest". 1381 func FuncGetManifest() (fn js.Func[func() js.Any]) { 1382 bindings.FuncGetManifest( 1383 js.Pointer(&fn), 1384 ) 1385 return 1386 } 1387 1388 // GetManifest calls the function "WEBEXT.runtime.getManifest" directly. 1389 func GetManifest() (ret js.Any) { 1390 bindings.CallGetManifest( 1391 js.Pointer(&ret), 1392 ) 1393 1394 return 1395 } 1396 1397 // TryGetManifest calls the function "WEBEXT.runtime.getManifest" 1398 // in a try/catch block and returns (_, err, ok = false) when it went through 1399 // the catch clause. 1400 func TryGetManifest() (ret js.Any, exception js.Any, ok bool) { 1401 ok = js.True == bindings.TryGetManifest( 1402 js.Pointer(&ret), js.Pointer(&exception), 1403 ) 1404 1405 return 1406 } 1407 1408 // HasFuncGetPackageDirectoryEntry returns true if the function "WEBEXT.runtime.getPackageDirectoryEntry" exists. 1409 func HasFuncGetPackageDirectoryEntry() bool { 1410 return js.True == bindings.HasFuncGetPackageDirectoryEntry() 1411 } 1412 1413 // FuncGetPackageDirectoryEntry returns the function "WEBEXT.runtime.getPackageDirectoryEntry". 1414 func FuncGetPackageDirectoryEntry() (fn js.Func[func(callback js.Func[func(directoryEntry js.Any)])]) { 1415 bindings.FuncGetPackageDirectoryEntry( 1416 js.Pointer(&fn), 1417 ) 1418 return 1419 } 1420 1421 // GetPackageDirectoryEntry calls the function "WEBEXT.runtime.getPackageDirectoryEntry" directly. 1422 func GetPackageDirectoryEntry(callback js.Func[func(directoryEntry js.Any)]) (ret js.Void) { 1423 bindings.CallGetPackageDirectoryEntry( 1424 js.Pointer(&ret), 1425 callback.Ref(), 1426 ) 1427 1428 return 1429 } 1430 1431 // TryGetPackageDirectoryEntry calls the function "WEBEXT.runtime.getPackageDirectoryEntry" 1432 // in a try/catch block and returns (_, err, ok = false) when it went through 1433 // the catch clause. 1434 func TryGetPackageDirectoryEntry(callback js.Func[func(directoryEntry js.Any)]) (ret js.Void, exception js.Any, ok bool) { 1435 ok = js.True == bindings.TryGetPackageDirectoryEntry( 1436 js.Pointer(&ret), js.Pointer(&exception), 1437 callback.Ref(), 1438 ) 1439 1440 return 1441 } 1442 1443 // HasFuncGetPlatformInfo returns true if the function "WEBEXT.runtime.getPlatformInfo" exists. 1444 func HasFuncGetPlatformInfo() bool { 1445 return js.True == bindings.HasFuncGetPlatformInfo() 1446 } 1447 1448 // FuncGetPlatformInfo returns the function "WEBEXT.runtime.getPlatformInfo". 1449 func FuncGetPlatformInfo() (fn js.Func[func() js.Promise[PlatformInfo]]) { 1450 bindings.FuncGetPlatformInfo( 1451 js.Pointer(&fn), 1452 ) 1453 return 1454 } 1455 1456 // GetPlatformInfo calls the function "WEBEXT.runtime.getPlatformInfo" directly. 1457 func GetPlatformInfo() (ret js.Promise[PlatformInfo]) { 1458 bindings.CallGetPlatformInfo( 1459 js.Pointer(&ret), 1460 ) 1461 1462 return 1463 } 1464 1465 // TryGetPlatformInfo calls the function "WEBEXT.runtime.getPlatformInfo" 1466 // in a try/catch block and returns (_, err, ok = false) when it went through 1467 // the catch clause. 1468 func TryGetPlatformInfo() (ret js.Promise[PlatformInfo], exception js.Any, ok bool) { 1469 ok = js.True == bindings.TryGetPlatformInfo( 1470 js.Pointer(&ret), js.Pointer(&exception), 1471 ) 1472 1473 return 1474 } 1475 1476 // HasFuncGetURL returns true if the function "WEBEXT.runtime.getURL" exists. 1477 func HasFuncGetURL() bool { 1478 return js.True == bindings.HasFuncGetURL() 1479 } 1480 1481 // FuncGetURL returns the function "WEBEXT.runtime.getURL". 1482 func FuncGetURL() (fn js.Func[func(path js.String) js.String]) { 1483 bindings.FuncGetURL( 1484 js.Pointer(&fn), 1485 ) 1486 return 1487 } 1488 1489 // GetURL calls the function "WEBEXT.runtime.getURL" directly. 1490 func GetURL(path js.String) (ret js.String) { 1491 bindings.CallGetURL( 1492 js.Pointer(&ret), 1493 path.Ref(), 1494 ) 1495 1496 return 1497 } 1498 1499 // TryGetURL calls the function "WEBEXT.runtime.getURL" 1500 // in a try/catch block and returns (_, err, ok = false) when it went through 1501 // the catch clause. 1502 func TryGetURL(path js.String) (ret js.String, exception js.Any, ok bool) { 1503 ok = js.True == bindings.TryGetURL( 1504 js.Pointer(&ret), js.Pointer(&exception), 1505 path.Ref(), 1506 ) 1507 1508 return 1509 } 1510 1511 // Id returns the value of property "WEBEXT.runtime.id". 1512 // 1513 // The returned bool will be false if there is no such property. 1514 func Id() (ret js.String, ok bool) { 1515 ok = js.True == bindings.GetId( 1516 js.Pointer(&ret), 1517 ) 1518 1519 return 1520 } 1521 1522 // SetId sets the value of property "WEBEXT.runtime.id" to val. 1523 // 1524 // It returns false if the property cannot be set. 1525 func SetId(val js.String) bool { 1526 return js.True == bindings.SetId( 1527 val.Ref()) 1528 } 1529 1530 // LastError returns the value of property "WEBEXT.runtime.lastError". 1531 // 1532 // The returned bool will be false if there is no such property. 1533 func LastError() (ret LastErrorProperty, ok bool) { 1534 ok = js.True == bindings.GetLastError( 1535 js.Pointer(&ret), 1536 ) 1537 1538 return 1539 } 1540 1541 // SetLastError sets the value of property "WEBEXT.runtime.lastError" to val. 1542 // 1543 // It returns false if the property cannot be set. 1544 func SetLastError(val LastErrorProperty) bool { 1545 return js.True == bindings.SetLastError( 1546 js.Pointer(&val)) 1547 } 1548 1549 type OnBrowserUpdateAvailableEventCallbackFunc func(this js.Ref) js.Ref 1550 1551 func (fn OnBrowserUpdateAvailableEventCallbackFunc) Register() js.Func[func()] { 1552 return js.RegisterCallback[func()]( 1553 fn, abi.FuncPCABIInternal(fn), 1554 ) 1555 } 1556 1557 func (fn OnBrowserUpdateAvailableEventCallbackFunc) DispatchCallback( 1558 targetPC uintptr, ctx *js.CallbackContext, 1559 ) { 1560 args := ctx.Args() 1561 if len(args) != 0+1 /* js this */ || 1562 targetPC != uintptr(abi.FuncPCABIInternal(fn)) { 1563 js.ThrowInvalidCallbackInvocation() 1564 } 1565 1566 if ctx.Return(fn( 1567 args[0], 1568 )) { 1569 return 1570 } 1571 1572 js.ThrowCallbackValueNotReturned() 1573 } 1574 1575 type OnBrowserUpdateAvailableEventCallback[T any] struct { 1576 Fn func(arg T, this js.Ref) js.Ref 1577 Arg T 1578 } 1579 1580 func (cb *OnBrowserUpdateAvailableEventCallback[T]) Register() js.Func[func()] { 1581 return js.RegisterCallback[func()]( 1582 cb, abi.FuncPCABIInternal(cb.Fn), 1583 ) 1584 } 1585 1586 func (cb *OnBrowserUpdateAvailableEventCallback[T]) DispatchCallback( 1587 targetPC uintptr, ctx *js.CallbackContext, 1588 ) { 1589 args := ctx.Args() 1590 if len(args) != 0+1 /* js this */ || 1591 targetPC != uintptr(abi.FuncPCABIInternal(cb.Fn)) { 1592 js.ThrowInvalidCallbackInvocation() 1593 } 1594 1595 if ctx.Return(cb.Fn( 1596 cb.Arg, 1597 args[0], 1598 )) { 1599 return 1600 } 1601 1602 js.ThrowCallbackValueNotReturned() 1603 } 1604 1605 // HasFuncOnBrowserUpdateAvailable returns true if the function "WEBEXT.runtime.onBrowserUpdateAvailable.addListener" exists. 1606 func HasFuncOnBrowserUpdateAvailable() bool { 1607 return js.True == bindings.HasFuncOnBrowserUpdateAvailable() 1608 } 1609 1610 // FuncOnBrowserUpdateAvailable returns the function "WEBEXT.runtime.onBrowserUpdateAvailable.addListener". 1611 func FuncOnBrowserUpdateAvailable() (fn js.Func[func(callback js.Func[func()])]) { 1612 bindings.FuncOnBrowserUpdateAvailable( 1613 js.Pointer(&fn), 1614 ) 1615 return 1616 } 1617 1618 // OnBrowserUpdateAvailable calls the function "WEBEXT.runtime.onBrowserUpdateAvailable.addListener" directly. 1619 func OnBrowserUpdateAvailable(callback js.Func[func()]) (ret js.Void) { 1620 bindings.CallOnBrowserUpdateAvailable( 1621 js.Pointer(&ret), 1622 callback.Ref(), 1623 ) 1624 1625 return 1626 } 1627 1628 // TryOnBrowserUpdateAvailable calls the function "WEBEXT.runtime.onBrowserUpdateAvailable.addListener" 1629 // in a try/catch block and returns (_, err, ok = false) when it went through 1630 // the catch clause. 1631 func TryOnBrowserUpdateAvailable(callback js.Func[func()]) (ret js.Void, exception js.Any, ok bool) { 1632 ok = js.True == bindings.TryOnBrowserUpdateAvailable( 1633 js.Pointer(&ret), js.Pointer(&exception), 1634 callback.Ref(), 1635 ) 1636 1637 return 1638 } 1639 1640 // HasFuncOffBrowserUpdateAvailable returns true if the function "WEBEXT.runtime.onBrowserUpdateAvailable.removeListener" exists. 1641 func HasFuncOffBrowserUpdateAvailable() bool { 1642 return js.True == bindings.HasFuncOffBrowserUpdateAvailable() 1643 } 1644 1645 // FuncOffBrowserUpdateAvailable returns the function "WEBEXT.runtime.onBrowserUpdateAvailable.removeListener". 1646 func FuncOffBrowserUpdateAvailable() (fn js.Func[func(callback js.Func[func()])]) { 1647 bindings.FuncOffBrowserUpdateAvailable( 1648 js.Pointer(&fn), 1649 ) 1650 return 1651 } 1652 1653 // OffBrowserUpdateAvailable calls the function "WEBEXT.runtime.onBrowserUpdateAvailable.removeListener" directly. 1654 func OffBrowserUpdateAvailable(callback js.Func[func()]) (ret js.Void) { 1655 bindings.CallOffBrowserUpdateAvailable( 1656 js.Pointer(&ret), 1657 callback.Ref(), 1658 ) 1659 1660 return 1661 } 1662 1663 // TryOffBrowserUpdateAvailable calls the function "WEBEXT.runtime.onBrowserUpdateAvailable.removeListener" 1664 // in a try/catch block and returns (_, err, ok = false) when it went through 1665 // the catch clause. 1666 func TryOffBrowserUpdateAvailable(callback js.Func[func()]) (ret js.Void, exception js.Any, ok bool) { 1667 ok = js.True == bindings.TryOffBrowserUpdateAvailable( 1668 js.Pointer(&ret), js.Pointer(&exception), 1669 callback.Ref(), 1670 ) 1671 1672 return 1673 } 1674 1675 // HasFuncHasOnBrowserUpdateAvailable returns true if the function "WEBEXT.runtime.onBrowserUpdateAvailable.hasListener" exists. 1676 func HasFuncHasOnBrowserUpdateAvailable() bool { 1677 return js.True == bindings.HasFuncHasOnBrowserUpdateAvailable() 1678 } 1679 1680 // FuncHasOnBrowserUpdateAvailable returns the function "WEBEXT.runtime.onBrowserUpdateAvailable.hasListener". 1681 func FuncHasOnBrowserUpdateAvailable() (fn js.Func[func(callback js.Func[func()]) bool]) { 1682 bindings.FuncHasOnBrowserUpdateAvailable( 1683 js.Pointer(&fn), 1684 ) 1685 return 1686 } 1687 1688 // HasOnBrowserUpdateAvailable calls the function "WEBEXT.runtime.onBrowserUpdateAvailable.hasListener" directly. 1689 func HasOnBrowserUpdateAvailable(callback js.Func[func()]) (ret bool) { 1690 bindings.CallHasOnBrowserUpdateAvailable( 1691 js.Pointer(&ret), 1692 callback.Ref(), 1693 ) 1694 1695 return 1696 } 1697 1698 // TryHasOnBrowserUpdateAvailable calls the function "WEBEXT.runtime.onBrowserUpdateAvailable.hasListener" 1699 // in a try/catch block and returns (_, err, ok = false) when it went through 1700 // the catch clause. 1701 func TryHasOnBrowserUpdateAvailable(callback js.Func[func()]) (ret bool, exception js.Any, ok bool) { 1702 ok = js.True == bindings.TryHasOnBrowserUpdateAvailable( 1703 js.Pointer(&ret), js.Pointer(&exception), 1704 callback.Ref(), 1705 ) 1706 1707 return 1708 } 1709 1710 type OnConnectEventCallbackFunc func(this js.Ref, port *Port) js.Ref 1711 1712 func (fn OnConnectEventCallbackFunc) Register() js.Func[func(port *Port)] { 1713 return js.RegisterCallback[func(port *Port)]( 1714 fn, abi.FuncPCABIInternal(fn), 1715 ) 1716 } 1717 1718 func (fn OnConnectEventCallbackFunc) DispatchCallback( 1719 targetPC uintptr, ctx *js.CallbackContext, 1720 ) { 1721 args := ctx.Args() 1722 if len(args) != 1+1 /* js this */ || 1723 targetPC != uintptr(abi.FuncPCABIInternal(fn)) { 1724 js.ThrowInvalidCallbackInvocation() 1725 } 1726 var arg0 Port 1727 arg0.UpdateFrom(args[0+1]) 1728 defer arg0.FreeMembers(true) 1729 1730 if ctx.Return(fn( 1731 args[0], 1732 1733 mark.NoEscape(&arg0), 1734 )) { 1735 return 1736 } 1737 1738 js.ThrowCallbackValueNotReturned() 1739 } 1740 1741 type OnConnectEventCallback[T any] struct { 1742 Fn func(arg T, this js.Ref, port *Port) js.Ref 1743 Arg T 1744 } 1745 1746 func (cb *OnConnectEventCallback[T]) Register() js.Func[func(port *Port)] { 1747 return js.RegisterCallback[func(port *Port)]( 1748 cb, abi.FuncPCABIInternal(cb.Fn), 1749 ) 1750 } 1751 1752 func (cb *OnConnectEventCallback[T]) DispatchCallback( 1753 targetPC uintptr, ctx *js.CallbackContext, 1754 ) { 1755 args := ctx.Args() 1756 if len(args) != 1+1 /* js this */ || 1757 targetPC != uintptr(abi.FuncPCABIInternal(cb.Fn)) { 1758 js.ThrowInvalidCallbackInvocation() 1759 } 1760 var arg0 Port 1761 arg0.UpdateFrom(args[0+1]) 1762 defer arg0.FreeMembers(true) 1763 1764 if ctx.Return(cb.Fn( 1765 cb.Arg, 1766 args[0], 1767 1768 mark.NoEscape(&arg0), 1769 )) { 1770 return 1771 } 1772 1773 js.ThrowCallbackValueNotReturned() 1774 } 1775 1776 // HasFuncOnConnect returns true if the function "WEBEXT.runtime.onConnect.addListener" exists. 1777 func HasFuncOnConnect() bool { 1778 return js.True == bindings.HasFuncOnConnect() 1779 } 1780 1781 // FuncOnConnect returns the function "WEBEXT.runtime.onConnect.addListener". 1782 func FuncOnConnect() (fn js.Func[func(callback js.Func[func(port *Port)])]) { 1783 bindings.FuncOnConnect( 1784 js.Pointer(&fn), 1785 ) 1786 return 1787 } 1788 1789 // OnConnect calls the function "WEBEXT.runtime.onConnect.addListener" directly. 1790 func OnConnect(callback js.Func[func(port *Port)]) (ret js.Void) { 1791 bindings.CallOnConnect( 1792 js.Pointer(&ret), 1793 callback.Ref(), 1794 ) 1795 1796 return 1797 } 1798 1799 // TryOnConnect calls the function "WEBEXT.runtime.onConnect.addListener" 1800 // in a try/catch block and returns (_, err, ok = false) when it went through 1801 // the catch clause. 1802 func TryOnConnect(callback js.Func[func(port *Port)]) (ret js.Void, exception js.Any, ok bool) { 1803 ok = js.True == bindings.TryOnConnect( 1804 js.Pointer(&ret), js.Pointer(&exception), 1805 callback.Ref(), 1806 ) 1807 1808 return 1809 } 1810 1811 // HasFuncOffConnect returns true if the function "WEBEXT.runtime.onConnect.removeListener" exists. 1812 func HasFuncOffConnect() bool { 1813 return js.True == bindings.HasFuncOffConnect() 1814 } 1815 1816 // FuncOffConnect returns the function "WEBEXT.runtime.onConnect.removeListener". 1817 func FuncOffConnect() (fn js.Func[func(callback js.Func[func(port *Port)])]) { 1818 bindings.FuncOffConnect( 1819 js.Pointer(&fn), 1820 ) 1821 return 1822 } 1823 1824 // OffConnect calls the function "WEBEXT.runtime.onConnect.removeListener" directly. 1825 func OffConnect(callback js.Func[func(port *Port)]) (ret js.Void) { 1826 bindings.CallOffConnect( 1827 js.Pointer(&ret), 1828 callback.Ref(), 1829 ) 1830 1831 return 1832 } 1833 1834 // TryOffConnect calls the function "WEBEXT.runtime.onConnect.removeListener" 1835 // in a try/catch block and returns (_, err, ok = false) when it went through 1836 // the catch clause. 1837 func TryOffConnect(callback js.Func[func(port *Port)]) (ret js.Void, exception js.Any, ok bool) { 1838 ok = js.True == bindings.TryOffConnect( 1839 js.Pointer(&ret), js.Pointer(&exception), 1840 callback.Ref(), 1841 ) 1842 1843 return 1844 } 1845 1846 // HasFuncHasOnConnect returns true if the function "WEBEXT.runtime.onConnect.hasListener" exists. 1847 func HasFuncHasOnConnect() bool { 1848 return js.True == bindings.HasFuncHasOnConnect() 1849 } 1850 1851 // FuncHasOnConnect returns the function "WEBEXT.runtime.onConnect.hasListener". 1852 func FuncHasOnConnect() (fn js.Func[func(callback js.Func[func(port *Port)]) bool]) { 1853 bindings.FuncHasOnConnect( 1854 js.Pointer(&fn), 1855 ) 1856 return 1857 } 1858 1859 // HasOnConnect calls the function "WEBEXT.runtime.onConnect.hasListener" directly. 1860 func HasOnConnect(callback js.Func[func(port *Port)]) (ret bool) { 1861 bindings.CallHasOnConnect( 1862 js.Pointer(&ret), 1863 callback.Ref(), 1864 ) 1865 1866 return 1867 } 1868 1869 // TryHasOnConnect calls the function "WEBEXT.runtime.onConnect.hasListener" 1870 // in a try/catch block and returns (_, err, ok = false) when it went through 1871 // the catch clause. 1872 func TryHasOnConnect(callback js.Func[func(port *Port)]) (ret bool, exception js.Any, ok bool) { 1873 ok = js.True == bindings.TryHasOnConnect( 1874 js.Pointer(&ret), js.Pointer(&exception), 1875 callback.Ref(), 1876 ) 1877 1878 return 1879 } 1880 1881 type OnConnectExternalEventCallbackFunc func(this js.Ref, port *Port) js.Ref 1882 1883 func (fn OnConnectExternalEventCallbackFunc) Register() js.Func[func(port *Port)] { 1884 return js.RegisterCallback[func(port *Port)]( 1885 fn, abi.FuncPCABIInternal(fn), 1886 ) 1887 } 1888 1889 func (fn OnConnectExternalEventCallbackFunc) DispatchCallback( 1890 targetPC uintptr, ctx *js.CallbackContext, 1891 ) { 1892 args := ctx.Args() 1893 if len(args) != 1+1 /* js this */ || 1894 targetPC != uintptr(abi.FuncPCABIInternal(fn)) { 1895 js.ThrowInvalidCallbackInvocation() 1896 } 1897 var arg0 Port 1898 arg0.UpdateFrom(args[0+1]) 1899 defer arg0.FreeMembers(true) 1900 1901 if ctx.Return(fn( 1902 args[0], 1903 1904 mark.NoEscape(&arg0), 1905 )) { 1906 return 1907 } 1908 1909 js.ThrowCallbackValueNotReturned() 1910 } 1911 1912 type OnConnectExternalEventCallback[T any] struct { 1913 Fn func(arg T, this js.Ref, port *Port) js.Ref 1914 Arg T 1915 } 1916 1917 func (cb *OnConnectExternalEventCallback[T]) Register() js.Func[func(port *Port)] { 1918 return js.RegisterCallback[func(port *Port)]( 1919 cb, abi.FuncPCABIInternal(cb.Fn), 1920 ) 1921 } 1922 1923 func (cb *OnConnectExternalEventCallback[T]) DispatchCallback( 1924 targetPC uintptr, ctx *js.CallbackContext, 1925 ) { 1926 args := ctx.Args() 1927 if len(args) != 1+1 /* js this */ || 1928 targetPC != uintptr(abi.FuncPCABIInternal(cb.Fn)) { 1929 js.ThrowInvalidCallbackInvocation() 1930 } 1931 var arg0 Port 1932 arg0.UpdateFrom(args[0+1]) 1933 defer arg0.FreeMembers(true) 1934 1935 if ctx.Return(cb.Fn( 1936 cb.Arg, 1937 args[0], 1938 1939 mark.NoEscape(&arg0), 1940 )) { 1941 return 1942 } 1943 1944 js.ThrowCallbackValueNotReturned() 1945 } 1946 1947 // HasFuncOnConnectExternal returns true if the function "WEBEXT.runtime.onConnectExternal.addListener" exists. 1948 func HasFuncOnConnectExternal() bool { 1949 return js.True == bindings.HasFuncOnConnectExternal() 1950 } 1951 1952 // FuncOnConnectExternal returns the function "WEBEXT.runtime.onConnectExternal.addListener". 1953 func FuncOnConnectExternal() (fn js.Func[func(callback js.Func[func(port *Port)])]) { 1954 bindings.FuncOnConnectExternal( 1955 js.Pointer(&fn), 1956 ) 1957 return 1958 } 1959 1960 // OnConnectExternal calls the function "WEBEXT.runtime.onConnectExternal.addListener" directly. 1961 func OnConnectExternal(callback js.Func[func(port *Port)]) (ret js.Void) { 1962 bindings.CallOnConnectExternal( 1963 js.Pointer(&ret), 1964 callback.Ref(), 1965 ) 1966 1967 return 1968 } 1969 1970 // TryOnConnectExternal calls the function "WEBEXT.runtime.onConnectExternal.addListener" 1971 // in a try/catch block and returns (_, err, ok = false) when it went through 1972 // the catch clause. 1973 func TryOnConnectExternal(callback js.Func[func(port *Port)]) (ret js.Void, exception js.Any, ok bool) { 1974 ok = js.True == bindings.TryOnConnectExternal( 1975 js.Pointer(&ret), js.Pointer(&exception), 1976 callback.Ref(), 1977 ) 1978 1979 return 1980 } 1981 1982 // HasFuncOffConnectExternal returns true if the function "WEBEXT.runtime.onConnectExternal.removeListener" exists. 1983 func HasFuncOffConnectExternal() bool { 1984 return js.True == bindings.HasFuncOffConnectExternal() 1985 } 1986 1987 // FuncOffConnectExternal returns the function "WEBEXT.runtime.onConnectExternal.removeListener". 1988 func FuncOffConnectExternal() (fn js.Func[func(callback js.Func[func(port *Port)])]) { 1989 bindings.FuncOffConnectExternal( 1990 js.Pointer(&fn), 1991 ) 1992 return 1993 } 1994 1995 // OffConnectExternal calls the function "WEBEXT.runtime.onConnectExternal.removeListener" directly. 1996 func OffConnectExternal(callback js.Func[func(port *Port)]) (ret js.Void) { 1997 bindings.CallOffConnectExternal( 1998 js.Pointer(&ret), 1999 callback.Ref(), 2000 ) 2001 2002 return 2003 } 2004 2005 // TryOffConnectExternal calls the function "WEBEXT.runtime.onConnectExternal.removeListener" 2006 // in a try/catch block and returns (_, err, ok = false) when it went through 2007 // the catch clause. 2008 func TryOffConnectExternal(callback js.Func[func(port *Port)]) (ret js.Void, exception js.Any, ok bool) { 2009 ok = js.True == bindings.TryOffConnectExternal( 2010 js.Pointer(&ret), js.Pointer(&exception), 2011 callback.Ref(), 2012 ) 2013 2014 return 2015 } 2016 2017 // HasFuncHasOnConnectExternal returns true if the function "WEBEXT.runtime.onConnectExternal.hasListener" exists. 2018 func HasFuncHasOnConnectExternal() bool { 2019 return js.True == bindings.HasFuncHasOnConnectExternal() 2020 } 2021 2022 // FuncHasOnConnectExternal returns the function "WEBEXT.runtime.onConnectExternal.hasListener". 2023 func FuncHasOnConnectExternal() (fn js.Func[func(callback js.Func[func(port *Port)]) bool]) { 2024 bindings.FuncHasOnConnectExternal( 2025 js.Pointer(&fn), 2026 ) 2027 return 2028 } 2029 2030 // HasOnConnectExternal calls the function "WEBEXT.runtime.onConnectExternal.hasListener" directly. 2031 func HasOnConnectExternal(callback js.Func[func(port *Port)]) (ret bool) { 2032 bindings.CallHasOnConnectExternal( 2033 js.Pointer(&ret), 2034 callback.Ref(), 2035 ) 2036 2037 return 2038 } 2039 2040 // TryHasOnConnectExternal calls the function "WEBEXT.runtime.onConnectExternal.hasListener" 2041 // in a try/catch block and returns (_, err, ok = false) when it went through 2042 // the catch clause. 2043 func TryHasOnConnectExternal(callback js.Func[func(port *Port)]) (ret bool, exception js.Any, ok bool) { 2044 ok = js.True == bindings.TryHasOnConnectExternal( 2045 js.Pointer(&ret), js.Pointer(&exception), 2046 callback.Ref(), 2047 ) 2048 2049 return 2050 } 2051 2052 type OnConnectNativeEventCallbackFunc func(this js.Ref, port *Port) js.Ref 2053 2054 func (fn OnConnectNativeEventCallbackFunc) Register() js.Func[func(port *Port)] { 2055 return js.RegisterCallback[func(port *Port)]( 2056 fn, abi.FuncPCABIInternal(fn), 2057 ) 2058 } 2059 2060 func (fn OnConnectNativeEventCallbackFunc) DispatchCallback( 2061 targetPC uintptr, ctx *js.CallbackContext, 2062 ) { 2063 args := ctx.Args() 2064 if len(args) != 1+1 /* js this */ || 2065 targetPC != uintptr(abi.FuncPCABIInternal(fn)) { 2066 js.ThrowInvalidCallbackInvocation() 2067 } 2068 var arg0 Port 2069 arg0.UpdateFrom(args[0+1]) 2070 defer arg0.FreeMembers(true) 2071 2072 if ctx.Return(fn( 2073 args[0], 2074 2075 mark.NoEscape(&arg0), 2076 )) { 2077 return 2078 } 2079 2080 js.ThrowCallbackValueNotReturned() 2081 } 2082 2083 type OnConnectNativeEventCallback[T any] struct { 2084 Fn func(arg T, this js.Ref, port *Port) js.Ref 2085 Arg T 2086 } 2087 2088 func (cb *OnConnectNativeEventCallback[T]) Register() js.Func[func(port *Port)] { 2089 return js.RegisterCallback[func(port *Port)]( 2090 cb, abi.FuncPCABIInternal(cb.Fn), 2091 ) 2092 } 2093 2094 func (cb *OnConnectNativeEventCallback[T]) DispatchCallback( 2095 targetPC uintptr, ctx *js.CallbackContext, 2096 ) { 2097 args := ctx.Args() 2098 if len(args) != 1+1 /* js this */ || 2099 targetPC != uintptr(abi.FuncPCABIInternal(cb.Fn)) { 2100 js.ThrowInvalidCallbackInvocation() 2101 } 2102 var arg0 Port 2103 arg0.UpdateFrom(args[0+1]) 2104 defer arg0.FreeMembers(true) 2105 2106 if ctx.Return(cb.Fn( 2107 cb.Arg, 2108 args[0], 2109 2110 mark.NoEscape(&arg0), 2111 )) { 2112 return 2113 } 2114 2115 js.ThrowCallbackValueNotReturned() 2116 } 2117 2118 // HasFuncOnConnectNative returns true if the function "WEBEXT.runtime.onConnectNative.addListener" exists. 2119 func HasFuncOnConnectNative() bool { 2120 return js.True == bindings.HasFuncOnConnectNative() 2121 } 2122 2123 // FuncOnConnectNative returns the function "WEBEXT.runtime.onConnectNative.addListener". 2124 func FuncOnConnectNative() (fn js.Func[func(callback js.Func[func(port *Port)])]) { 2125 bindings.FuncOnConnectNative( 2126 js.Pointer(&fn), 2127 ) 2128 return 2129 } 2130 2131 // OnConnectNative calls the function "WEBEXT.runtime.onConnectNative.addListener" directly. 2132 func OnConnectNative(callback js.Func[func(port *Port)]) (ret js.Void) { 2133 bindings.CallOnConnectNative( 2134 js.Pointer(&ret), 2135 callback.Ref(), 2136 ) 2137 2138 return 2139 } 2140 2141 // TryOnConnectNative calls the function "WEBEXT.runtime.onConnectNative.addListener" 2142 // in a try/catch block and returns (_, err, ok = false) when it went through 2143 // the catch clause. 2144 func TryOnConnectNative(callback js.Func[func(port *Port)]) (ret js.Void, exception js.Any, ok bool) { 2145 ok = js.True == bindings.TryOnConnectNative( 2146 js.Pointer(&ret), js.Pointer(&exception), 2147 callback.Ref(), 2148 ) 2149 2150 return 2151 } 2152 2153 // HasFuncOffConnectNative returns true if the function "WEBEXT.runtime.onConnectNative.removeListener" exists. 2154 func HasFuncOffConnectNative() bool { 2155 return js.True == bindings.HasFuncOffConnectNative() 2156 } 2157 2158 // FuncOffConnectNative returns the function "WEBEXT.runtime.onConnectNative.removeListener". 2159 func FuncOffConnectNative() (fn js.Func[func(callback js.Func[func(port *Port)])]) { 2160 bindings.FuncOffConnectNative( 2161 js.Pointer(&fn), 2162 ) 2163 return 2164 } 2165 2166 // OffConnectNative calls the function "WEBEXT.runtime.onConnectNative.removeListener" directly. 2167 func OffConnectNative(callback js.Func[func(port *Port)]) (ret js.Void) { 2168 bindings.CallOffConnectNative( 2169 js.Pointer(&ret), 2170 callback.Ref(), 2171 ) 2172 2173 return 2174 } 2175 2176 // TryOffConnectNative calls the function "WEBEXT.runtime.onConnectNative.removeListener" 2177 // in a try/catch block and returns (_, err, ok = false) when it went through 2178 // the catch clause. 2179 func TryOffConnectNative(callback js.Func[func(port *Port)]) (ret js.Void, exception js.Any, ok bool) { 2180 ok = js.True == bindings.TryOffConnectNative( 2181 js.Pointer(&ret), js.Pointer(&exception), 2182 callback.Ref(), 2183 ) 2184 2185 return 2186 } 2187 2188 // HasFuncHasOnConnectNative returns true if the function "WEBEXT.runtime.onConnectNative.hasListener" exists. 2189 func HasFuncHasOnConnectNative() bool { 2190 return js.True == bindings.HasFuncHasOnConnectNative() 2191 } 2192 2193 // FuncHasOnConnectNative returns the function "WEBEXT.runtime.onConnectNative.hasListener". 2194 func FuncHasOnConnectNative() (fn js.Func[func(callback js.Func[func(port *Port)]) bool]) { 2195 bindings.FuncHasOnConnectNative( 2196 js.Pointer(&fn), 2197 ) 2198 return 2199 } 2200 2201 // HasOnConnectNative calls the function "WEBEXT.runtime.onConnectNative.hasListener" directly. 2202 func HasOnConnectNative(callback js.Func[func(port *Port)]) (ret bool) { 2203 bindings.CallHasOnConnectNative( 2204 js.Pointer(&ret), 2205 callback.Ref(), 2206 ) 2207 2208 return 2209 } 2210 2211 // TryHasOnConnectNative calls the function "WEBEXT.runtime.onConnectNative.hasListener" 2212 // in a try/catch block and returns (_, err, ok = false) when it went through 2213 // the catch clause. 2214 func TryHasOnConnectNative(callback js.Func[func(port *Port)]) (ret bool, exception js.Any, ok bool) { 2215 ok = js.True == bindings.TryHasOnConnectNative( 2216 js.Pointer(&ret), js.Pointer(&exception), 2217 callback.Ref(), 2218 ) 2219 2220 return 2221 } 2222 2223 type OnInstalledEventCallbackFunc func(this js.Ref, details *OnInstalledArgDetails) js.Ref 2224 2225 func (fn OnInstalledEventCallbackFunc) Register() js.Func[func(details *OnInstalledArgDetails)] { 2226 return js.RegisterCallback[func(details *OnInstalledArgDetails)]( 2227 fn, abi.FuncPCABIInternal(fn), 2228 ) 2229 } 2230 2231 func (fn OnInstalledEventCallbackFunc) DispatchCallback( 2232 targetPC uintptr, ctx *js.CallbackContext, 2233 ) { 2234 args := ctx.Args() 2235 if len(args) != 1+1 /* js this */ || 2236 targetPC != uintptr(abi.FuncPCABIInternal(fn)) { 2237 js.ThrowInvalidCallbackInvocation() 2238 } 2239 var arg0 OnInstalledArgDetails 2240 arg0.UpdateFrom(args[0+1]) 2241 defer arg0.FreeMembers(true) 2242 2243 if ctx.Return(fn( 2244 args[0], 2245 2246 mark.NoEscape(&arg0), 2247 )) { 2248 return 2249 } 2250 2251 js.ThrowCallbackValueNotReturned() 2252 } 2253 2254 type OnInstalledEventCallback[T any] struct { 2255 Fn func(arg T, this js.Ref, details *OnInstalledArgDetails) js.Ref 2256 Arg T 2257 } 2258 2259 func (cb *OnInstalledEventCallback[T]) Register() js.Func[func(details *OnInstalledArgDetails)] { 2260 return js.RegisterCallback[func(details *OnInstalledArgDetails)]( 2261 cb, abi.FuncPCABIInternal(cb.Fn), 2262 ) 2263 } 2264 2265 func (cb *OnInstalledEventCallback[T]) DispatchCallback( 2266 targetPC uintptr, ctx *js.CallbackContext, 2267 ) { 2268 args := ctx.Args() 2269 if len(args) != 1+1 /* js this */ || 2270 targetPC != uintptr(abi.FuncPCABIInternal(cb.Fn)) { 2271 js.ThrowInvalidCallbackInvocation() 2272 } 2273 var arg0 OnInstalledArgDetails 2274 arg0.UpdateFrom(args[0+1]) 2275 defer arg0.FreeMembers(true) 2276 2277 if ctx.Return(cb.Fn( 2278 cb.Arg, 2279 args[0], 2280 2281 mark.NoEscape(&arg0), 2282 )) { 2283 return 2284 } 2285 2286 js.ThrowCallbackValueNotReturned() 2287 } 2288 2289 // HasFuncOnInstalled returns true if the function "WEBEXT.runtime.onInstalled.addListener" exists. 2290 func HasFuncOnInstalled() bool { 2291 return js.True == bindings.HasFuncOnInstalled() 2292 } 2293 2294 // FuncOnInstalled returns the function "WEBEXT.runtime.onInstalled.addListener". 2295 func FuncOnInstalled() (fn js.Func[func(callback js.Func[func(details *OnInstalledArgDetails)])]) { 2296 bindings.FuncOnInstalled( 2297 js.Pointer(&fn), 2298 ) 2299 return 2300 } 2301 2302 // OnInstalled calls the function "WEBEXT.runtime.onInstalled.addListener" directly. 2303 func OnInstalled(callback js.Func[func(details *OnInstalledArgDetails)]) (ret js.Void) { 2304 bindings.CallOnInstalled( 2305 js.Pointer(&ret), 2306 callback.Ref(), 2307 ) 2308 2309 return 2310 } 2311 2312 // TryOnInstalled calls the function "WEBEXT.runtime.onInstalled.addListener" 2313 // in a try/catch block and returns (_, err, ok = false) when it went through 2314 // the catch clause. 2315 func TryOnInstalled(callback js.Func[func(details *OnInstalledArgDetails)]) (ret js.Void, exception js.Any, ok bool) { 2316 ok = js.True == bindings.TryOnInstalled( 2317 js.Pointer(&ret), js.Pointer(&exception), 2318 callback.Ref(), 2319 ) 2320 2321 return 2322 } 2323 2324 // HasFuncOffInstalled returns true if the function "WEBEXT.runtime.onInstalled.removeListener" exists. 2325 func HasFuncOffInstalled() bool { 2326 return js.True == bindings.HasFuncOffInstalled() 2327 } 2328 2329 // FuncOffInstalled returns the function "WEBEXT.runtime.onInstalled.removeListener". 2330 func FuncOffInstalled() (fn js.Func[func(callback js.Func[func(details *OnInstalledArgDetails)])]) { 2331 bindings.FuncOffInstalled( 2332 js.Pointer(&fn), 2333 ) 2334 return 2335 } 2336 2337 // OffInstalled calls the function "WEBEXT.runtime.onInstalled.removeListener" directly. 2338 func OffInstalled(callback js.Func[func(details *OnInstalledArgDetails)]) (ret js.Void) { 2339 bindings.CallOffInstalled( 2340 js.Pointer(&ret), 2341 callback.Ref(), 2342 ) 2343 2344 return 2345 } 2346 2347 // TryOffInstalled calls the function "WEBEXT.runtime.onInstalled.removeListener" 2348 // in a try/catch block and returns (_, err, ok = false) when it went through 2349 // the catch clause. 2350 func TryOffInstalled(callback js.Func[func(details *OnInstalledArgDetails)]) (ret js.Void, exception js.Any, ok bool) { 2351 ok = js.True == bindings.TryOffInstalled( 2352 js.Pointer(&ret), js.Pointer(&exception), 2353 callback.Ref(), 2354 ) 2355 2356 return 2357 } 2358 2359 // HasFuncHasOnInstalled returns true if the function "WEBEXT.runtime.onInstalled.hasListener" exists. 2360 func HasFuncHasOnInstalled() bool { 2361 return js.True == bindings.HasFuncHasOnInstalled() 2362 } 2363 2364 // FuncHasOnInstalled returns the function "WEBEXT.runtime.onInstalled.hasListener". 2365 func FuncHasOnInstalled() (fn js.Func[func(callback js.Func[func(details *OnInstalledArgDetails)]) bool]) { 2366 bindings.FuncHasOnInstalled( 2367 js.Pointer(&fn), 2368 ) 2369 return 2370 } 2371 2372 // HasOnInstalled calls the function "WEBEXT.runtime.onInstalled.hasListener" directly. 2373 func HasOnInstalled(callback js.Func[func(details *OnInstalledArgDetails)]) (ret bool) { 2374 bindings.CallHasOnInstalled( 2375 js.Pointer(&ret), 2376 callback.Ref(), 2377 ) 2378 2379 return 2380 } 2381 2382 // TryHasOnInstalled calls the function "WEBEXT.runtime.onInstalled.hasListener" 2383 // in a try/catch block and returns (_, err, ok = false) when it went through 2384 // the catch clause. 2385 func TryHasOnInstalled(callback js.Func[func(details *OnInstalledArgDetails)]) (ret bool, exception js.Any, ok bool) { 2386 ok = js.True == bindings.TryHasOnInstalled( 2387 js.Pointer(&ret), js.Pointer(&exception), 2388 callback.Ref(), 2389 ) 2390 2391 return 2392 } 2393 2394 type OnMessageEventCallbackFunc func(this js.Ref, message js.Any, sender *MessageSender, sendResponse js.Func[func()]) js.Ref 2395 2396 func (fn OnMessageEventCallbackFunc) Register() js.Func[func(message js.Any, sender *MessageSender, sendResponse js.Func[func()]) bool] { 2397 return js.RegisterCallback[func(message js.Any, sender *MessageSender, sendResponse js.Func[func()]) bool]( 2398 fn, abi.FuncPCABIInternal(fn), 2399 ) 2400 } 2401 2402 func (fn OnMessageEventCallbackFunc) DispatchCallback( 2403 targetPC uintptr, ctx *js.CallbackContext, 2404 ) { 2405 args := ctx.Args() 2406 if len(args) != 3+1 /* js this */ || 2407 targetPC != uintptr(abi.FuncPCABIInternal(fn)) { 2408 js.ThrowInvalidCallbackInvocation() 2409 } 2410 var arg1 MessageSender 2411 arg1.UpdateFrom(args[1+1]) 2412 defer arg1.FreeMembers(true) 2413 2414 if ctx.Return(fn( 2415 args[0], 2416 2417 js.Any{}.FromRef(args[0+1]), 2418 mark.NoEscape(&arg1), 2419 js.Func[func()]{}.FromRef(args[2+1]), 2420 )) { 2421 return 2422 } 2423 2424 js.ThrowCallbackValueNotReturned() 2425 } 2426 2427 type OnMessageEventCallback[T any] struct { 2428 Fn func(arg T, this js.Ref, message js.Any, sender *MessageSender, sendResponse js.Func[func()]) js.Ref 2429 Arg T 2430 } 2431 2432 func (cb *OnMessageEventCallback[T]) Register() js.Func[func(message js.Any, sender *MessageSender, sendResponse js.Func[func()]) bool] { 2433 return js.RegisterCallback[func(message js.Any, sender *MessageSender, sendResponse js.Func[func()]) bool]( 2434 cb, abi.FuncPCABIInternal(cb.Fn), 2435 ) 2436 } 2437 2438 func (cb *OnMessageEventCallback[T]) DispatchCallback( 2439 targetPC uintptr, ctx *js.CallbackContext, 2440 ) { 2441 args := ctx.Args() 2442 if len(args) != 3+1 /* js this */ || 2443 targetPC != uintptr(abi.FuncPCABIInternal(cb.Fn)) { 2444 js.ThrowInvalidCallbackInvocation() 2445 } 2446 var arg1 MessageSender 2447 arg1.UpdateFrom(args[1+1]) 2448 defer arg1.FreeMembers(true) 2449 2450 if ctx.Return(cb.Fn( 2451 cb.Arg, 2452 args[0], 2453 2454 js.Any{}.FromRef(args[0+1]), 2455 mark.NoEscape(&arg1), 2456 js.Func[func()]{}.FromRef(args[2+1]), 2457 )) { 2458 return 2459 } 2460 2461 js.ThrowCallbackValueNotReturned() 2462 } 2463 2464 // HasFuncOnMessage returns true if the function "WEBEXT.runtime.onMessage.addListener" exists. 2465 func HasFuncOnMessage() bool { 2466 return js.True == bindings.HasFuncOnMessage() 2467 } 2468 2469 // FuncOnMessage returns the function "WEBEXT.runtime.onMessage.addListener". 2470 func FuncOnMessage() (fn js.Func[func(callback js.Func[func(message js.Any, sender *MessageSender, sendResponse js.Func[func()]) bool])]) { 2471 bindings.FuncOnMessage( 2472 js.Pointer(&fn), 2473 ) 2474 return 2475 } 2476 2477 // OnMessage calls the function "WEBEXT.runtime.onMessage.addListener" directly. 2478 func OnMessage(callback js.Func[func(message js.Any, sender *MessageSender, sendResponse js.Func[func()]) bool]) (ret js.Void) { 2479 bindings.CallOnMessage( 2480 js.Pointer(&ret), 2481 callback.Ref(), 2482 ) 2483 2484 return 2485 } 2486 2487 // TryOnMessage calls the function "WEBEXT.runtime.onMessage.addListener" 2488 // in a try/catch block and returns (_, err, ok = false) when it went through 2489 // the catch clause. 2490 func TryOnMessage(callback js.Func[func(message js.Any, sender *MessageSender, sendResponse js.Func[func()]) bool]) (ret js.Void, exception js.Any, ok bool) { 2491 ok = js.True == bindings.TryOnMessage( 2492 js.Pointer(&ret), js.Pointer(&exception), 2493 callback.Ref(), 2494 ) 2495 2496 return 2497 } 2498 2499 // HasFuncOffMessage returns true if the function "WEBEXT.runtime.onMessage.removeListener" exists. 2500 func HasFuncOffMessage() bool { 2501 return js.True == bindings.HasFuncOffMessage() 2502 } 2503 2504 // FuncOffMessage returns the function "WEBEXT.runtime.onMessage.removeListener". 2505 func FuncOffMessage() (fn js.Func[func(callback js.Func[func(message js.Any, sender *MessageSender, sendResponse js.Func[func()]) bool])]) { 2506 bindings.FuncOffMessage( 2507 js.Pointer(&fn), 2508 ) 2509 return 2510 } 2511 2512 // OffMessage calls the function "WEBEXT.runtime.onMessage.removeListener" directly. 2513 func OffMessage(callback js.Func[func(message js.Any, sender *MessageSender, sendResponse js.Func[func()]) bool]) (ret js.Void) { 2514 bindings.CallOffMessage( 2515 js.Pointer(&ret), 2516 callback.Ref(), 2517 ) 2518 2519 return 2520 } 2521 2522 // TryOffMessage calls the function "WEBEXT.runtime.onMessage.removeListener" 2523 // in a try/catch block and returns (_, err, ok = false) when it went through 2524 // the catch clause. 2525 func TryOffMessage(callback js.Func[func(message js.Any, sender *MessageSender, sendResponse js.Func[func()]) bool]) (ret js.Void, exception js.Any, ok bool) { 2526 ok = js.True == bindings.TryOffMessage( 2527 js.Pointer(&ret), js.Pointer(&exception), 2528 callback.Ref(), 2529 ) 2530 2531 return 2532 } 2533 2534 // HasFuncHasOnMessage returns true if the function "WEBEXT.runtime.onMessage.hasListener" exists. 2535 func HasFuncHasOnMessage() bool { 2536 return js.True == bindings.HasFuncHasOnMessage() 2537 } 2538 2539 // FuncHasOnMessage returns the function "WEBEXT.runtime.onMessage.hasListener". 2540 func FuncHasOnMessage() (fn js.Func[func(callback js.Func[func(message js.Any, sender *MessageSender, sendResponse js.Func[func()]) bool]) bool]) { 2541 bindings.FuncHasOnMessage( 2542 js.Pointer(&fn), 2543 ) 2544 return 2545 } 2546 2547 // HasOnMessage calls the function "WEBEXT.runtime.onMessage.hasListener" directly. 2548 func HasOnMessage(callback js.Func[func(message js.Any, sender *MessageSender, sendResponse js.Func[func()]) bool]) (ret bool) { 2549 bindings.CallHasOnMessage( 2550 js.Pointer(&ret), 2551 callback.Ref(), 2552 ) 2553 2554 return 2555 } 2556 2557 // TryHasOnMessage calls the function "WEBEXT.runtime.onMessage.hasListener" 2558 // in a try/catch block and returns (_, err, ok = false) when it went through 2559 // the catch clause. 2560 func TryHasOnMessage(callback js.Func[func(message js.Any, sender *MessageSender, sendResponse js.Func[func()]) bool]) (ret bool, exception js.Any, ok bool) { 2561 ok = js.True == bindings.TryHasOnMessage( 2562 js.Pointer(&ret), js.Pointer(&exception), 2563 callback.Ref(), 2564 ) 2565 2566 return 2567 } 2568 2569 type OnMessageExternalEventCallbackFunc func(this js.Ref, message js.Any, sender *MessageSender, sendResponse js.Func[func()]) js.Ref 2570 2571 func (fn OnMessageExternalEventCallbackFunc) Register() js.Func[func(message js.Any, sender *MessageSender, sendResponse js.Func[func()]) bool] { 2572 return js.RegisterCallback[func(message js.Any, sender *MessageSender, sendResponse js.Func[func()]) bool]( 2573 fn, abi.FuncPCABIInternal(fn), 2574 ) 2575 } 2576 2577 func (fn OnMessageExternalEventCallbackFunc) DispatchCallback( 2578 targetPC uintptr, ctx *js.CallbackContext, 2579 ) { 2580 args := ctx.Args() 2581 if len(args) != 3+1 /* js this */ || 2582 targetPC != uintptr(abi.FuncPCABIInternal(fn)) { 2583 js.ThrowInvalidCallbackInvocation() 2584 } 2585 var arg1 MessageSender 2586 arg1.UpdateFrom(args[1+1]) 2587 defer arg1.FreeMembers(true) 2588 2589 if ctx.Return(fn( 2590 args[0], 2591 2592 js.Any{}.FromRef(args[0+1]), 2593 mark.NoEscape(&arg1), 2594 js.Func[func()]{}.FromRef(args[2+1]), 2595 )) { 2596 return 2597 } 2598 2599 js.ThrowCallbackValueNotReturned() 2600 } 2601 2602 type OnMessageExternalEventCallback[T any] struct { 2603 Fn func(arg T, this js.Ref, message js.Any, sender *MessageSender, sendResponse js.Func[func()]) js.Ref 2604 Arg T 2605 } 2606 2607 func (cb *OnMessageExternalEventCallback[T]) Register() js.Func[func(message js.Any, sender *MessageSender, sendResponse js.Func[func()]) bool] { 2608 return js.RegisterCallback[func(message js.Any, sender *MessageSender, sendResponse js.Func[func()]) bool]( 2609 cb, abi.FuncPCABIInternal(cb.Fn), 2610 ) 2611 } 2612 2613 func (cb *OnMessageExternalEventCallback[T]) DispatchCallback( 2614 targetPC uintptr, ctx *js.CallbackContext, 2615 ) { 2616 args := ctx.Args() 2617 if len(args) != 3+1 /* js this */ || 2618 targetPC != uintptr(abi.FuncPCABIInternal(cb.Fn)) { 2619 js.ThrowInvalidCallbackInvocation() 2620 } 2621 var arg1 MessageSender 2622 arg1.UpdateFrom(args[1+1]) 2623 defer arg1.FreeMembers(true) 2624 2625 if ctx.Return(cb.Fn( 2626 cb.Arg, 2627 args[0], 2628 2629 js.Any{}.FromRef(args[0+1]), 2630 mark.NoEscape(&arg1), 2631 js.Func[func()]{}.FromRef(args[2+1]), 2632 )) { 2633 return 2634 } 2635 2636 js.ThrowCallbackValueNotReturned() 2637 } 2638 2639 // HasFuncOnMessageExternal returns true if the function "WEBEXT.runtime.onMessageExternal.addListener" exists. 2640 func HasFuncOnMessageExternal() bool { 2641 return js.True == bindings.HasFuncOnMessageExternal() 2642 } 2643 2644 // FuncOnMessageExternal returns the function "WEBEXT.runtime.onMessageExternal.addListener". 2645 func FuncOnMessageExternal() (fn js.Func[func(callback js.Func[func(message js.Any, sender *MessageSender, sendResponse js.Func[func()]) bool])]) { 2646 bindings.FuncOnMessageExternal( 2647 js.Pointer(&fn), 2648 ) 2649 return 2650 } 2651 2652 // OnMessageExternal calls the function "WEBEXT.runtime.onMessageExternal.addListener" directly. 2653 func OnMessageExternal(callback js.Func[func(message js.Any, sender *MessageSender, sendResponse js.Func[func()]) bool]) (ret js.Void) { 2654 bindings.CallOnMessageExternal( 2655 js.Pointer(&ret), 2656 callback.Ref(), 2657 ) 2658 2659 return 2660 } 2661 2662 // TryOnMessageExternal calls the function "WEBEXT.runtime.onMessageExternal.addListener" 2663 // in a try/catch block and returns (_, err, ok = false) when it went through 2664 // the catch clause. 2665 func TryOnMessageExternal(callback js.Func[func(message js.Any, sender *MessageSender, sendResponse js.Func[func()]) bool]) (ret js.Void, exception js.Any, ok bool) { 2666 ok = js.True == bindings.TryOnMessageExternal( 2667 js.Pointer(&ret), js.Pointer(&exception), 2668 callback.Ref(), 2669 ) 2670 2671 return 2672 } 2673 2674 // HasFuncOffMessageExternal returns true if the function "WEBEXT.runtime.onMessageExternal.removeListener" exists. 2675 func HasFuncOffMessageExternal() bool { 2676 return js.True == bindings.HasFuncOffMessageExternal() 2677 } 2678 2679 // FuncOffMessageExternal returns the function "WEBEXT.runtime.onMessageExternal.removeListener". 2680 func FuncOffMessageExternal() (fn js.Func[func(callback js.Func[func(message js.Any, sender *MessageSender, sendResponse js.Func[func()]) bool])]) { 2681 bindings.FuncOffMessageExternal( 2682 js.Pointer(&fn), 2683 ) 2684 return 2685 } 2686 2687 // OffMessageExternal calls the function "WEBEXT.runtime.onMessageExternal.removeListener" directly. 2688 func OffMessageExternal(callback js.Func[func(message js.Any, sender *MessageSender, sendResponse js.Func[func()]) bool]) (ret js.Void) { 2689 bindings.CallOffMessageExternal( 2690 js.Pointer(&ret), 2691 callback.Ref(), 2692 ) 2693 2694 return 2695 } 2696 2697 // TryOffMessageExternal calls the function "WEBEXT.runtime.onMessageExternal.removeListener" 2698 // in a try/catch block and returns (_, err, ok = false) when it went through 2699 // the catch clause. 2700 func TryOffMessageExternal(callback js.Func[func(message js.Any, sender *MessageSender, sendResponse js.Func[func()]) bool]) (ret js.Void, exception js.Any, ok bool) { 2701 ok = js.True == bindings.TryOffMessageExternal( 2702 js.Pointer(&ret), js.Pointer(&exception), 2703 callback.Ref(), 2704 ) 2705 2706 return 2707 } 2708 2709 // HasFuncHasOnMessageExternal returns true if the function "WEBEXT.runtime.onMessageExternal.hasListener" exists. 2710 func HasFuncHasOnMessageExternal() bool { 2711 return js.True == bindings.HasFuncHasOnMessageExternal() 2712 } 2713 2714 // FuncHasOnMessageExternal returns the function "WEBEXT.runtime.onMessageExternal.hasListener". 2715 func FuncHasOnMessageExternal() (fn js.Func[func(callback js.Func[func(message js.Any, sender *MessageSender, sendResponse js.Func[func()]) bool]) bool]) { 2716 bindings.FuncHasOnMessageExternal( 2717 js.Pointer(&fn), 2718 ) 2719 return 2720 } 2721 2722 // HasOnMessageExternal calls the function "WEBEXT.runtime.onMessageExternal.hasListener" directly. 2723 func HasOnMessageExternal(callback js.Func[func(message js.Any, sender *MessageSender, sendResponse js.Func[func()]) bool]) (ret bool) { 2724 bindings.CallHasOnMessageExternal( 2725 js.Pointer(&ret), 2726 callback.Ref(), 2727 ) 2728 2729 return 2730 } 2731 2732 // TryHasOnMessageExternal calls the function "WEBEXT.runtime.onMessageExternal.hasListener" 2733 // in a try/catch block and returns (_, err, ok = false) when it went through 2734 // the catch clause. 2735 func TryHasOnMessageExternal(callback js.Func[func(message js.Any, sender *MessageSender, sendResponse js.Func[func()]) bool]) (ret bool, exception js.Any, ok bool) { 2736 ok = js.True == bindings.TryHasOnMessageExternal( 2737 js.Pointer(&ret), js.Pointer(&exception), 2738 callback.Ref(), 2739 ) 2740 2741 return 2742 } 2743 2744 type OnRestartRequiredEventCallbackFunc func(this js.Ref, reason OnRestartRequiredReason) js.Ref 2745 2746 func (fn OnRestartRequiredEventCallbackFunc) Register() js.Func[func(reason OnRestartRequiredReason)] { 2747 return js.RegisterCallback[func(reason OnRestartRequiredReason)]( 2748 fn, abi.FuncPCABIInternal(fn), 2749 ) 2750 } 2751 2752 func (fn OnRestartRequiredEventCallbackFunc) DispatchCallback( 2753 targetPC uintptr, ctx *js.CallbackContext, 2754 ) { 2755 args := ctx.Args() 2756 if len(args) != 1+1 /* js this */ || 2757 targetPC != uintptr(abi.FuncPCABIInternal(fn)) { 2758 js.ThrowInvalidCallbackInvocation() 2759 } 2760 2761 if ctx.Return(fn( 2762 args[0], 2763 2764 OnRestartRequiredReason(0).FromRef(args[0+1]), 2765 )) { 2766 return 2767 } 2768 2769 js.ThrowCallbackValueNotReturned() 2770 } 2771 2772 type OnRestartRequiredEventCallback[T any] struct { 2773 Fn func(arg T, this js.Ref, reason OnRestartRequiredReason) js.Ref 2774 Arg T 2775 } 2776 2777 func (cb *OnRestartRequiredEventCallback[T]) Register() js.Func[func(reason OnRestartRequiredReason)] { 2778 return js.RegisterCallback[func(reason OnRestartRequiredReason)]( 2779 cb, abi.FuncPCABIInternal(cb.Fn), 2780 ) 2781 } 2782 2783 func (cb *OnRestartRequiredEventCallback[T]) DispatchCallback( 2784 targetPC uintptr, ctx *js.CallbackContext, 2785 ) { 2786 args := ctx.Args() 2787 if len(args) != 1+1 /* js this */ || 2788 targetPC != uintptr(abi.FuncPCABIInternal(cb.Fn)) { 2789 js.ThrowInvalidCallbackInvocation() 2790 } 2791 2792 if ctx.Return(cb.Fn( 2793 cb.Arg, 2794 args[0], 2795 2796 OnRestartRequiredReason(0).FromRef(args[0+1]), 2797 )) { 2798 return 2799 } 2800 2801 js.ThrowCallbackValueNotReturned() 2802 } 2803 2804 // HasFuncOnRestartRequired returns true if the function "WEBEXT.runtime.onRestartRequired.addListener" exists. 2805 func HasFuncOnRestartRequired() bool { 2806 return js.True == bindings.HasFuncOnRestartRequired() 2807 } 2808 2809 // FuncOnRestartRequired returns the function "WEBEXT.runtime.onRestartRequired.addListener". 2810 func FuncOnRestartRequired() (fn js.Func[func(callback js.Func[func(reason OnRestartRequiredReason)])]) { 2811 bindings.FuncOnRestartRequired( 2812 js.Pointer(&fn), 2813 ) 2814 return 2815 } 2816 2817 // OnRestartRequired calls the function "WEBEXT.runtime.onRestartRequired.addListener" directly. 2818 func OnRestartRequired(callback js.Func[func(reason OnRestartRequiredReason)]) (ret js.Void) { 2819 bindings.CallOnRestartRequired( 2820 js.Pointer(&ret), 2821 callback.Ref(), 2822 ) 2823 2824 return 2825 } 2826 2827 // TryOnRestartRequired calls the function "WEBEXT.runtime.onRestartRequired.addListener" 2828 // in a try/catch block and returns (_, err, ok = false) when it went through 2829 // the catch clause. 2830 func TryOnRestartRequired(callback js.Func[func(reason OnRestartRequiredReason)]) (ret js.Void, exception js.Any, ok bool) { 2831 ok = js.True == bindings.TryOnRestartRequired( 2832 js.Pointer(&ret), js.Pointer(&exception), 2833 callback.Ref(), 2834 ) 2835 2836 return 2837 } 2838 2839 // HasFuncOffRestartRequired returns true if the function "WEBEXT.runtime.onRestartRequired.removeListener" exists. 2840 func HasFuncOffRestartRequired() bool { 2841 return js.True == bindings.HasFuncOffRestartRequired() 2842 } 2843 2844 // FuncOffRestartRequired returns the function "WEBEXT.runtime.onRestartRequired.removeListener". 2845 func FuncOffRestartRequired() (fn js.Func[func(callback js.Func[func(reason OnRestartRequiredReason)])]) { 2846 bindings.FuncOffRestartRequired( 2847 js.Pointer(&fn), 2848 ) 2849 return 2850 } 2851 2852 // OffRestartRequired calls the function "WEBEXT.runtime.onRestartRequired.removeListener" directly. 2853 func OffRestartRequired(callback js.Func[func(reason OnRestartRequiredReason)]) (ret js.Void) { 2854 bindings.CallOffRestartRequired( 2855 js.Pointer(&ret), 2856 callback.Ref(), 2857 ) 2858 2859 return 2860 } 2861 2862 // TryOffRestartRequired calls the function "WEBEXT.runtime.onRestartRequired.removeListener" 2863 // in a try/catch block and returns (_, err, ok = false) when it went through 2864 // the catch clause. 2865 func TryOffRestartRequired(callback js.Func[func(reason OnRestartRequiredReason)]) (ret js.Void, exception js.Any, ok bool) { 2866 ok = js.True == bindings.TryOffRestartRequired( 2867 js.Pointer(&ret), js.Pointer(&exception), 2868 callback.Ref(), 2869 ) 2870 2871 return 2872 } 2873 2874 // HasFuncHasOnRestartRequired returns true if the function "WEBEXT.runtime.onRestartRequired.hasListener" exists. 2875 func HasFuncHasOnRestartRequired() bool { 2876 return js.True == bindings.HasFuncHasOnRestartRequired() 2877 } 2878 2879 // FuncHasOnRestartRequired returns the function "WEBEXT.runtime.onRestartRequired.hasListener". 2880 func FuncHasOnRestartRequired() (fn js.Func[func(callback js.Func[func(reason OnRestartRequiredReason)]) bool]) { 2881 bindings.FuncHasOnRestartRequired( 2882 js.Pointer(&fn), 2883 ) 2884 return 2885 } 2886 2887 // HasOnRestartRequired calls the function "WEBEXT.runtime.onRestartRequired.hasListener" directly. 2888 func HasOnRestartRequired(callback js.Func[func(reason OnRestartRequiredReason)]) (ret bool) { 2889 bindings.CallHasOnRestartRequired( 2890 js.Pointer(&ret), 2891 callback.Ref(), 2892 ) 2893 2894 return 2895 } 2896 2897 // TryHasOnRestartRequired calls the function "WEBEXT.runtime.onRestartRequired.hasListener" 2898 // in a try/catch block and returns (_, err, ok = false) when it went through 2899 // the catch clause. 2900 func TryHasOnRestartRequired(callback js.Func[func(reason OnRestartRequiredReason)]) (ret bool, exception js.Any, ok bool) { 2901 ok = js.True == bindings.TryHasOnRestartRequired( 2902 js.Pointer(&ret), js.Pointer(&exception), 2903 callback.Ref(), 2904 ) 2905 2906 return 2907 } 2908 2909 type OnStartupEventCallbackFunc func(this js.Ref) js.Ref 2910 2911 func (fn OnStartupEventCallbackFunc) Register() js.Func[func()] { 2912 return js.RegisterCallback[func()]( 2913 fn, abi.FuncPCABIInternal(fn), 2914 ) 2915 } 2916 2917 func (fn OnStartupEventCallbackFunc) DispatchCallback( 2918 targetPC uintptr, ctx *js.CallbackContext, 2919 ) { 2920 args := ctx.Args() 2921 if len(args) != 0+1 /* js this */ || 2922 targetPC != uintptr(abi.FuncPCABIInternal(fn)) { 2923 js.ThrowInvalidCallbackInvocation() 2924 } 2925 2926 if ctx.Return(fn( 2927 args[0], 2928 )) { 2929 return 2930 } 2931 2932 js.ThrowCallbackValueNotReturned() 2933 } 2934 2935 type OnStartupEventCallback[T any] struct { 2936 Fn func(arg T, this js.Ref) js.Ref 2937 Arg T 2938 } 2939 2940 func (cb *OnStartupEventCallback[T]) Register() js.Func[func()] { 2941 return js.RegisterCallback[func()]( 2942 cb, abi.FuncPCABIInternal(cb.Fn), 2943 ) 2944 } 2945 2946 func (cb *OnStartupEventCallback[T]) DispatchCallback( 2947 targetPC uintptr, ctx *js.CallbackContext, 2948 ) { 2949 args := ctx.Args() 2950 if len(args) != 0+1 /* js this */ || 2951 targetPC != uintptr(abi.FuncPCABIInternal(cb.Fn)) { 2952 js.ThrowInvalidCallbackInvocation() 2953 } 2954 2955 if ctx.Return(cb.Fn( 2956 cb.Arg, 2957 args[0], 2958 )) { 2959 return 2960 } 2961 2962 js.ThrowCallbackValueNotReturned() 2963 } 2964 2965 // HasFuncOnStartup returns true if the function "WEBEXT.runtime.onStartup.addListener" exists. 2966 func HasFuncOnStartup() bool { 2967 return js.True == bindings.HasFuncOnStartup() 2968 } 2969 2970 // FuncOnStartup returns the function "WEBEXT.runtime.onStartup.addListener". 2971 func FuncOnStartup() (fn js.Func[func(callback js.Func[func()])]) { 2972 bindings.FuncOnStartup( 2973 js.Pointer(&fn), 2974 ) 2975 return 2976 } 2977 2978 // OnStartup calls the function "WEBEXT.runtime.onStartup.addListener" directly. 2979 func OnStartup(callback js.Func[func()]) (ret js.Void) { 2980 bindings.CallOnStartup( 2981 js.Pointer(&ret), 2982 callback.Ref(), 2983 ) 2984 2985 return 2986 } 2987 2988 // TryOnStartup calls the function "WEBEXT.runtime.onStartup.addListener" 2989 // in a try/catch block and returns (_, err, ok = false) when it went through 2990 // the catch clause. 2991 func TryOnStartup(callback js.Func[func()]) (ret js.Void, exception js.Any, ok bool) { 2992 ok = js.True == bindings.TryOnStartup( 2993 js.Pointer(&ret), js.Pointer(&exception), 2994 callback.Ref(), 2995 ) 2996 2997 return 2998 } 2999 3000 // HasFuncOffStartup returns true if the function "WEBEXT.runtime.onStartup.removeListener" exists. 3001 func HasFuncOffStartup() bool { 3002 return js.True == bindings.HasFuncOffStartup() 3003 } 3004 3005 // FuncOffStartup returns the function "WEBEXT.runtime.onStartup.removeListener". 3006 func FuncOffStartup() (fn js.Func[func(callback js.Func[func()])]) { 3007 bindings.FuncOffStartup( 3008 js.Pointer(&fn), 3009 ) 3010 return 3011 } 3012 3013 // OffStartup calls the function "WEBEXT.runtime.onStartup.removeListener" directly. 3014 func OffStartup(callback js.Func[func()]) (ret js.Void) { 3015 bindings.CallOffStartup( 3016 js.Pointer(&ret), 3017 callback.Ref(), 3018 ) 3019 3020 return 3021 } 3022 3023 // TryOffStartup calls the function "WEBEXT.runtime.onStartup.removeListener" 3024 // in a try/catch block and returns (_, err, ok = false) when it went through 3025 // the catch clause. 3026 func TryOffStartup(callback js.Func[func()]) (ret js.Void, exception js.Any, ok bool) { 3027 ok = js.True == bindings.TryOffStartup( 3028 js.Pointer(&ret), js.Pointer(&exception), 3029 callback.Ref(), 3030 ) 3031 3032 return 3033 } 3034 3035 // HasFuncHasOnStartup returns true if the function "WEBEXT.runtime.onStartup.hasListener" exists. 3036 func HasFuncHasOnStartup() bool { 3037 return js.True == bindings.HasFuncHasOnStartup() 3038 } 3039 3040 // FuncHasOnStartup returns the function "WEBEXT.runtime.onStartup.hasListener". 3041 func FuncHasOnStartup() (fn js.Func[func(callback js.Func[func()]) bool]) { 3042 bindings.FuncHasOnStartup( 3043 js.Pointer(&fn), 3044 ) 3045 return 3046 } 3047 3048 // HasOnStartup calls the function "WEBEXT.runtime.onStartup.hasListener" directly. 3049 func HasOnStartup(callback js.Func[func()]) (ret bool) { 3050 bindings.CallHasOnStartup( 3051 js.Pointer(&ret), 3052 callback.Ref(), 3053 ) 3054 3055 return 3056 } 3057 3058 // TryHasOnStartup calls the function "WEBEXT.runtime.onStartup.hasListener" 3059 // in a try/catch block and returns (_, err, ok = false) when it went through 3060 // the catch clause. 3061 func TryHasOnStartup(callback js.Func[func()]) (ret bool, exception js.Any, ok bool) { 3062 ok = js.True == bindings.TryHasOnStartup( 3063 js.Pointer(&ret), js.Pointer(&exception), 3064 callback.Ref(), 3065 ) 3066 3067 return 3068 } 3069 3070 type OnSuspendEventCallbackFunc func(this js.Ref) js.Ref 3071 3072 func (fn OnSuspendEventCallbackFunc) Register() js.Func[func()] { 3073 return js.RegisterCallback[func()]( 3074 fn, abi.FuncPCABIInternal(fn), 3075 ) 3076 } 3077 3078 func (fn OnSuspendEventCallbackFunc) DispatchCallback( 3079 targetPC uintptr, ctx *js.CallbackContext, 3080 ) { 3081 args := ctx.Args() 3082 if len(args) != 0+1 /* js this */ || 3083 targetPC != uintptr(abi.FuncPCABIInternal(fn)) { 3084 js.ThrowInvalidCallbackInvocation() 3085 } 3086 3087 if ctx.Return(fn( 3088 args[0], 3089 )) { 3090 return 3091 } 3092 3093 js.ThrowCallbackValueNotReturned() 3094 } 3095 3096 type OnSuspendEventCallback[T any] struct { 3097 Fn func(arg T, this js.Ref) js.Ref 3098 Arg T 3099 } 3100 3101 func (cb *OnSuspendEventCallback[T]) Register() js.Func[func()] { 3102 return js.RegisterCallback[func()]( 3103 cb, abi.FuncPCABIInternal(cb.Fn), 3104 ) 3105 } 3106 3107 func (cb *OnSuspendEventCallback[T]) DispatchCallback( 3108 targetPC uintptr, ctx *js.CallbackContext, 3109 ) { 3110 args := ctx.Args() 3111 if len(args) != 0+1 /* js this */ || 3112 targetPC != uintptr(abi.FuncPCABIInternal(cb.Fn)) { 3113 js.ThrowInvalidCallbackInvocation() 3114 } 3115 3116 if ctx.Return(cb.Fn( 3117 cb.Arg, 3118 args[0], 3119 )) { 3120 return 3121 } 3122 3123 js.ThrowCallbackValueNotReturned() 3124 } 3125 3126 // HasFuncOnSuspend returns true if the function "WEBEXT.runtime.onSuspend.addListener" exists. 3127 func HasFuncOnSuspend() bool { 3128 return js.True == bindings.HasFuncOnSuspend() 3129 } 3130 3131 // FuncOnSuspend returns the function "WEBEXT.runtime.onSuspend.addListener". 3132 func FuncOnSuspend() (fn js.Func[func(callback js.Func[func()])]) { 3133 bindings.FuncOnSuspend( 3134 js.Pointer(&fn), 3135 ) 3136 return 3137 } 3138 3139 // OnSuspend calls the function "WEBEXT.runtime.onSuspend.addListener" directly. 3140 func OnSuspend(callback js.Func[func()]) (ret js.Void) { 3141 bindings.CallOnSuspend( 3142 js.Pointer(&ret), 3143 callback.Ref(), 3144 ) 3145 3146 return 3147 } 3148 3149 // TryOnSuspend calls the function "WEBEXT.runtime.onSuspend.addListener" 3150 // in a try/catch block and returns (_, err, ok = false) when it went through 3151 // the catch clause. 3152 func TryOnSuspend(callback js.Func[func()]) (ret js.Void, exception js.Any, ok bool) { 3153 ok = js.True == bindings.TryOnSuspend( 3154 js.Pointer(&ret), js.Pointer(&exception), 3155 callback.Ref(), 3156 ) 3157 3158 return 3159 } 3160 3161 // HasFuncOffSuspend returns true if the function "WEBEXT.runtime.onSuspend.removeListener" exists. 3162 func HasFuncOffSuspend() bool { 3163 return js.True == bindings.HasFuncOffSuspend() 3164 } 3165 3166 // FuncOffSuspend returns the function "WEBEXT.runtime.onSuspend.removeListener". 3167 func FuncOffSuspend() (fn js.Func[func(callback js.Func[func()])]) { 3168 bindings.FuncOffSuspend( 3169 js.Pointer(&fn), 3170 ) 3171 return 3172 } 3173 3174 // OffSuspend calls the function "WEBEXT.runtime.onSuspend.removeListener" directly. 3175 func OffSuspend(callback js.Func[func()]) (ret js.Void) { 3176 bindings.CallOffSuspend( 3177 js.Pointer(&ret), 3178 callback.Ref(), 3179 ) 3180 3181 return 3182 } 3183 3184 // TryOffSuspend calls the function "WEBEXT.runtime.onSuspend.removeListener" 3185 // in a try/catch block and returns (_, err, ok = false) when it went through 3186 // the catch clause. 3187 func TryOffSuspend(callback js.Func[func()]) (ret js.Void, exception js.Any, ok bool) { 3188 ok = js.True == bindings.TryOffSuspend( 3189 js.Pointer(&ret), js.Pointer(&exception), 3190 callback.Ref(), 3191 ) 3192 3193 return 3194 } 3195 3196 // HasFuncHasOnSuspend returns true if the function "WEBEXT.runtime.onSuspend.hasListener" exists. 3197 func HasFuncHasOnSuspend() bool { 3198 return js.True == bindings.HasFuncHasOnSuspend() 3199 } 3200 3201 // FuncHasOnSuspend returns the function "WEBEXT.runtime.onSuspend.hasListener". 3202 func FuncHasOnSuspend() (fn js.Func[func(callback js.Func[func()]) bool]) { 3203 bindings.FuncHasOnSuspend( 3204 js.Pointer(&fn), 3205 ) 3206 return 3207 } 3208 3209 // HasOnSuspend calls the function "WEBEXT.runtime.onSuspend.hasListener" directly. 3210 func HasOnSuspend(callback js.Func[func()]) (ret bool) { 3211 bindings.CallHasOnSuspend( 3212 js.Pointer(&ret), 3213 callback.Ref(), 3214 ) 3215 3216 return 3217 } 3218 3219 // TryHasOnSuspend calls the function "WEBEXT.runtime.onSuspend.hasListener" 3220 // in a try/catch block and returns (_, err, ok = false) when it went through 3221 // the catch clause. 3222 func TryHasOnSuspend(callback js.Func[func()]) (ret bool, exception js.Any, ok bool) { 3223 ok = js.True == bindings.TryHasOnSuspend( 3224 js.Pointer(&ret), js.Pointer(&exception), 3225 callback.Ref(), 3226 ) 3227 3228 return 3229 } 3230 3231 type OnSuspendCanceledEventCallbackFunc func(this js.Ref) js.Ref 3232 3233 func (fn OnSuspendCanceledEventCallbackFunc) Register() js.Func[func()] { 3234 return js.RegisterCallback[func()]( 3235 fn, abi.FuncPCABIInternal(fn), 3236 ) 3237 } 3238 3239 func (fn OnSuspendCanceledEventCallbackFunc) DispatchCallback( 3240 targetPC uintptr, ctx *js.CallbackContext, 3241 ) { 3242 args := ctx.Args() 3243 if len(args) != 0+1 /* js this */ || 3244 targetPC != uintptr(abi.FuncPCABIInternal(fn)) { 3245 js.ThrowInvalidCallbackInvocation() 3246 } 3247 3248 if ctx.Return(fn( 3249 args[0], 3250 )) { 3251 return 3252 } 3253 3254 js.ThrowCallbackValueNotReturned() 3255 } 3256 3257 type OnSuspendCanceledEventCallback[T any] struct { 3258 Fn func(arg T, this js.Ref) js.Ref 3259 Arg T 3260 } 3261 3262 func (cb *OnSuspendCanceledEventCallback[T]) Register() js.Func[func()] { 3263 return js.RegisterCallback[func()]( 3264 cb, abi.FuncPCABIInternal(cb.Fn), 3265 ) 3266 } 3267 3268 func (cb *OnSuspendCanceledEventCallback[T]) DispatchCallback( 3269 targetPC uintptr, ctx *js.CallbackContext, 3270 ) { 3271 args := ctx.Args() 3272 if len(args) != 0+1 /* js this */ || 3273 targetPC != uintptr(abi.FuncPCABIInternal(cb.Fn)) { 3274 js.ThrowInvalidCallbackInvocation() 3275 } 3276 3277 if ctx.Return(cb.Fn( 3278 cb.Arg, 3279 args[0], 3280 )) { 3281 return 3282 } 3283 3284 js.ThrowCallbackValueNotReturned() 3285 } 3286 3287 // HasFuncOnSuspendCanceled returns true if the function "WEBEXT.runtime.onSuspendCanceled.addListener" exists. 3288 func HasFuncOnSuspendCanceled() bool { 3289 return js.True == bindings.HasFuncOnSuspendCanceled() 3290 } 3291 3292 // FuncOnSuspendCanceled returns the function "WEBEXT.runtime.onSuspendCanceled.addListener". 3293 func FuncOnSuspendCanceled() (fn js.Func[func(callback js.Func[func()])]) { 3294 bindings.FuncOnSuspendCanceled( 3295 js.Pointer(&fn), 3296 ) 3297 return 3298 } 3299 3300 // OnSuspendCanceled calls the function "WEBEXT.runtime.onSuspendCanceled.addListener" directly. 3301 func OnSuspendCanceled(callback js.Func[func()]) (ret js.Void) { 3302 bindings.CallOnSuspendCanceled( 3303 js.Pointer(&ret), 3304 callback.Ref(), 3305 ) 3306 3307 return 3308 } 3309 3310 // TryOnSuspendCanceled calls the function "WEBEXT.runtime.onSuspendCanceled.addListener" 3311 // in a try/catch block and returns (_, err, ok = false) when it went through 3312 // the catch clause. 3313 func TryOnSuspendCanceled(callback js.Func[func()]) (ret js.Void, exception js.Any, ok bool) { 3314 ok = js.True == bindings.TryOnSuspendCanceled( 3315 js.Pointer(&ret), js.Pointer(&exception), 3316 callback.Ref(), 3317 ) 3318 3319 return 3320 } 3321 3322 // HasFuncOffSuspendCanceled returns true if the function "WEBEXT.runtime.onSuspendCanceled.removeListener" exists. 3323 func HasFuncOffSuspendCanceled() bool { 3324 return js.True == bindings.HasFuncOffSuspendCanceled() 3325 } 3326 3327 // FuncOffSuspendCanceled returns the function "WEBEXT.runtime.onSuspendCanceled.removeListener". 3328 func FuncOffSuspendCanceled() (fn js.Func[func(callback js.Func[func()])]) { 3329 bindings.FuncOffSuspendCanceled( 3330 js.Pointer(&fn), 3331 ) 3332 return 3333 } 3334 3335 // OffSuspendCanceled calls the function "WEBEXT.runtime.onSuspendCanceled.removeListener" directly. 3336 func OffSuspendCanceled(callback js.Func[func()]) (ret js.Void) { 3337 bindings.CallOffSuspendCanceled( 3338 js.Pointer(&ret), 3339 callback.Ref(), 3340 ) 3341 3342 return 3343 } 3344 3345 // TryOffSuspendCanceled calls the function "WEBEXT.runtime.onSuspendCanceled.removeListener" 3346 // in a try/catch block and returns (_, err, ok = false) when it went through 3347 // the catch clause. 3348 func TryOffSuspendCanceled(callback js.Func[func()]) (ret js.Void, exception js.Any, ok bool) { 3349 ok = js.True == bindings.TryOffSuspendCanceled( 3350 js.Pointer(&ret), js.Pointer(&exception), 3351 callback.Ref(), 3352 ) 3353 3354 return 3355 } 3356 3357 // HasFuncHasOnSuspendCanceled returns true if the function "WEBEXT.runtime.onSuspendCanceled.hasListener" exists. 3358 func HasFuncHasOnSuspendCanceled() bool { 3359 return js.True == bindings.HasFuncHasOnSuspendCanceled() 3360 } 3361 3362 // FuncHasOnSuspendCanceled returns the function "WEBEXT.runtime.onSuspendCanceled.hasListener". 3363 func FuncHasOnSuspendCanceled() (fn js.Func[func(callback js.Func[func()]) bool]) { 3364 bindings.FuncHasOnSuspendCanceled( 3365 js.Pointer(&fn), 3366 ) 3367 return 3368 } 3369 3370 // HasOnSuspendCanceled calls the function "WEBEXT.runtime.onSuspendCanceled.hasListener" directly. 3371 func HasOnSuspendCanceled(callback js.Func[func()]) (ret bool) { 3372 bindings.CallHasOnSuspendCanceled( 3373 js.Pointer(&ret), 3374 callback.Ref(), 3375 ) 3376 3377 return 3378 } 3379 3380 // TryHasOnSuspendCanceled calls the function "WEBEXT.runtime.onSuspendCanceled.hasListener" 3381 // in a try/catch block and returns (_, err, ok = false) when it went through 3382 // the catch clause. 3383 func TryHasOnSuspendCanceled(callback js.Func[func()]) (ret bool, exception js.Any, ok bool) { 3384 ok = js.True == bindings.TryHasOnSuspendCanceled( 3385 js.Pointer(&ret), js.Pointer(&exception), 3386 callback.Ref(), 3387 ) 3388 3389 return 3390 } 3391 3392 type OnUpdateAvailableEventCallbackFunc func(this js.Ref, details js.Any) js.Ref 3393 3394 func (fn OnUpdateAvailableEventCallbackFunc) Register() js.Func[func(details js.Any)] { 3395 return js.RegisterCallback[func(details js.Any)]( 3396 fn, abi.FuncPCABIInternal(fn), 3397 ) 3398 } 3399 3400 func (fn OnUpdateAvailableEventCallbackFunc) DispatchCallback( 3401 targetPC uintptr, ctx *js.CallbackContext, 3402 ) { 3403 args := ctx.Args() 3404 if len(args) != 1+1 /* js this */ || 3405 targetPC != uintptr(abi.FuncPCABIInternal(fn)) { 3406 js.ThrowInvalidCallbackInvocation() 3407 } 3408 3409 if ctx.Return(fn( 3410 args[0], 3411 3412 js.Any{}.FromRef(args[0+1]), 3413 )) { 3414 return 3415 } 3416 3417 js.ThrowCallbackValueNotReturned() 3418 } 3419 3420 type OnUpdateAvailableEventCallback[T any] struct { 3421 Fn func(arg T, this js.Ref, details js.Any) js.Ref 3422 Arg T 3423 } 3424 3425 func (cb *OnUpdateAvailableEventCallback[T]) Register() js.Func[func(details js.Any)] { 3426 return js.RegisterCallback[func(details js.Any)]( 3427 cb, abi.FuncPCABIInternal(cb.Fn), 3428 ) 3429 } 3430 3431 func (cb *OnUpdateAvailableEventCallback[T]) DispatchCallback( 3432 targetPC uintptr, ctx *js.CallbackContext, 3433 ) { 3434 args := ctx.Args() 3435 if len(args) != 1+1 /* js this */ || 3436 targetPC != uintptr(abi.FuncPCABIInternal(cb.Fn)) { 3437 js.ThrowInvalidCallbackInvocation() 3438 } 3439 3440 if ctx.Return(cb.Fn( 3441 cb.Arg, 3442 args[0], 3443 3444 js.Any{}.FromRef(args[0+1]), 3445 )) { 3446 return 3447 } 3448 3449 js.ThrowCallbackValueNotReturned() 3450 } 3451 3452 // HasFuncOnUpdateAvailable returns true if the function "WEBEXT.runtime.onUpdateAvailable.addListener" exists. 3453 func HasFuncOnUpdateAvailable() bool { 3454 return js.True == bindings.HasFuncOnUpdateAvailable() 3455 } 3456 3457 // FuncOnUpdateAvailable returns the function "WEBEXT.runtime.onUpdateAvailable.addListener". 3458 func FuncOnUpdateAvailable() (fn js.Func[func(callback js.Func[func(details js.Any)])]) { 3459 bindings.FuncOnUpdateAvailable( 3460 js.Pointer(&fn), 3461 ) 3462 return 3463 } 3464 3465 // OnUpdateAvailable calls the function "WEBEXT.runtime.onUpdateAvailable.addListener" directly. 3466 func OnUpdateAvailable(callback js.Func[func(details js.Any)]) (ret js.Void) { 3467 bindings.CallOnUpdateAvailable( 3468 js.Pointer(&ret), 3469 callback.Ref(), 3470 ) 3471 3472 return 3473 } 3474 3475 // TryOnUpdateAvailable calls the function "WEBEXT.runtime.onUpdateAvailable.addListener" 3476 // in a try/catch block and returns (_, err, ok = false) when it went through 3477 // the catch clause. 3478 func TryOnUpdateAvailable(callback js.Func[func(details js.Any)]) (ret js.Void, exception js.Any, ok bool) { 3479 ok = js.True == bindings.TryOnUpdateAvailable( 3480 js.Pointer(&ret), js.Pointer(&exception), 3481 callback.Ref(), 3482 ) 3483 3484 return 3485 } 3486 3487 // HasFuncOffUpdateAvailable returns true if the function "WEBEXT.runtime.onUpdateAvailable.removeListener" exists. 3488 func HasFuncOffUpdateAvailable() bool { 3489 return js.True == bindings.HasFuncOffUpdateAvailable() 3490 } 3491 3492 // FuncOffUpdateAvailable returns the function "WEBEXT.runtime.onUpdateAvailable.removeListener". 3493 func FuncOffUpdateAvailable() (fn js.Func[func(callback js.Func[func(details js.Any)])]) { 3494 bindings.FuncOffUpdateAvailable( 3495 js.Pointer(&fn), 3496 ) 3497 return 3498 } 3499 3500 // OffUpdateAvailable calls the function "WEBEXT.runtime.onUpdateAvailable.removeListener" directly. 3501 func OffUpdateAvailable(callback js.Func[func(details js.Any)]) (ret js.Void) { 3502 bindings.CallOffUpdateAvailable( 3503 js.Pointer(&ret), 3504 callback.Ref(), 3505 ) 3506 3507 return 3508 } 3509 3510 // TryOffUpdateAvailable calls the function "WEBEXT.runtime.onUpdateAvailable.removeListener" 3511 // in a try/catch block and returns (_, err, ok = false) when it went through 3512 // the catch clause. 3513 func TryOffUpdateAvailable(callback js.Func[func(details js.Any)]) (ret js.Void, exception js.Any, ok bool) { 3514 ok = js.True == bindings.TryOffUpdateAvailable( 3515 js.Pointer(&ret), js.Pointer(&exception), 3516 callback.Ref(), 3517 ) 3518 3519 return 3520 } 3521 3522 // HasFuncHasOnUpdateAvailable returns true if the function "WEBEXT.runtime.onUpdateAvailable.hasListener" exists. 3523 func HasFuncHasOnUpdateAvailable() bool { 3524 return js.True == bindings.HasFuncHasOnUpdateAvailable() 3525 } 3526 3527 // FuncHasOnUpdateAvailable returns the function "WEBEXT.runtime.onUpdateAvailable.hasListener". 3528 func FuncHasOnUpdateAvailable() (fn js.Func[func(callback js.Func[func(details js.Any)]) bool]) { 3529 bindings.FuncHasOnUpdateAvailable( 3530 js.Pointer(&fn), 3531 ) 3532 return 3533 } 3534 3535 // HasOnUpdateAvailable calls the function "WEBEXT.runtime.onUpdateAvailable.hasListener" directly. 3536 func HasOnUpdateAvailable(callback js.Func[func(details js.Any)]) (ret bool) { 3537 bindings.CallHasOnUpdateAvailable( 3538 js.Pointer(&ret), 3539 callback.Ref(), 3540 ) 3541 3542 return 3543 } 3544 3545 // TryHasOnUpdateAvailable calls the function "WEBEXT.runtime.onUpdateAvailable.hasListener" 3546 // in a try/catch block and returns (_, err, ok = false) when it went through 3547 // the catch clause. 3548 func TryHasOnUpdateAvailable(callback js.Func[func(details js.Any)]) (ret bool, exception js.Any, ok bool) { 3549 ok = js.True == bindings.TryHasOnUpdateAvailable( 3550 js.Pointer(&ret), js.Pointer(&exception), 3551 callback.Ref(), 3552 ) 3553 3554 return 3555 } 3556 3557 type OnUserScriptConnectEventCallbackFunc func(this js.Ref, port *Port) js.Ref 3558 3559 func (fn OnUserScriptConnectEventCallbackFunc) Register() js.Func[func(port *Port)] { 3560 return js.RegisterCallback[func(port *Port)]( 3561 fn, abi.FuncPCABIInternal(fn), 3562 ) 3563 } 3564 3565 func (fn OnUserScriptConnectEventCallbackFunc) DispatchCallback( 3566 targetPC uintptr, ctx *js.CallbackContext, 3567 ) { 3568 args := ctx.Args() 3569 if len(args) != 1+1 /* js this */ || 3570 targetPC != uintptr(abi.FuncPCABIInternal(fn)) { 3571 js.ThrowInvalidCallbackInvocation() 3572 } 3573 var arg0 Port 3574 arg0.UpdateFrom(args[0+1]) 3575 defer arg0.FreeMembers(true) 3576 3577 if ctx.Return(fn( 3578 args[0], 3579 3580 mark.NoEscape(&arg0), 3581 )) { 3582 return 3583 } 3584 3585 js.ThrowCallbackValueNotReturned() 3586 } 3587 3588 type OnUserScriptConnectEventCallback[T any] struct { 3589 Fn func(arg T, this js.Ref, port *Port) js.Ref 3590 Arg T 3591 } 3592 3593 func (cb *OnUserScriptConnectEventCallback[T]) Register() js.Func[func(port *Port)] { 3594 return js.RegisterCallback[func(port *Port)]( 3595 cb, abi.FuncPCABIInternal(cb.Fn), 3596 ) 3597 } 3598 3599 func (cb *OnUserScriptConnectEventCallback[T]) DispatchCallback( 3600 targetPC uintptr, ctx *js.CallbackContext, 3601 ) { 3602 args := ctx.Args() 3603 if len(args) != 1+1 /* js this */ || 3604 targetPC != uintptr(abi.FuncPCABIInternal(cb.Fn)) { 3605 js.ThrowInvalidCallbackInvocation() 3606 } 3607 var arg0 Port 3608 arg0.UpdateFrom(args[0+1]) 3609 defer arg0.FreeMembers(true) 3610 3611 if ctx.Return(cb.Fn( 3612 cb.Arg, 3613 args[0], 3614 3615 mark.NoEscape(&arg0), 3616 )) { 3617 return 3618 } 3619 3620 js.ThrowCallbackValueNotReturned() 3621 } 3622 3623 // HasFuncOnUserScriptConnect returns true if the function "WEBEXT.runtime.onUserScriptConnect.addListener" exists. 3624 func HasFuncOnUserScriptConnect() bool { 3625 return js.True == bindings.HasFuncOnUserScriptConnect() 3626 } 3627 3628 // FuncOnUserScriptConnect returns the function "WEBEXT.runtime.onUserScriptConnect.addListener". 3629 func FuncOnUserScriptConnect() (fn js.Func[func(callback js.Func[func(port *Port)])]) { 3630 bindings.FuncOnUserScriptConnect( 3631 js.Pointer(&fn), 3632 ) 3633 return 3634 } 3635 3636 // OnUserScriptConnect calls the function "WEBEXT.runtime.onUserScriptConnect.addListener" directly. 3637 func OnUserScriptConnect(callback js.Func[func(port *Port)]) (ret js.Void) { 3638 bindings.CallOnUserScriptConnect( 3639 js.Pointer(&ret), 3640 callback.Ref(), 3641 ) 3642 3643 return 3644 } 3645 3646 // TryOnUserScriptConnect calls the function "WEBEXT.runtime.onUserScriptConnect.addListener" 3647 // in a try/catch block and returns (_, err, ok = false) when it went through 3648 // the catch clause. 3649 func TryOnUserScriptConnect(callback js.Func[func(port *Port)]) (ret js.Void, exception js.Any, ok bool) { 3650 ok = js.True == bindings.TryOnUserScriptConnect( 3651 js.Pointer(&ret), js.Pointer(&exception), 3652 callback.Ref(), 3653 ) 3654 3655 return 3656 } 3657 3658 // HasFuncOffUserScriptConnect returns true if the function "WEBEXT.runtime.onUserScriptConnect.removeListener" exists. 3659 func HasFuncOffUserScriptConnect() bool { 3660 return js.True == bindings.HasFuncOffUserScriptConnect() 3661 } 3662 3663 // FuncOffUserScriptConnect returns the function "WEBEXT.runtime.onUserScriptConnect.removeListener". 3664 func FuncOffUserScriptConnect() (fn js.Func[func(callback js.Func[func(port *Port)])]) { 3665 bindings.FuncOffUserScriptConnect( 3666 js.Pointer(&fn), 3667 ) 3668 return 3669 } 3670 3671 // OffUserScriptConnect calls the function "WEBEXT.runtime.onUserScriptConnect.removeListener" directly. 3672 func OffUserScriptConnect(callback js.Func[func(port *Port)]) (ret js.Void) { 3673 bindings.CallOffUserScriptConnect( 3674 js.Pointer(&ret), 3675 callback.Ref(), 3676 ) 3677 3678 return 3679 } 3680 3681 // TryOffUserScriptConnect calls the function "WEBEXT.runtime.onUserScriptConnect.removeListener" 3682 // in a try/catch block and returns (_, err, ok = false) when it went through 3683 // the catch clause. 3684 func TryOffUserScriptConnect(callback js.Func[func(port *Port)]) (ret js.Void, exception js.Any, ok bool) { 3685 ok = js.True == bindings.TryOffUserScriptConnect( 3686 js.Pointer(&ret), js.Pointer(&exception), 3687 callback.Ref(), 3688 ) 3689 3690 return 3691 } 3692 3693 // HasFuncHasOnUserScriptConnect returns true if the function "WEBEXT.runtime.onUserScriptConnect.hasListener" exists. 3694 func HasFuncHasOnUserScriptConnect() bool { 3695 return js.True == bindings.HasFuncHasOnUserScriptConnect() 3696 } 3697 3698 // FuncHasOnUserScriptConnect returns the function "WEBEXT.runtime.onUserScriptConnect.hasListener". 3699 func FuncHasOnUserScriptConnect() (fn js.Func[func(callback js.Func[func(port *Port)]) bool]) { 3700 bindings.FuncHasOnUserScriptConnect( 3701 js.Pointer(&fn), 3702 ) 3703 return 3704 } 3705 3706 // HasOnUserScriptConnect calls the function "WEBEXT.runtime.onUserScriptConnect.hasListener" directly. 3707 func HasOnUserScriptConnect(callback js.Func[func(port *Port)]) (ret bool) { 3708 bindings.CallHasOnUserScriptConnect( 3709 js.Pointer(&ret), 3710 callback.Ref(), 3711 ) 3712 3713 return 3714 } 3715 3716 // TryHasOnUserScriptConnect calls the function "WEBEXT.runtime.onUserScriptConnect.hasListener" 3717 // in a try/catch block and returns (_, err, ok = false) when it went through 3718 // the catch clause. 3719 func TryHasOnUserScriptConnect(callback js.Func[func(port *Port)]) (ret bool, exception js.Any, ok bool) { 3720 ok = js.True == bindings.TryHasOnUserScriptConnect( 3721 js.Pointer(&ret), js.Pointer(&exception), 3722 callback.Ref(), 3723 ) 3724 3725 return 3726 } 3727 3728 type OnUserScriptMessageEventCallbackFunc func(this js.Ref, message js.Any, sender *MessageSender, sendResponse js.Func[func()]) js.Ref 3729 3730 func (fn OnUserScriptMessageEventCallbackFunc) Register() js.Func[func(message js.Any, sender *MessageSender, sendResponse js.Func[func()]) bool] { 3731 return js.RegisterCallback[func(message js.Any, sender *MessageSender, sendResponse js.Func[func()]) bool]( 3732 fn, abi.FuncPCABIInternal(fn), 3733 ) 3734 } 3735 3736 func (fn OnUserScriptMessageEventCallbackFunc) DispatchCallback( 3737 targetPC uintptr, ctx *js.CallbackContext, 3738 ) { 3739 args := ctx.Args() 3740 if len(args) != 3+1 /* js this */ || 3741 targetPC != uintptr(abi.FuncPCABIInternal(fn)) { 3742 js.ThrowInvalidCallbackInvocation() 3743 } 3744 var arg1 MessageSender 3745 arg1.UpdateFrom(args[1+1]) 3746 defer arg1.FreeMembers(true) 3747 3748 if ctx.Return(fn( 3749 args[0], 3750 3751 js.Any{}.FromRef(args[0+1]), 3752 mark.NoEscape(&arg1), 3753 js.Func[func()]{}.FromRef(args[2+1]), 3754 )) { 3755 return 3756 } 3757 3758 js.ThrowCallbackValueNotReturned() 3759 } 3760 3761 type OnUserScriptMessageEventCallback[T any] struct { 3762 Fn func(arg T, this js.Ref, message js.Any, sender *MessageSender, sendResponse js.Func[func()]) js.Ref 3763 Arg T 3764 } 3765 3766 func (cb *OnUserScriptMessageEventCallback[T]) Register() js.Func[func(message js.Any, sender *MessageSender, sendResponse js.Func[func()]) bool] { 3767 return js.RegisterCallback[func(message js.Any, sender *MessageSender, sendResponse js.Func[func()]) bool]( 3768 cb, abi.FuncPCABIInternal(cb.Fn), 3769 ) 3770 } 3771 3772 func (cb *OnUserScriptMessageEventCallback[T]) DispatchCallback( 3773 targetPC uintptr, ctx *js.CallbackContext, 3774 ) { 3775 args := ctx.Args() 3776 if len(args) != 3+1 /* js this */ || 3777 targetPC != uintptr(abi.FuncPCABIInternal(cb.Fn)) { 3778 js.ThrowInvalidCallbackInvocation() 3779 } 3780 var arg1 MessageSender 3781 arg1.UpdateFrom(args[1+1]) 3782 defer arg1.FreeMembers(true) 3783 3784 if ctx.Return(cb.Fn( 3785 cb.Arg, 3786 args[0], 3787 3788 js.Any{}.FromRef(args[0+1]), 3789 mark.NoEscape(&arg1), 3790 js.Func[func()]{}.FromRef(args[2+1]), 3791 )) { 3792 return 3793 } 3794 3795 js.ThrowCallbackValueNotReturned() 3796 } 3797 3798 // HasFuncOnUserScriptMessage returns true if the function "WEBEXT.runtime.onUserScriptMessage.addListener" exists. 3799 func HasFuncOnUserScriptMessage() bool { 3800 return js.True == bindings.HasFuncOnUserScriptMessage() 3801 } 3802 3803 // FuncOnUserScriptMessage returns the function "WEBEXT.runtime.onUserScriptMessage.addListener". 3804 func FuncOnUserScriptMessage() (fn js.Func[func(callback js.Func[func(message js.Any, sender *MessageSender, sendResponse js.Func[func()]) bool])]) { 3805 bindings.FuncOnUserScriptMessage( 3806 js.Pointer(&fn), 3807 ) 3808 return 3809 } 3810 3811 // OnUserScriptMessage calls the function "WEBEXT.runtime.onUserScriptMessage.addListener" directly. 3812 func OnUserScriptMessage(callback js.Func[func(message js.Any, sender *MessageSender, sendResponse js.Func[func()]) bool]) (ret js.Void) { 3813 bindings.CallOnUserScriptMessage( 3814 js.Pointer(&ret), 3815 callback.Ref(), 3816 ) 3817 3818 return 3819 } 3820 3821 // TryOnUserScriptMessage calls the function "WEBEXT.runtime.onUserScriptMessage.addListener" 3822 // in a try/catch block and returns (_, err, ok = false) when it went through 3823 // the catch clause. 3824 func TryOnUserScriptMessage(callback js.Func[func(message js.Any, sender *MessageSender, sendResponse js.Func[func()]) bool]) (ret js.Void, exception js.Any, ok bool) { 3825 ok = js.True == bindings.TryOnUserScriptMessage( 3826 js.Pointer(&ret), js.Pointer(&exception), 3827 callback.Ref(), 3828 ) 3829 3830 return 3831 } 3832 3833 // HasFuncOffUserScriptMessage returns true if the function "WEBEXT.runtime.onUserScriptMessage.removeListener" exists. 3834 func HasFuncOffUserScriptMessage() bool { 3835 return js.True == bindings.HasFuncOffUserScriptMessage() 3836 } 3837 3838 // FuncOffUserScriptMessage returns the function "WEBEXT.runtime.onUserScriptMessage.removeListener". 3839 func FuncOffUserScriptMessage() (fn js.Func[func(callback js.Func[func(message js.Any, sender *MessageSender, sendResponse js.Func[func()]) bool])]) { 3840 bindings.FuncOffUserScriptMessage( 3841 js.Pointer(&fn), 3842 ) 3843 return 3844 } 3845 3846 // OffUserScriptMessage calls the function "WEBEXT.runtime.onUserScriptMessage.removeListener" directly. 3847 func OffUserScriptMessage(callback js.Func[func(message js.Any, sender *MessageSender, sendResponse js.Func[func()]) bool]) (ret js.Void) { 3848 bindings.CallOffUserScriptMessage( 3849 js.Pointer(&ret), 3850 callback.Ref(), 3851 ) 3852 3853 return 3854 } 3855 3856 // TryOffUserScriptMessage calls the function "WEBEXT.runtime.onUserScriptMessage.removeListener" 3857 // in a try/catch block and returns (_, err, ok = false) when it went through 3858 // the catch clause. 3859 func TryOffUserScriptMessage(callback js.Func[func(message js.Any, sender *MessageSender, sendResponse js.Func[func()]) bool]) (ret js.Void, exception js.Any, ok bool) { 3860 ok = js.True == bindings.TryOffUserScriptMessage( 3861 js.Pointer(&ret), js.Pointer(&exception), 3862 callback.Ref(), 3863 ) 3864 3865 return 3866 } 3867 3868 // HasFuncHasOnUserScriptMessage returns true if the function "WEBEXT.runtime.onUserScriptMessage.hasListener" exists. 3869 func HasFuncHasOnUserScriptMessage() bool { 3870 return js.True == bindings.HasFuncHasOnUserScriptMessage() 3871 } 3872 3873 // FuncHasOnUserScriptMessage returns the function "WEBEXT.runtime.onUserScriptMessage.hasListener". 3874 func FuncHasOnUserScriptMessage() (fn js.Func[func(callback js.Func[func(message js.Any, sender *MessageSender, sendResponse js.Func[func()]) bool]) bool]) { 3875 bindings.FuncHasOnUserScriptMessage( 3876 js.Pointer(&fn), 3877 ) 3878 return 3879 } 3880 3881 // HasOnUserScriptMessage calls the function "WEBEXT.runtime.onUserScriptMessage.hasListener" directly. 3882 func HasOnUserScriptMessage(callback js.Func[func(message js.Any, sender *MessageSender, sendResponse js.Func[func()]) bool]) (ret bool) { 3883 bindings.CallHasOnUserScriptMessage( 3884 js.Pointer(&ret), 3885 callback.Ref(), 3886 ) 3887 3888 return 3889 } 3890 3891 // TryHasOnUserScriptMessage calls the function "WEBEXT.runtime.onUserScriptMessage.hasListener" 3892 // in a try/catch block and returns (_, err, ok = false) when it went through 3893 // the catch clause. 3894 func TryHasOnUserScriptMessage(callback js.Func[func(message js.Any, sender *MessageSender, sendResponse js.Func[func()]) bool]) (ret bool, exception js.Any, ok bool) { 3895 ok = js.True == bindings.TryHasOnUserScriptMessage( 3896 js.Pointer(&ret), js.Pointer(&exception), 3897 callback.Ref(), 3898 ) 3899 3900 return 3901 } 3902 3903 // HasFuncOpenOptionsPage returns true if the function "WEBEXT.runtime.openOptionsPage" exists. 3904 func HasFuncOpenOptionsPage() bool { 3905 return js.True == bindings.HasFuncOpenOptionsPage() 3906 } 3907 3908 // FuncOpenOptionsPage returns the function "WEBEXT.runtime.openOptionsPage". 3909 func FuncOpenOptionsPage() (fn js.Func[func() js.Promise[js.Void]]) { 3910 bindings.FuncOpenOptionsPage( 3911 js.Pointer(&fn), 3912 ) 3913 return 3914 } 3915 3916 // OpenOptionsPage calls the function "WEBEXT.runtime.openOptionsPage" directly. 3917 func OpenOptionsPage() (ret js.Promise[js.Void]) { 3918 bindings.CallOpenOptionsPage( 3919 js.Pointer(&ret), 3920 ) 3921 3922 return 3923 } 3924 3925 // TryOpenOptionsPage calls the function "WEBEXT.runtime.openOptionsPage" 3926 // in a try/catch block and returns (_, err, ok = false) when it went through 3927 // the catch clause. 3928 func TryOpenOptionsPage() (ret js.Promise[js.Void], exception js.Any, ok bool) { 3929 ok = js.True == bindings.TryOpenOptionsPage( 3930 js.Pointer(&ret), js.Pointer(&exception), 3931 ) 3932 3933 return 3934 } 3935 3936 // HasFuncReload returns true if the function "WEBEXT.runtime.reload" exists. 3937 func HasFuncReload() bool { 3938 return js.True == bindings.HasFuncReload() 3939 } 3940 3941 // FuncReload returns the function "WEBEXT.runtime.reload". 3942 func FuncReload() (fn js.Func[func()]) { 3943 bindings.FuncReload( 3944 js.Pointer(&fn), 3945 ) 3946 return 3947 } 3948 3949 // Reload calls the function "WEBEXT.runtime.reload" directly. 3950 func Reload() (ret js.Void) { 3951 bindings.CallReload( 3952 js.Pointer(&ret), 3953 ) 3954 3955 return 3956 } 3957 3958 // TryReload calls the function "WEBEXT.runtime.reload" 3959 // in a try/catch block and returns (_, err, ok = false) when it went through 3960 // the catch clause. 3961 func TryReload() (ret js.Void, exception js.Any, ok bool) { 3962 ok = js.True == bindings.TryReload( 3963 js.Pointer(&ret), js.Pointer(&exception), 3964 ) 3965 3966 return 3967 } 3968 3969 // HasFuncRequestUpdateCheck returns true if the function "WEBEXT.runtime.requestUpdateCheck" exists. 3970 func HasFuncRequestUpdateCheck() bool { 3971 return js.True == bindings.HasFuncRequestUpdateCheck() 3972 } 3973 3974 // FuncRequestUpdateCheck returns the function "WEBEXT.runtime.requestUpdateCheck". 3975 func FuncRequestUpdateCheck() (fn js.Func[func() js.Promise[RequestUpdateCheckReturnType]]) { 3976 bindings.FuncRequestUpdateCheck( 3977 js.Pointer(&fn), 3978 ) 3979 return 3980 } 3981 3982 // RequestUpdateCheck calls the function "WEBEXT.runtime.requestUpdateCheck" directly. 3983 func RequestUpdateCheck() (ret js.Promise[RequestUpdateCheckReturnType]) { 3984 bindings.CallRequestUpdateCheck( 3985 js.Pointer(&ret), 3986 ) 3987 3988 return 3989 } 3990 3991 // TryRequestUpdateCheck calls the function "WEBEXT.runtime.requestUpdateCheck" 3992 // in a try/catch block and returns (_, err, ok = false) when it went through 3993 // the catch clause. 3994 func TryRequestUpdateCheck() (ret js.Promise[RequestUpdateCheckReturnType], exception js.Any, ok bool) { 3995 ok = js.True == bindings.TryRequestUpdateCheck( 3996 js.Pointer(&ret), js.Pointer(&exception), 3997 ) 3998 3999 return 4000 } 4001 4002 // HasFuncRestart returns true if the function "WEBEXT.runtime.restart" exists. 4003 func HasFuncRestart() bool { 4004 return js.True == bindings.HasFuncRestart() 4005 } 4006 4007 // FuncRestart returns the function "WEBEXT.runtime.restart". 4008 func FuncRestart() (fn js.Func[func()]) { 4009 bindings.FuncRestart( 4010 js.Pointer(&fn), 4011 ) 4012 return 4013 } 4014 4015 // Restart calls the function "WEBEXT.runtime.restart" directly. 4016 func Restart() (ret js.Void) { 4017 bindings.CallRestart( 4018 js.Pointer(&ret), 4019 ) 4020 4021 return 4022 } 4023 4024 // TryRestart calls the function "WEBEXT.runtime.restart" 4025 // in a try/catch block and returns (_, err, ok = false) when it went through 4026 // the catch clause. 4027 func TryRestart() (ret js.Void, exception js.Any, ok bool) { 4028 ok = js.True == bindings.TryRestart( 4029 js.Pointer(&ret), js.Pointer(&exception), 4030 ) 4031 4032 return 4033 } 4034 4035 // HasFuncRestartAfterDelay returns true if the function "WEBEXT.runtime.restartAfterDelay" exists. 4036 func HasFuncRestartAfterDelay() bool { 4037 return js.True == bindings.HasFuncRestartAfterDelay() 4038 } 4039 4040 // FuncRestartAfterDelay returns the function "WEBEXT.runtime.restartAfterDelay". 4041 func FuncRestartAfterDelay() (fn js.Func[func(seconds int64) js.Promise[js.Void]]) { 4042 bindings.FuncRestartAfterDelay( 4043 js.Pointer(&fn), 4044 ) 4045 return 4046 } 4047 4048 // RestartAfterDelay calls the function "WEBEXT.runtime.restartAfterDelay" directly. 4049 func RestartAfterDelay(seconds int64) (ret js.Promise[js.Void]) { 4050 bindings.CallRestartAfterDelay( 4051 js.Pointer(&ret), 4052 float64(seconds), 4053 ) 4054 4055 return 4056 } 4057 4058 // TryRestartAfterDelay calls the function "WEBEXT.runtime.restartAfterDelay" 4059 // in a try/catch block and returns (_, err, ok = false) when it went through 4060 // the catch clause. 4061 func TryRestartAfterDelay(seconds int64) (ret js.Promise[js.Void], exception js.Any, ok bool) { 4062 ok = js.True == bindings.TryRestartAfterDelay( 4063 js.Pointer(&ret), js.Pointer(&exception), 4064 float64(seconds), 4065 ) 4066 4067 return 4068 } 4069 4070 // HasFuncSendMessage returns true if the function "WEBEXT.runtime.sendMessage" exists. 4071 func HasFuncSendMessage() bool { 4072 return js.True == bindings.HasFuncSendMessage() 4073 } 4074 4075 // FuncSendMessage returns the function "WEBEXT.runtime.sendMessage". 4076 func FuncSendMessage() (fn js.Func[func(extensionId js.String, message js.Any, options SendMessageArgOptions) js.Promise[js.Any]]) { 4077 bindings.FuncSendMessage( 4078 js.Pointer(&fn), 4079 ) 4080 return 4081 } 4082 4083 // SendMessage calls the function "WEBEXT.runtime.sendMessage" directly. 4084 func SendMessage(extensionId js.String, message js.Any, options SendMessageArgOptions) (ret js.Promise[js.Any]) { 4085 bindings.CallSendMessage( 4086 js.Pointer(&ret), 4087 extensionId.Ref(), 4088 message.Ref(), 4089 js.Pointer(&options), 4090 ) 4091 4092 return 4093 } 4094 4095 // TrySendMessage calls the function "WEBEXT.runtime.sendMessage" 4096 // in a try/catch block and returns (_, err, ok = false) when it went through 4097 // the catch clause. 4098 func TrySendMessage(extensionId js.String, message js.Any, options SendMessageArgOptions) (ret js.Promise[js.Any], exception js.Any, ok bool) { 4099 ok = js.True == bindings.TrySendMessage( 4100 js.Pointer(&ret), js.Pointer(&exception), 4101 extensionId.Ref(), 4102 message.Ref(), 4103 js.Pointer(&options), 4104 ) 4105 4106 return 4107 } 4108 4109 // HasFuncSendNativeMessage returns true if the function "WEBEXT.runtime.sendNativeMessage" exists. 4110 func HasFuncSendNativeMessage() bool { 4111 return js.True == bindings.HasFuncSendNativeMessage() 4112 } 4113 4114 // FuncSendNativeMessage returns the function "WEBEXT.runtime.sendNativeMessage". 4115 func FuncSendNativeMessage() (fn js.Func[func(application js.String, message js.Any) js.Promise[js.Any]]) { 4116 bindings.FuncSendNativeMessage( 4117 js.Pointer(&fn), 4118 ) 4119 return 4120 } 4121 4122 // SendNativeMessage calls the function "WEBEXT.runtime.sendNativeMessage" directly. 4123 func SendNativeMessage(application js.String, message js.Any) (ret js.Promise[js.Any]) { 4124 bindings.CallSendNativeMessage( 4125 js.Pointer(&ret), 4126 application.Ref(), 4127 message.Ref(), 4128 ) 4129 4130 return 4131 } 4132 4133 // TrySendNativeMessage calls the function "WEBEXT.runtime.sendNativeMessage" 4134 // in a try/catch block and returns (_, err, ok = false) when it went through 4135 // the catch clause. 4136 func TrySendNativeMessage(application js.String, message js.Any) (ret js.Promise[js.Any], exception js.Any, ok bool) { 4137 ok = js.True == bindings.TrySendNativeMessage( 4138 js.Pointer(&ret), js.Pointer(&exception), 4139 application.Ref(), 4140 message.Ref(), 4141 ) 4142 4143 return 4144 } 4145 4146 // HasFuncSetUninstallURL returns true if the function "WEBEXT.runtime.setUninstallURL" exists. 4147 func HasFuncSetUninstallURL() bool { 4148 return js.True == bindings.HasFuncSetUninstallURL() 4149 } 4150 4151 // FuncSetUninstallURL returns the function "WEBEXT.runtime.setUninstallURL". 4152 func FuncSetUninstallURL() (fn js.Func[func(url js.String) js.Promise[js.Void]]) { 4153 bindings.FuncSetUninstallURL( 4154 js.Pointer(&fn), 4155 ) 4156 return 4157 } 4158 4159 // SetUninstallURL calls the function "WEBEXT.runtime.setUninstallURL" directly. 4160 func SetUninstallURL(url js.String) (ret js.Promise[js.Void]) { 4161 bindings.CallSetUninstallURL( 4162 js.Pointer(&ret), 4163 url.Ref(), 4164 ) 4165 4166 return 4167 } 4168 4169 // TrySetUninstallURL calls the function "WEBEXT.runtime.setUninstallURL" 4170 // in a try/catch block and returns (_, err, ok = false) when it went through 4171 // the catch clause. 4172 func TrySetUninstallURL(url js.String) (ret js.Promise[js.Void], exception js.Any, ok bool) { 4173 ok = js.True == bindings.TrySetUninstallURL( 4174 js.Pointer(&ret), js.Pointer(&exception), 4175 url.Ref(), 4176 ) 4177 4178 return 4179 }