Fix for bug# 180235.
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/HTMLEditor.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/HTMLEditor.java
index 3dce643..1455573 100644
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/HTMLEditor.java
+++ b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/HTMLEditor.java
@@ -13,6 +13,8 @@
import java.io.File;
import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Iterator;
import java.util.List;
import org.eclipse.core.internal.resources.ResourceException;
@@ -127,6 +129,8 @@
private WindowsIEBrowser _browser;
+ private List PREVIEW_FILES_LIST = new ArrayList();
+
// TODO:This class is never used locally
// private class TextInputListener implements ITextInputListener {
// public void inputDocumentAboutToBeChanged(IDocument oldInput,
@@ -402,6 +406,9 @@
}
public void dispose() {
+
+ deletePreviewFiles();
+
disconnectDesignPage();
IWorkbenchWindow window = getSite().getWorkbenchWindow();
@@ -914,6 +921,9 @@
*/
protected void pageChange(int newPageIndex) {
super.pageChange(newPageIndex);
+
+ deletePreviewFiles();
+
if (newPageIndex == _previewPageIndex) {
// preview page activate, need to regenerate the preview text and
// display it.
@@ -935,6 +945,7 @@
}
File file = PreviewUtil.toFile(result, getEditorInput());
if (file != null) {
+ PREVIEW_FILES_LIST.add(file);
_browser.loadFile(file);
} else {
_browser.getBrowser().setUrl("about:blank"); //$NON-NLS-1$
@@ -1007,4 +1018,16 @@
}
return super.getPartName();
}
+
+ private void deletePreviewFiles() {
+ Iterator itPreviewFiles = PREVIEW_FILES_LIST.iterator();
+ while (itPreviewFiles.hasNext()) {
+ File file = (File)itPreviewFiles.next();
+ if (file != null && file.exists()) {
+ file.delete();
+ }
+ }
+ PREVIEW_FILES_LIST.clear();
+ }
+
}