521a439656fb76ce2b606e61d35cb6fd087934a6
diff --git a/configure.ac b/configure.ac
index b7171c4..352cbad 100644
--- a/configure.ac
+++ b/configure.ac
@@ -468,6 +468,7 @@ data/bme.desktop.in
 data/glade/Makefile
 data/icons/Makefile
 data/art/Makefile
+data/pages/Makefile
 data/ui/Makefile
 doc/Makefile
 doc/reference/Makefile
diff --git a/data/Makefile.am b/data/Makefile.am
index e17a252..20da29a 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -1,4 +1,4 @@
-SUBDIRS = art glade icons ui
+SUBDIRS = art glade icons pages ui
 
 @INTLTOOL_SERVER_RULE@
 @INTLTOOL_DESKTOP_RULE@
diff --git a/data/pages/Makefile.am b/data/pages/Makefile.am
new file mode 100644
index 0000000..a53709d
--- /dev/null
+++ b/data/pages/Makefile.am
@@ -0,0 +1,5 @@
+errorpagesdir = $(pkgdatadir)/pages
+errorpages_DATA = \
+	recovery.html
+
+EXTRA_DIST = $(errorpages_DATA)
diff --git a/data/pages/recovery.html b/data/pages/recovery.html
new file mode 100644
index 0000000..3bb0c5c
--- /dev/null
+++ b/data/pages/recovery.html
@@ -0,0 +1,52 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="%s" lang="%s">
+<head>
+  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
+  <title>%s</title>
+  <style type="text/css">
+    body {
+      margin: 0 auto;
+      padding: 5em;
+      font: message-box;
+      display: table;
+      direction: %s;
+    }
+    div#centeredContent {
+      display: table;
+      margin: 0 auto;
+    }
+    div#centeredContent h1 {
+      display: table-row;
+    }
+    div#centeredContent div {
+      display: table-row-group;
+    }
+    h1 {
+      font-size: 180%;
+    }
+    h1 img {
+      vertical-align: middle;
+      margin-right: 10px;
+      margin-left: -42px;
+    }
+  </style>
+  <script type="text/javascript">
+    function load_anyway()
+    {
+      window.location = '%s';
+    }
+  </script>
+</head>
+<body>
+<div id="centeredContent">
+  <h1><img src="file:///usr/share/icons/gnome/32x32/emblems/emblem-unreadable.png" alt=" "/>Oops! Looks like this website made Epiphany crash.</h1>
+
+  <div>
+    <p>This page was loading when the web browser closed unexpectedly.<br/>
+    This might happen again if you reload the page. If it does, please
+    report the problem to the <strong>%s</strong> developers.</p>
+    <p><button onclick="javascript:load_anyway()">Load anyway</button></p>
+  </div>
+</div>
+</body>
+</html>
diff --git a/src/ephy-session.c b/src/ephy-session.c
index 5774354..5b85f2b 100644
--- a/src/ephy-session.c
+++ b/src/ephy-session.c
@@ -1280,65 +1280,16 @@ confirm_before_recover (EphyWindow* window, char* url, char* title)
 	
 	GtkWidget *embed; 
 	GString *html = g_string_new ("");
-	char *message = g_markup_printf_escaped
-		/* Translators: %s refers to the LSB distributor ID, for instance MandrivaLinux */
-		(_("This page was loading when the web browser closed unexpectedly. "
-		   "This might happen again if you reload the page. If it does, please report "
-		   "the problem to the %s developers."),
-		   LSB_DISTRIBUTOR);
-
-	const char *format =  
-	  "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
-	  "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">"
-	  "<html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"%s\" xml:lang=\"%s\">" /* language (twice) */
-	  "<head>"
-	  "<title>"
-	  "%s" /* web title */
-	  "</title>"
-	  "<style type=\"text/css\">"
-	  "div#body {"
-	  "top: 12px;"
-	  "right: 12px;"
-	  "bottom: 12px;"
-	  "left: 12px;"
-	  "overflow: auto;"
-	  "background-color:#dcdad5;"
-	  "font: message-box;"
-	  "border: 1px solid;"
-	  "background-repeat: no-repeat;"
-	  "background-position: center left;"
-	  "padding: 12px 12px 12px 72px;"
-	  "text-align:left;"
-		
-	  "h1 {"
-	  
-	  "margin: 0;"
-	  "font-size: 1.2em;"
-	  
-	  "}"
-	  "</style>"
-	
-	  "</head>"
-
-	  "<body dir=\"%s\">" /* rtl or ltr */
-	  "<div id=\"body\">"
-
-	  "<h1>"
-	  "%s" /* head of the message */
-	  "</h1>"
-
-	  "<p> %s </p>"	  /* message */
-
-	  "</div>"
-	  "</body>"
-	  "</html>";
+	char *format;
 
 	char *language = g_strdup (pango_language_to_string (gtk_get_default_language ()));
 	g_strdelimit (language, "_-@", '\0');
 
+	g_file_get_contents (DATADIR "/pages/recovery.html", &format, NULL, NULL);
+
 	g_string_printf (html, format, language, language, title, 
 			 gtk_widget_get_default_direction () == GTK_TEXT_DIR_RTL ? "rtl" : "ltr", 
-			 _("Blank page"), message);
+			 url, LSB_DISTRIBUTOR);
 
 	embed  = (GtkWidget*) ephy_shell_new_tab (ephy_shell, window, NULL, NULL, 
 						  EPHY_NEW_TAB_IN_EXISTING_WINDOW | EPHY_NEW_TAB_APPEND_LAST);
@@ -1348,8 +1299,8 @@ confirm_before_recover (EphyWindow* window, char* url, char* title)
 					  html->str, 
 					  url);	
 	g_string_free (html, TRUE);
-	g_free (message);
 	g_free (language);
+	g_free (format);
 }
 
 
