123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- {$IFNDEF FPC_DOTTEDUNITS}
- unit serviceworker;
- {$ENDIF}
- {$mode ObjFPC}
- {$modeswitch externalclass}
- interface
- uses
- {$IFDEF FPC_DOTTEDUNITS}
- JSApi.JS, BrowserApi.WebOrWorker, BrowserApi.WorkerBase;
- {$ELSE}
- js, weborworker, webworkerbase;
- {$Endif}
- Type
- {$IFDEF FPC_DOTTEDUNITS}
- TJSWorkerNavigator = BrowserApi.WorkerBase.TJSWorkerNavigator;
- TJSWorkerLocation = BrowserApi.WorkerBase.TJSWorkerLocation;
- TJSWorkerGlobalScope = BrowserApi.WorkerBase.TJSWorkerGlobalScope;
- {$ELSE}
- TJSWorkerNavigator = webworkerbase.TJSWorkerNavigator;
- TJSWorkerLocation = webworkerbase.TJSWorkerLocation;
- TJSWorkerGlobalScope = webworkerbase.TJSWorkerGlobalScope;
- {$ENDIF}
- { TJSServiceworkerGlobalScope }
- TJSClientsMatchAllOptions = class external name 'Object'
- includeUncontrolled : Boolean;
- type_ : string; external name 'type';
- end;
- TJSClients = class external name 'Clients' (TJSObject)
- function claim : TJSPromise;
- function get(ID : String) : TJSPromise;
- function matchAll : TJSPromise;
- function matchAll(Options : TJSClientsMatchAllOptions) : TJSPromise;
- function matchAll(Options : TJSObject) : TJSPromise;
- function openWindow(url : string) : TJSPromise;
- end;
- TJSServiceworkerGlobalScope = class external name 'ServiceWorkerGlobalScope' (TJSWorkerGlobalScope)
- private
- FClients: TJSClients; external name 'clients';
- FRegistration: TJSServiceWorkerRegistration; external name 'registration';
- Public
- Function SkipWaiting : TJSPromise; external name 'skipWaiting';
- property registration : TJSServiceWorkerRegistration Read FRegistration;
- property clients : TJSClients Read FClients;
- end;
- var
- Self_ : TJSServiceworkerGlobalScope; external name 'self';
- implementation
- end.
|