use of org.loboevolution.js.JavaInstantiator in project LoboEvolution by LoboEvolution.
the class WindowImpl method initWindowScope.
private void initWindowScope(final Document doc) {
final Scriptable ws = this.getWindowScope();
final JavaScript js = JavaScript.getInstance();
JavaInstantiator jiXhttp = () -> {
HTMLDocumentImpl hd = (HTMLDocumentImpl) doc;
return new XMLHttpRequest(getUaContext(), hd.getDocumentURL(), ws);
};
JavaInstantiator jidomp = () -> new DOMParserImpl(document);
js.defineJsObject(ws, "XMLHttpRequest", XMLHttpRequest.class, jiXhttp);
js.defineJsObject(ws, "DOMParser", DOMParserImpl.class, jidomp);
js.defineJsObject(ws, "XMLSerializer", XMLSerializerImpl.class, XMLSerializerImpl::new);
js.defineJsObject(ws, "XPathResult", XPathResultImpl.class, XPathResultImpl::new);
js.defineJsObject(ws, "MouseEvent", MouseEventImpl.class, MouseEventImpl::new);
js.defineJsObject(ws, "UIEvent", UIEventImpl.class, MouseEventImpl::new);
js.defineJsObject(ws, "Element", Element.class, MouseEventImpl::new);
js.defineJsObject(ws, "Event", EventImpl.class, EventImpl::new);
js.defineJsObject(ws, "Text", TextImpl.class, TextImpl::new);
js.defineJsObject(ws, "Storage", LocalStorage.class, LocalStorage::new);
js.defineElementClass(ws, doc, "Comment", "comment", CommentImpl.class);
js.defineElementClass(ws, doc, "Image", "img", HTMLImageElementImpl.class);
js.defineElementClass(ws, doc, "Script", "script", HTMLScriptElementImpl.class);
js.defineElementClass(ws, doc, "IFrame", "iframe", HTMLIFrameElementImpl.class);
js.defineElementClass(ws, doc, "Option", "option", HTMLOptionElementImpl.class);
js.defineElementClass(ws, doc, "Select", "select", HTMLSelectElementImpl.class);
js.defineElementClass(ws, doc, "Console", "console", ConsoleImpl.class);
js.defineElementClass(ws, doc, "HTMLDivElement", "div", HTMLDivElementImpl.class);
js.defineElementClass(ws, doc, "HTMLElement", "html", HTMLElementImpl.class);
js.defineElementClass(ws, doc, "HTMLDocument", "document", HTMLDocumentImpl.class);
}
Aggregations