Last visited date is not updated when reloading page.
You can use the following application to reproduce it:
import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.concurrent.Worker;
import javafx.concurrent.Worker.State;
import javafx.scene.Scene;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebView;
import javafx.stage.Stage;
public class Main extends Application {
public static void main(String[] args) {
System.setProperty("proxyHost", "www-proxy.us.oracle.com");
System.setProperty("proxyPort", "80");
launch(args);
}
ChangeListener<Worker.State> listener;
@Override
public void start(Stage primaryStage) {
WebView view = new WebView();
final WebEngine engine = view.getEngine();
engine.load("http://google.com");
listener = new ChangeListener<Worker.State>() {
@Override
public void changed(ObservableValue<? extends State> arg0, State arg1, State arg2) {
if (arg2.equals(State.SUCCEEDED)) {
System.out.println("Loaded: " +
engine.getHistory().getEntries().get(engine.getHistory().getCurrentIndex()).getLastVisitedDate().getTime());
engine.getLoadWorker().stateProperty().removeListener(listener);
try {Thread.sleep(5000);} catch (InterruptedException ex) {}
engine.getLoadWorker().stateProperty().addListener(new ChangeListener<Worker.State>() {
@Override
public void changed(ObservableValue<? extends State> arg0, State arg1, State arg2) {
if (arg2.equals(State.SUCCEEDED)) {
System.out.println("Reloaded: " +
engine.getHistory().getEntries().get(engine.getHistory().getCurrentIndex()).getLastVisitedDate().getTime());
}
}
});
engine.reload();
}
}
};
engine.getLoadWorker().stateProperty().addListener(listener);
primaryStage.setScene(new Scene(view, 300, 250));
primaryStage.show();
}
}
You can use the following application to reproduce it:
import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.concurrent.Worker;
import javafx.concurrent.Worker.State;
import javafx.scene.Scene;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebView;
import javafx.stage.Stage;
public class Main extends Application {
public static void main(String[] args) {
System.setProperty("proxyHost", "www-proxy.us.oracle.com");
System.setProperty("proxyPort", "80");
launch(args);
}
ChangeListener<Worker.State> listener;
@Override
public void start(Stage primaryStage) {
WebView view = new WebView();
final WebEngine engine = view.getEngine();
engine.load("http://google.com");
listener = new ChangeListener<Worker.State>() {
@Override
public void changed(ObservableValue<? extends State> arg0, State arg1, State arg2) {
if (arg2.equals(State.SUCCEEDED)) {
System.out.println("Loaded: " +
engine.getHistory().getEntries().get(engine.getHistory().getCurrentIndex()).getLastVisitedDate().getTime());
engine.getLoadWorker().stateProperty().removeListener(listener);
try {Thread.sleep(5000);} catch (InterruptedException ex) {}
engine.getLoadWorker().stateProperty().addListener(new ChangeListener<Worker.State>() {
@Override
public void changed(ObservableValue<? extends State> arg0, State arg1, State arg2) {
if (arg2.equals(State.SUCCEEDED)) {
System.out.println("Reloaded: " +
engine.getHistory().getEntries().get(engine.getHistory().getCurrentIndex()).getLastVisitedDate().getTime());
}
}
});
engine.reload();
}
}
};
engine.getLoadWorker().stateProperty().addListener(listener);
primaryStage.setScene(new Scene(view, 300, 250));
primaryStage.show();
}
}