From de06719f5cab97f86159aaadaae51ed2b216794e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Rub=C3=A9n=20Rodr=C3=ADguez?= <ruben@trisquel.info>
Date: Fri, 24 Oct 2014 17:33:57 +0200
Subject: [PATCH] Updated Abrowser for v33, disabled GMP, fixes #12588

---
 .../aboutabrowser@trisquel.info/LICENSE       |  24 ++
 .../chrome.manifest                           |   8 +
 .../content/aboutAbrowser/aboutAbrowser.xhtml | 307 ++++++++++++++++++
 .../chrome/locale/en/aboutAbrowser.dtd        |   1 +
 .../chrome/locale/es/aboutAbrowser.dtd        |   1 +
 .../components/aboutAbrowser.js               |  72 ++++
 .../defaults/preferences/preferences.js       |   0
 .../aboutabrowser@trisquel.info/install.rdf   |  21 ++
 .../DATA/firefox/abouthome/aboutHome.xhtml    |   2 +-
 .../branding/locales/browserconfig.properties |   2 +-
 helpers/DATA/firefox/settings.js              |  27 +-
 helpers/make-firefox                          |  10 +-
 12 files changed, 469 insertions(+), 6 deletions(-)
 create mode 100644 helpers/DATA/firefox/aboutabrowser@trisquel.info/LICENSE
 create mode 100644 helpers/DATA/firefox/aboutabrowser@trisquel.info/chrome.manifest
 create mode 100644 helpers/DATA/firefox/aboutabrowser@trisquel.info/chrome/content/aboutAbrowser/aboutAbrowser.xhtml
 create mode 100644 helpers/DATA/firefox/aboutabrowser@trisquel.info/chrome/locale/en/aboutAbrowser.dtd
 create mode 100644 helpers/DATA/firefox/aboutabrowser@trisquel.info/chrome/locale/es/aboutAbrowser.dtd
 create mode 100644 helpers/DATA/firefox/aboutabrowser@trisquel.info/components/aboutAbrowser.js
 create mode 100644 helpers/DATA/firefox/aboutabrowser@trisquel.info/defaults/preferences/preferences.js
 create mode 100644 helpers/DATA/firefox/aboutabrowser@trisquel.info/install.rdf

