diff --git a/mozilla/minimo/extensions/history/content/history_template.xml b/mozilla/minimo/extensions/history/content/history_template.xml
new file mode 100644
index 00000000000..7e2897b61c4
--- /dev/null
+++ b/mozilla/minimo/extensions/history/content/history_template.xml
@@ -0,0 +1,40 @@
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mozilla/minimo/extensions/history/content/historyview.js b/mozilla/minimo/extensions/history/content/historyview.js
new file mode 100644
index 00000000000..ba9052a7dfd
--- /dev/null
+++ b/mozilla/minimo/extensions/history/content/historyview.js
@@ -0,0 +1,129 @@
+
+
+
+function bmInit(targetDoc, targetElement) {
+
+ var testLoad=new bmProcessor();
+ testLoad.xslSet("history_template.xml");
+ testLoad.setTargetDocument(targetDoc);
+ testLoad.setTargetElement(targetElement);
+ testLoad.run();
+
+}
+
+function bmProcessor() {
+
+
+
+ /* init stuff */
+
+
+ this.xmlRef=document.implementation.createDocument("","",null);
+ this.xslRef=document.implementation.createDocument("http://www.w3.org/1999/XSL/Transform","stylesheet",null);
+
+ var myObserver = null;
+
+
+ try {
+
+ var mySearch = Components.classes["@mozilla.org/autocomplete/search;1?name=history"].
+ getService(Components.interfaces.nsIAutoCompleteSearch);
+
+ myObserver = {
+ onSearchResult:function (q,w) {
+ rr=w.QueryInterface(Components.interfaces.nsIAutoCompleteResult);
+ this.bookmarkStore="";
+ for(var ii=0;ii"+rr.getValueAt(ii)+"";
+ }
+ this.bookmarkStore+="";
+ },
+ bookmarkStore:""
+ };
+
+ mySearch.startSearch("","",null, myObserver );
+
+ } catch (ignore) {
+
+ }
+
+ var aDOMParser = new DOMParser();
+ this.xmlRef = aDOMParser.parseFromString(myObserver.bookmarkStore,"text/xml");
+
+ this.xslUrl="";
+
+ var myThis=this;
+ var omega=function thisScopeFunction2() { myThis.xslLoaded(); }
+
+ this.xslRef.addEventListener("load",omega,false);
+
+ this.xmlLoadedState=true;
+ this.xslLoadedState=false;
+
+
+}
+
+bmProcessor.prototype.xmlLoaded = function () {
+ this.xmlLoadedState=true;
+alert('loaded');
+ this.apply();
+}
+
+bmProcessor.prototype.xslLoaded = function () {
+ this.xslLoadedState=true;
+ this.apply();
+}
+
+bmProcessor.prototype.xmlSet = function (urlstr) {
+ this.xmlUrl=urlstr;
+}
+
+bmProcessor.prototype.xslSet = function (urlstr) {
+ this.xslUrl=urlstr;
+}
+
+bmProcessor.prototype.setTargetDocument = function (targetDoc) {
+ this.targetDocument=targetDoc;
+}
+
+bmProcessor.prototype.setTargetElement = function (targetEle) {
+ this.targetElement=targetEle;
+}
+
+bmProcessor.prototype.apply = function () {
+ if( this.xmlRef.getElementsByTagName("li").length < 1) {
+ if( this.targetDocument && this.targetDocument ) {
+ if(this.targetDocument.getElementById("message-empty")) {
+
+ this.targetDocument.getElementById("message-empty").style.display="block";
+ }
+ // ... other checks? other formatting...
+ }
+ return;
+ }
+
+ if(this.xmlLoadedState&&this.xslLoadedState) {
+ var xsltProcessor = new XSLTProcessor();
+ var htmlFragment=null;
+ try {
+ xsltProcessor.importStylesheet(this.xslRef);
+ htmlFragment = xsltProcessor.transformToFragment(this.xmlRef, this.targetDocument);
+ } catch (e) {
+ }
+ this.targetElement.appendChild(htmlFragment.firstChild);
+ }
+}
+
+bmProcessor.prototype.run = function () {
+ try {
+ // Already parsed.
+ // this.xmlRef.load(this.xmlUrl);
+ } catch (e) {
+ }
+ try {
+ this.xslRef.load(this.xslUrl);
+ } catch (e) {
+ }
+
+}
+
diff --git a/mozilla/minimo/extensions/history/content/historyview.xhtml b/mozilla/minimo/extensions/history/content/historyview.xhtml
new file mode 100644
index 00000000000..f0fa26c9689
--- /dev/null
+++ b/mozilla/minimo/extensions/history/content/historyview.xhtml
@@ -0,0 +1,59 @@
+
+
+
+
+
+%minimoDTD;
+]>
+
+
+
+
+
+&historyTitle.label;
+
+
+
+ &historyEmpty.label;
+
+
+
+
diff --git a/mozilla/minimo/extensions/history/content/homebaseOverlay.xul b/mozilla/minimo/extensions/history/content/homebaseOverlay.xul
index 7d5e2e88d1b..94efc840506 100644
--- a/mozilla/minimo/extensions/history/content/homebaseOverlay.xul
+++ b/mozilla/minimo/extensions/history/content/homebaseOverlay.xul
@@ -4,7 +4,7 @@
-
+