void init(final JBrowserDriverServer driver, final Context context) {
if (initialized.compareAndSet(false, true)) {
this.context.set(context);
SettingsManager.register(stage, view);
engine.set(view.get().getEngine());
try {
window.set(new WindowServer(stage, statusCode));
context.alert.get().listen(this);
} catch (RemoteException e) {
Util.handleException(e);
}
final ContextItem thisObject = this;
AppThread.exec(statusCode, () -> {
Settings settings = SettingsManager.settings();
engine.get().setJavaScriptEnabled(settings.javascript());
engine.get().setUserDataDirectory(context.userDataDirectory.get());
httpListener.set(new HttpListener(thisObject,
statusCode, context.timeouts.get().getPageLoadTimeoutObjMS()));
httpListener.get().init();
Accessor.getPageFor(view.get().getEngine()).addLoadListenerClient(httpListener.get());
engine.get().setCreatePopupHandler(new PopupHandler(driver, context));
return null;
});
}
}
}