mirror of
https://gitlab.com/freepascal.org/fpc/pas2js.git
synced 2025-08-24 22:09:24 +02:00
* Allow to compile for worker
This commit is contained in:
parent
028405d67f
commit
2d0fc5940a
@ -17,9 +17,9 @@ interface
|
|||||||
|
|
||||||
uses
|
uses
|
||||||
{$IFDEF FPC_DOTTEDUNITS}
|
{$IFDEF FPC_DOTTEDUNITS}
|
||||||
System.SysUtils, System.Types, JSApi.JS, BrowserApi.Web, Wasi.Env, JOB.Shared;
|
System.SysUtils, System.Types, JSApi.JS, BrowserApi.WebOrWorker, BrowserApi.Web, Wasi.Env, JOB.Shared;
|
||||||
{$ELSE}
|
{$ELSE}
|
||||||
sysutils, types, js, web, wasienv, JOB_Shared;
|
sysutils, types, js, weborworker, {$IFNDEF JOB_WORKER} web, {$ELSE} webworker, {$ENDIF} wasienv, JOB_Shared;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
Type
|
Type
|
||||||
@ -195,13 +195,13 @@ begin
|
|||||||
FGlobalObjects:=TJSArray.new;
|
FGlobalObjects:=TJSArray.new;
|
||||||
FGlobalObjects.push(nil); // allocate FGlobalObjects[0]
|
FGlobalObjects.push(nil); // allocate FGlobalObjects[0]
|
||||||
FGlobalNames:=TJSObject.new;
|
FGlobalNames:=TJSObject.new;
|
||||||
|
{$IFNDEF JOB_WORKER}
|
||||||
RegisterGlobalObject(document,'document');
|
RegisterGlobalObject(document,'document');
|
||||||
RegisterGlobalObject(window,'window');
|
RegisterGlobalObject(window,'window');
|
||||||
RegisterGlobalObject(console,'console');
|
|
||||||
RegisterGlobalObject(CSS,'CSS');
|
RegisterGlobalObject(CSS,'CSS');
|
||||||
{$IFDEF WORKER}
|
|
||||||
RegisterGlobalObject(caches,'caches');
|
RegisterGlobalObject(caches,'caches');
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
RegisterGlobalObject(console,'console');
|
||||||
RegisterGlobalObject(TJSObject,'Object');
|
RegisterGlobalObject(TJSObject,'Object');
|
||||||
RegisterGlobalObject(TJSFunction,'Function');
|
RegisterGlobalObject(TJSFunction,'Function');
|
||||||
RegisterGlobalObject(TJSDate,'Date');
|
RegisterGlobalObject(TJSDate,'Date');
|
||||||
@ -590,6 +590,11 @@ begin
|
|||||||
Result:=JOBResult_Object;
|
Result:=JOBResult_Object;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
{$IFDEF JOB_WORKER}
|
||||||
|
var
|
||||||
|
Self_ : TJSDedicatedWorkerGlobalScope; external name 'self';
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
function TJSObjectBridge.GetObjectConstructor(aObjectName : String): TJSFunction;
|
function TJSObjectBridge.GetObjectConstructor(aObjectName : String): TJSFunction;
|
||||||
|
|
||||||
var
|
var
|
||||||
@ -598,7 +603,11 @@ var
|
|||||||
begin
|
begin
|
||||||
Result:=Nil;
|
Result:=Nil;
|
||||||
if aObjectName<>'' then
|
if aObjectName<>'' then
|
||||||
|
{$IFDEF JOB_WORKER}
|
||||||
|
fn:=self_[aObjectName];
|
||||||
|
{$ELSE}
|
||||||
fn:=Window[aObjectName];
|
fn:=Window[aObjectName];
|
||||||
|
{$ENDIF}
|
||||||
if jstypeof(fn)<>'function' then
|
if jstypeof(fn)<>'function' then
|
||||||
exit;
|
exit;
|
||||||
Result:=TJSFunction(fn);
|
Result:=TJSFunction(fn);
|
||||||
|
Loading…
Reference in New Issue
Block a user