1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985 |
- {
- This file is part of the Pas2JS run time library.
- Copyright (c) 2017-2020 by the Pas2JS development team.
- See the file COPYING.FPC, included in this distribution,
- for details about the copyright.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- **********************************************************************}
- {$mode objfpc}
- {$modeswitch externalclass}
- unit Web;
- interface
- uses Types, JS;
- Type
- TJSEvent = Class;
- // Forward definitions
- TJSWindow = class;
- TJSDOMTokenList = class;
- TJSXPathResult = CLass;
- TJSNodeList = class;
- TJSDocument = class;
- TJSElement = class;
- TJSCSSStyleSheet = Class;
- TJSNodeFilter = Class;
- TJSIDBObjectStore = Class;
- TIDBDatabase = class;
- TJSIDBRequest = class;
- TJSEventTarget = class;
- TJSMouseEvent = Class;
- TJSWheelEvent = Class;
- TJSKeyBoardEvent = class;
- TJSPointerEvent = Class;
- TJSUIEvent = class;
- TJSTouchEvent = Class;
- TJSBlob = class;
- TJSPermissions = class;
- TJSFileSystemFileHandle = class;
- TJSFileSystemDirectoryHandle = class;
- TJSShowOpenFilePickerOptions = class;
- TJSShowSaveFilePickerOptions = class;
- { TEventListenerEvent }
- (*
- TEventListenerEvent = class external name 'EventListener_Event' (TJSObject)
- private
- FTarget: TJSEventTarget; external name 'target';
- public
- Property target: TJSEventTarget Read FTarget;
- end;
- *)
- TEventListenerEvent = TJSEvent;
- TJSEventHandler = reference to function(Event: TEventListenerEvent): boolean; safecall;
- TJSRawEventHandler = reference to Procedure(Event: TJSEvent); safecall;
- TJSEventTarget = class external name 'EventTarget' (TJSObject)
- public
- procedure addEventListener(aname : string; aListener : TJSEventHandler);
- procedure addEventListener(aname : string; aListener : TJSRawEventHandler);
- procedure addEventListener(aname : string; aListener : JSValue);
- function dispatchEvent(event : JSValue) : Boolean;
- procedure removeEventListener(aname : string; aListener : TJSEventHandler);
- procedure removeEventListener(aname : string; aListener : TJSRawEventHandler);
- procedure removeEventListener(aname : string; aListener : JSValue);
- end;
- TJSNode = class external name 'Node' (TJSEventTarget)
- Private
- FBaseURI : String; external name 'baseURI';
- FChildNodes: TJSNodeList; external name 'childNodes';
- FFirstChild : TJSNode; external name 'firstChild';
- FNextSibling : TJSNode; external name 'nextSibling';
- FNodeName : String; external name 'nodeName';
- FNodeType : NativeInt; external name 'nodeType';
- FOwnerDocument : TJSDocument; external name 'ownerDocument';
- FParentElement : TJSElement; external name 'parentElement';
- FParentNode : TJSNode; external name 'parentNode';
- FPreviousSibling : TJSNode; external name 'previousSibling';
- Public
- Const
- ELEMENT_NODE =1;
- TEXT_NODE =3;
- PROCESSING_INSTRUCTION_NODE = 7;
- COMMENT_NODE =8;
- DOCUMENT_NODE =9;
- DOCUMENT_TYPE_NODE = 10;
- DOCUMENT_FRAGMENT_NODE = 11;
- DOCUMENT_POSITION_DISCONNECTED = 1;
- DOCUMENT_POSITION_PRECEDING = 2;
- DOCUMENT_POSITION_FOLLOWING = 4;
- DOCUMENT_POSITION_CONTAINS = 8;
- DOCUMENT_POSITION_CONTAINED_BY = 16;
- DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 32;
- Public
- nodeValue: string;
- innerText : string;
- textContent : string;
- function appendChild(aChild : TJSNode) : TJSNode;
- function cloneNode(deep: boolean): TJSNode;
- function compareDocumentPosition(aNode : TJSNode) : NativeInt;
- function contains(aNode : TJSNode) : boolean;
- function hasChildNodes : boolean;
- function insertBefore(newNode, referenceNode : TJSNode) : TJSNode;
- function isDefaultNameSpace(aNameSpaceURI : String) : Boolean;
- function isEqualNode(aNode : TJSNode) : boolean;
- function isSameNode(aNode : TJSNode) : boolean;
- function lookupNamespaceURI(aPrefix : string) : string;
- function lookupPrefix(aPrefix : string) : string;
- procedure normalize;
- function removeChild(aChild: TJSNode) : TJSNode;
- function replaceChild(aNewChild, aOldChild : TJSNode) : TJSNode;
- property baseURI : string read FBaseURI;
- property childNodes : TJSNodeList read FChildNodes;
- property firstChild : TJSNode Read FFirstChild;
- property nextSibling : TJSNode Read FNextSibling;
- property nodeName : String Read FNodeName;
- property nodeType : NativeInt Read FNodeType;
- property ownerDocument : TJSDocument read FOwnerDocument;
- property parentElement : TJSElement read FParentElement;
- property parentNode : TJSNode read FParentNode;
- property previousSibling : TJSNode Read FPreviousSibling;
- end;
- TJSNodeListCallBack = procedure (currentValue : TJSNode; currentIndex: NativeInt; list : TJSNodeList);
- TJSNodeListEvent = procedure (currentValue : TJSNode; currentIndex: NativeInt; list : TJSNodeList) of object;
-
- TJSNodeList = class external name 'NodeList' (TJSObject)
- Private
- FLength : NativeInt; external name 'length';
- Public
- procedure forEach(const aCallBack : TJSNodeListCallBack);
- procedure forEach(const aCallBack : TJSNodeListEvent);
- function item(aIndex : NativeInt) : TJSNode;
- Property length : NativeInt Read FLength;
- Property Nodes [aIndex : NativeInt] : TJSNode Read item; default;
- end;
- TJSAttr = class external name 'Attr' (TJSNode)
- Private
- fLocalName : String; external name 'localName';
- fNameSpaceURI : String external name 'namespaceURI';
- fPrefix : string; external name 'prefix';
- fName : string; external name 'name';
- fSpecified : Boolean; external name 'specified';
- public
- value : JSValue;
- property localName : String Read fLocalName;
- property namespaceURI : string Read fNameSpaceURI;
- property prefix : string read fPrefix;
- property name : string Read fName;
- property specified : boolean Read fSpecified; // Useless, always true
- end;
- TJSNamedNodeMap = class external name 'NamedNodeMap' (TJSObject)
- Public
- function getNamedItem(aName : string) : TJSAttr;
- Property Attrs[aIndex : String] : TJSattr Read getNamedItem; default;
- end;
-
- TJSHTMLCollection = class external name 'HTMLCollection' (TJSObject)
- Private
- FLength : NativeInt; external name 'length';
- public
- Function item(aIndex : Integer) : TJSNode;
- Function namedItem(aName : string) : TJSNode;
- property Items[aIndex : Integer] : TJSNode Read item; default;
- property NamedItems[aName : String] : TJSNode Read namedItem;
- Property length : NativeInt Read FLength;
- end;
-
- TJSDOMString = String;
- TDOMTokenlistCallBack = Procedure (Current : JSValue; currentIndex : NativeInt; list : TJSDOMTokenList);
-
- // Interface
- TJSDOMTokenList = class external name 'DOMTokenList' (TJSObject)
- Private
- FLength : NativeInt; external name 'length';
- public
- Procedure add(aToken : TJSDOMString); varargs;
- Procedure remove(aToken : TJSDOMString); varargs;
- function item(aIndex : NativeInt) : String;
- function contains(aToken : TJSDOMString) : Boolean;
- Procedure replace(aOldToken, ANewToken : TJSDOMString);
- function supports(aToken : TJSDOMString) : Boolean;
- function toggle(aToken : TJSDOMString) : Boolean;
- // entries,keys, values
- procedure forEach(const callback: TDOMTokenlistCallBack);
- property length : NativeInt read FLength;
- end;
- TJSDOMRect = class external name 'DOMRect' (TJSObject)
- public
- left,top,right,bottom,x,y,width,height : double;
- {$IFDEF FIREFOX}
- constructor New;
- {$ENDIF}
- end;
- TJSClientRect = record
- left,top,right,bottom : double;
- {$IFDEF FIREFOX}
- width, height: double;
- {$ENDIF}
- end;
-
- TJSClientRectArray = array of TJSClientRect;
-
- TJSElement = class external name 'Element' (TJSNode)
- Private
- FAttributes : TJSNamedNodeMap; external name 'attributes';
- FChildElementCount : NativeInt; external name 'childElementCount';
- FChildren : TJSHTMLCollection; external name 'children';
- FClassList : TJSDOMTokenList; external name 'classList';
- FCLientHeight : NativeInt; external name 'clientHeight';
- FCLientLeft : NativeInt; external name 'clientLeft';
- FCLientTop : NativeInt; external name 'clientTop';
- FCLientWidth : NativeInt; external name 'clientWidth';
- FFirstElementChild : TJSElement; external name 'firstElementChild';
- FLastElementChild : TJSElement; external name 'lastElementChild';
- FLocalName : string; external name 'localName';
- FNameSpaceURI : String; external name 'namespaceURI';
- FNextElementSibling : TJSElement; external name 'nextElementSibling';
- FPreviousElementSibling : TJSElement; external name 'previousElementSibling';
- FPrefix : String; external name 'prefix';
- FScrollHeight : NativeInt; external name 'scrollHeight';
- {$IFDEF FIREFOX}
- FScrollLeftMax : NativeInt; external name 'scrollLeftMax';
- FScrollTopMax : NativeInt; external name 'scrollTopMax';
- {$endif}
- FScrollWidth : NativeInt; external name 'scrollWidth';
- FTagName : string; external name 'tagName';
- Public
- name : string;
- className : string;
- id : string;
- innerHTML : String;
- outerHTML : string;
- scrollLeft : NativeInt;
- scrollTop : NativeInt;
- procedure append(aText : String); overload;
- procedure append(aNode : TJSElement); overload;
- procedure append(aText : String; aNode : TJSElement); varargs; overload;
- procedure append(aNode1,aNode2: TJSElement); varargs; overload;
- function getAttribute(aName : string) : string;
- function getAttributeNode(aName : string) : TJSAttr;
- function getAttributeNodeNS(aNameSpace, aName : string) : TJSAttr;
- function getAttributeNS(aNameSpace, aName : string) : string;
- function getBoundingClientRect : TJSDOMRect;
- function getClientRects : TJSClientRectArray;
- function getElementsByClassName(aClassName: string) : TJSHTMLCollection;
- function getElementsByTagNameNS(aNameSpace, aTagName : String): TJSHTMLCollection;
- function getElementsByTagName(aTagName : String): TJSHTMLCollection;
- function hasAttribute(aName : String) : Boolean;
- function hasAttributeNS(aNameSpace,aName : String) : Boolean;
- function hasAttributes : Boolean;
- function insertAdjacentElement(aPosition : string; aElement : TJSElement) : TJSElement;
- procedure insertAdjacentHTML(aPosition,aHTML : string);
- procedure insertAdjacentText(aPosition,aText : string);
- function matches(aSelectorString : String) : Boolean;
- function querySelector(aSelectors : String) : TJSElement;
- function querySelectorAll(aSelectors : String) : TJSNodeList;
- procedure remove; overload;
- procedure releasePointerCapture(evID : JSValue);
- procedure removeAttribute(aName: string);
- procedure removeAttributeNS(aNameSpace,aName: string);
- function removeAttributeNode(aAttr : TJSAttr) : TJSAttr;
- procedure setAttribute(aName : string; AValue : String);
- function setAttributeNode(aNode: TJSAttr) : TJSAttr;
- function setAttributeNodeNS(aNode: TJSAttr) : TJSAttr;
- procedure setAttributeNS(aNameSpace,aName : string; AValue : String);
- procedure setCapture(retargetToElement : Boolean);
- procedure setPointerCapture(pointerID : JSValue);
- procedure requestFullScreen;
- Property attributes : TJSNamedNodeMap read FAttributes;
- Property childElementCount : NativeInt Read FChildElementCount;
- Property children : TJSHTMLCollection Read FChildren;
- Property classList : TJSDOMTokenList read FClassList;
- property clientHeight : NativeInt read FClientHeight;
- property clientLeft : NativeInt read FClientLeft;
- property clientTop : NativeInt read FClientTop;
- property clientWidth : NativeInt read FClientWidth;
- property firstElementChild : TJSElement Read FFirstElementChild;
- property lastElementChild : TJSElement Read FLastElementChild;
- property localName : string Read FLocalName;
- property namespaceURI : String read FNameSpaceURI;
- property nextElementSibling : TJSElement Read FNextElementSibling;
- property previousElementSibling : TJSElement Read FPreviousElementSibling;
- property prefix : String read FPrefix;
- property scrollHeight : NativeInt Read FScrollHeight;
- {$IFDEF FIREFOX}
- property scrollLeftMax : NativeInt Read FScrollLeftMax;
- property scrollTopMax : NativeInt Read FScrollTopMax;
- {$ENDIF}
- property scrollWidth : NativeInt Read FScrollWidth;
- property tagName : String read FTagName;
- Property Attrs[aName : string] : String read getAttribute write setAttribute; default;
- end;
-
- TJSElementCreationOptions = record
- named : string;
- end;
-
- TJSDocumentType = class external name 'DocumentType' (TJSNode)
- private
- FName : String; external name 'name';
- FPublicID : String; external name 'publicId';
- FSystemID : String; external name 'systemId';
- public
- property name : String read FName;
- property publicId : String Read FPublicID;
- property systemId : String read FSystemID;
- end;
- TJSDOMImplementation = class external name 'DocumentImplementation' (TJSObject)
- Public
- function createDocument(aNamespaceURI, aQualifiedNameStr : String; aDocumentType : TJSDocumentType) : TJSDocument;
- function createDocumentType(aQualifiedNameStr,aPublicId,aSystemId : String) : TJSDocumentType;
- function createHTMLDocument(aTitle : String) : TJSDocument;
- end;
- TJSLocation = class external name 'Location' (TJSObject)
- Private
- FOrigin : string; external name 'origin';
- Public
- hash : string;
- host : string;
- hostname : string;
- href : string;
- password : string;
- pathname : string;
- port : string;
- protocol : string;
- search : string;
- username : string;
- procedure assign(aURL : String); overload;
- procedure reload(aForce : Boolean);
- procedure replace(aURL : String);
- property origin : string read FOrigin;
- end;
-
- TJSCSSStyleDeclaration = class; // forward
- TJSStyleSheet = class external name 'StyleSheet' (TJSEventTarget)
- Private
- FHRef : String; external name 'href';
- FOwnerNode : TJSNode; external name 'ownerNode';
- FParentStyleSheet : TJSStyleSheet; external name 'parentStyleSheet';
- FTitle : String; external name 'title';
- FType : String; external name 'type';
- Public
- disabled : String;
- Property href : String read FHRef;
- property ownerNode : TJSNode Read FOwnerNode;
- property parentStyleSheet : TJSStyleSheet read FParentStyleSheet;
- property title : string Read FTitle;
- property _type : String read FType;
- end;
- TJSCSSRule = class external name 'CSSRule' (TJSObject)
- Private
- FCSSText : String; external name 'cssText';
- FParentStyleSheet : TJSCSSStyleSheet; external name 'parentStyleSheet';
- FparentRule : TJSCSSRule; external name 'parentRule';
- Public
- property cssText : String Read FCSSText;
- property parentRule : TJSCSSRule read FparentRule;
- property parentStyleSheet : TJSCSSStyleSheet Read FParentStyleSheet;
- end;
- TJSCSSStyleRule = class external name 'CSSStyleRule' (TJSCSSRule)
- private
- FStyle: TJSCSSStyleDeclaration; external name 'style';
- public
- selectorText: String;
- property style: TJSCSSStyleDeclaration read FStyle;
- end;
-
- TJSCSSRuleList = Class external name 'CSSRuleList' (TJSObject)
- Private
- FLength : NativeInt; external name 'length';
- Public
- function item(index : NativeInt) : TJSCSSRule;
- property length : NativeInt Read FLength;
- Property items[aIndex : NativeInt] : TJSCSSRule read item; default;
- end;
-
-
- TJSCSSStyleSheet = class external name 'CSSStyleSheet' (TJSStyleSheet)
- Private
- FCSSRules : TJSCSSRuleList; external name 'cssRules';
- Public
- procedure deleteRule(aIndex : NativeInt);
- function insertRule(aRule : String; aIndex : NativeInt) : NativeInt;
- Property cssRules : TJSCSSRuleList read FCSSRules;
- end;
- TJSStyleSheetList = Class external name 'StyleSheetList' (TJSObject)
- Private
- FLength : NativeInt; external name 'length';
- Public
- function item(index : NativeInt) : TJSStyleSheet;
- property length : NativeInt Read FLength;
- Property items[aIndex : NativeInt] : TJSStyleSheet read item; default;
- end;
- { TJSDocumentFragment }
- TJSDocumentFragment = Class external name 'DocumentFragment' (TJSNode)
- private
- FchildElementCount: Integer; external name 'childElementCount';
- Fchildren: TJSHTMLCollection; external name 'children';
- FfirstElementChild: TJSElement; external name 'firstElementChild';
- FlastElementChild: TJSElement; external name 'lastElementChild';
- public
- constructor new;
- function querySelector(aSelector : String) : TJSElement;
- function querySelectorAll(aSelector : String) : TJSNodeList;
- property childElementCount : Integer read FchildElementCount;
- property children : TJSHTMLCollection read Fchildren;
- property firstElementChild : TJSElement read FfirstElementChild;
- property lastElementChild : TJSElement read FlastElementChild;
- end;
- TJSEventInit = record
- bubbles : boolean;
- cancelable : boolean;
- scoped : boolean;
- composed : boolean;
- end;
- TJSEvent = class external name 'Event' (TJSObject)
- Private
- FBubbles : Boolean; external name 'bubbles';
- FCancelable : Boolean; external name 'cancelable';
- FComposed : Boolean; external name 'composed';
- FCurrentTarget : TJSEventTarget; external name 'currentTarget';
- FCurrentTargetElement : TJSElement; external name 'currentTarget';
- FdefaultPrevented : Boolean; external name 'defaultPrevented';
- FEventPhase : NativeInt; external name 'eventPhase';
- FTarget : TJSEventTarget; external name 'target';
- FTargetElement : TJSElement; external name 'target';
- FTimeStamp : NativeInt; external name 'timestamp';
- FType : String; external name 'type';
- FIsTrusted : Boolean; external name 'isTrusted';
- Public
- Const
- NONE = 0;
- CAPTURING_PHASE = 1;
- AT_TARGET = 2;
- BUBBLING_PHASE = 3;
- public
- cancelBubble : Boolean;
- constructor new (aType : String; const aInit : TJSEventInit); overload;
- constructor new (aType : String); overload;
- procedure preventDefault;
- procedure stopImmediatePropagation;
- procedure stopPropagation;
- Property bubbles : Boolean Read FBubbles;
- Property cancelable : Boolean Read FCancelable;
- Property composed : Boolean Read FComposed;
- property currentTarget : TJSEventTarget Read FCurrentTarget;
- property currentTargetElement : TJSElement Read FCurrentTargetElement;
- property defaultPrevented : Boolean Read FdefaultPrevented;
- property eventPhase : NativeInt Read FEventPhase;
- property target : TJSEventTarget Read FTarget;
- property targetElement : TJSElement Read FTargetElement;
- Property timestamp : NativeInt Read FTimeStamp;
- property _type : string read FType;
- property isTrusted : Boolean Read FIsTrusted;
- end;
- TJSXPathExpression = class external name 'XPathExpression' (TJSObject)
- Public
- function evaluate(contextNode : TJSNode; aType : NativeInt; aResult : TJSXPathResult) : TJSXPathResult;
- function evaluateWithContext(contextNode : TJSNode; aPosition, aSize, aType : NativeInt; aResult : TJSXPathResult) : TJSXPathResult;
- end;
- TJSXPathNSResolver = class external name 'XPathNSResolver' (TJSObject)
- Public
- function lookupNamespaceURI(prefix : string) : string;
- end;
- { TJSCharacterData }
- TJSCharacterData = class external name 'CharacterData' (TJSNode)
- private
- FnextElementSibling: TJSElement; external name 'nextElementSibling';
- FpreviousElementSibling: TJSElement; external name 'previousElementSibling';
- public
- property nextElementSibling : TJSElement read FnextElementSibling;
- property previousElementSibling : TJSElement read FpreviousElementSibling;
- end;
- TJSProcessingInstruction = class external name 'ProcessingInstruction' (TJSCharacterData);
- { TJSRange }
- TJSRange = class external name 'Range' (TJSObject)
- private
- FCollapsed: boolean; external name 'collapsed';
- FcommonAncestorContainer: TJSNode; external name 'commonAncestorContainer';
- FendContainer: TJSNode; external name 'endContainer';
- FEndOffset: NativeInt; external name 'endOffset';
- FstartContainer: TJSNode; external name 'startContainer';
- FstartOffset: NativeInt; external name 'startOffset';
- Public
- const
- END_TO_END = 0;
- END_TO_START = 1;
- START_TO_END = 2;
- START_TO_START = 3;
- Public
- constructor new;
- function cloneContents : TJSDocumentFragment;
- function cloneRange : TJSRange;
- procedure collapse;
- function compareBoundaryPoints(aHow : NativeInt) : NativeInt;
- function createContextualFragment(aTagstring : String) : TJSDocumentFragment;
- procedure deleteContents;
- procedure detach;
- function extractContents : TJSDocumentFragment;
- procedure insertNode(aNode : TJSNode);
- procedure selectNode(aNode : TJSNode);
- procedure selectNodeContents(aNode : TJSNode);
- procedure setEnd(aEndNode : TJSNode; aEndOffset : NativeInt);
- procedure setEndAfter(aEndNode : TJSNode);
- procedure setEndBefore(aEndNode : TJSNode);
- procedure setStart(aStartNode : TJSNode; aStartOffset : NativeInt);
- procedure setStartAfter(aStartNode : TJSNode);
- procedure setStartBefore(aStartNode : TJSNode);
- procedure surroundContents(aNode : TJSNode);
- property collapsed : boolean read FCollapsed;
- property commonAncestorContainer : TJSNode read FcommonAncestorContainer ;
- property endContainer : TJSNode read FendContainer;
- property endOffset : NativeInt Read FEndOffset;
- property startContainer : TJSNode read FstartContainer;
- property startOffset : NativeInt Read FstartOffset;
- end;
- { TJSTreeWalker }
- TJSTreeWalker = class external name 'TreeWalker' (TJSObject)
- private
- FCurrentNode: TJSNode; external name 'currentNode';
- FexpandEntityReference: Boolean; external name 'expandEntityReference';
- FFilter: TJSNodeFilter; external name 'filter';
- FRoot: TJSNode; external name 'root';
- FWhatToShow: NativeInt; external name 'whatToShow';
- Public
- function firstChild : TJSNode;
- function lastChild : TJSNode;
- function nextNode : TJSNode;
- function nextSibling : TJSNode;
- function parentNode : TJSNode;
- function previousNode : TJSNode;
- function previousSibling : TJSNode;
- property root : TJSNode read FRoot;
- property whatToShow : NativeInt read FWhatToShow;
- property filter : TJSNodeFilter Read FFilter;
- property expandEntityReference : Boolean Read FexpandEntityReference;
- property currentNode : TJSNode Read FCurrentNode;
- end;
- TJSNodeFilter = class external name 'NodeFilter' (TJSObject)
- const
- SHOW_ALL = -1;
- SHOW_ATTRIBUTE = 2;
- SHOW_CDATA_SECTION = 8;
- SHOW_COMMENT = 128;
- SHOW_DOCUMENT = 256;
- SHOW_DOCUMENT_FRAGMENT = 1024;
- SHOW_DOCUMENT_TYPE = 512;
- SHOW_ELEMENT = 1;
- SHOW_ENTITY = 32;
- SHOW_ENTITY_REFERENCE = 16;
- SHOW_NOTATION = 2048;
- SHOW_PROCESSING_INSTRUCTION = 64;
- SHOW_TEXT = 4;
- function acceptNode (aNode : TJSNode) : NativeInt;
- end;
- TJSXPathResult = class external name 'XPathResult' (TJSObject)
- private
- FBooleanValue : Boolean; external name 'booleanValue';
- FNumberValue : Double; external name 'numberValue';
- FResultType : NativeInt; external name 'resultType';
- FSingleNodeValue : TJSNode; external name 'singleNodeValue';
- FSnaphotLength : NativeInt; external name 'snapshotLength';
- FStringValue : String; external name 'stringValue';
- public
- Function iterateNext : TJSNode;
- Function snapshotItem(Index: NativeInt) : TJSNode;
- Property booleanValue : Boolean Read FBooleanValue;
- Property numberValue : Double Read FNumberValue;
- property resultType : NativeInt Read FResultType;
- Property singleNodeValue : TJSNode Read FSingleNodeValue;
- property snapshotLength : NativeInt read FSnaphotLength;
- property stringValue : String Read FStringValue;
- end;
- TJSSelection = class external name 'Selection' (TJSObject)
- Private
- FanchorNode : TJSNode ; external name 'anchorNode';
- FanchorOffset : NativeInt ; external name 'anchorOffset';
- FfocusNode : TJSNode ; external name 'focusNode';
- FfocusOffset : NativeInt ; external name 'focusOffset';
- FisCollapsed : Boolean ; external name 'isCollapsed';
- FrangeCount : NativeInt ; external name 'rangeCount';
- Ftype : String ; external name 'type';
- Public
- function getRangeAt(aIndex : NativeInt) : TJSRange;
- procedure collapse(aParentNode : TJSNode; Offset : NativeInt);
- procedure extend(aParentNode : TJSNode; Offset : NativeInt);
- procedure collapseToStart;
- procedure collapseToEnd;
- procedure selectAllChildren(aParentNode : TJSNode);
- procedure addRange(aRange : TJSRange);
- procedure removeRange(aRange : TJSRange);
- procedure removeAllRanges;
- procedure deleteFromDocument;
- function containsNode(aNode : TJSNode; aPartlyContained : Boolean) : Boolean;
- procedure setBaseAndExtent(aAnchorNode : TJSNode; aAnchorOffset : NativeInt; aFocusNode : TJSNode; aFocusOffset : NativeInt);
- property anchorNode : TJSNode read FAnchorNode;
- property anchorOffset : NativeInt read FAnchorOffset;
- property focusNode : TJSNode read FFocusNode;
- property focusOffset : NativeInt read FFocusOffset;
- property isCollapsed : Boolean read FIsCollapsed;
- property rangeCount : NativeInt read FRangeCount;
- property _type : String Read FType;
- end;
- TJSNameSpaceMapperCallback = function (aNameSpace : string ) : String;
- TJSHTMLFile = class;
- TJSHTMLFileList = Class;
- { TJSDataTransferItem }
- TJSDataTransferItemCallBack = reference to Procedure(aData : String); safecall;
- TJSDataTransferItem = class external name 'DataTransferItem' (TJSObject)
- private
- FKind: String; external name 'kind';
- FType: string; external name 'type';
- Public
- function getAsFile : TJSHTMLFile;
- Procedure getAsString(aCallBack : TJSDataTransferItemCallBack);
- property Kind : String read FKind;
- property _Type : string read FType;
- end;
- TJSDataTransferItemList = class external name 'DataTransferItemList' (TJSObject)
- private
- FLength: NativeInt; external name 'length';
- function getitem(aIndex : nativeInt) : TJSDataTransferItem ; external name '[]';
- Public
- Function add(aData : string; AType: string) : TJSDataTransferItem; overload;
- Function add(aFile : TJSHTMLFile) : TJSDataTransferItem; overload;
- Procedure clear;
- procedure remove(aIndex : integer);
- property length : NativeInt read FLength;
- property Items[aIndex : NativeInt] : TJSDataTransferItem Read getitem; default;
- end;
- { TJSDataTransfer }
- TJSDataTransfer = class external name 'DataTransfer' (TJSObject)
- private
- FFiles: TJSHTMLFileList; external name 'files';
- FItems: TJSDataTransferItemList; external name 'items';
- FTypes: TJSStringDynArray; external name 'types';
- Public
- dropEffect : string;
- effectAllowed : string;
- Procedure clearData; overload;
- Procedure clearData(aFormat : string); overload;
- function getData(aFormat : string) : String;
- procedure setData(aFormat : String; aData : String);
- procedure setDragImage(aImage: TJSElement; xOffset,yOffset : integer);
- property files : TJSHTMLFileList Read FFiles;
- property items : TJSDataTransferItemList read FItems;
- property types : TJSStringDynArray read FTypes;
- end;
- { TJSDragEvent }
- TJSDragEvent = class external name 'DragEvent' (TJSEvent)
- Private
- FDataTransfer: TJSDataTransfer; external name 'dataTransfer';
- FrelatedTarget : TJSEventTarget external name 'relatedTarget';
- FscreenX : NativeInt external name 'screenX';
- FscreenY : NativeInt external name 'screenY';
- FclientX : NativeInt external name 'clientX';
- FclientY : NativeInt external name 'clientY';
- Fbutton : NativeInt external name 'button';
- Fbuttons : NativeInt external name 'buttons';
- FctrlKey : Boolean external name 'ctrlKey';
- FshiftKey : Boolean external name 'shiftKey';
- FaltKey : Boolean external name 'altKey';
- FmetaKey : Boolean external name 'metaKey';
- Public
- Property relatedTarget : TJSEventTarget Read FRelatedTarget;
- Property screenX : NativeInt Read FScreenX;
- Property screenY : NativeInt Read FScreenY;
- Property clientX : NativeInt Read FClientX;
- Property clientY : NativeInt Read FClientY;
- Property button : NativeInt Read FButton;
- Property buttons : NativeInt Read FButtons;
- Property ctrlKey : Boolean Read FctrlKey;
- Property shiftKey : Boolean Read FshiftKey;
- Property altKey : Boolean Read FaltKey;
- Property metaKey : Boolean Read FmetaKey;
- property dataTransfer : TJSDataTransfer Read FDataTransfer;
- end;
- TJSDragDropEventHandler = reference to function(aEvent: TJSDragEvent) : Boolean; safecall;
- THTMLClickEventHandler = reference to function(aEvent : TJSMouseEvent) : boolean; safecall;
- TJSClipBoardEvent = Class external name 'ClipboardEvent' (TJSEvent)
- Private
- FClipboardData: TJSDataTransfer external name 'clipboardData';
- Public
- Property ClipBoardData : TJSDataTransfer Read FClipBoardData;
- end;
- { Various events }
- {$IFNDEF FIREFOX}
- TJSFocusEvent = TJSEvent;
- {$ELSE}
- TJSFocusEvent = Class(TJSEvent)
- private
- FrelatedTarget : TJSElement external name 'relatedTarget';
- public
- property relatedTarget : TJSElement Read FrelatedTarget;
- end;
- {$ENDIF}
- TJSAnimationEvent = Class(TJSEvent);
- TJSLoadEvent = Class(TJSEvent);
- TJSErrorEvent = class external name 'ErrorEvent' (TJSEvent)
- Private
- Fmessage : String external name 'message';
- Ffilename : string external name 'filename';
- Flineno : integer external name 'lineno';
- Fcolno : integer external name 'colno';
- Ferror : TJSObject external name 'error';
- Public
- Property message : String read FMessage;
- property filename : string Read FFileName;
- property lineno : integer read FLineNo;
- Property colno : integer read FColNo;
- Property error : TJSObject read FError;
- end;
- TJSPageTransitionEvent = class(TJSEvent)
- end;
- TJSHashChangeEvent = class external name 'HashChangeEvent' (TJSEvent)
- Private
- FnewURL : String external name 'newURL';
- FoldURL : String external name 'oldURL';
- public
- property newURL : String Read FNewURL;
- property oldURL : String Read FOldURL;
- end;
- TJSPopStateEvent = class external name 'PopStateEvent' (TJSEvent)
- Private
- FState : JSValue; external name 'state';
- Public
- property state : JSValue read FState;
- end;
- TJSStorageEvent = class external name 'StorageEvent' (TJSEvent)
- private
- Fkey : String external name 'key';
- FoldValue : String external name 'oldValue';
- FnewValue : String external name 'newValue';
- Furl : String external name 'url';
- FstorageArea : String external name 'storageArea';
- public
- Property key : String Read FKey;
- Property oldValue : String Read FOldValue;
- Property newValue : String Read FNewValue;
- Property url : String Read FURL;
- Property storageArea : String Read FstorageArea;
- end;
- { TJSProgressEvent }
- TJSProgressEvent = class external name 'ProgressEvent' (TJSEvent)
- Private
- FlengthComputable : Boolean external name 'lengthComputable';
- Floaded : NativeUINT external name 'loaded';
- FTotal : NativeUINT external name 'Total';
- Public
- property lengthComputable : Boolean Read FlengthComputable;
- property loaded : NativeUINT Read FLoaded;
- property Total : NativeUINT Read FTotal;
- end;
- TJSCloseEvent = class external name 'CloseEvent' (TJSEvent)
- private
- fcode: Word; external name 'code';
- freason: TJSDOMString; external name 'reason';
- fwasClean: Boolean; external name 'wasClean';
- public
- property code: Word read fcode;
- property reason: TJSDOMString read freason;
- property wasClean: Boolean read fwasClean;
- end;
- TJSPageTransitionEventHandler = reference to function(aEvent : TJsPageTransitionEvent) : boolean; safecall;
- TJSHashChangeEventhandler = reference to function(aEvent : TJSHashChangeEvent) : boolean; safecall;
- TJSMouseWheelEventHandler = reference to function(aEvent : TJSWheelEvent) : boolean; safecall;
- TJSMouseEventHandler = reference to function(aEvent : TJSMouseEvent) : boolean; safecall;
- THTMLAnimationEventHandler = reference to function(aEvent : TJSAnimationEvent) : boolean; safecall;
- TJSErrorEventHandler = reference to function(aEvent : TJSErrorEvent) : boolean; safecall;
- TJSFocusEventHandler = reference to function(aEvent : TJSFocusEvent) : boolean; safecall;
- TJSKeyEventhandler = reference to function (aEvent : TJSKeyBoardEvent) : boolean; safecall;
- TJSLoadEventhandler = reference to function (aEvent : TJSLoadEvent) : boolean; safecall;
- TJSPointerEventHandler = reference to function(aEvent : TJSPointerEvent) : boolean; safecall;
- TJSUIEventHandler = reference to function(aEvent : TJSUIEvent) : Boolean; safecall;
- TJSPopStateEventHandler = reference to function(aEvent : TJSPopStateEvent) : Boolean; safecall;
- TJSStorageEventHandler = reference to function(aEvent : TJSStorageEvent) : Boolean; safecall;
- TJSProgressEventhandler = reference to function(aEvent : TJSProgressEvent) : Boolean; safecall;
- TJSTouchEventHandler = reference to function(aEvent : TJSTouchEvent) : boolean; safecall;
- TJSDocument = class external name 'Document' (TJSNode)
- Private
- fActiveElement : TJSElement; external name 'activeElement';
- FCharacterSet: String; external name 'characterSet';
- FChildElementCount: NativeInt; external name 'childElementCount';
- FCompatMode: String; external name 'compatMode';
- FCurrentScript: TJSElement; external name 'currentScript';
- FDefaultView: TJSWindow; external name 'defaultView';
- FDocType: TJSDocumentType; external name 'docrype';
- FDocumentElement: TJSElement; external name 'documentElement';
- FDocumentURI: String; external name 'documentURI';
- FEmbeds: TJSHTMLCollection; external name 'embeds';
- FFirstElementChild : TJSElement; external name 'firstElementChild';
- FForms: TJSHTMLCollection; external name 'forms';
- FFullScreenElement: TJSElement; external name 'fullscreenElement';
- FFullscreenEnabled: Boolean; external name 'fullscreenEnabled';
- FHead: TJSElement; external name 'head';
- FHidden: Boolean; external name 'hidden';
- FImages: TJSHTMLCollection; external name 'images';
- FImplementation: TJSDOMImplementation; external name 'implementation';
- FLastElementChild : TJSElement; external name 'lastElementChild';
- FLastModified: String; external name 'lastModified';
- FLastStyleSheetSet: String; external name 'lastStyleSheetSet';
- FLinks: TJSHTMLCollection; external name 'links';
- FLocation: TJSLocation; external name 'location';
- FLocationString: String; external name 'location';
- FPlugins: TJSHTMLCollection; external name 'plugins';
- FPointerLockElement: TJSElement; external name 'pointerLockElement';
- FPreferredStyleSheetSet: String; external name 'preferredStyleSheetSet';
- FReadyState: String; external name 'readyState';
- FReferrer: String; external name 'referrer';
- FScripts: TJSHTMLCollection; external name 'scripts';
- FStyleSheets: TJSStyleSheetList; external name 'styleSheets';
- FStyleSheetSets: TJSValueDynArray; external name 'styleSheetSets';
- FURL: String; external name 'URL';
- FVisibilityState: string; external name 'visibilityState';
- Public
- function adoptNode(aExternalNode : TJSNode) : TJSNode;
- procedure close;
- function createAttribute(aName : string) : TJSAttr;
- function createCDATASection(S : String) : TJSNode;
- function createComment(S : String) : TJSNode;
- function createDocumentFragment : TJSDocumentFragment;
- function createElement(tagName : string) : TJSElement; overload;
- function createElement(tagName : string; const options : TJSElementCreationOptions) : TJSElement; overload;
- function createElementNS(aNameSpace,tagName : string) : TJSElement; overload;
- function createElementNS(aNameSpace,tagName : string; const options : TJSElementCreationOptions) : TJSElement; overload;
- function createEvent(aType : string) : TJSEvent;
- function createExpression(xPathText : String; aNameSpaceMapper: TJSNameSpaceMapperCallback) : TJSXPathExpression;
- function createNSResolver(aNode : TJSNode) : TJSXPathNSResolver;
- function createProcessingInstruction(target, data : String) : TJSProcessingInstruction;
- function createRange : TJSRange;
- function createTextNode(S : String) : TJSNode;
- function createTreeWalker(root : TJSNode; whatToShow : NativeInt; filter : TJSNodeFilter) : TJSTreeWalker;
- function elementFromPoint(x,y : integer) : TJSElement;
- procedure enableStyleSheetsForSet(aSet : String);
- function evaluate(xpathExpression : String; ContextNode : TJSNode; NameSpaceResolver : TJSNamespaceMapperCallBack; resultType : NativeInt; aResult : TJSXPathResult) : TJSXPathResult;
- function execCommand(aCommandName : String; aShowDefaultUI : Boolean; AValueArgument : String) : boolean; overload;
- function execCommand(aCommandName : String; aShowDefaultUI : Boolean) : boolean; overload;
- Procedure exitFullScreen;
- function getElementById(aID : String) : TJSElement;
- function getElementsByClassName(aNames : string) : TJSHTMLCollection;
- function getElementsByName(aName : String) : TJSNodeList;
- function getElementsByTagName(aName : String) : TJSHTMLCollection;
- function getElementsByTagNameNS(aNameSpace,aName : String) : TJSHTMLCollection;
- function getSelection : TJSSelection;
- function hasFocus : boolean;
- function importNode(aExternalNode : TJSNode; Deep: boolean) : TJSNode;
- function querySelector(aSelectors : String) : TJSElement;
- function querySelectorAll(aSelectors : String) : TJSNodeList;
- procedure open;
- procedure releaseCapture;
- procedure write(aLine : string);
- procedure writeln(aLine : String);
- Public
- body : TJSElement;
- cookie: TJSString;
- designMode : string;
- dir : string;
- domain : string;
- selectedStyleSheetSet : string;
- title : string;
- onabort : TJSEventHandler;
- onblur : TJSEventHandler;
- oncancel : TJSEventHandler;
- oncanplay : TJSEventHandler;
- oncanplaythrough : TJSEventHandler;
- onchange : TJSEventHandler;
- onclick: THTMLClickEventHandler;
- onclose : TJSEventHandler;
- oncontextmenu : TJSEventHandler;
- oncuechange : TJSEventHandler;
- ondblclick : THTMLClickEventHandler;
- ondrag : TJSDragDropEventHandler;
- ondragend : TJSDragDropEventHandler;
- ondragenter : TJSDragDropEventHandler;
- ondragexit : TJSDragDropEventHandler;
- ondragover : TJSDragDropEventHandler;
- ondragleave : TJSDragDropEventHandler;
- ondragstart: TJSDragDropEventHandler;
- ondrop : TJSDragDropEventHandler;
- ondurationchange : TJSEventHandler;
- onemptied : TJSEventHandler;
- onended : TJSEventHandler;
- onerror : TJSErrorEventHandler;
- onfocus : TJSFocusEventhandler;
- ongotpointercapture : TJSPointerEventHandler;
- oninput : TJSEventhandler;
- oninvalid : TJSEventhandler;
- onkeydown : TJSKeyEventhandler;
- onkeypress : TJSKeyEventhandler;
- onkeyup : TJSKeyEventhandler;
- onload : TJSEventhandler;
- onloadeddata : TJSEventhandler;
- onloadedmetadata : TJSEventhandler;
- onloadend : TJSProgressEventhandler;
- onloadstart : TJSProgressEventhandler;
- onlostpointercapture : TJSPointerEventHandler;
- onmessage : TJSEventHandler;
- onmousedown : TJSMouseEventHandler;
- onmouseenter : TJSMouseEventHandler;
- onmouseleave : TJSMouseEventHandler;
- onmousemove : TJSMouseEventHandler;
- onmouseout : TJSMouseEventHandler;
- onmouseover : TJSMouseEventHandler;
- onmouseup : TJSMouseEventHandler;
- onmousewheel : TJSMouseEventHandler;
- onpause : TJSEventHandler;
- onplay : TJSEventHandler;
- onplaying : TJSEventHandler;
- onpointercancel : TJSPointerEventHandler;
- onpointerdown : TJSPointerEventHandler;
- onpointerenter : TJSPointerEventHandler;
- onpointerleave : TJSPointerEventHandler;
- onpointermove : TJSPointerEventHandler;
- onpointerout : TJSPointerEventHandler;
- onpointerover : TJSPointerEventHandler;
- onpointerup : TJSPointerEventHandler;
- onpointerlockchange : TJSPointerEventHandler;
- onprogress : TJSProgressEventhandler;
- onreset : TJSUIEventHandler;
- onratechange : TJSEventHandler;
- onscroll : TJSUIEventHandler;
- onseekend : TJSEventHandler;
- onseeking : TJSEventHandler;
- onselect : TJSEventHandler;
- onselectionchange : TJSEventHandler;
- onsshow : TJSEventHandler;
- onsubmit : TJSEventHandler;
- onunload : TJSUIEventHandler;
- onwaiting : TJSEventHandler;
- touchstart : TJSTouchEventHandler;
- touchend : TJSTouchEventHandler;
- touchmove : TJSTouchEventHandler;
- touchcancel : TJSTouchEventHandler;
- Property activeElement : TJSElement Read FActiveElement;
- Property characterSet : String Read FCharacterSet;
- property childElementCount : NativeInt Read FChildElementCount;
- property compatMode : String Read FCompatMode;
- property currentScript : TJSElement Read FCurrentScript;
- property defaultView : TJSWindow Read FDefaultView;
- property doctype : TJSDocumentType read FDocType;
- property documentElement : TJSElement read FDocumentElement;
- property documentURI : String Read FDocumentURI;
- property embeds : TJSHTMLCollection Read FEmbeds;
- property firstElementChild : TJSElement Read FFirstElementChild;
- property lastElementChild : TJSElement Read FLastElementChild;
- property Forms : TJSHTMLCollection Read FForms;
- property fullscreenElement : TJSElement Read FFullScreenElement;
- property fullscreenEnabled : Boolean Read FFullscreenEnabled;
- property head : TJSElement read FHead;
- Property hidden : Boolean read FHidden;
- property images : TJSHTMLCollection Read FImages;
- property _implementation : TJSDOMImplementation Read FImplementation;
- property lastModified : String Read FLastModified;
- property lastStyleSheetSet : String read FLastStyleSheetSet;
- property links : TJSHTMLCollection Read FLinks;
- property location : TJSLocation read FLocation;
- Property LocationString : String Read FURL Write FLocationString; // On purpose
- property plugins : TJSHTMLCollection Read FPlugins;
- property pointerLockElement : TJSElement Read FPointerLockElement;
- property preferredStyleSheetSet : String Read FPreferredStyleSheetSet;
- Property readyState : String Read FReadyState;
- Property referrer : String Read FReferrer;
- property scripts : TJSHTMLCollection Read FScripts;
- property styleSheets : TJSStyleSheetList Read FStyleSheets;
- property styleSheetSets : TJSValueDynArray Read FStyleSheetSets; // No type documented ?
- Property URL : String Read FURL;
- property visibilityState : string read FVisibilityState;
- end;
- TJSConsole = class external name 'Console' (TJSObject)
- Public
- procedure assert(anAssertion : string; Obj1 : JSValue); varargs;
- Procedure clear;
- procedure count; overload;
- procedure count(aCounter : String);
- procedure debug(Obj1 : JSValue); varargs of JSValue;
- procedure error(Obj1 : JSValue); varargs of JSValue;
- procedure group; overload;
- procedure group(aLabel : String); overload;
- procedure groupCollapsed; overload;
- procedure groupCollapsed(aLabel : String);overload;
- procedure groupEnd;
- procedure info(Obj1 : JSValue); varargs of JSValue;
- procedure log(Obj1 : JSValue); varargs of JSValue;
- procedure table(args: array of JSValue); overload;
- procedure table(args: array of JSValue; Columns : Array of string);
- procedure table(args: TJSObject); overload;
- procedure table(args: TJSObject; Columns : Array of string); overload;
- procedure time(aName : string);
- procedure timeEnd(aName : string);
- procedure trace;
- procedure warn(Obj1 : JSValue); varargs of JSValue;
- end;
- // TJSBufferSource = class external name 'BufferSource' end;
- // TJSTypedArray = class external name 'TypedArray' end;
- // Forward class definitions
- TJSCryptoKey = Class;
- TJSSubtleCrypto = Class;
- KeyType = String;
- KeyUsage = String;
- NamedCurve = String;
- BigInteger = TJSUint8Array;
- KeyFormat = String;
- // Union of object, DOMString
- AlgorithmIdentifier = JSValue;
-
- { --------------------------------------------------------------------
- Algorithm
- --------------------------------------------------------------------}
-
- Algorithm = record
- name : String;
- end;
-
- { --------------------------------------------------------------------
- AesCbcParams
- --------------------------------------------------------------------}
-
- AesCbcParams = record
- iv : TJSBufferSource;
- end;
-
- { --------------------------------------------------------------------
- AesCtrParams
- --------------------------------------------------------------------}
-
- AesCtrParams = record
- counter : TJSBufferSource;
- length_ : Byte;external name 'length';
- end;
-
- { --------------------------------------------------------------------
- AesGcmParams
- --------------------------------------------------------------------}
-
- AesGcmParams = record
- iv : TJSBufferSource;
- additionalData : TJSBufferSource;
- tagLength : Byte;
- end;
-
- { --------------------------------------------------------------------
- HmacImportParams
- --------------------------------------------------------------------}
-
- HmacImportParams = record
- hash : AlgorithmIdentifier;
- end;
-
- { --------------------------------------------------------------------
- Pbkdf2Params
- --------------------------------------------------------------------}
-
- Pbkdf2Params = record
- salt : TJSBufferSource;
- iterations : NativeInt;
- hash : AlgorithmIdentifier;
- end;
-
- { --------------------------------------------------------------------
- RsaHashedImportParams
- --------------------------------------------------------------------}
-
- RsaHashedImportParams = record
- hash : AlgorithmIdentifier;
- end;
-
- { --------------------------------------------------------------------
- AesKeyGenParams
- --------------------------------------------------------------------}
-
- AesKeyGenParams = record
- length_ : Integer;external name 'length';
- end;
-
- { --------------------------------------------------------------------
- HmacKeyGenParams
- --------------------------------------------------------------------}
-
- HmacKeyGenParams = record
- hash : AlgorithmIdentifier;
- length_ : Integer;external name 'length';
- end;
-
- { --------------------------------------------------------------------
- RsaHashedKeyGenParams
- --------------------------------------------------------------------}
-
- RsaHashedKeyGenParams = record
- modulusLength : Integer;
- publicExponent : BigInteger;
- hash : AlgorithmIdentifier;
- end;
-
- { --------------------------------------------------------------------
- RsaOaepParams
- --------------------------------------------------------------------}
-
- RsaOaepParams = record
- label_ : TJSBufferSource;external name 'label';
- end;
-
- { --------------------------------------------------------------------
- RsaPssParams
- --------------------------------------------------------------------}
-
- RsaPssParams = record
- saltLength : Integer;
- end;
-
- { --------------------------------------------------------------------
- DhKeyGenParams
- --------------------------------------------------------------------}
-
- DhKeyGenParams = record
- prime : BigInteger;
- generator : BigInteger;
- end;
-
- { --------------------------------------------------------------------
- EcKeyGenParams
- --------------------------------------------------------------------}
-
- EcKeyGenParams = record
- _namedCurve : NamedCurve;external name 'namedCurve';
- end;
-
- { --------------------------------------------------------------------
- AesDerivedKeyParams
- --------------------------------------------------------------------}
-
- AesDerivedKeyParams = record
- length_ : Integer;external name 'length';
- end;
-
- { --------------------------------------------------------------------
- HmacDerivedKeyParams
- --------------------------------------------------------------------}
-
- HmacDerivedKeyParams = record
- length_ : Integer;external name 'length';
- end;
-
- { --------------------------------------------------------------------
- EcdhKeyDeriveParams
- --------------------------------------------------------------------}
-
- EcdhKeyDeriveParams = record
- public_ : TJSCryptoKey; external name 'public';
- end;
-
- { --------------------------------------------------------------------
- DhKeyDeriveParams
- --------------------------------------------------------------------}
-
- DhKeyDeriveParams = record
- public_ : TJSCryptoKey; external name 'public';
- end;
-
- { --------------------------------------------------------------------
- DhImportKeyParams
- --------------------------------------------------------------------}
-
- DhImportKeyParams = record
- prime : BigInteger;
- generator : BigInteger;
- end;
-
- { --------------------------------------------------------------------
- EcdsaParams
- --------------------------------------------------------------------}
-
- EcdsaParams = record
- hash : AlgorithmIdentifier;
- end;
-
- { --------------------------------------------------------------------
- EcKeyImportParams
- --------------------------------------------------------------------}
-
- EcKeyImportParams = record
- _namedCurve : NamedCurve;external name 'namedCurve';
- end;
-
- { --------------------------------------------------------------------
- HkdfParams
- --------------------------------------------------------------------}
-
- HkdfParams = record
- hash : AlgorithmIdentifier;
- salt : TJSBufferSource;
- info : TJSBufferSource;
- end;
-
- { --------------------------------------------------------------------
- RsaOtherPrimesInfo
- --------------------------------------------------------------------}
-
- RsaOtherPrimesInfo = record
- r : String;
- d : String;
- t : String;
- end;
-
- { --------------------------------------------------------------------
- JsonWebKey
- --------------------------------------------------------------------}
-
- TRsaOtherPrimesInfoDynArray = Array of RsaOtherPrimesInfo;
- JsonWebKey = record
- kty : String;
- use : String;
- key_ops : TStringDynArray;
- alg : String;
- ext : boolean;
- crv : String;
- x : String;
- y : String;
- d : String;
- n : String;
- e : String;
- p : String;
- q : String;
- dp : String;
- dq : String;
- qi : String;
- oth : TRsaOtherPrimesInfoDynArray;
- k : String;
- end;
-
- { --------------------------------------------------------------------
- CryptoKeyPair
- --------------------------------------------------------------------}
-
- CryptoKeyPair = record
- publicKey : TJSCryptoKey;
- privateKey : TJSCryptoKey;
- end;
-
- { --------------------------------------------------------------------
- TJSCryptoKey
- --------------------------------------------------------------------}
-
- TKeyUsageDynArray = Array of KeyUsage;
- TJSCryptoKey = class external name 'CryptoKey'
- Private
- Ftype_ : KeyType; external name 'type';
- Fextractable : boolean; external name 'extractable';
- Falgorithm : TJSObject; external name 'algorithm';
- Fusages : TKeyUsageDynArray; external name 'usages';
- Public
-
- Property type_ : KeyType Read Ftype_;
- Property extractable : boolean Read Fextractable;
- Property algorithm : TJSObject Read Falgorithm;
- Property usages : TKeyUsageDynArray Read Fusages;
- end;
-
- { --------------------------------------------------------------------
- TJSSubtleCrypto
- --------------------------------------------------------------------}
-
- TJSSubtleCrypto = class external name 'SubtleCrypto'
- Private
- Public
- function encrypt(algorithm : AlgorithmIdentifier; key : TJSCryptoKey; data : TJSBufferSource): TJSPromise;
- function decrypt(algorithm : AlgorithmIdentifier; key : TJSCryptoKey; data : TJSBufferSource): TJSPromise;
- function sign(algorithm : AlgorithmIdentifier; key : TJSCryptoKey; data : TJSBufferSource): TJSPromise;
- function verify(algorithm : AlgorithmIdentifier; key : TJSCryptoKey; signature : TJSBufferSource; data : TJSBufferSource): TJSPromise;
- function digest(algorithm : AlgorithmIdentifier; data : TJSBufferSource): TJSPromise;
- function generateKey(algorithm : AlgorithmIdentifier; extractable : boolean; keyUsages : TKeyUsageDynArray): TJSPromise;
- function deriveKey(algorithm : AlgorithmIdentifier; baseKey : TJSCryptoKey; derivedKeyType : AlgorithmIdentifier; extractable : boolean; keyUsages : TKeyUsageDynArray): TJSPromise;
- function deriveBits(algorithm : AlgorithmIdentifier; baseKey : TJSCryptoKey; length_ : NativeInt): TJSPromise;
- function importKey(format : KeyFormat; keyData : TJSObject; algorithm : AlgorithmIdentifier; extractable : boolean; keyUsages : TKeyUsageDynArray): TJSPromise;
- function exportKey(format : KeyFormat; key : TJSCryptoKey): TJSPromise;
- function wrapKey(format : KeyFormat; key : TJSCryptoKey; wrappingKey : TJSCryptoKey; wrapAlgorithm : AlgorithmIdentifier): TJSPromise;
- function unwrapKey(format : KeyFormat; wrappedKey : TJSBufferSource; unwrappingKey : TJSCryptoKey; unwrapAlgorithm : AlgorithmIdentifier; unwrappedKeyAlgorithm : AlgorithmIdentifier; extractable : boolean; keyUsages : TKeyUsageDynArray): TJSPromise;
- end;
- { TJSCrypto }
- TJSCrypto = class external name 'Crypto' (TJSObject)
- private
- Fsubtle: TJSSubtleCrypto; external name 'subtle';
- Public
- procedure getRandomValues (anArray : TJSTypedArray);
- property subtle : TJSSubtleCrypto Read Fsubtle;
- end;
-
- { TJSHistory }
- TJSHistory = class external name 'History' (TJSObject)
- private
- FLength: NativeInt; external name 'length';
- {$IFDEF FIREFOX}
- FState : JSValue; external name 'state';
- {$ENDIF}
- Public
- procedure back;
- procedure forward;
- procedure go(aIndex : NativeInt);
- procedure go;
- procedure pushState(aState : jsValue; aTitle : String; AURL : String);
- procedure pushState(aState : jsValue; aTitle : String);
- procedure replaceState(aState : jsValue; aTitle : String; AURL : String);
- procedure replaceState(aState : jsValue; aTitle : String);
- procedure replaceState(aState : jsValue);
- {$IFDEF FIREFOX}
- property state : JSValue read FState;
- {$ENDIF}
- property length: NativeInt read FLength;
- end;
- TJSIDBTransactionMode = class
- const
- readonly = 'readonly';
- readwrite = 'readwrite';
- versionchange = 'versionchange';
- end;
- { TJSIDBTransaction }
- TJSIDBTransaction = class external name 'IDBTransaction' (TJSEventTarget)
- private
- FDB : TIDBDatabase; external name 'db';
- FError: JSValue; external name 'error';
- FMode: String; external name 'mode';
- FObjectStoreNames: TStringDynArray; external name 'objectStoreNames';
- public
- procedure abort;
- function objectStore(aName : String) : TJSIDBObjectStore;
- property db : TIDBDatabase read FDB;
- property mode : String read FMode;
- property objectStoreNames : TStringDynArray read FObjectStoreNames;
- property error : JSValue read FError;
- end;
- { TJSIDBKeyRange }
- TJSIDBKeyRange = class external name 'IDBKeyRange' (TJSObject)
- private
- FLower: JSValue;
- FLowerOpen: Boolean;
- FUpper: JSValue;
- FUpperOpen: Boolean;
- Public
- Class Function bound(aLower,aUpper : JSValue) : TJSIDBKeyRange; overload;
- Class Function bound(aLower,aUpper : JSValue; aLowerOpen : Boolean) : TJSIDBKeyRange; overload;
- Class Function bound(aLower,aUpper : JSValue; aLowerOpen,aUpperOpen : Boolean) : TJSIDBKeyRange; overload;
- Class Function lowerBound(aLower : JSValue) : TJSIDBKeyRange; overload;
- Class Function lowerBound(aLower : JSValue; aOpen: Boolean) : TJSIDBKeyRange; overload;
- Class Function only(aValue : JSValue) : TJSIDBKeyRange;
- Class Function upperBound(aUpper : JSValue) : TJSIDBKeyRange; overload;
- Class Function upperBound(aUpper : JSValue; aOpen: Boolean) : TJSIDBKeyRange; overload;
- function includes (aValue : JSValue) : Boolean;
- property lower : JSValue read FLower;
- property lowerOpen : Boolean read FLowerOpen;
- property upper : JSValue read FUpper;
- property upperOpen : Boolean read FUpperOpen;
- end;
- TJSIDBIndexParameters = record
- unique : boolean;
- multiEntry : boolean;
- locale : string;
- end;
- { TJSIDBIndex }
- TJSIDBIndex = class external name 'IDBIndex' (TJSObject)
- private
- FKeyPath: JSValue; external name 'keyPath';
- FMultiEntry: Boolean; external name 'multiEntry';
- FObjectStore: TJSIDBObjectStore; external name 'objectStore';
- FUnique: boolean; external name 'unique';
- public
- name : string;
- function count : TJSIDBRequest;
- function get(aKey : jsValue) : TJSIDBRequest; overload;
- function get(aKey : TJSIDBKeyRange) : TJSIDBRequest; overload;
- function getAll(aKey : jsValue) : TJSIDBRequest; overload;
- function getAll(aKey : TJSIDBKeyRange) : TJSIDBRequest; overload;
- function getAll(aKey : jsValue; ACount : NativeInt) : TJSIDBRequest; overload;
- function getAll(aKey : TJSIDBKeyRange; ACount : NativeInt) : TJSIDBRequest; overload;
- function getAllKeys(aKey : jsValue) : TJSIDBRequest; overload;
- function getAllKeys(aKey : TJSIDBKeyRange) : TJSIDBRequest; overload;
- function getAllKeys(aKey : jsValue; ACount : NativeInt) : TJSIDBRequest; overload;
- function getAllKeys(aKey : TJSIDBKeyRange; ACount : NativeInt) : TJSIDBRequest; overload;
- function getKey(aKey : jsValue) : TJSIDBRequest;
- function openCursor : TJSIDBRequest; overload;
- function openCursor(aKeyRange : TJSIDBKeyRange) : TJSIDBRequest; overload;
- function openCursor(aKeyRange : TJSIDBKeyRange; ADirection : String) : TJSIDBRequest;overload;
- function openKeyCursor : TJSIDBRequest;overload;
- function openKeyCursor(aKeyRange : TJSIDBKeyRange) : TJSIDBRequest;overload;
- function openKeyCursor(aKeyRange : TJSIDBKeyRange; ADirection : String) : TJSIDBRequest;overload;
- Property keyPath : JSValue Read FKeyPath;
- property multiEntry : Boolean read FMultiEntry;
- property objectStore : TJSIDBObjectStore read FObjectStore;
- property unique : boolean read FUnique;
- end;
- TJSIDBCursorDirection = class external name 'IDBCursorDirection' (TJSObject)
- Const
- next = 'next';
- nextUnique = 'nextUnique';
- prev = 'prev';
- prevUnique = 'prevUnique';
- end;
- { TJSIDBCursor }
- TJSIDBCursor = class external name 'IDBCursor' (TJSObject)
- private
- FDirection: string; external name 'direction';
- FKey: JSValue; external name 'key';
- FValue : JSValue; external name 'value';
- FPrimaryKey: JSValue; external name 'primaryKey';
- FSource: JSValue; external name 'source';
- FSourceAsIndex: TJSIDBIndex; external name 'source';
- FSourceAsStore: TJSIDBObjectStore; external name 'source';
- Public
- procedure advance(aCount : NativeInt); overload;
- procedure advance(aKey : JSValue); overload;
- procedure continue(aKey : JSValue); overload;
- procedure continue; overload;
- procedure continuePrimaryKey(aKey : JSValue); overload;
- procedure continuePrimaryKey(aKey,aPrimaryKey : JSValue); overload;
- procedure delete;
- procedure update(aValue : JSValue);
- property source : JSValue read FSource;
- property sourceAsStore : TJSIDBObjectStore read FSourceAsStore;
- property sourceAsIndex : TJSIDBIndex read FSourceAsIndex;
- property key : JSValue read FKey;
- Property Value : JSValue Read FValue;
- property primaryKey : JSValue read FPrimaryKey;
- property direction : string read FDirection;
- end;
- TJSIDBObjectStore = class external name 'IDBObjectStore' (TJSEventTarget)
- public
- function add(aValue : JSValue; aKey : String) : TJSIDBRequest;
- function add(aValue : JSValue) : TJSIDBRequest;
- function clear : TJSIDBRequest;
- function delete(aKey : string) : TJSIDBRequest;
- function delete(aKeyRange : TJSIDBKeyRange) : TJSIDBRequest;
- function get(aKey : string) : TJSIDBRequest; overload;
- function get(aKeyRange : TJSIDBKeyRange) : TJSIDBRequest; overload;
- function getKey(aKey : string) : TJSIDBRequest; overload;
- function getKey(aKeyRange : TJSIDBKeyRange) : TJSIDBRequest; overload;
- function getAll : TJSIDBRequest; overload;
- function getAll(aKey : String) : TJSIDBRequest; overload;
- function getAll(aKeyRange : TJSIDBKeyRange) : TJSIDBRequest; overload;
- function getAll(aKey : String; aCount: NativeInt) : TJSIDBRequest; overload;
- function getAll(aKeyRange : TJSIDBKeyRange; aCount: NativeInt) : TJSIDBRequest; overload;
- function getAllKeys(aKey : String) : TJSIDBRequest; overload;
- function getAllKeys(aKeyRange : TJSIDBKeyRange) : TJSIDBRequest; overload;
- function getAllKeys(aKey : String; aCount: NativeInt) : TJSIDBRequest; overload;
- function getAllKeys(aKeyRange : TJSIDBKeyRange; aCount: NativeInt) : TJSIDBRequest; overload;
- function createIndex (aIndexName : String; KeyPath : String) : TJSIDBIndex; overload;
- function createIndex (aIndexName : String; KeyPath : String; Options : TJSIDBIndexParameters) : TJSIDBIndex; overload;
- function createIndex (aIndexName : String; KeyPath : Array of String) : TJSIDBIndex; overload;
- function createIndex (aIndexName : String; KeyPath : Array of String; Options : TJSIDBIndexParameters) : TJSIDBIndex; overload;
- Procedure deleteIndex (aIndexName : String);
- function index (aIndexName : String) : TJSIDBIndex;
- function put(aValue : JSValue; aKey : String) : TJSIDBRequest; overload;
- function put(aValue : JSValue) : TJSIDBRequest; overload;
- function openCursor : TJSIDBRequest; overload;
- function openCursor(aKey : String) : TJSIDBRequest; overload;
- function openCursor(aKeyRange : TJSIDBKeyRange) : TJSIDBRequest; overload;
- function openCursor(aKey : String; aDirection : string) : TJSIDBRequest; overload;
- function openCursor(aKeyRange : TJSIDBKeyRange; aDirection : string) : TJSIDBRequest; overload;
- function openKeyCursor : TJSIDBRequest; overload;
- function openKeyCursor(aKey : String) : TJSIDBRequest; overload;
- function openKeyCursor(aKeyRange : TJSIDBKeyRange) : TJSIDBRequest; overload;
- function openKeyCursor(aKey : String; aDirection : string) : TJSIDBRequest; overload;
- function openKeyCursor(aKeyRange : TJSIDBKeyRange; aDirection : string) : TJSIDBRequest; overload;
- function count : TJSIDBRequest; overload;
- function count(aKey : String) : TJSIDBRequest; overload;
- function count(aKeyRange : TJSIDBKeyRange) : TJSIDBRequest; overload;
- property Indexes [aIndexName : String] : TJSIDBIndex read index;
- end;
- { TJSIDBRequest }
- TJSIDBRequest = class external name 'IDBRequest' (TJSEventTarget)
- private
- Ferror : JSValue; external name 'error'; // standards are not quite clear on this one
- FReadyState: string; external name 'readyState';
- FResult: JSValue; external name 'result';
- FResultDatabase: TIDBDatabase; external name 'result';
- FResultIndex: TJSIDBIndex; external name 'result';
- FResultObjectStore : TJSIDBObjectStore; external name 'result';
- FResultCursor : TJSIDBCursor; external name 'result';
- FSourceDatabase: TIDBDatabase; external name 'source';
- FSourceIndex: TJSIDBIndex; external name 'source';
- FSourceObjectStore : TJSIDBObjectStore; external name 'source';
- FSourceCursor : TJSIDBCursor; external name 'source';
- FSource: JSValue; external name 'source';
- FTransaction: TJSIDBTransaction; external name 'transaction';
- Public
- onerror : TJSEventHandler;
- onsuccess : TJSEventHandler;
- Property error : JSValue read FError;
- property readyState : string read FReadyState;
- property result : JSValue read FResult;
- property resultAsObjectStore : TJSIDBObjectStore read FResultObjectStore;
- property resultAsCursor : TJSIDBCursor read FResultCursor;
- property resultAsIndex : TJSIDBIndex read FResultIndex;
- property resultAsDatabase : TIDBDatabase read FResultDatabase;
- property source : JSValue read FSource;
- property sourceAsObjectStore : TJSIDBObjectStore read FSourceObjectStore;
- property sourceAsCursor : TJSIDBCursor read FSourceCursor;
- property sourceAsIndex : TJSIDBIndex read FSourceIndex;
- property sourceAsDatabase : TIDBDatabase read FSourceDatabase;
- property transaction : TJSIDBTransaction read FTransaction;
- end;
- TJSIDBOpenDBRequest = class external name 'IDBOpenDBRequest' (TJSIDBRequest)
- Public
- onblocked : TJSEventHandler;
- onupgradeneeded : TJSEventHandler;
- end;
- TJSCreateObjectStoreOptions = record
- keyPath : jsValue;
- autoIncrement : boolean;
- end;
- { TIDBDatabase }
- TIDBDatabase = class external name 'IDBDatabase' (TJSEventTarget)
- private
- FName: string; external name 'name';
- FobjectStoreNames: TStringDynArray; external name 'objectStoreNames';
- FVersion: integer; external name 'version';
- public
- procedure close;
- function createObjectStore(aName : string) : TJSIDBObjectStore; overload;
- function createObjectStore(aName : string; Options: TJSCreateObjectStoreOptions) : TJSIDBObjectStore; overload;
- procedure deleteObjectStore(aName : string);
- function transaction(aStoreNames : array of string) : TJSIDBTransaction; overload;
- function transaction(aStoreNames : array of string; aMode : string) : TJSIDBTransaction; overload;
- property name : string read FName;
- property version : integer read FVersion;
- property objectStoreNames : TStringDynArray read FobjectStoreNames;
- end;
- TJSIDBFactory = class external name 'IDBFactory' (TJSEventTarget)
- public
- function open(aName : string) : TJSIDBOpenDBRequest;
- function open(aName : string; aVersion : Integer) : TJSIDBOpenDBRequest;
- function deleteDatabase(aName : string) : TJSIDBOpenDBRequest;
- function cmp (a,b : jsValue) : NativeInt;
- end;
-
- { TJSStorage }
- TJSStorage = class external name 'Storage' (TJSEventTarget)
- private
- FLength: NativeInt; external name 'length';
- public
- function key(aIndex : Integer) : String;
- function getItem(aKeyName : string) : string;
- procedure setItem(aKeyName : string; aValue : string);
- procedure removeItem(aKeyName : string);
- procedure clear;
- property Keys[AIndex : Integer] : String read key;
- property Items[aKeyName: String] : String read getItem write setItem; default;
- property length : NativeInt Read FLength;
- end;
- // Fake object, used for objects whose visible can be checked
- TJSVisibleItem = class external name 'IVisible' (TJSObject)
- Private
- FVisible : boolean; external name 'visible';
- Public
- Property visible : boolean read FVisible;
- end;
-
- TJSLocationBar = class external name 'LocationBar' (TJSVisibleItem);
- TJSMenuBar = class external name 'MenuBar' (TJSVisibleItem);
- TJSToolBar = class external name 'ToolBar' (TJSVisibleItem);
- TJSPersonalBar = class external name 'PersonalBar' (TJSVisibleItem);
- TJSScrollBars = class external name 'ScrollBars' (TJSVisibleItem);
- TJSPositionError = record
- code : integer;
- message : string;
- end;
- TJSPositionOptions = record
- enableHighAccuracy : boolean;
- timeout : integer;
- maximumAge : integer;
- end;
- TJSCoordinates = record
- latitude : double;
- longitude : double;
- altitude : double;
- accuracy : double;
- altitudeAccuracy : double;
- heading : double;
- speed : double;
- end;
- TJSPosition = record
- coords : TJSCoordinates;
- timestamp : String;
- end;
- TJSGeoLocationCallback = procedure (aPosition : TJSPosition);
- TJSGeoLocationEvent = procedure (aPosition : TJSPosition) of object;
- TJSGeoLocationErrorCallback = procedure (aValue : TJSPositionError);
- TJSGeoLocationErrorEvent = procedure (aValue : TJSPositionError) of object;
- TJSGeoLocation = class external name 'GeoLocation' (TJSObject)
- Public
- Procedure getCurrentPosition(ASuccess : TJSGeoLocationCallback); overload;
- Procedure getCurrentPosition(ASuccess : TJSGeoLocationCallback;aError : TJSGeoLocationErrorCallback); overload;
- Procedure getCurrentPosition(ASuccess : TJSGeoLocationCallback;aError : TJSGeoLocationErrorCallback; AOptions : TJSPositionOptions); overload;
- Function watchPosition(ASuccess : TJSGeoLocationCallback) : NativeInt; overload;
- Function watchPosition(ASuccess : TJSGeoLocationCallback;aError : TJSGeoLocationErrorCallback) : NativeInt; overload;
- Function watchPosition(ASuccess : TJSGeoLocationCallback;aError : TJSGeoLocationErrorCallback; AOptions : TJSPositionOptions) : NativeInt; overload;
- procedure clearWatch(AID : NativeInt);
- end;
- TJSMediaStreamTrack = class external name 'MediaStreamTrack' (TJSEventTarget)
- end;
- TJSMediaDevices = class external name 'MediaDevices' (TJSEventTarget)
- end;
- TJSWorker = class external name 'Worker' (TJSEventTarget)
- public
- constructor new(aURL : string);
- procedure postMessage(aValue : JSValue);
- procedure postMessage(aValue : JSValue; aList : TJSValueDynArray);
- end;
- TJSMessagePort = class external name 'MessagePort' (TJSEventTarget)
- Public
- procedure close;
- procedure postMessage(aValue : JSValue);
- procedure postMessage(aValue : JSValue; aList : TJSValueDynArray);
- procedure start;
- end;
- { TJSSharedWorker }
- TJSSharedWorker = class external name 'SharedWorker' (TJSEventTarget)
- private
- FPort: TJSMessagePort; external name 'port';
- Public
- constructor new(aURL : String); overload;
- constructor new(aURL : String; aName : string); overload;
- property port : TJSMessagePort Read FPort;
- end;
- { TJSServiceWorker }
- TJSServiceWorker = class external name 'ServiceWorker' (TJSWorker)
- private
- FscriptURL: String; external name 'scriptURL';
- FState: string; external name 'state';
- Public
- property state : string read FState;
- property scriptURL : String Read FscriptURL;
- end;
- { TJSServiceWorkerRegistration }
- TJSServiceWorkerRegistration = class external name 'ServiceWorkerRegistration' (TJSObject)
- private
- FActive: TJSServiceWorker; external name 'active';
- FInstalling: TJSServiceWorker; external name 'installing';
- FScope: string; external name 'scope';
- FWaiting: TJSServiceWorker; external name 'waiting';
- public
- function unregister : TJSPromise;
- procedure update;
- property active : TJSServiceWorker read FActive;
- property scope : string read FScope;
- property waiting : TJSServiceWorker read FWaiting;
- property installing : TJSServiceWorker read FInstalling;
- end;
- TJSServiceWorkerContainerOptions = record
- scope : string;
- end;
- { TJSServiceWorkerContainer }
- TJSServiceWorkerContainer = class external name 'ServiceWorkerContainer' (TJSObject)
- private
- FController: TJSServiceWorker; external name 'controller';
- FReady: TJSPromise; external name 'ready';
- Public
- function register(aURL : String) : TJSPromise; overload;
- function register(aURL : String; aOptions : TJSServiceWorkerContainerOptions) : TJSPromise; overload;
- function getRegistration(aURL : String) : TJSPromise; overload;
- function getRegistration : TJSPromise; overload;
- function getRegistrations : TJSPromise;
- property controller : TJSServiceWorker read FController;
- property ready : TJSPromise read FReady;
- end;
- TJSClipboardItemOptions = Class external name 'Object' (TJSObject)
- presentationStyle : String;
- end;
- TJSClipBoardItem = Class external name 'ClipboardItem' (TJSObject)
- constructor new(aData : TJSObject; aOptions : TJSOBject); overload;
- constructor new(aData : TJSObject; aOptions : TJSClipboardItemOptions); overload;
- constructor new(aData : TJSObject); overload;
- end;
- TJSClipBoard = class external name 'Clipboard' (TJSEventTarget)
- Function read : TJSPromise;
- Function readText : TJSPromise;
- Function write(Data : Array of TJSClipBoardItem) : TJSPromise;
- Function writeText(aText : String) : TJSPromise;
- end;
- { TJSNavigator }
- TJSNavigator = class external name 'Navigator' (TJSObject)
- {$IFDEF FIREFOX}
- FbuildID : String ; external name 'buildID';
- FOSCPU : String ; external name 'oscpu';
- FproductSub : string; external name 'productSub';
- FVendor : string; external name 'vendor';
- {$ENDIF}
- private
- FCookieEnabled: Boolean; external name 'cookieEnabled';
- FGeoLocation: TJSGeoLocation; external name 'geolocation';
- FLanguage: String; external name 'language';
- FMaxTouchPoints: NativeInt; external name 'maxTouchPoints';
- FMediaDevices: TJSMediaDevices; external name 'mediaDevices';
- FOnline: boolean; external name 'onLine';
- FPlatform: string; external name 'platform';
- FServiceWorker: TJSServiceWorkerContainer; external name 'serviceWorker';
- FUserAgent: string; external name 'userAgent';
- fClipBoard : TJSClipBoard; external name 'clipboard';
- FPermissions: TJSPermissions; external name 'permissions';
- public
- function getBattery : TJSPromise;
- function requestMediaKeySystemAccess(aKeySystem : String; supportedConfigurations : TJSValueDynArray) : TJSPromise;
- Procedure registerContentHandler(aMimeType,aURI,aTitle : string);
- Procedure registerProtocolHandler(aProtocol,aURI,aTitle : string);
- Procedure vibrate(aPattern : NativeInt);
- Procedure vibrate(aPattern : Array of NativeInt);
- {$IFDEF FIREFOX}
- property buildID : String read FBuildID;
- property oscpu : string read FOSCPU;
- property productSub: string read FproductSub;
- property vendor : string read Fvendor;
- {$ENDIF}
- property cookieEnabled : Boolean read FCookieEnabled;
- property geoLocation : TJSGeoLocation Read FGeoLocation;
- property language : String read FLanguage;
- property maxTouchPoints : NativeInt read FMaxTouchPoints;
- property mediaDevices : TJSMediaDevices read FMediaDevices;
- property onLine : boolean read FOnline;
- property platform : string read FPlatform;
- property userAgent : string read FUserAgent;
- property serviceWorker : TJSServiceWorkerContainer read FServiceWorker;
- property ClipBoard : TJSClipBoard Read FCLipboard;
- property permissions: TJSPermissions read FPermissions;
- end;
- { TJSTouchEvent }
- TTouchCoord = longint;
- TJSTouch = class external name 'Touch' (TJSObject)
- private
- FClientX: TTouchCoord; external name 'clientX';
- FClientY: TTouchCoord; external name 'clientY';
- FIDentifier: longint; external name 'identifier';
- FPageX: TTouchCoord; external name 'pageX';
- FPageY: TTouchCoord; external name 'pageY';
- FScreenX: TTouchCoord; external name 'screenX';
- FScreenY: TTouchCoord; external name 'screenY';
- FTarget: TJSElement; external name 'target';
- Public
- Property identifier : longint read FIDentifier;
- Property ScreenX : TTouchCoord Read FScreenX;
- Property ScreenY : TTouchCoord Read FScreenY;
- Property ClientX : TTouchCoord Read FClientX;
- Property ClientY : TTouchCoord Read FClientY;
- Property PageX : TTouchCoord Read FPageX;
- Property PageY : TTouchCoord Read FPageY;
- Property Target : TJSElement Read FTarget;
- end;
- { TJSTouchList }
- TJSTouchList = class external name 'TouchList' (TJSObject)
- private
- FLength: NativeInt; external name 'length';
- Public
- function item (aIndex : Integer) : TJSTouch;
- property length : NativeInt Read FLength;
- Property Touches[AIndex : Integer] : TJSTouch Read item; default;
- end;
- TJSPerformance = class external name 'Performance' (TJSObject);
- TJSScreen = class external name 'Screen' (TJSObject)
- private
- FavailHeight: Integer; external name 'availHeight';
- FavailWidth: Integer; external name 'availWidth';
- FcolorDepth: Integer; external name 'colorDepth';
- FPixelDepth: Integer; external name 'pixelDepth';
- Fheight: Integer; external name 'height';
- Fwidth: Integer; external name 'width';
- public
- { Properties declarations }
- property availHeight: Integer read FavailHeight;
- property availWidth: Integer read FavailWidth;
- property colorDepth: Integer read FcolorDepth;
- property pixelDepth: Integer read FPixelDepth;
- property height: Integer read Fheight;
- property width: Integer read Fwidth;
- end;
- TJSParamEnumCallBack = reference to procedure (const aKey,aValue : string);
- TJSURLSearchParams = class external name 'URLSearchParams' (TJSObject)
- Public
- constructor new(aQuery : String);
- Procedure append(const aName,aValue : string);
- Procedure delete(const aName : string);
- Function entries : TJSIterator;
- Procedure foreach(aEnumCallBack : TJSParamEnumCallBack);
- function get(const aName : string) : JSValue;
- // If you're sure the value exists...
- function getString(const aName : string) : string; external name 'get';
- function getAll(const aName : string) : TStringDynArray;
- function has(const aName : string) : Boolean;
- Function keys : TJSIterator; reintroduce;
- Procedure set_(const aName,aValue : string); external name 'set';
- Procedure sort;
- Function values : TJSIterator; reintroduce;
- end;
- TJSURL = class external name 'URL' (TJSObject)
- Private
- FOrigin : String; external name 'origin';
- FSearchParams : TJSURLSearchParams; external name 'searchParams';
- public
- hash : string;
- host : string;
- hostname : string;
- href : string;
- password : string;
- pathname : string;
- port : string;
- protocol : string;
- search : string;
- username : string;
- constructor new(aURL : String);
- constructor new(aURL,aBase : String);
- class function createObjectURL(const v: JSValue): string;
- class function revokeObjectURL(const S : String): string;
- function toJSON : String;
- Property Origin : String Read FOrigin;
- property SearchParams : TJSURLSearchParams read FSearchParams;
- end;
- TJSTimerCallBack = reference to procedure; safecall;
- Theader = Array [0..1] of String;
- THeaderArray = Array of Theader;
- TJSHTMLHeaders = Class external name 'Headers' (TJSObject)
- Public
- constructor new(values : THeaderArray); overload;
- procedure append(aName, aValue : String);
- procedure delete(aName : String);
- function entries : TJSIterator;
- Function get(aName: String): string;
- Function has(aName: String): Boolean;
- function keys : TJSIterator; reintroduce;
- function values : TJSIterator; reintroduce;
- procedure set_(aName, aValue : String);
- Property Headers[aName : string] : string Read Get Write Set_;
- end;
- { TJSMediaQueryList }
- TJSMediaQueryList = class external name 'MediaQueryList' (TJSObject)
- private
- FMatches: Boolean; external name 'matches';
- FMedia: String; external name 'media';
- Public
- Property matches : Boolean Read FMatches;
- Property media : String Read FMedia;
- end;
- TJSReadableStream = class external name 'ReadableStream' (TJSObject)
- private
- flocked: Boolean; external name 'locked';
- public
- property locked: Boolean read flocked;
- constructor new(underlyingSource: TJSObject);
- constructor new(underlyingSource, queueingStrategy: TJSObject);
- function cancel(reason: TJSDOMString): TJSPromise;
- function getReader(): TJSObject; overload;
- function getReader(mode: TJSObject): TJSObject; overload;
- function pipeThrough(transformStream: TJSObject): TJSReadableStream; overload;
- function pipeThrough(transformStream, options: TJSObject): TJSReadableStream; overload;
- function pipeTo(destination: TJSObject): TJSPromise; overload;
- function pipeTo(destination, options: TJSObject): TJSPromise; overload;
- function tee(): TJSArray; // array containing two TJSReadableStream instances
- end;
- TJSWritableStream = class external name 'WritableStream' (TJSObject)
- private
- FLocked: Boolean; external name 'locked';
- public
- function abort(reason: String): TJSPromise;
- function close: TJSPromise;
- function getWriter: TJSObject;
- property locked: Boolean read FLocked;
- end;
- TJSBody = class external name 'Body' (TJSObject)
- private
- fbody: TJSReadableStream; external name 'body';
- fbodyUsed: Boolean; external name 'bodyUsed';
- public
- property body: TJSReadableStream read fbody;
- property bodyUsed: Boolean read fbodyUsed;
- function arrayBuffer(): TJSPromise; // resolves to TJSArrayBuffer
- //function blob(): TJSPromise; // resolves to TJSBlob
- function blob: TJSBlob; {$IFNDEF SkipAsync}async;{$ENDIF}
- function json(): TJSPromise; // resolves to JSON / TJSValue
- //function text(): TJSPromise; // resolves to USVString, always decoded using UTF-8
- function text(): string; {$IFNDEF SkipAsync}async;{$ENDIF}
- end;
- TJSResponse = class external name 'Response' (TJSBody)
- private
- fheaders: TJSObject;external name 'headers';
- fok: Boolean; external name 'ok';
- fredirected: Boolean; external name 'redirected';
- fstatus: NativeInt; external name 'status';
- fstatusText: String; external name 'statusText';
- ftype: String; external name 'type';
- furl: String; external name 'url';
- fuseFinalUrl: Boolean; external name 'useFinalUrl';
- public
- property headers: TJSObject read fheaders; //
- property ok: Boolean read fok;
- property redirected: Boolean read fredirected;
- property status: NativeInt read fstatus;
- property statusText: String read fstatusText; //
- property type_: String read ftype; //
- property url: String read furl; //
- property useFinalUrl: Boolean read fuseFinalUrl write fuseFinalUrl;
- constructor new(body: TJSObject; init: TJSObject); varargs; external name 'new';
- function clone(): TJSResponse;
- function error(): TJSResponse;
- function redirect(url: String; Status: NativeInt): TJSResponse;
- end;
- TJSDOMHighResTimeStamp = Double;
- TFrameRequestCallback = reference to procedure (aTime: TJSDOMHighResTimeStamp);
- TJSPostMessageOptions = class external name 'Object' (TJSObject)
- targetOrigin : string;
- transfer : TJSValueDynArray;
- end;
- TJSIdleCallbackOptions = class
- public
- timeout: Cardinal;
- end;
- TJSIdleDeadline = class external name 'IdleDeadline'
- private
- FDidTimeout: Boolean; external name 'didTimeout';
- public
- function timeRemaining: TJSDOMHighResTimeStamp;
- property didTimeout: Boolean read FDidTimeout;
- end;
- TIdleCallbackProc = reference to procedure(idleDeadline: TJSIdleDeadline);
- TJSWindowArray = Array of TJSWindow;
- { TJSWindow }
- TJSWindow = class external name 'Window' (TJSObject)
- Private
- FClosed: boolean; external name 'closed';
- FConsole : TJSConsole; external name 'console';
- FCrypto: TJSCrypto; external name 'crypto';
- FDevicePixelRatio: Double; external name 'devicePixelRatio';
- FDocument: TJSDocument; external name 'document';
- FFrameElement: TJSElement; external name 'frameElement';
- FFrames: TJSWindowArray; external name 'frames';
- FHistory: TJSHistory; external name 'history';
- FIndexedDB: TJSIDBFactory; external name 'indexedDB';
- FInnerheight: NativeInt; external name 'innerHeight';
- FInnerWidth: NativeInt; external name 'innerWidth';
- FLength: NativeInt; external name 'length';
- FLocalStorage: TJSStorage; external name 'localStorage';
- FLocation: TJSLocation; external name 'location';
- FLocationBar: TJSLocationBar; external name 'locationbar';
- FLocationString: string; external name 'location';
- FMenuBar: TJSMenuBar; external name 'menubar';
- FNavigator: TJSNavigator; external name 'navigator';
- FOpener: TJSWindow; external name 'opener';
- FOuterheight: NativeInt; external name 'outerHeight';
- FOuterWidth: NativeInt; external name 'outerWidth';
- FParent: TJSWindow; external name 'parent';
- FPerformance: TJSPerformance; external name 'Performance';
- FPersonalBar: TJSPersonalBar; external name 'personalbar';
- FScreen: TJSScreen; external name 'screen';
- FScreenX: NativeInt; external name 'screenX';
- FScreenY: NativeInt; external name 'screenY';
- FScrollbar: TJSScrollBars; external name 'scrollbar';
- FScrollX: NativeInt; external name 'scrollX';
- FScrollY: NativeInt; external name 'scrollY';
- FSelf: TJSWindow; external name 'self';
- FSessionStorage: TJSStorage; external name 'sessionStorage';
- FToolBar: TJSToolBar; external name 'toolbar';
- FTop: TJSWindow; external name 'top';
- FURL: TJSURL; external name 'URL';
- Public
- fullSreen : Boolean;
- name : string;
- status : string;
- onabort : TJSEventHandler;
- onafterprint : TJSEventHandler;
- onbeforeprint : TJSEventHandler;
- onbeforeinstallprompt : TJSEventHandler;
- onbeforeunloadprompt : TJSEventHandler;
- onblur : TJSEventHandler;
- onchange : TJSEventHandler;
- onclick: THTMLClickEventHandler;
- onclose : TJSEventHandler;
- oncontextmenu : TJSEventHandler;
- ondblclick : THTMLClickEventHandler;
- onerror : TJSErrorEventHandler;
- onfocus : TJSFocusEventhandler;
- onhashchange : TJSHashChangeEventhandler;
- oninput : TJSEventhandler;
- onkeydown : TJSKeyEventhandler;
- onkeypress : TJSKeyEventhandler;
- onkeyup : TJSKeyEventhandler;
- onlanguagechange : TJSEventhandler;
- onload : TJSEventhandler;
- onloadend : TJSLoadEventhandler;
- onloadstart : TJSLoadEventhandler;
- onmessage : TJSEventHandler;
- onmousedown : TJSMouseEventHandler;
- onmouseenter : TJSMouseEventHandler;
- onmouseleave : TJSMouseEventHandler;
- onmousemove : TJSMouseEventHandler;
- onmouseout : TJSMouseEventHandler;
- onmouseover : TJSMouseEventHandler;
- onmouseup : TJSMouseEventHandler;
- onmousewheel : TJSMouseEventHandler;
- onoffline : TJSEventHandler;
- ononline : TJSEventHandler;
- onpagehide : TJSPageTransitionEventHandler;
- onpageshow : TJSPageTransitionEventHandler;
- onpaint : TJSEventHandler;
- onpointercancel : TJSPointerEventHandler;
- onpointerdown : TJSPointerEventHandler;
- onpointerenter : TJSPointerEventHandler;
- onpointerleave : TJSPointerEventHandler;
- onpointermove : TJSPointerEventHandler;
- onpointerout : TJSPointerEventHandler;
- onpointerover : TJSPointerEventHandler;
- onpointerup : TJSPointerEventHandler;
- onpointerlockchange : TJSPointerEventHandler;
- onprogress : TJSProgressEventhandler;
- onpopstate : TJSPopStateEventHandler;
- onreset : TJSUIEventHandler;
- onresize : TJSUIEventHandler;
- onscroll : TJSUIEventHandler;
- onselect : TJSEventHandler;
- onselectionchange : TJSEventHandler;
- onstorage : TJSStorageEventHandler;
- onsubmit : TJSEventHandler;
- onunload : TJSUIEventHandler;
- touchstart : TJSTouchEventHandler;
- touchend : TJSTouchEventHandler;
- touchmove : TJSTouchEventHandler;
- touchcancel : TJSTouchEventHandler;
- procedure addEventListener(aname : string; aListener : TJSEventHandler);
- procedure addEventListener(aname : string; aListener : TJSRawEventHandler);
- procedure addEventListener(aname : string; aListener : JSValue);
- Procedure alert(Const Msg : String);
- Function atob(Const aValue : string) : string;
- procedure blur;
- Procedure clearInterval(aID: NativeInt);
- Procedure clearTimeout(aID: NativeInt);
- Function btoa(Const aValue : string) : string;
- procedure cancelAnimationFrame(aHandle: Integer);
- Procedure close;
- Function confirm(Const aMsg : String) : boolean;
- function fetch(resource: String; init: TJSObject): TJSPromise; overload; external name 'fetch';
- //function fetch(resource: String): TJSPromise; overload; external name 'fetch';
- function fetch(resource: String): TJSResponse; {$IFNDEF SkipAsync}async;{$ENDIF} overload; external name 'fetch';
- function fetch(resource: TJSObject; init: TJSObject): TJSPromise; overload; external name 'fetch';
- function fetch(resource: TJSObject): TJSPromise; overload; external name 'fetch';
- function asyncfetch(resource: String): TJSResponse; {$IFNDEF SkipAsync}async;{$ENDIF} overload; external name 'fetch';
- function asyncfetch(resource: TJSObject; init: TJSObject): TJSResponse; {$IFNDEF SkipAsync} async;{$ENDIF} overload; external name 'fetch';
- function asyncfetch(resource: TJSObject): TJSResponse; {$IFNDEF SkipAsync}async;{$ENDIF} overload;external name 'fetch';
- procedure focus;
- Function getComputedStyle(aElement : TJSElement) : TJSCSSStyleDeclaration; overload;
- Function getComputedStyle(aElement,aPseudoElement : TJSElement) : TJSCSSStyleDeclaration; overload;
- function matchMedia(aQuery : String) : TJSMediaQueryList;
- procedure moveBy(x,y : NativeInt);
- procedure moveTo(x,y : NativeInt);
- function open : TJSWindow;
- function open(Const aURL : String) : TJSWindow; overload;
- function open(Const aURL,aTarget : String) : TJSWindow; overload;
- function open(Const aURL,aTarget : String; AOptions : TJSObject) : TJSWindow; overload;
- procedure postMessage(aMessage : JSValue);
- procedure postMessage(aMessage : JSValue; aOptions : TJSPostMessageOptions);
- procedure postMessage(aMessage : JSValue; aTransfer : TJSValueDynArray);
- procedure postMessage(aMessage : JSValue; aTarget : string);
- procedure postMessage(aMessage : JSValue; aTarget : string; aTransfer : TJSValueDynArray);
- procedure print;
- function prompt(const aMessage : String) : String; overload;
- function prompt(const aMessage,aDefault : String) : String; overload;
- procedure removeEventListener(aname : string; aListener : TJSEventHandler);
- procedure removeEventListener(aname : string; aListener : JSValue);
- function requestAnimationFrame(aCallback: TFrameRequestCallback): Integer;
- procedure resizeBy(aWidth,aHeight : NativeInt);
- procedure resizeTo(aWidth,aHeight : NativeInt);
- procedure scrollBy(x,y : NativeInt);
- procedure scrollTo(x,y : NativeInt);
- Function setInterval(ahandler : TJSTimerCallBack; aInterval : NativeUInt) : NativeInt; varargs;
- Function setTimeout(ahandler : TJSTimerCallBack; aTimeout : NativeUInt) : NativeInt; varargs;
- Function setTimeout(ahandler : TJSTimerCallBack) : NativeInt;
- procedure stop;
- procedure cancelIdleCallback(handle: NativeInt);
- function requestIdleCallback(handler: TIdleCallbackProc): NativeInt; overload;
- function requestIdleCallback(handler: TIdleCallbackProc; options: TJSIdleCallbackOptions): NativeInt; overload;
- function showOpenFilePicker: array of TJSFileSystemFileHandle; async; overload;
- function showOpenFilePicker(options: TJSShowOpenFilePickerOptions): array of TJSFileSystemFileHandle; async; overload;
- function showSaveFilePicker: TJSFileSystemFileHandle; async; overload;
- function showSaveFilePicker(options: TJSShowSaveFilePickerOptions): TJSFileSystemFileHandle; async; overload;
- function FileSystemDirectoryHandle: array of TJSFileSystemDirectoryHandle; async;
- { public properties }
- property console : TJSConsole Read FConsole;
- property closed : boolean read FClosed;
- property crypto : TJSCrypto Read FCrypto;
- property devicePixelRatio : Double read FDevicePixelRatio;
- property document : TJSDocument read FDocument;
- property frameElement : TJSElement Read FFrameElement;
- Property frames : TJSWindowArray read FFrames;
- Property history : TJSHistory read FHistory;
- Property indexedDB : TJSIDBFactory read FIndexedDB;
- Property innerHeight : NativeInt Read FInnerheight;
- Property innerWidth : NativeInt Read FInnerWidth;
- Property length : NativeInt Read FLength;
- Property localStorage : TJSStorage Read FLocalStorage;
- property location : TJSLocation Read FLocation;
- Property locationString : String read FLocationString write FLocationString;
- property locationbar : TJSLocationBar Read FLocationBar;
- property menubar : TJSMenuBar Read FMenuBar;
- property navigator : TJSNavigator Read FNavigator;
- property opener : TJSWindow read FOpener;
- Property outerHeight : NativeInt Read FOuterheight;
- Property outerWidth : NativeInt Read FOuterWidth;
- Property parent : TJSWindow Read FParent;
- Property Performance : TJSPerformance Read FPerformance;
- property personalbar : TJSPersonalBar Read FPersonalBar;
- property screen : TJSScreen read FScreen;
- property screenX : NativeInt read FScreenX;
- Property screenY : NativeInt read FScreenY;
- Property scrollbar : TJSScrollBars Read FScrollbar;
- property scrollX : NativeInt read FScrollX;
- Property scrollY : NativeInt read FScrollY;
- Property _Self : TJSWindow read FSelf;
- Property sessionStorage : TJSStorage Read FSessionStorage;
- property toolbar : TJSToolBar Read FToolBar;
- property top : TJSWindow Read FTop;
- property URL : TJSURL Read FURL;
- end;
- { TJSCSSStyleDeclaration }
- TJSCSSStyleDeclaration = class external name 'CSSStyleDeclaration' (TJSObject)
- private
- FLength: NativeInt; external name 'length';
- FParentRule: TJSCSSRule; external name 'parentRule';
- public
- cssText : string;
- function item(aIndex : Integer) : string;
- function removeProperty(const aProperty : String) : string;
- function getPropertyPriority(const aProperty : String) : string;
- function getPropertyValue(const aProperty : String) : string;
- procedure setProperty(const aProperty,aValue : String);overload;
- procedure setProperty(const aProperty,aValue,aPriority : string); overload;
- property length : NativeInt read FLength;
- property parentRule : TJSCSSRule read FParentRule;
- end;
- TJSScrollIntoViewOptions = class external name 'Object' (TJSObject)
- behaviour : string;
- block : string;
- inline_ : string; external name 'inline';
- end;
- { TJSHTMLElement }
- TJSHTMLElement = class external name 'HTMLElement' (TJSElement)
- private
- FDataset: TJSObject ; external name 'dataset';
- FIsContentEditable: Boolean ; external name 'isContentEditable';
- FOffsetHeight: Double; external name 'offsetHeight';
- FOffsetLeft: Double; external name 'offsetLeft';
- FOffsetParent: TJSElement; external name 'offsetParent';
- FOffsetTop: Double; external name 'offsetTop';
- FOffsetWidth: Double; external name 'offsetWidth';
- Public
- accessKey : string;
- contentEditable : string;
- dir : string;
- draggable : boolean;
- hidden : boolean;
- lang : string;
- spellcheck : boolean;
- style : TJSCSSStyleDeclaration;
- tabIndex : Integer;
- title: string;
- onabort : TJSEventHandler;
- onanimationcancel: THTMLAnimationEventHandler;
- onanimationend: THTMLAnimationEventHandler;
- onblur : TJSEventHandler;
- oncancel : TJSEventHandler;
- oncanplay : TJSEventHandler;
- oncanplaythrough : TJSEventHandler;
- onchange : TJSEventHandler;
- onclick: THTMLClickEventHandler;
- onclose : TJSEventHandler;
- oncontextmenu : TJSEventHandler;
- ondblclick : THTMLClickEventHandler;
- ondrag : TJSDragDropEventHandler;
- ondragend : TJSDragDropEventHandler;
- ondragenter : TJSDragDropEventHandler;
- ondragexit : TJSDragDropEventHandler;
- ondragover : TJSDragDropEventHandler;
- ondragleave : TJSDragDropEventHandler;
- ondragstart: TJSDragDropEventHandler;
- ondrop : TJSDragDropEventHandler;
- onerror : TJSErrorEventHandler;
- onfocus : TJSFocusEventhandler;
- ondurationchange : TJSEventHandler;
- onemptied : TJSEventHandler;
- onended : TJSEventHandler;
- ongotpointercapture : TJSPointerEventHandler;
- oninput : TJSEventhandler;
- oninvalid : TJSEventhandler;
- onkeydown : TJSKeyEventhandler;
- onkeypress : TJSKeyEventhandler;
- onkeyup : TJSKeyEventhandler;
- onload : TJSEventhandler;
- onloadeddata : TJSEventhandler;
- onloadedmetadata : TJSEventhandler;
- onloadend : TJSLoadEventhandler;
- onloadstart : TJSLoadEventhandler;
- onlostpointercapture : TJSPointerEventHandler;
- onmousedown : TJSMouseEventHandler;
- onmouseenter : TJSMouseEventHandler;
- onmouseleave : TJSMouseEventHandler;
- onmousemove : TJSMouseEventHandler;
- onmouseout : TJSMouseEventHandler;
- onmouseover : TJSMouseEventHandler;
- onmouseup : TJSMouseEventHandler;
- onmousewheel : TJSMouseEventHandler;
- onpause : TJSPointerEventHandler;
- onplay : TJSPointerEventHandler;
- onplaying : TJSPointerEventHandler;
- onpointercancel : TJSPointerEventHandler;
- onpointerdown : TJSPointerEventHandler;
- onpointerenter : TJSPointerEventHandler;
- onpointerleave : TJSPointerEventHandler;
- onpointermove : TJSPointerEventHandler;
- onpointerout : TJSPointerEventHandler;
- onpointerover : TJSPointerEventHandler;
- onpointerup : TJSPointerEventHandler;
- onpointerlockchange : TJSPointerEventHandler;
- onprogress : TJSProgressEventhandler;
- onseeked : TJSEventHandler;
- onseeking : TJSEventHandler;
- onreset : TJSUIEventHandler;
- onscroll : TJSUIEventHandler;
- onselect : TJSEventHandler;
- onselectstart : TJSEventHandler;
- onselectionchange : TJSEventHandler;
- onshow : TJSEventHandler;
- onstalled : TJSEventHandler;
- ontimeupdate : TJSEventHandler;
- ontransitioncancel : TJSEventHandler;
- ontransitionend : TJSEventHandler;
- onvolumechange : TJSEventHandler;
- onsubmit : TJSEventHandler;
- onwheel : TJSMouseWheelEventHandler;
- onwaiting : TJSEventHandler;
- touchstart : TJSTouchEventHandler;
- touchend : TJSTouchEventHandler;
- touchmove : TJSTouchEventHandler;
- touchcancel : TJSTouchEventHandler;
- Procedure blur;
- Procedure focus;
- Procedure click;
- procedure scrollIntoView; overload;
- procedure scrollIntoView(alignToTop : Boolean);
- procedure scrollIntoView(aObj : TJSObject);
- procedure scrollIntoView(Opts: TJSScrollIntoViewOptions);
- property dataset : TJSObject read FDataset;
- property isContentEditable : Boolean read FIsContentEditable;
- property offsetHeight : Double Read FOffsetHeight;
- property offsetLeft : Double Read FOffsetLeft;
- property offsetTop : Double Read FOffsetTop;
- property offsetWidth : Double Read FOffsetWidth;
- property offsetParent : TJSElement Read FOffsetParent;
- end;
- TJSHTMLDivElement = class external name 'HTMLDivElement' (TJSHTMLElement)
- end;
- TJSHTMLFormControlsCollection = class external name 'HTMLFormControlsCollection' (TJSHTMLCollection)
- Public
- function namedItem(S : String) : TJSElement; reintroduce; external name 'namedItem';
- property Items[S : String] : TJSElement read namedItem; default;
- end;
- { TJSHTMLFormElement }
- TJSHTMLFormElement = class external name 'HTMLFormElement' (TJSHTMLElement)
- private
- FElements: TJSHTMLFormControlsCollection; external name 'elements';
- FLength: NativeInt; external name 'length';
- Public
- Procedure reset;
- function reportValidity : Boolean;
- function checkValidity : Boolean;
- procedure submit;
- method : string;
- target : string;
- action : string;
- encoding : string;
- enctype : string;
- acceptCharset : string;
- autocomplete : string;
- noValidate : boolean;
- property elements : TJSHTMLFormControlsCollection read FElements;
- Property length : NativeInt Read FLength;
- end;
- { TJSValidityState }
- TJSValidityState = class external name 'ValidityState' (TJSObject)
- private
- FBadInput: Boolean; external name 'badInput';
- FCustomError: Boolean; external name 'customError';
- FPatternMismatch: Boolean; external name 'patternMisMatch';
- FRangeOverflow: Boolean; external name 'rangeOverflow';
- FRangeUnderflow: Boolean; external name 'rangeUnderflow';
- FStepMismatch: Boolean; external name 'stepMismatch';
- FTooLong: Boolean; external name 'tooLong';
- FTooShort: Boolean; external name 'tooShort';
- FTypeMismatch: Boolean; external name 'typeMisMatch';
- FValid: Boolean; external name 'valid';
- FValueMissing: Boolean; external name 'valueMissing';
- public
- property badInput : Boolean read FBadInput;
- property customError : Boolean read FCustomError;
- property patternMisMatch : Boolean read FPatternMismatch;
- property rangeOverflow : Boolean read FRangeOverflow;
- property rangeUnderflow : Boolean read FRangeUnderflow;
- property stepMismatch : Boolean read FStepMismatch;
- property tooLong : Boolean read FTooLong;
- property tooShort : Boolean read FTooShort;
- property typeMisMatch : Boolean read FTypeMismatch;
- property valid : Boolean Read FValid;
- property valueMissing : Boolean read FValueMissing;
- end;
- { TJSBlob }
- TJSBlob = class external name 'Blob' (TJSEventTarget)
- private
- FSize: NativeInt; external name 'size';
- FType: string; external name 'type';
- Public
- procedure close;
- function slice : TJSBlob; overload;
- function slice(aStart : NativeInt) : TJSBlob; overload;
- function slice(aStart,aEnd : NativeInt) : TJSBlob; overload;
- function slice(aStart,aEnd : NativeInt; AContentType : String) : TJSBlob; overload;
- function arrayBuffer : TJSPromise;
- property size : NativeInt read FSize;
- property _type : string read FType; deprecated;
- property type_ : string read FType;
- end;
- { TJSHTMLFile }
- TJSHTMLFile = class external name 'File' (TJSBlob)
- private
- FLastModified: NativeInt; external name 'lastModified';
- FLastModifiedDate: TJSDate; external name 'lastModifiedDate';
- FName: string; external name 'name';
- public
- property lastModified: NativeInt read FLastModified;
- property lastModifiedDate : TJSDate read FLastModifiedDate; deprecated;
- property name: String read FName;
- end;
- { TJSHTMLFileList }
- TJSHTMLFileList = class external name 'FileList' (TJSEventTarget)
- private
- FLength: NativeInt; external name 'length';
- Public
- function item(aIndex : NativeInt) : TJSHTMLFile;
- property length : NativeInt read FLength;
- property Files[aIndex : NativeInt] : TJSHTMLFile Read item; default;
- end;
- { TJSHTMLInputElement }
- // https://html.spec.whatwg.org/multipage/forms.html#the-input-element
- TJSHTMLInputElement = class external name 'HTMLInputElement' (TJSHTMLElement)
- private
- FFiles: TJSHTMLFileList; external name 'files';
- FForm: TJSHTMLFormElement; external name 'form';
- FLabels: TJSNodeList; external name 'labels';
- FList: TJSHTMLElement; external name 'list';
- FValidationmMessage: string; external name 'validationMessage';
- FValidity: TJSValidityState; external name 'validity';
- FWillValidate: boolean; external name 'willValidate';
- Public
- procedure select;
- procedure setCustomValidity(aText : string);
- procedure stepUp; overload;
- procedure stepUp(n : Integer); overload;
- function checkValidity : Boolean;
- function reportValidity : Boolean;
- procedure setSelectionRange(selectionStart, selectionEnd: NativeInt) ; overload;
- procedure setSelectionRange(selectionStart, selectionEnd: NativeInt; Direction : string) ; overload;
- procedure setRangeText(aText : string; selectionStart, selectionEnd: NativeInt) ; overload;
- procedure setRangeText(aText : string; selectionStart, selectionEnd: NativeInt; Direction : string) ; overload;
- Public
- accept : string;
- allowDirs : boolean;
- align : string;
- alt : string;
- autofocus : boolean;
- autocapitalize : string;
- autocomplete : string;
- defaultValue : string;
- defaultChecked : string;
- checked : boolean;
- dirName : string;
- disabled : boolean;
- formAction : string;
- formEncType : string;
- formMethod : string;
- formNoValidate : Boolean;
- formTarget : string;
- height : string;
- indeterminate : boolean;
- inputMode : string;
- max : string;
- maxLength : NativeInt;
- min : string;
- minLength : NativeInt;
- multiple : boolean;
- pattern : string;
- placeholder : string;
- readOnly : boolean;
- required : boolean;
- size : NativeInt;
- src : string;
- step : string;
- _type : string; external name 'type';
- selectionStart : NativeInt;
- selectionEnd : NativeInt;
- selectionDirection : string;
- useMap : string;
- value : string;
- width : string;
- property files : TJSHTMLFileList Read FFiles;
- property form : TJSHTMLFormElement read FForm;
- property labels : TJSNodeList read FLabels;
- property list : TJSHTMLElement Read FList;
- property validationMessage : string read FValidationmMessage;
- property willValidate : boolean read FWillValidate;
- property validity : TJSValidityState read FValidity;
- end;
- TJSDOMSettableTokenList = class external name 'DOMSettableTokenList' (TJSDOMTokenList)
- private
- fvalue: TJSDOMString; external name 'value';
- public
- property value: TJSDOMString read fvalue; // readonly
- end;
- TJSHTMLOutputElement = class external name 'HTMLOutputElement' (TJSHTMLElement)
- private
- flabels: TJSNodeList; external name 'labels';
- fform: TJSHTMLFormElement; external name 'form';
- ftype: TJSDOMString; external name 'type';
- fdefaultValue: TJSDOMString; external name 'defaultValue';
- fvalue: TJSDOMString; external name 'value';
- fwillValidate: Boolean; external name 'willValidate';
- fvalidity: TJSValidityState; external name 'validity';
- fvalidationMessage: TJSDOMString; external name 'validationMessage';
- public
- htmlFor: TJSDOMSettableTokenList;
- function checkValidity: Boolean;
- function reportValidity: Boolean;
- procedure setCustomValidity(error: TJSDOMString);
- public
- property labels: TJSNodeList read flabels;
- property form: TJSHTMLFormElement read fform;
- property type_: TJSDOMString read ftype;
- property defaultValue: TJSDOMString read fdefaultValue;
- property value: TJSDOMString read fvalue write fvalue;
- property willValidate: Boolean read fwillValidate;
- property validity: TJSValidityState read fvalidity;
- property validationMessage: TJSDOMString read fvalidationMessage;
- end;
- { TJSHTMLImageElement }
- TJSHTMLImageElement = class external name 'Image' (TJSHTMLElement)
- Private
- FComplete: boolean; external name 'complete';
- FCurrentSrc: String; external name 'currentSrc';
- FNaturalHeight: NativeUInt; external name 'naturalHeight';
- FNaturalWidth: NativeUInt; external name 'naturalWidth';
- FX: NativeInt; external name 'x';
- FY: NativeInt; external name 'y';
- Public
- constructor New(x,y : Cardinal); overload;
- alt: String;
- crossOrigin: String;
- decoding: String;
- height: NativeUInt;
- isMap: boolean;
- referrerPolicy: String;
- src: String;
- sizes: String;
- srcset: String;
- useMap: String;
- width: NativeUInt;
- function decode : TJSPromise;
- property complete: boolean read FComplete;
- property currentSrc: String read FCurrentSrc;
- property naturalHeight: NativeUInt read FNaturalHeight;
- property naturalWidth: NativeUInt read FNaturalWidth;
- property x: NativeInt read FX;
- property y: NativeInt read FY;
- end;
- TJSHTMLLinkElement = class external name 'HTMLLinkElement'(TJSHTMLElement)
- Private
- frelList: TJSDOMTokenList; external name 'relList';
- fsizes: TJSDOMSettableTokenList {TJSDOMTokenList}; external name 'sizes';
- Public
- href: string;
- crossOrigin: string;
- rel: string;
- as_: string; external name 'as';
- media: string;
- integrity: string;
- hreflang: string;
- type_: string external name 'type';
- imageSrcset: string;
- imageSizes: string;
- referrerPolicy: string;
- disabled: string;
- charset: string deprecated; // obsolete
- rev: string deprecated; // obsolete property
- target: string deprecated; // obsolete property
- Property relList: TJSDOMTokenList read frelList;
- Property sizes: TJSDOMSettableTokenList{TJSDOMTokenList} read fsizes;
- end;
- { TJSHTMLAnchorElement }
- TJSHTMLAnchorElement = class external name 'HTMLAnchorElement' (TJSHTMLElement)
- Private
- FOrigin: string;external name 'origin';
- frelList: TJSDOMTokenList; external name 'relList';
- Public
- href: string;
- download: string;
- hash: string;
- host: string;
- hostname: string;
- hreflang: string;
- media: string ;
- password: string;
- Protocol: string;
- referrerPolicy : string;
- rel: string ;
- rev: string deprecated; // obsolete property
- target: string ;
- text : string;
- type_ : string external name 'type';
- username : string;
- Property relList: TJSDOMTokenList read frelList;
- Property origin: string Read FOrigin;
- end;
- { TJSHTMLMenuElement }
- TJSHTMLMenuElement = class external name 'HTMLMenuElement' (TJSHTMLElement) // uhm... should it be declared? it is experimental at Mozilla docs...
- end;
- { TJSHTMLButtonElement }
- TJSHTMLButtonElement = class external name 'HTMLButtonElement' (TJSHTMLElement)
- private
- FForm: TJSHTMLFormElement; external name 'form';
- FLabels: TJSNodeList; external name 'labels';
- FValidationmMessage: String; external name 'validationMessage';
- FValidity: TJSValidityState; external name 'validity';
- FWillValidate: boolean; external name 'willValidate';
- Public
- autofocus : boolean;
- disabled : boolean;
- formAction : String;
- formEnctype : String;
- formMethod : String;
- formNoValidate : Boolean;
- formTarget : String;
- menu: TJSHTMLMenuElement;
- _type : String; external name 'type';
- value : string;
- Public
- property form : TJSHTMLFormElement Read FForm;
- property labels : TJSNodeList Read FLabels;
- property validationMessage : String Read FValidationmMessage;
- property validity : TJSValidityState Read FValidity;
- property willValidate : boolean read FWillValidate;
- end;
- TJSHTMLLabelElement = class external name 'HTMLLabelElement' (TJSHTMLElement)
- Private
- FForm: TJSHTMLFormElement; external name 'form';
- FControl : TJSHTMLElement; external name 'control';
- Public
- For_ : String; external name 'htmlFor';
- property Control : TJSHTMLElement Read FControl;
- property Form : TJSHTMLFormElement read FForm;
- end;
- { TJSHTMLTextAreaElement }
- TJSHTMLTextAreaElement = class external name 'HTMLTextAreaElement' (TJSHTMLElement)
- private
- FForm: TJSHTMLFormElement; external name 'form';
- FTextLength: NativeInt; external name 'textKength';
- FType: String; external name 'type';
- FValidationMessage: String; external name 'validationMessage';
- FValidity: TJSValidityState; external name 'validity';
- FWillValidate: boolean; external name 'willValidate';
- Public
- defaultValue : string;
- value : string;
- rows : cardinal;
- cols : cardinal;
- autofocus : boolean;
- disabled : boolean;
- maxLength : nativeInt;
- readOnly : Boolean;
- required : Boolean;
- selectionStart : Cardinal;
- selectionEnd : Cardinal;
- selectionDirection : String;
- wrap : string;
- Property Form : TJSHTMLFormElement Read FForm;
- Property Type_: String Read FType;
- Property textLength : NativeInt Read FTextLength;
- Property validity : TJSValidityState Read FValidity;
- property willValidate : boolean read FWillValidate;
- property validationMessage : String Read FValidationMessage;
- end;
- { TJSHTMLEmbedElement }
- TJSHTMLEmbedElement = class external name 'HTMLEmbedElement' (TJSHTMLElement)
- Public
- height: String;
- src: String;
- _type : String; external name 'type';
- width: String;
- end;
- { TJSHTMLOptionElement }
- TJSHTMLOptionElement = class external name 'Option' (TJSHTMLElement)
- private
- FForm: TJSHTMLFormElement; external name 'form';
- FIndex: NativeInt; external name 'index';
- Public
- Constructor New; overload;
- Constructor New(aText : String); overload;
- Constructor New(aText,aValue : String); overload;
- Constructor New(aText,aValue : String; aDefaultSelected : Boolean); overload;
- Constructor New(aText,aValue : String; aDefaultSelected,Selected : Boolean); overload;
- Public
- defaultSelected : boolean;
- disabled : boolean;
- _label : string ; external name 'label';
- selected : boolean;
- text : string;
- value : string;
- property index : NativeInt Read FIndex;
- property form : TJSHTMLFormElement Read FForm;
- end;
- TJSHTMLOptGroupElement = class external name 'HTMLOptGroupElement' (TJSHTMLElement)
- end;
- TJSHTMLOptionsCollection = class external name 'HTMLOptionsCollection' (TJSHTMLCollection)
- end;
- { TJSHTMLSelectElement }
- TJSHTMLSelectElement = Class external name 'HTMLSelectElement' (TJSHTMLElement)
- private
- FForm: TJSHTMLFormElement; external name 'form';
- FLabels: TJSNodeList; external name 'labels';
- FLength: NativeInt; external name 'length';
- FOptions: TJSHTMLOptionsCollection; external name 'options';
- FSelectedOptions: TJSHTMLCollection; external name 'selectedOptions';
- FType: String; external name 'type';
- FValidationMessage: string; external name 'validationMessage';
- FValidity: TJSValidityState; external name 'validity';
- fwillValidate: Boolean; external name 'willValidate';
- Public
- Procedure add(anItem : TJSHTMLOptionElement); overload;
- Procedure add(anItem, before : TJSHTMLOptionElement); overload;
- function item(aIndex : NativeInt): TJSHTMLOptionElement;
- function namedItem(aName : String): TJSHTMLOptionElement;
- procedure remove(aIndex : NativeInt); overload;
- procedure checkValidity;
- procedure setCustomValidity(aMessage : String);
- Public
- autofocus : Boolean;
- disabled : Boolean;
- multiple : boolean;
- required: boolean;
- selectedIndex : NativeInt;
- size : NativeInt;
- value : string;
- property length : NativeInt read FLength;
- Property options : TJSHTMLOptionsCollection read FOptions;
- Property selectedOptions : TJSHTMLCollection read FSelectedOptions;
- Property form : TJSHTMLFormElement read FForm;
- property labels : TJSNodeList Read FLabels;
- property _type : String Read FType;
- property validity : TJSValidityState Read FValidity;
- property validationMessage : string Read FValidationMessage;
- property willValidate : Boolean read fwillValidate;
- end;
- { TJSHTMLTableElement }
- TJSHTMLTableSectionElement = class;
- TJSHTMLTableRowElement = class;
- TJSHTMLTableElement = Class external name 'HTMLTableElement'(TJSHTMLElement)
- private
- FAlign: String; external name 'align';
- FBGColor: String; external name 'bgColor';
- FBorder: String; external name 'border';
- FCaption: TJSHTMLElement; external name 'caption';
- FCellPadding: String; external name 'cellPadding';
- FCellSpacing: String; external name 'cellSpacing';
- FFrame: String; external name 'frame';
- FRows: TJSHTMLCollection; external name 'rows';
- FRules: String; external name 'rules';
- FSummary: String; external name 'summary';
- FTBodies: TJSHTMLCollection; external name 'tBodies';
- FTfoot: TJSHTMLTableSectionElement; external name 'tfoot';
- FTHead: TJSHTMLTableSectionElement; external name 'tHead';
- FWidth: String; external name 'width';
- public
- { Methods }
- function createCaption: TJSHTMLElement;
- function createTFoot: TJSHTMLTableSectionElement;
- function createTHead: TJSHTMLTableSectionElement;
- procedure deleteCaption;
- procedure deleteRow(index: Integer);
- procedure deleteTFoot;
- procedure deleteTHead;
- function insertRow(index: Integer): TJSHTMLTableRowElement;
- { Properties }
- property align: String read FAlign write FAlign;
- property bgColor: String read FBGColor write FBGColor;
- property border: String read FBorder write FBorder;
- property caption: TJSHTMLElement read FCaption;
- property cellPadding: String read FCellPadding write FCellPadding;
- property cellSpacing: String read FCellSpacing write FCellSpacing;
- property frame: String read FFrame write FFrame;
- property rows: TJSHTMLCollection read FRows;
- property rules: String read FRules write FRules;
- property summary: String read FSummary write FSummary;
- property tBodies: TJSHTMLCollection read FTBodies;
- property tfoot: TJSHTMLTableSectionElement read FTfoot;
- property tHead: TJSHTMLTableSectionElement read FTHead;
- property width: String read FWidth write FWidth;
- end;
- { TJSHTMLTableSectionElement }
- TJSHTMLTableSectionElement = Class external name 'HTMLTableSectionElement' (TJSHTMLElement)
- private
- Falign: String; external name 'align';
- Frows: TJSHTMLCollection external name 'rows';
- Fch: String; external name 'ch';
- FchOff: String; external name 'chOff';
- FvAlign: String; external name 'vAlign';
- public
- { Methods }
- procedure deleteRow(index: Integer);
- function insertRow(index: Integer): TJSHTMLTableRowElement;
- { Properties }
- property align: String read Falign write Falign;
- property rows: TJSHTMLCollection read Frows;
- property ch: String read Fch write Fch;
- property chOff: String read FchOff write FchOff;
- property vAlign: String read FvAlign write FvAlign;
- end;
- { TJSHTMLTableCellElement }
- TJSHTMLTableCellElement = Class external name 'HTMLTableCellElement' (TJSHTMLElement)
- private
- Fabbr: String; external name 'abbr';
- Falign: String; external name 'align';
- Faxis: String; external name 'axis';
- FbgColor: String; external name 'bgColor';
- FcellIndex: Integer; external name 'cellIndex';
- Fch: String; external name 'ch';
- FchOff: String; external name 'chOff';
- FcolSpan: Integer; external name 'colSpan';
- Fheaders: String; external name 'headers';
- Fheight: String; external name 'height';
- FnoWrap: Boolean; external name 'noWrap';
- FrowSpan: Integer; external name 'rowSpan';
- Fscope: String; external name 'scope';
- FvAlign: String; external name 'vAlign';
- Fwidth: String; external name 'width';
- public
- { Properties }
- property abbr: String read Fabbr write Fabbr;
- property align: String read Falign write Falign;
- property axis: String read Faxis write Faxis;
- property bgColor: String read FbgColor write FbgColor;
- property cellIndex: Integer read FcellIndex;
- property ch: String read Fch write Fch;
- property chOff: String read FchOff write FchOff;
- property colSpan: Integer read FcolSpan write FcolSpan;
- property headers: String read Fheaders;
- property height: String read Fheight write Fheight;
- property noWrap: Boolean read FnoWrap write FnoWrap;
- property rowSpan: Integer read FrowSpan write FrowSpan;
- property scope: String read Fscope write Fscope;
- property vAlign: String read FvAlign write FvAlign;
- property width: String read Fwidth write Fwidth;
- end;
- { TJSHTMLTableRowElement }
- TJSHTMLTableRowElement = Class external name 'HTMLTableRowElement' (TJSHTMLElement)
- private
- Falign: String; external name 'align';
- FbgColor: String; external name 'bgColor';
- Fcells: TJSHTMLCollection; external name 'cells';
- Fch: String; external name 'ch';
- FchOff: String; external name 'chOff';
- FrowIndex: Integer; external name 'rowIndex';
- FsectionRowIndex: Integer; external name 'sectionRowIndex';
- FvAlign: String; external name 'vAlign';
- public
- { Methods }
- procedure deleteCell(index: Integer);
- function insertCell(index: Integer): TJSHTMLTableCellElement;
- { Properties }
- property align: String read Falign write Falign;
- property bgColor: String read FbgColor write FbgColor;
- property cells: TJSHTMLCollection read Fcells;
- property ch: String read Fch write Fch;
- property chOff: String read FchOff write FchOff;
- property rowIndex: Integer read FrowIndex;
- property sectionRowIndex: Integer read FsectionRowIndex;
- property vAlign: String read FvAlign write FvAlign;
- end;
- { TJSHTMLTableDataCellElement }
- TJSHTMLTableDataCellElement = Class external name 'HTMLTableDataCellElement' (TJSHTMLElement)
- private
- Fabbr: String; external name 'abbr';
- public
- { Properties }
- property abbr: String read Fabbr write Fabbr;
- end;
- TJSCanvasRenderingContext2D = Class;
- THTMLCanvasToBlobCallback = Reference to function (aBlob : TJSBlob) : boolean; safecall;
- TJSHTMLCanvasElement = Class external name 'HTMLCanvasElement' (TJSHTMLElement)
- Public
- height : integer;
- width : integer;
- Function getContext(contextType : string) : TJSObject;
- Function getContext(contextType : string; contextAttributes : TJSObject) : TJSObject;
- Function getContextAs2DContext(contextType : string; contextAttributes : TJSObject) : TJSCanvasRenderingContext2D; external name 'getContext';
- Function getContextAs2DContext(contextType : string) : TJSCanvasRenderingContext2D; external name 'getContext';
- Procedure toBlob (aCallBack : THTMLCanvasToBlobCallback; aMimeType : String); overload;
- Procedure toBlob (aCallBack : THTMLCanvasToBlobCallback; aMimeType : String; aQuality : Double); overload;
- Function toDataURL : String; overload;
- Function toDataURL(aMimeType : String) : String; overload;
- Function toDataURL(aMimeType : String; aQuality : Double) : String; overload;
- end;
- TJSHTMLProgressElement = class external name 'HTMLProgressElement' (TJSHTMLElement)
- private
- Fposition: Double; external name 'position';
- Flabels: TJSNodeList; external name 'labels';
- public
- max: Double;
- value: Double;
- property position: Double read Fposition;
- property labels: TJSNodeList read Flabels;
- end;
- Type
- { TJSDOMException }
- TJSDOMException = class external name 'DOMException' (TJSObject)
- private
- FCode: Integer; external name 'code';
- FMessage: String; external name 'message';
- FName: string; external name 'name';
- Public
- Property code : Integer Read FCode;
- Property Message : String Read FMessage;
- Property name : string Read FName;
- end;
- { TJSFileReader }
- TJSFileReader = class external name 'FileReader' (TJSEventTarget)
- private
- FError: TJSDOMException; external name 'error';
- fReadyState: Integer; external name 'readyState';
- FResult: JSValue; external name 'result';
- Public
- Const EMPTY : Integer;
- Const LOADING : Integer;
- Const DONE : Integer;
- Public
- onabort : TJSEventHandler;
- onerror : TJSEventHandler;
- onload : TJSEventHandler;
- onloadstart : TJSEventHandler;
- onloadend : TJSEventHandler;
- onprogress : TJSEventHandler;
- Public
- constructor new;
- Procedure abort;
- procedure readAsArrayBuffer(Blob: TJSBlob);
- procedure readAsBinaryString(Blob: TJSBlob);
- procedure readAsDataURL(Blob: TJSBlob);
- procedure readAsText(Blob: TJSBlob; encoding : string);
- procedure readAsText(Blob: TJSBlob);
- property Error : TJSDOMException read FError;
- Property readyState : Integer Read fReadyState;
- property Result : JSValue Read FResult;
- end;
- TCanvasCoordType = double; // Is in fact a number.
- // Opaque objects
- TJSCanvasGradient = class external name 'CanvasGradient' (TJSObject)
- end;
- TJSCanvasPattern = class external name 'CanvasPattern' (TJSObject)
- end;
- TJSPath2D = class external name 'Path2D' (TJSObject)
- Public
- constructor new; overload;
- constructor new(aPath : TJSPath2D); overload;
- constructor new(SVGPath : String); overload;
- Procedure addPath(aPath : TJSPath2D);
- procedure arc(x,y, radius,startAngle,endAngle : TCanvasCoordType); overload;
- procedure arc(x,y, radius,startAngle,endAngle : TCanvasCoordType; antiClockWise : boolean); overload;
- procedure arcTo(x1,y1,x2,y2,radius : TCanvasCoordType); overload;
- procedure bezierCurveTo(cp1x,cp1y,cp2x,cp2y,x,y : TCanvasCoordType); overload;
- Procedure closePath;
- procedure ellipse(x, y, radiusX, radiusY : TCanvasCoordType; rotation, startAngle, endAngle : Double); overload;
- procedure ellipse(x, y, radiusX, radiusY : TCanvasCoordType; rotation, startAngle, endAngle : Double; anticlockwise : Boolean); overload;
- Procedure lineTo(X,Y : TCanvasCoordType);
- Procedure moveTo(X,Y : TCanvasCoordType);
- procedure quadraticCurveTo(cpx,cpy,x,y : TCanvasCoordType);
- procedure rect(x,y,awidth,aheight: TCanvasCoordType); overload;
- end;
- { TJSImageData }
- TJSImageData = class external name 'ImageData' (TJSObject)
- private
- FData: TJSUint8ClampedArray; external name 'data';
- FHeight: Integer; external name 'height';
- FWidth: Integer; external name 'width';
- Public
- constructor new(awidth,aheight : integer); overload;
- constructor new(anArray :TJSUint8ClampedArray; awidth,aheight : integer); overload;
- property data : TJSUint8ClampedArray read FData;
- property height : Integer Read FHeight;
- property width : Integer Read FWidth;
- end;
- TJSTextMetrics = class external name 'TextMetrics' (TJSObject)
- width : TCanvasCoordType;
- actualBoundingBoxLeft : TCanvasCoordType;
- actualBoundingBoxRight : TCanvasCoordType;
- fontBoundingBoxAscent : TCanvasCoordType;
- fontBoundingBoxDescent : TCanvasCoordType;
- actualBoundingBoxAscent : TCanvasCoordType;
- actualBoundingBoxDescent : TCanvasCoordType;
- emHeightAscent : TCanvasCoordType;
- emHeightDescent : TCanvasCoordType;
- hangingBaseline : TCanvasCoordType;
- alphabeticBaseline : TCanvasCoordType;
- ideographicBaseline : TCanvasCoordType;
- end;
- { TJSCanvasRenderingContext2D }
- TJSCanvasRenderingContext2D = class external name 'CanvasRenderingContext2D' (TJSObject)
- private
- FCanvas: TJSHTMLCanvasElement; external name 'canvas';
- FfillStyleColor: String; external name 'fillStyle';
- FfillStyleGradient: TJSCanvasGradient; external name 'fillStyle';
- FfillStylePattern: TJSCanvasPattern; external name 'fillStyle';
- FstrokeStyleColor: String; external name 'strokeStyle';
- FstrokeStyleGradient: TJSCanvasGradient; external name 'strokeStyle';
- FstrokeStylePattern: TJSCanvasPattern; external name 'strokeStyle';
- Public
- fillStyle : JSValue;
- font : string;
- globalAlpha : double;
- globalCompositeOperation : String;
- lineCap : string;
- lineDashOffset : Double;
- lineJoin : String;
- lineWidth : Double;
- miterLimit : Double;
- shadowBlur : Double;
- shadowColor : String;
- shadowOffsetX : Double;
- shadowOffsetY : Double;
- strokeStyle : JSValue;
- textAlign : String;
- textBaseline : String;
- procedure arc(x,y, radius,startAngle,endAngle : TCanvasCoordType); overload;
- procedure arc(x,y, radius,startAngle,endAngle : TCanvasCoordType; antiClockWise : boolean); overload;
- procedure arcTo(x1,y1,x2,y2,radius : TCanvasCoordType); overload;
- procedure beginPath;
- procedure bezierCurveTo(cp1x,cp1y,cp2x,cp2y,x,y : TCanvasCoordType); overload;
- procedure clearRect(x,y,width,height : TCanvasCoordType);
- procedure clip; overload;
- procedure clip(aFillRule : String); overload;
- procedure clip(aPath : TJSPath2D); overload;
- procedure closePath;
- function createImageData(aWidth,aHeight : Integer) : TJSImageData; overload;
- function createImageData(aImage : TJSImageData) : TJSImageData; overload;
- function createLinearGradient(x0,y0,x1,y1 : TCanvasCoordType) : TJSCanvasGradient;
- function createPattern(aImage : TJSObject; repetition : string) : TJSCanvasPattern;
- function createRadialGradient(x0,y0,r0,x1,y1,r1 : TCanvasCoordType) : TJSCanvasGradient;
- procedure drawFocusIfNeeded(aElement : TJSElement); overload;
- procedure drawFocusIfNeeded(aPath : TJSPath2D; aElement : TJSElement); overload;
- procedure drawImage(image : TJSObject; dx,dy : TCanvasCoordType); overload;
- procedure drawImage(image : TJSObject; dx,dy,dwidth,dheight : TCanvasCoordType); overload;
- procedure drawImage(image : TJSObject; sx,sy,sWidth,sHeight,dx,dy,dwidth,dheight : TCanvasCoordType); overload;
- procedure ellipse(x, y, radiusX, radiusY : TCanvasCoordType; rotation, startAngle, endAngle : Double); overload;
- procedure ellipse(x, y, radiusX, radiusY : TCanvasCoordType; rotation, startAngle, endAngle : Double; anticlockwise : Boolean); overload;
- procedure fill; overload;
- procedure fill(aRule : String); overload;
- procedure fill(aPath : TJSPath2D); overload;
- procedure fill(aPath : TJSPath2D;aRule : String); overload;
- procedure fillRect(x,y,awidth,aheight: TCanvasCoordType); overload;
- procedure fillText(aText : string; x,y : TCanvasCoordType); overload;
- procedure fillText(aText : string; x,y, aMaxWidth : TCanvasCoordType); overload;
- function getImageData(x,y,awidth,aheight: TCanvasCoordType) : TJSImageData; overload;
- function getLineDash : TJSArray;
- function isPointInPath(x,y : TCanvasCoordType) : Boolean; overload;
- function isPointInPath(x,y : TCanvasCoordType; aFillRule : String) : Boolean; overload;
- function isPointInPath(aPath : TJSPath2D; x,y : TCanvasCoordType) : Boolean; overload;
- function isPointInPath(aPath : TJSPath2D; x,y : TCanvasCoordType; aFillRule : String) : Boolean; overload;
- function isPointInStroke(x,y : TCanvasCoordType) : Boolean; overload;
- function isPointInStroke(aPath : TJSPath2D; x,y : TCanvasCoordType) : Boolean; overload;
- procedure lineTo(x,y : TCanvasCoordType);
- function measureText(S : String) : TJSTextMetrics;
- procedure moveTo(x,y : TCanvasCoordType);
- procedure putImageData(aData : TJSImageData; x,y: TCanvasCoordType) ; overload;
- procedure putImageData(aData : TJSImageData; x,y,dityX,dirtyY,dirtyWidth,dirtyHeight: TCanvasCoordType) ; overload;
- procedure quadraticCurveTo(cpx,cpy,x,y : TCanvasCoordType);
- procedure rect(x,y,awidth,aheight: TCanvasCoordType); overload;
- procedure restore;
- procedure rotate(anAngle : double);
- procedure save;
- procedure scale(x,y : double);
- procedure setLineDash(segments : TJSArray); overload;
- procedure setLineDash(segments : array of integer); overload;
- procedure setTransform(a,b,c,d,e,f : double);
- procedure stroke; overload;
- procedure stroke(aPath : TJSPath2D); overload;
- procedure strokeRect(x,y,awidth,aheight: TCanvasCoordType);
- procedure strokeText(aText : string; x,y : TCanvasCoordType); overload;
- procedure strokeText(aText : string; x,y, aMaxWidth : TCanvasCoordType); overload;
- procedure transform(a,b,c,d,e,f : double);
- procedure translate(x,y : TCanvasCoordType);
- property canvas : TJSHTMLCanvasElement Read FCanvas;
- property fillStyleAsColor : String Read FfillStyleColor Write FfillStyleColor;
- property fillStyleAsGradient : TJSCanvasGradient Read FfillStyleGradient Write FfillStyleGradient;
- property fillStyleAsPattern : TJSCanvasPattern Read FfillStylePattern Write FfillStylePattern;
- property strokeStyleAsColor : String Read FstrokeStyleColor Write FstrokeStyleColor;
- property strokeStyleAsGradient : TJSCanvasGradient Read FstrokeStyleGradient Write FstrokeStyleGradient;
- property strokeStyleAsPattern : TJSCanvasPattern Read FstrokeStylePattern Write FstrokeStylePattern;
- end;
- { TJSHTMLIFrameElement }
- TJSHTMLIFrameElement = Class external name 'HTMLIFrameElement' (TJSHTMLElement)
- private
- FAllowPaymentRequest: Boolean; external name 'allowPaymentRequest';
- FContentDocument: TJSDocument; external name 'contentDocument';
- FContentWindow: TJSWindow; external name 'contentWindow';
- FSandbox: string; external name 'sandbox';
- Public
- height : string;
- src : string;
- srcdoc : string;
- width : string;
- Property allowPaymentRequest : Boolean Read FAllowPaymentRequest;
- property contentWindow : TJSWindow Read FContentWindow;
- property contentDocument : TJSDocument Read FContentDocument;
- property sandbox : string read FSandbox;
- end;
- TJSHTMLScriptElement = Class external name 'HTMLScriptElement' (TJSHTMLElement)
- Public
- type_ : String external name 'type';
- src : String;
- charset : string;
- integrity : string;
- async : boolean;
- defer : boolean;
- text : string;
- crossOrigin : string;
- referrerPolicy : string;
- noModule : boolean;
- end;
- TJSXMLHttpRequestEventTarget = class external name 'XMLHttpRequestEventTarget' (TJSEventTarget)
- end;
- TJSXMLHttpRequestUpload = class external name 'XMLHttpRequestUpload' (TJSXMLHttpRequestEventTarget)
- end;
- { TJSXMLHttpRequest }
- TJSOnReadyStateChangeHandler = reference to procedure; safecall;
- TJSXMLHttpRequest = class external name 'XMLHttpRequest' (TJSXMLHttpRequestEventTarget)
- private
- FReadyState: NativeInt; external name 'readyState';
- FResponse: JSValue; external name 'response';
- FResponseText: string; external name 'responseText';
- FResponseType: string; external name 'responseType';
- FresponseURL: string; external name 'responseURL';
- FresponseXML: TJSDocument; external name 'responseXML';
- FUpload: TJSXMLHttpRequestUpload; external name 'upload';
- FStatus : integer; external name 'status';
- FStatusText : string; external name 'statusText';
- public
- const
- UNSENT = 0;
- OPENED = 1;
- HEADERS_RECEIVED = 2;
- LOADING = 3;
- DONE = 4;
- public
- timeout : LongWord;
- withCredentials : Boolean;
- onreadystatechange : TJSOnReadyStateChangeHandler;
- constructor new;
- procedure abort;
- function getResponseHeader(aName : string) : String;
- function getAllResponseHeaders : String;
- procedure open(aMethod,aURL : String); overload;
- procedure open(aMethod,aURL : String; Async : Boolean); overload;
- procedure open(aMethod,aURL : String; Async : Boolean; AUserame : String); overload;
- procedure open(aMethod,aURL : String; Async : Boolean; AUserame,APassword : String); overload;
- procedure overrideMimeType(aType : String);
- procedure send(aBody : jsValue);overload;
- procedure send;overload;
- procedure setRequestHeader(aName, AValue : string);
- property readyState : NativeInt read FReadyState;
- property ResponseHeaders[aName : string] : string Read getResponseHeader;
- property responseXML : TJSDocument read FresponseXML;
- property responseURL : string read FresponseURL;
- property responseType : string read FResponseType Write FResponseType;
- property response : JSValue Read FResponse;
- property responseText : string read FResponseText;
- property Status : integer read FStatus;
- property StatusText : string read FStatusText;
- property upload : TJSXMLHttpRequestUpload read FUpload;
- end;
- { TJSUIEvent }
- TJSUIEvent = class external name 'UIEvent' (TJSEvent)
- private
- FDetail: NativeInt; external name 'detail';
- FView: TJSWindow; external name 'view';
- Public
- property detail : NativeInt read FDetail;
- property view : TJSWindow read FView;
- end;
- { TJSMouseEvent }
- TJSMouseEvent = class external name 'MouseEvent' (TJSUIevent)
- private
- FAltKey: Boolean; external name 'altKey';
- FBUtton: NativeInt; external name 'button';
- FBUttons: NativeInt; external name 'buttons';
- FClientX: Double; external name 'clientX';
- FClientY: Double; external name 'clientY';
- FCtrlKey: Boolean; external name 'ctrlKey';
- FMetaKey: Boolean; external name 'metaKey';
- FmovementX: Double; external name 'movementX';
- FmovementY: Double; external name 'movementY';
- FoffsetX: Double; external name 'offsetX';
- FoffsetY: Double; external name 'offsetY';
- FRegion: String; external name 'region';
- FRelatedTarget: TJSEventTarget; external name 'relatedTarget';
- FscreenX: Double; external name 'screenX';
- FscreenY: Double; external name 'screenY';
- FShiftKey: Boolean; external name 'shiftKey';
- Public
- function getModifierState(keyArg: String): boolean;
- Property altKey : Boolean read FAltKey;
- Property button: NativeInt read FBUtton;
- Property buttons: NativeInt read FBUttons;
- property clientX : Double read FClientX;
- property clientY : Double read FClientY;
- property ctrlKey : Boolean read FCtrlKey;
- property metaKey : Boolean read FMetaKey;
- property movementX : Double read FmovementX;
- property movementY : Double read FmovementY;
- property offsetX : Double read FoffsetX;
- property offsetY : Double read FoffsetY;
- {$IFDEF FIREFOX}
- property pageX : Double read FpageX;
- property pageY : Double read FpageY;
- {$ENDIF}
- property region : String read FRegion;
- property relatedTarget : TJSEventTarget read FRelatedTarget;
- property screenX : Double read FscreenX;
- property screenY : Double read FscreenY;
- property shiftKey : Boolean read FShiftKey;
- property x : Double read FClientX;
- property y : Double read FClientY;
- end;
- { TJSWheelEvent }
- TJSWheelEventInit = record
- deltaX : Double;
- deltaY : Double;
- deltaZ : Double;
- deltaMode : NativeInt;
- end;
- TJSWheelEvent = class external name 'WheelEvent' (TJSMouseEvent)
- private
- FDeltaMode: NativeInt; external name 'deltaMode';
- FDeltaX: Double; external name 'deltaX';
- FDeltaY: Double; external name 'deltaY';
- FDeltaZ: Double; external name 'deltaZ';
- Public
- constructor new(atype : String); overload;
- constructor new(atype : String; aInit : TJSWheelEventInit); overload;
- Property deltaX : Double Read FDeltaX;
- Property deltaY : Double Read FDeltaY;
- Property deltaZ : Double Read FDeltaZ;
- Property deltaMode : NativeInt Read FDeltaMode;
- end;
- TJSPointerEvent = Class external name 'PointerEvent' (TJSMouseEvent);
- TJSTouchEvent = Class external name 'TouchEvent'(TJSUIEvent)
- private
- FAltKey: Boolean; external name 'altKey';
- FChangedTouches: TJSTouchList; external name 'changedTouches';
- FCtrlKey: Boolean; external name 'ctrlKey';
- FMetaKey: Boolean; external name 'metaKey';
- FShiftKey: Boolean; external name 'shiftKey';
- FTargetTouches: TJSTouchList; external name 'targetTouches';
- FTouches: TJSTouchList; external name 'touches';
- Public
- Property altKey : Boolean Read FAltKey;
- Property ctrlKey : Boolean Read FCtrlKey;
- Property metaKey : Boolean Read FMetaKey;
- Property shiftKey : Boolean Read FShiftKey;
- property changedTouches : TJSTouchList Read FChangedTouches;
- property touches : TJSTouchList Read FTouches;
- property targetTouches : TJSTouchList Read FTargetTouches;
- end;
- // Namespace for standard key names.
- // See list at https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values
- TJSKeyNames = Class
- Const
- Alt = 'Alt';
- AltGraph = 'AltGraph';
- CapsLock = 'CapsLock';
- Control = 'Control';
- Fn = 'Fn';
- FnLock = 'FnLock';
- Hyper = 'Hyper';
- Meta = 'Meta';
- NumLock = 'NumLock';
- ScrollLock = 'ScrollLock';
- Shift = 'Shift';
- Super = 'Super';
- Symbol = 'Symbol';
- SymbolLock = 'SymbolLock';
- Enter = 'Enter';
- Tab = 'Tab';
- Space = 'Space';
- ArrowDown = 'ArrowDown';
- ArrowLeft = 'ArrowLeft';
- ArrowRight = 'ArrowRight';
- ArrowUp = 'ArrowUp';
- _End = 'End';
- Home = 'Home';
- PageDown = 'PageDown';
- PageUp = 'PageUp';
- BackSpace = 'Backspace';
- Clear = 'Clear';
- Copy = 'Copy';
- CrSel = 'CrSel';
- Cut = 'Cut';
- Delete = 'Delete';
- EraseEof = 'EraseEof';
- ExSel = 'ExSel';
- Insert = 'Insert';
- Paste = 'Paste';
- Redo = 'Redo';
- Undo = 'Undo';
- Accept = 'Accept';
- Again = 'Again';
- Attn = 'Attn';
- Cancel = 'Cancel';
- ContextMenu = 'Contextmenu';
- Escape = 'Escape';
- Execute = 'Execute';
- Find = 'Find';
- Finish = 'Finish';
- Help = 'Help';
- Pause = 'Pause';
- Play = 'Play';
- Props = 'Props';
- Select = 'Select';
- ZoomIn = 'ZoomIn';
- ZoomOut = 'ZoomOut';
- BrightnessDown = 'BrightnessDown';
- BrightnessUp = 'BrightnessUp';
- Eject = 'Eject';
- LogOff = 'LogOff';
- Power = 'Power';
- PowerOff = 'PowerOff';
- PrintScreen = 'PrintScreen';
- Hibernate = 'Hibernate';
- Standby = 'Standby';
- WakeUp = 'WakeUp';
- AllCandidates = 'AllCandidates';
- Alphanumeric = 'Alphanumeric';
- CodeInput = 'CodeInput';
- Compose = 'Compose';
- Convert = 'Convert';
- Dead = 'Dead';
- FinalMode = 'FinalMode';
- GroupFirst = 'GroupFirst';
- GroupLast = 'GroupLast';
- GroupNext = 'GroupNext';
- GroupPrevious = 'GroupPrevious';
- ModelChange = 'ModelChange';
- NextCandidate = 'NextCandidate';
- NonConvert = 'NonConvert';
- PreviousCandidate = 'PreviousCandidate';
- Process = 'Process';
- SingleCandidate = 'SingleCandidate';
- HangulMode = 'HangulMode';
- HanjaMode = 'HanjaMode';
- JunjaMode = 'JunjaMode';
- Eisu = 'Eisu';
- Hankaku = 'Hankaku';
- Hiranga = 'Hiranga';
- HirangaKatakana = 'HirangaKatakana';
- KanaMode = 'KanaMode';
- Katakana = 'Katakana';
- Romaji = 'Romaji';
- Zenkaku = 'Zenkaku';
- ZenkakuHanaku = 'ZenkakuHanaku';
- F1 = 'F1';
- F2 = 'F2';
- F3 = 'F3';
- F4 = 'F4';
- F5 = 'F5';
- F6 = 'F6';
- F7 = 'F7';
- F8 = 'F8';
- F9 = 'F9';
- F10 = 'F10';
- F11 = 'F11';
- F12 = 'F12';
- F13 = 'F13';
- F14 = 'F14';
- F15 = 'F15';
- F16 = 'F16';
- F17 = 'F17';
- F18 = 'F18';
- F19 = 'F19';
- F20 = 'F20';
- Soft1 = 'Soft1';
- Soft2 = 'Soft2';
- Soft3 = 'Soft3';
- Soft4 = 'Soft4';
- Decimal = 'Decimal';
- Key11 = 'Key11';
- Key12 = 'Key12';
- Multiply = 'Multiply';
- Add = 'Add';
- NumClear = 'Clear';
- Divide = 'Divide';
- Subtract = 'Subtract';
- Separator = 'Separator';
- AppSwitch = 'AppSwitch';
- Call = 'Call';
- Camera = 'Camera';
- CameraFocus = 'CameraFocus';
- EndCall = 'EndCall';
- GoBack = 'GoBack';
- GoHome = 'GoHome';
- HeadsetHook = 'HeadsetHook';
- LastNumberRedial = 'LastNumberRedial';
- Notification = 'Notification';
- MannerMode = 'MannerMode';
- VoiceDial = 'VoiceDial';
- // TODO : Multimedia keys
- // TODO : Audio control keys
- // TODO : TV control keys
- // TODO : Media controller keys
- // TODO : Speech recognition keys
- // TODO : Document keys
- // TODO : Application selector keys
- // TODO : Browser Control keys
- end;
- { TJSKeyboardEvent }
- TJSKeyboardEvent = class external name 'KeyboardEvent' (TJSUIEvent)
- private
- FAltKey: Boolean; external name 'altKey';
- FCode: string; external name 'code';
- FCtrlKey: Boolean; external name 'ctrlKey';
- FIsComposing: Boolean; external name 'isComposing';
- FKey: String; external name 'key';
- FLocale: string; external name 'locale';
- FLocation: NativeInt; external name 'location';
- FMetaKey: Boolean; external name 'metaKey';
- FRepeat: Boolean; external name 'repeat';
- FShiftKey: Boolean; external name 'shiftKey';
- Public
- function getModifierState(aKey : string) : Boolean;
- property code : string read FCode;
- Property altKey : Boolean read FAltKey;
- property ctrlKey : Boolean read FCtrlKey;
- property isComposing : Boolean read FIsComposing;
- property Key : String read FKey;
- property locale : string read FLocale;
- property location : NativeInt read FLocation;
- property metaKey : Boolean read FMetaKey;
- property _repeat : Boolean read FRepeat;
- property shiftKey : Boolean read FShiftKey;
- end;
- { MutationObserver }
- TJSMutationObserver = Class;
- TJSMutationRecord = record
- type_ : string;
- target : TJSNode;
- addedNodes : TJSNodeList;
- removedNodes : TJSNodeList;
- previousSibling : TJSNode;
- nextSibling : TJSNode;
- attributeName : String;
- attributeNamespace : String;
- oldValue : String;
- end;
- TJSMutationRecordArray = array of TJSMutationRecord;
- TJSMutationCallback = reference to procedure(mutations: TJSMutationRecordArray; observer: TJSMutationObserver); safecall;
- TJSMutationObserverInit = record
- attributes: boolean;
- attributeOldValue: boolean;
- characterData: boolean;
- characterDataOldValue: boolean;
- childList: boolean;
- subTree: boolean;
- attributeFilter: TJSArray;
- end;
- TJSMutationObserver = class external name 'MutationObserver' (TJSObject)
- public
- { constructor }
- constructor new(mutationCallback: TJSMutationCallback); overload;
- { public methods }
- procedure observe(target: TJSNode); overload;
- procedure observe(target: TJSNode; options: TJSMutationObserverInit); overload;
- procedure observe(target: TJSNode; options: TJSObject); overload;
- procedure disconnect;
- function takeRecords: TJSMutationRecordArray;
- end;
- { --------------------------------------------------------------------
- TJSWebSocket
- --------------------------------------------------------------------}
- TJSMessagePortArray = Array of TJSMessagePort;
- { TJSMessageEvent }
- TJSMessageEvent = class external name 'MessageEvent' (TEventListenerEvent)
- private
- FData: JSValue; external name 'data';
- FLastEventID: String; external name 'lastEventID';
- FOrigin: String; external name 'origin';
- FPorts: TJSMessagePortArray; external name 'ports';
- Public
- Property Data : JSValue Read FData;
- Property LastEventID : String Read FLastEventID;
- Property Origin : String Read FOrigin;
- Property Ports : TJSMessagePortArray Read FPorts;
- end;
- TJSWebSocket = class external name 'WebSocket' (TJSEventTarget)
- Private
- Furl : String; external name 'url';
- FreadyState : Cardinal; external name 'readyState';
- FbufferedAmount : NativeInt; external name 'bufferedAmount';
- Fextensions : String; external name 'extensions';
- Fprotocol : String; external name 'protocol';
- Public
- Const
- CONNECTING = 0;
- OPEN = 1;
- CLOSING = 2;
- CLOSED = 3;
- Public
- onopen : TJSEventHandler;
- onerror : TJSEventHandler;
- onclose : TJSEventHandler;
- onmessage : TJSEventHandler;
- binaryType : String;
- constructor new(url : String); overload;
- constructor new(url : String; protocol: String); overload;
- constructor new(url : String; protocols: array of String); overload;
- Procedure close; overload;
- Procedure close(code : Cardinal); overload;
- Procedure close(code : Cardinal; reason : String); overload;
- Procedure send(data : String);
- Procedure send(data : TJSBlob);
- Procedure send(data : TJSArrayBuffer);
- Procedure send(data : TJSTypedArray);
- Property url : String Read Furl;
- Property readyState : Cardinal Read FreadyState;
- Property bufferedAmount : NativeInt Read FbufferedAmount;
- Property extensions : String Read Fextensions;
- Property protocol : String Read Fprotocol;
- end;
- TJSHTMLAudioTrack = class external name 'AudioTrack' (TJSObject)
- end;
- TJSHTMLAudioTrackList = class external name 'AudioTrackList' (TJSObject)
- FLength : Integer; external name 'length';
- function getitem(aIndex : nativeInt) : TJSHTMLAudioTrack ; external name '[]';
- Public
- onaddtrack : TJSEventHandler;
- onchange : TJSEventHandler;
- onremovetrack : TJSEventHandler;
- Property Length : Integer Read FLength;
- Property tracks [aIndex : NativeInt] : TJSHTMLAudioTrack read Getitem;
- end;
- TJSHTMLVideoTrack = class external name 'VideoTrack' (TJSObject)
- end;
- TJSHTMLVideoTrackList = class external name 'VideoTrackList' (TJSObject)
- FLength : Integer; external name 'length';
- function getitem(aIndex : nativeInt) : TJSHTMLVideoTrack ; external name '[]';
- Public
- onaddtrack : TJSEventHandler;
- onchange : TJSEventHandler;
- onremovetrack : TJSEventHandler;
- Property Length : Integer Read FLength;
- Property tracks [aIndex : NativeInt] : TJSHTMLVideoTrack read Getitem;
- end;
- TJSHTMLTextTrack = class external name 'TextTrack' (TJSObject)
- end;
- TJSHTMLTextTrackList = class external name 'TextTrackList' (TJSObject)
- FLength : Integer; external name 'length';
- function getitem(aIndex : nativeInt) : TJSHTMLTextTrack ; external name '[]';
- Public
- onaddtrack : TJSEventHandler;
- onchange : TJSEventHandler;
- onremovetrack : TJSEventHandler;
- Property Length : Integer Read FLength;
- Property tracks [aIndex : NativeInt] : TJSHTMLTextTrack read Getitem;
- end;
- { TJSHTMLMediaElement }
- TJSMEdiaError = class external name 'MediaError' (TJSObject)
- code : NativeInt;
- message : string;
- end;
- TJSHTMLMediaStream = class external name 'MediaStream' (TJSObject);
- TJSHTMLMediaController = class external name 'MediaController' (TJSObject);
- TJSHTMLMediaElement = Class external name 'HTMLMediaElement' (TJSHTMLElement)
- private
- FAudioTracks: TJSHTMLAudioTrackList; external name 'audioTracks';
- FVideoTracks: TJSHTMLVideoTrackList; external name 'videoTracks';
- FTextTracks: TJSHTMLTextTrackList; external name 'textTracks';
- FControlsList: TJSDOMTokenList; external name 'controlslist';
- FCurrentSrc: String; external name 'currentSrc';
- FDuration: Double; external name 'duration';
- FEnded: Boolean;external name 'ended';
- FError: TJSMEdiaError; external name 'error';
- FNetworkState: NativeInt; external name 'networkState';
- FPaused: boolean; external name 'paused';
- FReadyState: NativeInt; external name 'readyState';
- FSeeking: boolean; external name 'seeking';
- FSinkID: string; external name 'sinkId';
- Public
- autoplay : Boolean;
- buffered : Boolean;
- controls : Boolean;
- controller : TJSHTMLMediaController;
- crossOrigin : String;
- currentTime : Double;
- defaultMuted : boolean;
- defaultPlaybackRate : Double;
- disableRemotePlayback : Boolean;
- loop : boolean;
- mediaGroup : string;
- muted : boolean;
- preload : string;
- preservesPitch : boolean;
- src : string;
- srcObject : TJSHTMLMediaStream;
- volume : double;
- onencrypted : TJSEventHandler;
- onwaitingforkey : TJSEventHandler;
- function canPlayType(aType : String) : String;
- Function captureStream : TJSHTMLMediaStream;
- Procedure play;
- Procedure load;
- Procedure pause;
- Property AudioTracks : TJSHTMLAudioTrackList Read FAudioTracks;
- Property Controlslist : TJSDOMTokenList Read FControlsList;
- Property CurrentSrc : String Read FCurrentSrc;
- Property Duration : Double read FDuration;
- Property Ended : Boolean read FEnded;
- Property Error : TJSMEdiaError read FError;
- property networkState : NativeInt read FNetworkState;
- property paused : boolean read FPaused;
- property readyState : NativeInt read FReadyState;
- property seeking : boolean read FSeeking;
- property sinkID : string read FSinkID;
- Property TextTracks : TJSHTMLTextTrackList Read FTextTracks;
- Property VideoTracks : TJSHTMLVideoTrackList Read FVideoTracks;
- end;
- TJSHTMLAudioElement = Class external name 'HTMLAudioElement' (TJSHTMLMediaElement)
- end;
- TJSHTMLVideoElement = Class external name 'HTMLVideoElement' (TJSHTMLMediaElement)
- end;
- { TJSHTMLStyleElement }
- TJSHTMLStyleElement = class external name 'HTMLStyleElement' (TJSHTMLElement)
- private
- FSheet: TJSStyleSheet; external name 'sheet';
- public
- media : string;
- type_ : string; external name 'style';
- disabled : boolean;
- property sheet : TJSStyleSheet read FSheet;
- end;
- TJSFormDataEntryValue = String;
- TJSFormDataEntryValueArray = Array of TJSFormDataEntryValue;
- TJSFormData = Class external name 'FormData' (TJSObject)
- constructor new;
- constructor new(aForm : TJSHTMLElement);
- Procedure append(const aName,aValue : String);
- Procedure append(const aName : String; aBlob : TJSBlob);
- Procedure delete(const aName : String);
- Function entries : TJSFormDataEntryValueArray;
- Function get(const aName : String): TJSFormDataEntryValue;
- function has(const aName : String): Boolean;
- Function keys : TStringDynArray; reintroduce;
- Procedure set_(const aName,aValue : String); external name 'set';
- Procedure set_(const aName : String; aBlob : TJSBlob); external name 'set';
- Function getAll(const aName : String) : TJSFormDataEntryValueArray;
- Function values : TJSValueDynArray; reintroduce;
- Property Entry[const aIndex : String] : TJSFormDataEntryValue read Get;
- end;
- TJSHTMLTemplateElement = class external name 'HTMLTemplateElement' (TJSHTMLElement)
- content : TJSHTMLElement;
- end;
- TJSHTMLOrXMLDocument = Class external name 'Document' (TJSDocument)
- end;
- TJSHTMLDocument = Class external name 'HTMLDocument' (TJSHTMLOrXMLDocument)
- end;
- TJSXMLDocument = Class external name 'HTMLDocument' (TJSHTMLOrXMLDocument)
- end;
- TDOMParser = Class external name 'DOMParser' (TJSObject)
- Public
- Function parseFromString (aString,aMimetype : String): TJSHTMLOrXMLDocument;
- end;
- TOnChangeProcedure = reference to procedure;
- TJSPermissionDescriptor = class external name 'Object' (TJSObject)
- public
- name: String;
- userVisibleOnly: Boolean;
- sysex: Boolean;
- end;
- TJSPermissionStatus = class external name 'PermissionStatus' (TJSObject)
- private
- FState: String; external name 'state';
- public
- onchange: TOnChangeProcedure;
- property state: String read FState;
- end;
- TJSPermissions = class external name 'Permissions' (TJSObject)
- public
- function query(descriptor: TJSPermissionDescriptor): TJSPermissionStatus; async;
- end;
- TJSFileSystemHandlePermissionDescriptor = class external name 'Object' (TJSObject)
- public
- mode: String;
- end;
- TJSFileSystemCreateWritableOptions = class external name 'Object' (TJSObject)
- public
- keepExistingData: Boolean;
- end;
- TJSFileSystemWritableFileStream = class;
- TJSFileSystemHandle = class external name 'FileSystemHandle' (TJSObject)
- private
- FKind: String; external name 'kind';
- FName: String; external name 'name';
- public
- function isSameEntry(const Handle: TJSFileSystemHandle): Boolean;
- function queryPermission(descriptor: TJSFileSystemHandlePermissionDescriptor): String;
- function requestPermission(descriptor: TJSFileSystemHandlePermissionDescriptor): String;
- property kind: String read FKind;
- property name: String read FName;
- end;
- TJSFileSystemFileHandle = class external name 'FileSystemFileHandle' (TJSFileSystemHandle)
- public
- function getFile: TJSHTMLFile; async;
- function createWritable: TJSFileSystemWritableFileStream; overload;
- function createWritable(options: TJSFileSystemCreateWritableOptions): TJSFileSystemWritableFileStream; overload;
- end;
- TJSGetFileHandleOptions = class external name 'Object'
- public
- create: Boolean;
- constructor new;
- end;
- TJSRemoveEntryOptions = class external name 'Object' (TJSObject)
- recursive: Boolean;
- end;
- TJSFileSystemDirectoryHandle = class external name 'FileSystemDirectoryHandle' (TJSFileSystemHandle)
- public
- function entries: TJSObject;
- function getDirectoryHandle(name: String): TJSFileSystemDirectoryHandle; async; overload;
- function getDirectoryHandle(name: String; options: TJSGetFileHandleOptions): TJSFileSystemDirectoryHandle; async; overload;
- function getFileHandle(name: String): TJSFileSystemFileHandle; async; overload;
- function getFileHandle(name: String; options: TJSGetFileHandleOptions): TJSFileSystemFileHandle; async; overload;
- function keys: array of TJSFileSystemDirectoryHandle;
- function removeEntry(name: String): TJSPromise;
- function removeEntry(name: String; options: TJSRemoveEntryOptions): TJSPromise;
- function resolve(possibleDescendant: String): array of String; async;
- function values(possibleDescendant: String): array of TJSFileSystemDirectoryHandle; async;
- end;
- TJSFileSystemWritableFileStream = class external name 'FileSystemWritableFileStream' (TJSWritableStream)
- public
- function seek(position: NativeInt): TJSPromise;
- function write(data: JSValue): TJSPromise;
- function truncate(size: NativeInt): TJSPromise;
- end;
- TJSShowOpenFilePickerTypeOptions = class external name 'Object' (TJSObject)
- public
- description: String;
- accept: TJSObject;
- end;
- TJSShowOpenFilePickerOptions = class external name 'Object' (TJSObject)
- public
- multiple: Boolean;
- excludeAcceptAllOption: Boolean;
- types: array of TJSShowOpenFilePickerTypeOptions;
- end;
- TJSShowSaveFilePickerOptionsAccept = class external name 'Object' (TJSObject)
- public
- description: String;
- accept: array of String;
- end;
- TJSShowSaveFilePickerOptions = class external name 'Object' (TJSObject)
- public
- excludeAcceptAllOption: Boolean;
- accept: array of TJSShowSaveFilePickerOptionsAccept;
- end;
- var
- document : TJSDocument; external name 'document';
- window : TJSWindow; external name 'window';
- console : TJSConsole; external name 'window.console';
- implementation
-
- end.
|