diff --git a/Core/src/org/sleuthkit/autopsy/contentviewers/Bundle.properties-MERGED b/Core/src/org/sleuthkit/autopsy/contentviewers/Bundle.properties-MERGED index 3efcade0f5..63850f7d66 100755 --- a/Core/src/org/sleuthkit/autopsy/contentviewers/Bundle.properties-MERGED +++ b/Core/src/org/sleuthkit/autopsy/contentviewers/Bundle.properties-MERGED @@ -32,8 +32,10 @@ GstVideoPanel.progress.buffering=Buffering... GstVideoPanel.progressLabel.bufferingErr=Error buffering file GstVideoPanel.progress.infoLabel.updateErr=Error updating video progress: {0} GstVideoPanel.ExtractMedia.progress.buffering=Buffering {0} +Html_text_display_error=The HTML text cannot be displayed, it may not be correctly formed HTML. HtmlPanel_showImagesToggleButton_hide=Hide Images HtmlPanel_showImagesToggleButton_show=Show Images +HtmlViewer_file_error=This file is missing or unreadable. MediaFileViewer.AccessibleContext.accessibleDescription= MediaFileViewer.title=Media MediaFileViewer.toolTip=Displays supported multimedia files (images, videos, audio) diff --git a/Core/src/org/sleuthkit/autopsy/contentviewers/HtmlPanel.java b/Core/src/org/sleuthkit/autopsy/contentviewers/HtmlPanel.java index 1699536c94..31731c006f 100755 --- a/Core/src/org/sleuthkit/autopsy/contentviewers/HtmlPanel.java +++ b/Core/src/org/sleuthkit/autopsy/contentviewers/HtmlPanel.java @@ -92,20 +92,24 @@ final class HtmlPanel extends javax.swing.JPanel { */ @Messages({ "HtmlPanel_showImagesToggleButton_show=Show Images", - "HtmlPanel_showImagesToggleButton_hide=Hide Images" + "HtmlPanel_showImagesToggleButton_hide=Hide Images", + "Html_text_display_error=The HTML text cannot be displayed, it may not be correctly formed HTML.", }) private void refresh() { if (false == htmlText.isEmpty()) { - if (showImagesToggleButton.isSelected()) { - showImagesToggleButton.setText(Bundle.HtmlPanel_showImagesToggleButton_hide()); - this.htmlbodyTextPane.setText(wrapInHtmlBody(htmlText)); - } else { - showImagesToggleButton.setText(Bundle.HtmlPanel_showImagesToggleButton_show()); - this.htmlbodyTextPane.setText(wrapInHtmlBody(cleanseHTML(htmlText))); + try { + if (showImagesToggleButton.isSelected()) { + showImagesToggleButton.setText(Bundle.HtmlPanel_showImagesToggleButton_hide()); + this.htmlbodyTextPane.setText(wrapInHtmlBody(htmlText)); + } else { + showImagesToggleButton.setText(Bundle.HtmlPanel_showImagesToggleButton_show()); + this.htmlbodyTextPane.setText(wrapInHtmlBody(cleanseHTML(htmlText))); + } + showImagesToggleButton.setEnabled(true); + htmlbodyTextPane.setCaretPosition(0); + } catch(Exception ex) { + this.htmlbodyTextPane.setText(wrapInHtmlBody(Bundle.Html_text_display_error())); } - - htmlbodyTextPane.setCaretPosition(0); - showImagesToggleButton.setEnabled(true); } } diff --git a/Core/src/org/sleuthkit/autopsy/contentviewers/HtmlViewer.java b/Core/src/org/sleuthkit/autopsy/contentviewers/HtmlViewer.java index ff22d952e7..07e6e4cb5a 100755 --- a/Core/src/org/sleuthkit/autopsy/contentviewers/HtmlViewer.java +++ b/Core/src/org/sleuthkit/autopsy/contentviewers/HtmlViewer.java @@ -23,6 +23,7 @@ import java.awt.Cursor; import java.util.Arrays; import java.util.List; import java.util.logging.Level; +import org.openide.util.NbBundle; import org.openide.windows.WindowManager; import org.sleuthkit.autopsy.coreutils.Logger; import org.sleuthkit.datamodel.AbstractFile; @@ -56,6 +57,9 @@ final class HtmlViewer extends javax.swing.JPanel implements FileTypeViewer { * * @return The text content of the file. */ + @NbBundle.Messages({ + "HtmlViewer_file_error=This file is missing or unreadable.", + }) private String getHtmlText(AbstractFile abstractFile) { try { int fileSize = (int) abstractFile.getSize(); @@ -65,9 +69,8 @@ final class HtmlViewer extends javax.swing.JPanel implements FileTypeViewer { } catch (TskCoreException ex) { logger.log(Level.SEVERE, String.format("Unable to read from file '%s' (id=%d).", abstractFile.getName(), abstractFile.getId()), ex); + return String.format("
%s
", Bundle.HtmlViewer_file_error()); } - - return null; } /**