diff --git a/helpers/DATA/firefox/aboutabrowser@trisquel.info/LICENSE b/helpers/DATA/firefox/aboutabrowser@trisquel.info/LICENSE
new file mode 100644
index 000000000..10d1ec67e
--- /dev/null
+++ b/helpers/DATA/firefox/aboutabrowser@trisquel.info/LICENSE
@@ -0,0 +1,24 @@
+Extension built by Ruben Rodriguez using pieces of torbutton as a template
+
+Copyright (c) 2014, Ruben Rodriguez <ruben@gnu.org>
+Copyright (c) 2013, The Tor Project, Inc.
+Copyright (c) 2006 Scott Squires, Oleg Ivanov
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
diff --git a/helpers/DATA/firefox/aboutabrowser@trisquel.info/chrome.manifest b/helpers/DATA/firefox/aboutabrowser@trisquel.info/chrome.manifest
new file mode 100644
index 000000000..06c1b0251
--- /dev/null
+++ b/helpers/DATA/firefox/aboutabrowser@trisquel.info/chrome.manifest
@@ -0,0 +1,8 @@
+content abrowserhome chrome/content/
+
+locale abrowserhome af chrome/locale/es/
+locale abrowserhome ak chrome/locale/en/
+
+component {a364a9c0-2960-11e4-8c21-0800200c9a66} components/aboutAbrowser.js
+contract @mozilla.org/network/protocol/about;1?what=abrowser {a364a9c0-2960-11e4-8c21-0800200c9a66}
+
diff --git a/helpers/DATA/firefox/aboutabrowser@trisquel.info/chrome/content/aboutAbrowser/aboutAbrowser.xhtml b/helpers/DATA/firefox/aboutabrowser@trisquel.info/chrome/content/aboutAbrowser/aboutAbrowser.xhtml
new file mode 100644
index 000000000..269a8d219
--- /dev/null
+++ b/helpers/DATA/firefox/aboutabrowser@trisquel.info/chrome/content/aboutAbrowser/aboutAbrowser.xhtml
@@ -0,0 +1,307 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+   - License, v. 2.0. If a copy of the MPL was not distributed with this
+   - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!DOCTYPE html [
+  <!ENTITY % htmlDTD
+    PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "DTD/xhtml1-strict.dtd">
+  %htmlDTD;
+  <!ENTITY % globalDTD SYSTEM "chrome://global/locale/global.dtd">
+  %globalDTD;
+  <!ENTITY % aboutHomeDTD SYSTEM "chrome://browser/locale/aboutHome.dtd">
+  %aboutHomeDTD;
+  <!ENTITY % browserDTD SYSTEM "chrome://browser/locale/browser.dtd" >
+  %browserDTD;
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>&abouthome.pageTitle;</title>
+
+    <link rel="icon" type="image/png" id="favicon"
+          href="chrome://branding/content/icon32.png"/>
+    <link rel="stylesheet" type="text/css" media="all"
+          href="chrome://browser/content/abouthome/aboutHome.css"/>
+
+<style>
+
+label{
+position:relative;
+bottom:2px;
+left:2px;
+}
+
+#addonsform form{
+position:relative;
+left:10px;
+}
+
+em {
+color:#600
+}
+
+a{
+color:#004998
+}
+
+#addonsform{
+background-color:#fff;
+font-size:14px;
+padding:10px 25px 20px 25px;
+border-radius: 5px;
+box-shadow: 0 0px 5px hsla(0,0%,0%,.3) inset;
+}
+
+.block-side-margin {
+  min-width: 16px;
+  -moz-box-flex: 1;
+}
+
+#block-horizontal-margin {
+  display: -moz-box;
+  -moz-box-flex: 1;
+}
+
+ul li {
+list-style:none;
+background:#ddd;
+border-radius:3px;
+padding:3px 5px 3px 5px;
+margin:5px;
+box-shadow: 0px 2px 0 #ccc ;
+float:left;
+}
+
+ul li a{
+font-weight:bold;
+color:#666;
+text-shadow:0px 1px 0px #fff;
+}
+
+.titlelink{
+font-weight:bold;
+color: #678;
+text-shadow: 0px 1px 0px white;
+}
+
+#footer{
+min-height:50px;
+display: -moz-box;
+-moz-box-align: center;
+-moz-box-pack: center;
+width: 100%;
+background-color: hsla(0,0%,0%,.03);
+border-top: 1px solid hsla(0,0%,0%,.03);
+box-shadow: 0 2px 5px hsla(0,0%,0%,.1) inset, 0 -1px 0 hsla(0,0%,100%,.25);
+}
+
+</style>
+
+<script type="text/javascript">
+<![CDATA[
+
+Components.utils.import("resource://gre/modules/AddonManager.jsm");
+Components.utils.import("resource://gre/modules/Services.jsm");
+
+function flip(sel){
+  var id = sel.id;
+  var addonObj=-1;
+  AddonManager.getAddonByID(id, function(addon) {
+    addonObj=addon;
+  });
+  var thread = Components.classes["@mozilla.org/thread-manager;1"].getService().currentThread;
+  while (addonObj == null || addonObj == -1)
+  thread.processNextEvent(true);
+  addonObj.userDisabled = addonObj.isActive;
+  if ( addonObj.operationsRequiringRestart != 0)
+      alert("This change will be applied when you restart Abrowser");
+}
+
+function languagesettings(sel){
+  if (sel.checked)
+    Services.prefs.setCharPref(sel.id,sel.value);
+  else
+    Services.prefs.clearUserPref(sel.id);
+}
+
+function fontsettings(sel){
+  if (sel.checked)
+    Services.prefs.setIntPref(sel.id,sel.value);
+  else
+    Services.prefs.clearUserPref(sel.id);
+}
+
+function jssettings(sel){
+  if (sel.checked){
+    Services.prefs.setBoolPref(sel.id, !sel.checked);}
+  else
+    Services.prefs.clearUserPref(sel.id);
+}
+
+function prepare(){
+
+/*try {
+Services.prefs.getCharPref("extensions.abrowserhome.intl.accept_languages");
+}catch(err){
+Services.prefs.setCharPref("intl.accept_languages","en-US, en");
+Services.prefs.setCharPref("extensions.abrowserhome.intl.accept_languages","en-US, en");
+}
+
+try {
+Services.prefs.getIntPref("extensions.abrowserhome.browser.display.use_document_fonts");
+}catch(err){
+Services.prefs.setIntPref("browser.display.use_document_fonts",0);
+Services.prefs.setIntPref("extensions.abrowserhome.browser.display.use_document_fonts",0);
+}*/
+
+  var f = document.createElement("form");
+
+  var extensions=[
+["jid1-KtlZuoiikVfFew@jetpack","Block execution of non-free <a target=\"_blank\" href=\"http://www.gnu.org/software/librejs/\">JavaScript</a> <em>(experimental)</em>"],
+["spyblock@gnu.org","Block privacy <a target=\"_blank\" href=\"https://easylist.adblockplus.org\">trackers</a>"],
+["torproxy@trisquel","Use <a target=\"_blank\" href=\"https://www.torproject.org/about/overview.html.en#overview\">Tor</a> when in Private Mode"],
+["https-everywhere@eff.org","Get redirected to <a target=\"_blank\" href=\"https://www.eff.org/https-everywhere/faq\">HTTPS</a> when possible"],
+]
+
+  for (var i=0; i<extensions.length; ++i) {
+    var ex=extensions[i][0];
+
+    var tmp = document.createElement("input");
+    tmp.setAttribute('type',"checkbox");
+    tmp.setAttribute('id', ex);
+    tmp.setAttribute('onclick','flip(this);');
+
+    var label = document.createElement("label");
+    label.htmlFor =  ex ;
+    label.id = ex+'label';
+    label.appendChild(document.createTextNode(''));
+
+    f.appendChild(tmp);
+    f.appendChild(label);
+
+    document.getElementById("addonsform").appendChild(f);
+  }
+
+  var tmp = document.createElement("input");
+  tmp.setAttribute('type',"checkbox");
+  tmp.setAttribute('id', "intl.accept_languages");
+  tmp.setAttribute('value', "en-US, en");
+  tmp.setAttribute('onclick','languagesettings(this);');
+  value=Services.prefs.getCharPref("intl.accept_languages");
+  tmp.checked=(value=="en-US, en");
+  var label = document.createElement("label");
+  label.htmlFor =  "intl.accept_languages" ;
+  label.id = "intl.accept_languageslabel";
+  label.appendChild(document.createTextNode("Request pages in English"));
+  f.appendChild(tmp);
+  f.appendChild(label);
+  f.appendChild(document.createElement("br"));
+  document.getElementById("addonsform").appendChild(f);
+
+  var tmp = document.createElement("input");
+  tmp.setAttribute('type',"checkbox");
+  tmp.setAttribute('id', "browser.display.use_document_fonts");
+  tmp.setAttribute('value', 0);
+  tmp.setAttribute('onclick','fontsettings(this);');
+  value=Services.prefs.getIntPref("browser.display.use_document_fonts");
+  tmp.checked=(value==0);
+  var label = document.createElement("label");
+  label.htmlFor =  "browser.display.use_document_fonts" ;
+  label.id = "browser.display.use_document_fontslabel";
+  label.appendChild(document.createTextNode("Use system fonts"));
+  f.appendChild(tmp);
+  f.appendChild(label);
+  f.appendChild(document.createElement("br"));
+  document.getElementById("addonsform").appendChild(f);
+
+  var tmp = document.createElement("input");
+  tmp.setAttribute('type',"checkbox");
+  tmp.setAttribute('id', "javascript.enabled");
+  tmp.setAttribute('value', 0);
+  tmp.setAttribute('onclick','jssettings(this);');
+  value=Services.prefs.getBoolPref("javascript.enabled");
+  tmp.checked=(value==0);
+  var label = document.createElement("label");
+  label.htmlFor =  "javascript.enabled" ;
+  label.id = "javascript.enabledlabel";
+  label.appendChild(document.createTextNode("Disable JavaScript"));
+  f.appendChild(tmp);
+  f.appendChild(label);
+  f.appendChild(document.createElement("br"));
+  document.getElementById("addonsform").appendChild(f);
+
+  for (var i=0; i<extensions.length; ++i) {
+    var ex=extensions[i][0];
+    var addonObj=-1;
+
+    AddonManager.getAddonByID(ex, function(addon) {
+    addonObj=addon;
+    });
+
+    var thread = Components.classes["@mozilla.org/thread-manager;1"].getService().currentThread;
+    while ( addonObj == -1)
+    thread.processNextEvent(true);
+    if ( addonObj != null){
+      document.getElementById(ex).checked = addonObj.isActive;
+      //document.getElementById(ex+'label').innerHTML = addonObj.name;
+      document.getElementById(ex+'label').innerHTML = extensions[i][1]+"<br/>";
+    }else{
+      document.getElementById(ex).style.display='none';
+      document.getElementById(ex+'label').style.display='none';
+    }
+  }
+}
+
+
+]]>
+</script>
+
+  </head>
+
+  <body dir="&locale.dir;" onload="prepare();">
+
+    <div class="spacer"/>
+    <div id="topSection">
+      <img src="chrome://branding/content/about-logo.png"/>
+
+      <div id="searchContainer">
+        <form name="searchForm" id="searchForm" action="https://duckduckgo.com/">
+          <input type="hidden" name="t" value="trisquel"/>
+          <input type="text" name="q" value="" id="searchText" maxlength="256"
+                 autofocus="autofocus"/>
+          <input id="searchSubmit" type="submit" value="&abouthome.searchEngineButton.label; DuckDuckGO"/>
+        </form>
+      </div>
+
+    </div>
+
+    <div class="spacer"/>
+
+<div id="block-horizontal-margin">
+<div class="block-side-margin"></div>
+<div id="addonsform">
+<!--<h3>Enabled privacy features:</h3>-->
+<p><a target="_blank" href="https://trisquel.info/browser">Abrowser</a> protects your <a target="_blank" href="http://www.gnu.org/philosophy/free-sw.html">freedom</a> and your privacy!<br/><small>For a browser with an even bigger focus on privacy, <a href="apt:icecat">install GNU/IceCat</a></small></p>
+</div>
+<div class="block-side-margin"></div>
+</div>
+
+    <div class="spacer"/>
+
+<div id="footer">
+<p ><a class="titlelink" href="https://trisquel.info">Trisquel GNU/Linux</a></p>
+<ul style="font-size:0.8em">
+<li><a href="https://trisquel.info/forum">Forum</a></li>
+<li><a href="https://trisquel.info/wiki">Wiki</a></li>
+<li><a href="http://store.trisquel.info/">Store</a></li>
+<li><a href="https://trisquel.info/donate">Donate</a></li>
+</ul>
+</div>
+
+
+  </body>
+</html>
+
diff --git a/helpers/DATA/firefox/aboutabrowser@trisquel.info/chrome/locale/en/aboutAbrowser.dtd b/helpers/DATA/firefox/aboutabrowser@trisquel.info/chrome/locale/en/aboutAbrowser.dtd
new file mode 100644
index 000000000..73fd945fb
--- /dev/null
+++ b/helpers/DATA/firefox/aboutabrowser@trisquel.info/chrome/locale/en/aboutAbrowser.dtd
@@ -0,0 +1 @@
+<!ENTITY aboutAbrowser.title "About Abrowser">
diff --git a/helpers/DATA/firefox/aboutabrowser@trisquel.info/chrome/locale/es/aboutAbrowser.dtd b/helpers/DATA/firefox/aboutabrowser@trisquel.info/chrome/locale/es/aboutAbrowser.dtd
new file mode 100644
index 000000000..cd8f56df7
--- /dev/null
+++ b/helpers/DATA/firefox/aboutabrowser@trisquel.info/chrome/locale/es/aboutAbrowser.dtd
@@ -0,0 +1 @@
+<!ENTITY aboutAbrowser.title "Acerca de Abrowser">
diff --git a/helpers/DATA/firefox/aboutabrowser@trisquel.info/components/aboutAbrowser.js b/helpers/DATA/firefox/aboutabrowser@trisquel.info/components/aboutAbrowser.js
new file mode 100644
index 000000000..f81ba7d55
--- /dev/null
+++ b/helpers/DATA/firefox/aboutabrowser@trisquel.info/components/aboutAbrowser.js
@@ -0,0 +1,72 @@
+/*
+
+Copyright (c) 2014, Ruben Rodriguez <ruben@gnu.org>
+Copyright (c) 2013, The Tor Project, Inc.
+Copyright (c) 2006 Scott Squires, Oleg Ivanov
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+*/
+
+// Module specific constants
+const kMODULE_NAME = "about:abrowser";
+const kMODULE_CONTRACTID = "@mozilla.org/network/protocol/about;1?what=abrowser";
+const kMODULE_CID = Components.ID("a364a9c0-2960-11e4-8c21-0800200c9a66");
+
+const kAboutAbrowserURL = "chrome://abrowserhome/content/aboutAbrowser/aboutAbrowser.xhtml";
+
+const Cc = Components.classes;
+const Ci = Components.interfaces;
+const Cu = Components.utils;
+ 
+Cu.import("resource://gre/modules/XPCOMUtils.jsm");
+ 
+function AboutAbrowser()
+{
+}
+
+
+AboutAbrowser.prototype =
+{
+  QueryInterface: XPCOMUtils.generateQI([Ci.nsIAboutModule]),
+
+  // nsIClassInfo implementation:
+  classDescription: kMODULE_NAME,
+  classID: kMODULE_CID,
+  contractID: kMODULE_CONTRACTID,
+
+  // nsIAboutModule implementation:
+  newChannel: function(aURI)
+  {
+    let ioSvc = Cc["@mozilla.org/network/io-service;1"]
+                  .getService(Ci.nsIIOService);
+    let channel = ioSvc.newChannel(kAboutAbrowserURL, null, null);
+    channel.originalURI = aURI;
+
+    return channel;
+  },
+
+  getURIFlags: function(aURI)
+  {
+    return Ci.nsIAboutModule.ALLOW_SCRIPT;
+  }
+};
+
+
+const NSGetFactory = XPCOMUtils.generateNSGetFactory([AboutAbrowser]);
diff --git a/helpers/DATA/firefox/aboutabrowser@trisquel.info/defaults/preferences/preferences.js b/helpers/DATA/firefox/aboutabrowser@trisquel.info/defaults/preferences/preferences.js
new file mode 100644
index 000000000..e69de29bb
diff --git a/helpers/DATA/firefox/aboutabrowser@trisquel.info/install.rdf b/helpers/DATA/firefox/aboutabrowser@trisquel.info/install.rdf
new file mode 100644
index 000000000..61ba43b19
--- /dev/null
+++ b/helpers/DATA/firefox/aboutabrowser@trisquel.info/install.rdf
@@ -0,0 +1,21 @@
+<?xml version="1.0"?>
+<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+     xmlns:em="http://www.mozilla.org/2004/em-rdf#">
+
+    <Description about="urn:mozilla:install-manifest">
+        <em:name>AbrowserHome</em:name>
+        <em:creator>Ruben Rodriguez</em:creator>
+        <em:id>aboutabrowser@trisquel.info</em:id>
+        <em:version>1.0</em:version>
+        <em:updateURL>https://127.0.0.1/</em:updateURL>
+      <!--  <em:updateKey></em:updateKey> -->
+        <!-- firefox -->
+        <em:targetApplication>
+            <Description>
+                <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
+                <em:minVersion>30.0</em:minVersion>
+                <em:maxVersion>10000.0</em:maxVersion>
+            </Description>
+        </em:targetApplication>
+    </Description>
+</RDF>
diff --git a/helpers/DATA/firefox/abouthome/aboutHome.xhtml b/helpers/DATA/firefox/abouthome/aboutHome.xhtml
index c21b9d772..7381fb654 100644
--- a/helpers/DATA/firefox/abouthome/aboutHome.xhtml
+++ b/helpers/DATA/firefox/abouthome/aboutHome.xhtml
@@ -90,7 +90,7 @@ min-height:100px;
       <img src="chrome://branding/content/about-logo.png"/>
 
       <div id="searchContainer">
