public void workerStateChanged( ObservableValue<? extends Worker.State> observable, Worker.State oldValue, Worker.State newValue) { if (newValue == Worker.State.READY || newValue == Worker.State.SCHEDULED) { if (trafficBrowser != null) { trafficBrowser.setStartTime(Instant.now()); trafficBrowser.getTraffic().clear(); } numberOfAlerts.setValue("0"); } else if (newValue == Worker.State.SUCCEEDED) { JSObject result = (JSObject) webEngine.executeScript("window"); result.setMember( "burpCallbacks", new BurpExtenderCallbacksBridge(webEngine, BurpExtender.getBurpExtenderCallbacks())); result.setMember("burpKit", javaScriptHelpers); // result.setMember("locals", locals); // // result.setMember("globals", globals); if (controller != null) { result.setMember("burpController", controller); } } else if (newValue == Worker.State.FAILED) { dialog .title("Navigation Failed") .message(webEngine.getLoadWorker().getException().getMessage()) .showInformation(); resetParents(); } else if (newValue == Worker.State.CANCELLED) { dialog .title("Navigation Cancelled") .message(webEngine.getLoadWorker().getMessage()) .showInformation(); resetParents(); } }
private void handleAlert(WebEvent<String> event) { numberOfAlerts.setValue(Integer.toString(Integer.valueOf(numberOfAlerts.getValue()) + 1)); String message = event.getData(); /* * Handle all the external onAlert event handlers first. */ for (EventHandler<WebEvent<String>> handler : alertListeners) handler.handle(event); /* * Finally display an alert box if the operator demands it. */ if (showAlerts.getValue()) { dialog.title("JavaScript Alert").message(message).showInformation(); resetParents(); } }