-        <form name="searchForm" id="searchForm" action="https://duckduckgo.com/html/">
+        <form name="searchForm" id="searchForm" action="https://duckduckgo.com/">
           <input type="hidden" name="t" value="trisquel"/>
           <input type="text" name="q" value="" id="searchText" maxlength="256"
                  autofocus="autofocus"/>
diff --git a/helpers/DATA/firefox/branding/locales/browserconfig.properties b/helpers/DATA/firefox/branding/locales/browserconfig.properties
index 06cefece3..dc9c2bade 100644
--- a/helpers/DATA/firefox/branding/locales/browserconfig.properties
+++ b/helpers/DATA/firefox/branding/locales/browserconfig.properties
@@ -3,4 +3,4 @@
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 # Do NOT localize or otherwise change these values
-browser.startup.homepage=about:home
+browser.startup.homepage=about:abrowser
diff --git a/helpers/DATA/firefox/settings.js b/helpers/DATA/firefox/settings.js
index 8b976a88e..24012f3ad 100644
--- a/helpers/DATA/firefox/settings.js
+++ b/helpers/DATA/firefox/settings.js
@@ -8,7 +8,7 @@ pref("pfs.datasource.url", "http://trisquel.info/sites/pfs.php?mime=%PLUGIN_MIME
 pref("pfs.filehint.url", "http://trisquel.info/sites/pfs.php?mime=%PLUGIN_MIMETYPE%");
 
 // I'm feeling Ducky.
-pref("keyword.URL", "https://duckduckgo.com/html?t=trisquel&q=!+");
+pref("keyword.URL", "https://duckduckgo.com/?t=trisquel&q=!+");
 pref("browser.search.defaultenginename", "DuckDuckGo (SSL)");
 pref("browser.search.order.extra.duckduckgo", "DuckDuckGo (SSL)");
 
@@ -54,6 +54,7 @@ pref("general.useragent.compatMode.firefox",true);
 //pref ("browser.startup.homepage" , "http://trisquel.info");
 //pref ("startup.homepage_welcome_url", "http://trisquel.info/welcome");
 //pref ("startup.homepage_override_url" , "http://trisquel.info/newbrowser");
+pref ("browser.startup.homepage_override.mstone", "ignore");
 
 // Preferences for the Get Add-ons panel
 pref ("extensions.webservice.discoverURL", "https://trisquel.info/browser-plain");
@@ -124,3 +125,27 @@ pref("gecko.handlerService.schemes.webcal.0.name", "");
 pref("gecko.handlerService.schemes.webcal.0.uriTemplate", "");
 pref("gecko.handlerService.schemes.irc.0.name", "");
 pref("gecko.handlerService.schemes.irc.0.uriTemplate", "");
+
+// Poodle attack
+pref("security.tls.version.min", 1);
+
+// Do not autoupdate search engines
+pref("browser.search.update", false);
+// Warn when the page tries to redirect or refresh
+pref("accessibility.blockautorefresh", true);
+
+// Disable channel updates
+pref("app.update.enabled", false);
+pref("app.update.auto", false);
+pref("toolkit.telemetry.enabled", false);
+
+// Don't call home for blacklisting
+pref("extensions.blocklist.enabled", false);
+
+pref("font.default.x-western", "sans-serif");
+
+// Disable Gecko media plugins: https://wiki.mozilla.org/GeckoMediaPlugins
+pref("media.gmp-manager.url", "http://127.0.0.1/");
+// Don't install openh264 codec
+pref("media.gmp-gmpopenh264.provider.enabled", false);
+
diff --git a/helpers/make-firefox b/helpers/make-firefox
index 1b35ef663..b54615598 100644
--- a/helpers/make-firefox
+++ b/helpers/make-firefox
@@ -17,7 +17,7 @@
 #    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 #
 
-VERSION=27
+VERSION=32
 
 . ./config
 
@@ -146,7 +146,7 @@ cat << EOF > debian/search/duckduckgo.xml
 <os:Description>Search DuckDuckGo</os:Description>
 <os:InputEncoding>UTF-8</os:InputEncoding>
 <os:Image width="16" height="16">data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAANcNAADXDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyDsJmlk8pf6+v3s/v7+++zr/fcnIOyzJyDsgCcg7CYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnIOwBJyDscCcg7PZttJ7/7Pfs//////++xO7/S5GA/ycg7P8nIOz2JyDscCcg7AEAAAAAAAAAAAAAAAAnIOwBJyDstScg7P8nIOz/Y8p5/2fHZf9Yv0z/YcF2/1rBUv8nIOz/JyDs/ycg7P8nIOy1JyDsAQAAAAAAAAAAJyDscCcg7P8nIOz/JyDs/4jQoP/p9+n//////05X3v9LkYD/JyDs/ycg7P8nIOz/JyDs/ycg7HAAAAAAJyDsJicg7PYnIOz/JyDs/zUu7f/+/v////////////89N+7/JyDs/yUo7f8nIOz/JyDs/ycg7P8nIOz2JyDsJicg7IAnIOz/JyDs/ycg7P9hXPH////////////t/P//GIr2/wfD+/8Gyfz/DKv5/yM57/8nIOz/JyDs/ycg7H8nIOyzJyDs/ycg7P8nIOz/jov1////////////Otz9/w3G/P8cWfH/JSvt/ycg7P8nIOz/JyDs/ycg7P8nIOyzJyDs5icg7P8nIOz/JyDs/7u5+f///////////27l/v8E0v3/BNL9/wTQ/f8Oofn/IT7v/ycg7P8nIOz/JyDs5icg7OYnIOz/JyDs/ycg7P/p6P3/uWsC////////////5fr//6Po/f8Thfb/DKv5/w6f+f8nIOz/JyDs/ycg7OYnIOyzJyDs/ycg7P8nIOz/9/b+/////////////////7lrAv/V1Pv/JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOyzJyDsgCcg7P8nIOz/JyDs/8/N+///////////////////////iIX1/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDsfycg7CYnIOz2JyDs/ycg7P9FP+7/q6n4/+7u/f/n5v3/fXn0/yoj7P8nIOz/JyDs/ycg7P8nIOz/JyDs9icg7CYAAAAAJyDscCcg7P8nIOz/wsD6/+no/f/Y1/z/eHTz/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs/ycg7HAAAAAAAAAAACcg7AEnIOy1JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs/ycg7LUnIOwBAAAAAAAAAAAAAAAAJyDsAScg7HAnIOz2JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs9icg7HAnIOwBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyDsJicg7IAnIOyzJyDs5icg7OYnIOyzJyDsgCcg7CYAAAAAAAAAAAAAAAAAAAAA+B8AAPAPAADAAwAAwAMAAIABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAACAAQAAwAMAAMADAADwDwAA+B8AAA==</os:Image>
-<os:Url type="text/html" method="GET" template="http://duckduckgo.com/html?t=trisquel&amp;q={searchTerms}">
+<os:Url type="text/html" method="GET" template="http://duckduckgo.com/?t=trisquel&amp;q={searchTerms}">
 </os:Url>
 </SearchPlugin>
 EOF
@@ -157,7 +157,7 @@ cat << EOF > debian/search/duckduckgo-ssl.xml
 <os:Description>Search DuckDuckGo (SSL)</os:Description>
 <os:InputEncoding>UTF-8</os:InputEncoding>
 <os:Image width="16" height="16">data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAANcNAADXDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyDsJmlk8pf6+v3s/v7+++zr/fcnIOyzJyDsgCcg7CYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnIOwBJyDscCcg7PZttJ7/7Pfs//////++xO7/S5GA/ycg7P8nIOz2JyDscCcg7AEAAAAAAAAAAAAAAAAnIOwBJyDstScg7P8nIOz/Y8p5/2fHZf9Yv0z/YcF2/1rBUv8nIOz/JyDs/ycg7P8nIOy1JyDsAQAAAAAAAAAAJyDscCcg7P8nIOz/JyDs/4jQoP/p9+n//////05X3v9LkYD/JyDs/ycg7P8nIOz/JyDs/ycg7HAAAAAAJyDsJicg7PYnIOz/JyDs/zUu7f/+/v////////////89N+7/JyDs/yUo7f8nIOz/JyDs/ycg7P8nIOz2JyDsJicg7IAnIOz/JyDs/ycg7P9hXPH////////////t/P//GIr2/wfD+/8Gyfz/DKv5/yM57/8nIOz/JyDs/ycg7H8nIOyzJyDs/ycg7P8nIOz/jov1////////////Otz9/w3G/P8cWfH/JSvt/ycg7P8nIOz/JyDs/ycg7P8nIOyzJyDs5icg7P8nIOz/JyDs/7u5+f///////////27l/v8E0v3/BNL9/wTQ/f8Oofn/IT7v/ycg7P8nIOz/JyDs5icg7OYnIOz/JyDs/ycg7P/p6P3/uWsC////////////5fr//6Po/f8Thfb/DKv5/w6f+f8nIOz/JyDs/ycg7OYnIOyzJyDs/ycg7P8nIOz/9/b+/////////////////7lrAv/V1Pv/JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOyzJyDsgCcg7P8nIOz/JyDs/8/N+///////////////////////iIX1/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDsfycg7CYnIOz2JyDs/ycg7P9FP+7/q6n4/+7u/f/n5v3/fXn0/yoj7P8nIOz/JyDs/ycg7P8nIOz/JyDs9icg7CYAAAAAJyDscCcg7P8nIOz/wsD6/+no/f/Y1/z/eHTz/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs/ycg7HAAAAAAAAAAACcg7AEnIOy1JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs/ycg7LUnIOwBAAAAAAAAAAAAAAAAJyDsAScg7HAnIOz2JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs9icg7HAnIOwBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyDsJicg7IAnIOyzJyDs5icg7OYnIOyzJyDsgCcg7CYAAAAAAAAAAAAAAAAAAAAA+B8AAPAPAADAAwAAwAMAAIABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAACAAQAAwAMAAMADAADwDwAA+B8AAA==</os:Image>
-<os:Url type="text/html" method="GET" template="https://duckduckgo.com/html?t=trisquel&amp;q={searchTerms}">
+<os:Url type="text/html" method="GET" template="https://duckduckgo.com/?t=trisquel&amp;q={searchTerms}">
 </os:Url>
 </SearchPlugin>
 EOF
@@ -187,6 +187,10 @@ cat << EOF > debian/search/trisquel.xml
 EOF
 echo "debian/search/* /usr/lib/abrowser-addons/searchplugins" >> debian/abrowser.install.in
 
+# install aboutabrowser extension
+cp $DATA/aboutabrowser@trisquel.info -r debian
+echo "debian/aboutabrowser@trisquel.info @MOZ_ADDONDIR@/extensions/" >> debian/abrowser.install.in
+
 # Disable search field at extensions panel
 #sed  '/header-search/d; /search.placeholder/d' -i toolkit/mozapps/extensions/content/extensions.xul
 cat << EOF >> toolkit/mozapps/extensions/content/extensions.css
-- 
GitLab