summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndré Fabian Silva Delgado <emulatorman@parabola.nu>2014-02-07 02:29:14 -0200
committerAndré Fabian Silva Delgado <emulatorman@parabola.nu>2014-02-07 02:29:14 -0200
commit5134435ea1521f28f7912cc37e4130212fc1abfa (patch)
tree86ac9b3a839e54594e34044026f2a9e4ae553be1
parent9642f291001ff9d248a04a8edbac1d8bd363757c (diff)
iceweasel-libre-1:27.0.deb1-1: updating version
-rw-r--r--libre/iceweasel-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch4
-rw-r--r--libre/iceweasel-libre/PKGBUILD18
-rw-r--r--libre/iceweasel-libre/libre.patch435
3 files changed, 66 insertions, 391 deletions
diff --git a/libre/iceweasel-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch b/libre/iceweasel-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch
index c9df18dc4..82ba01a9c 100644
--- a/libre/iceweasel-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch
+++ b/libre/iceweasel-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch
@@ -273,10 +273,10 @@ index f35c227..7062886 100644
%{C++
diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp
-index 42fbd15..6c3dbfe 100644
+index 20a3d6e..87e351d 100644
--- a/toolkit/xre/nsAppRunner.cpp
+++ b/toolkit/xre/nsAppRunner.cpp
-@@ -3737,7 +3737,7 @@ XREMain::XRE_mainRun()
+@@ -3843,7 +3843,7 @@ XREMain::XRE_mainRun()
if (gDoProfileReset) {
// Automatically migrate from the current application if we just
// reset the profile.
diff --git a/libre/iceweasel-libre/PKGBUILD b/libre/iceweasel-libre/PKGBUILD
index 6d49588e8..b79fcdd5e 100644
--- a/libre/iceweasel-libre/PKGBUILD
+++ b/libre/iceweasel-libre/PKGBUILD
@@ -14,7 +14,7 @@ _pgo=true
# We're getting this from Debian Experimental
_debname=iceweasel
-_debver=26.0
+_debver=27.0
_debrel=deb1
_debrepo=http://ftp.debian.org/debian/pool/main/
debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; }
@@ -23,7 +23,7 @@ _pkgname=iceweasel
pkgname=iceweasel-libre
epoch=1
pkgver=$_debver.$_debrel
-pkgrel=3
+pkgrel=1
pkgdesc="A libre version of Debian Iceweasel, the standalone web browser based on Mozilla Firefox."
arch=(i686 x86_64 mips64el)
@@ -49,7 +49,7 @@ replaces=('firefox')
conflicts=('firefox')
provides=('firefox')
source=("$_debrepo/`debfile $_debname`_$_debver.orig.tar.bz2"
- "$_debrepo/`debfile $_debname`_$_debver-${_debrel#deb}.debian.tar.gz"
+ "$_debrepo/`debfile $_debname`_$_debver-${_debrel#deb}.debian.tar.xz"
mozconfig
mozconfig.pgo
libre.patch
@@ -60,17 +60,17 @@ source=("$_debrepo/`debfile $_debname`_$_debver.orig.tar.bz2"
iceweasel-20.0.1-fixed-loading-icon.png
Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch
Fixup-Reset-Firefox-after-bad-merge.patch)
-md5sums=('219cf21e0642e8a364365286f23d0624'
- '2001d0477bcefd0eeaab584402133691'
+md5sums=('0baf0b166421f785db79bd33fe7b0748'
+ 'd259edde0fee1c29f39bdb6ad2bca70f'
'023120a970670dc85cea19393f0b94b6'
'df08eaa1ac3bc6c2356be4fbf8ec8932'
- 'fea121a94737ec8641b39e7120a048d3'
+ '641e8b54a684161c60209b81f260a19b'
'b03a979a78484503ba8dddad4f2c96d1'
'7b9e5996dd9fe0b186a43a297db1c6b5'
'6620e724ec9a1be74e65089d81d802f7'
'816013881cfc9a1f4f0ede72b014f8b3'
'6e335a517c68488941340ee1c23f97b0'
- 'dbf1c021e5f7ac323197b219bf213c50'
+ '3dcb1f1eccce5b6b90fa48ab94bf7a47'
'8e165ef85ddd72491f0b48f8954afca6')
prepare() {
@@ -171,6 +171,10 @@ prepare() {
# https://bugzilla.mozilla.org/show_bug.cgi?id=841734
cp "$srcdir/iceweasel-20.0.1-fixed-loading-icon.png" \
browser/themes/linux/tabbrowser/loading.png
+
+ # Remove non-existent file on Makefile.in
+ sed -i '\|build/pgo/blueprint/valid.png|d' build/Makefile.in
+
}
build() {
diff --git a/libre/iceweasel-libre/libre.patch b/libre/iceweasel-libre/libre.patch
index 2384818b4..4be59abff 100644
--- a/libre/iceweasel-libre/libre.patch
+++ b/libre/iceweasel-libre/libre.patch
@@ -1,8 +1,8 @@
diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js
-index 331edc8..226508d 100644
+index 3840da4..fe1c05c 100644
--- a/browser/app/profile/firefox.js
+++ b/browser/app/profile/firefox.js
-@@ -242,11 +242,6 @@ pref("browser.slowStartup.notificationDisabled", false);
+@@ -272,11 +272,6 @@ pref("browser.slowStartup.notificationDisabled", false);
pref("browser.slowStartup.timeThreshold", 60000);
pref("browser.slowStartup.maxSamples", 5);
@@ -14,7 +14,7 @@ index 331edc8..226508d 100644
pref("browser.enable_automatic_image_resizing", true);
pref("browser.chrome.site_icons", true);
pref("browser.chrome.favicons", true);
-@@ -1283,11 +1278,7 @@ pref("pdfjs.previousHandler.alwaysAskBeforeHandling", false);
+@@ -1318,11 +1313,7 @@ pref("shumway.disabled", true);
// (This is intentionally on the high side; see bug 746055.)
pref("image.mem.max_decoded_image_kb", 256000);
@@ -25,7 +25,7 @@ index 331edc8..226508d 100644
-pref("social.sidebar.unload_timeout_ms", 10000);
+// removed facebook sidebar with Iceweasel.
- pref("dom.identity.enabled", false);
+ pref("social.allowMultipleWorkers", true);
diff --git a/browser/base/content/abouthome/aboutHome.css b/browser/base/content/abouthome/aboutHome.css
index c270318..049fe6e 100644
@@ -173,10 +173,10 @@ index c270318..049fe6e 100644
}
diff --git a/browser/base/content/abouthome/aboutHome.js b/browser/base/content/abouthome/aboutHome.js
-index 432fcdc..8e85f1f 100644
+index 432fcdc..bd1692a 100644
--- a/browser/base/content/abouthome/aboutHome.js
+++ b/browser/base/content/abouthome/aboutHome.js
-@@ -3,317 +3,99 @@
+@@ -3,152 +3,44 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
const SEARCH_ENGINES = {
@@ -352,59 +352,35 @@ index 432fcdc..8e85f1f 100644
- "https://www.mozilla.org/firefox/features/?utm_source=snippet&utm_medium=snippet&utm_campaign=default+feature+snippet"
-, "https://addons.mozilla.org/firefox/?utm_source=snippet&utm_medium=snippet&utm_campaign=addons"
-];
-
+-
-const SNIPPETS_UPDATE_INTERVAL_MS = 86400000; // 1 Day.
-+// Bug with dom.storage.enabled set as false
-+// We are using DDG as a default in this case.
-+let gSearchEngine = {"name": "DuckDuckGo HTML", "searchUrl": "https://duckduckgo.com/html/?t=iceweasel&q=_searchTerms_"};
-
+-
-// IndexedDB storage constants.
-const DATABASE_NAME = "abouthome";
-const DATABASE_VERSION = 1;
-const SNIPPETS_OBJECTSTORE_NAME = "snippets";
-
--// This global tracks if the page has been set up before, to prevent double inits
--let gInitialized = false;
--let gObserver = new MutationObserver(function (mutations) {
-- for (let mutation of mutations) {
-- if (mutation.attributeName == "searchEngineName") {
-- setupSearchEngine();
-- if (!gInitialized) {
+ // This global tracks if the page has been set up before, to prevent double inits
+ let gInitialized = false;
+ let gObserver = new MutationObserver(function (mutations) {
+@@ -156,7 +48,6 @@ let gObserver = new MutationObserver(function (mutations) {
+ if (mutation.attributeName == "searchEngineName") {
+ setupSearchEngine();
+ if (!gInitialized) {
- ensureSnippetsMapThen(loadSnippets);
-- gInitialized = true;
-- }
-- return;
-- }
-- }
--});
--
--window.addEventListener("pageshow", function () {
-- // Delay search engine setup, cause browser.js::BrowserOnAboutPageLoad runs
-- // later and may use asynchronous getters.
-- window.gObserver.observe(document.documentElement, { attributes: true });
-- fitToWidth();
-- window.addEventListener("resize", fitToWidth);
--
-- // Ask chrome to update snippets.
-- var event = new CustomEvent("AboutHomeLoad", {bubbles:true});
-- document.dispatchEvent(event);
--});
--
--window.addEventListener("pagehide", function() {
-- window.gObserver.disconnect();
-- window.removeEventListener("resize", fitToWidth);
-+document.addEventListener("DOMContentLoaded", function init() {
-+ setupSearchEngine();
+ gInitialized = true;
+ }
+ return;
+@@ -181,117 +72,6 @@ window.addEventListener("pagehide", function() {
+ window.removeEventListener("resize", fitToWidth);
});
-+window.addEventListener("load", fitToWidth);
-+window.addEventListener("resize", fitToWidth);
-// This object has the same interface as Map and is used to store and retrieve
-// the snippets data. It is lazily initialized by ensureSnippetsMapThen(), so
-// be sure its callback returned before trying to use it.
-let gSnippetsMap;
-let gSnippetsMapCallbacks = [];
-
+-
-/**
- * Ensure the snippets map is properly initialized.
- *
@@ -414,8 +390,7 @@ index 432fcdc..8e85f1f 100644
- * it may change inadvertently.
- */
-function ensureSnippetsMapThen(aCallback)
-+function onSearchSubmit(aEvent)
- {
+-{
- if (gSnippetsMap) {
- aCallback(gSnippetsMap);
- return;
@@ -431,44 +406,30 @@ index 432fcdc..8e85f1f 100644
- let invokeCallbacks = function () {
- if (!gSnippetsMap) {
- gSnippetsMap = Object.freeze(new Map());
-+ let searchTerms = document.getElementById("searchText").value;
-+ if (gSearchEngine && searchTerms.length > 0) {
-+ const SEARCH_TOKENS = {
-+ "_searchTerms_": encodeURIComponent(searchTerms)
- }
+- }
-
- for (let callback of gSnippetsMapCallbacks) {
- callback(gSnippetsMap);
-+ let url = gSearchEngine.searchUrl;
-+ for (let key in SEARCH_TOKENS) {
-+ url = url.replace(key, SEARCH_TOKENS[key]);
- }
+- }
- gSnippetsMapCallbacks.length = 0;
-+ window.location.href = url;
- }
-
+- }
+-
- let openRequest = indexedDB.open(DATABASE_NAME, DATABASE_VERSION);
-+ aEvent.preventDefault();
-+}
-
+-
- openRequest.onerror = function (event) {
- // Try to delete the old database so that we can start this process over
- // next time.
- indexedDB.deleteDatabase(DATABASE_NAME);
- invokeCallbacks();
- };
-
+-
- openRequest.onupgradeneeded = function (event) {
- let db = event.target.result;
- if (!db.objectStoreNames.contains(SNIPPETS_OBJECTSTORE_NAME)) {
- db.createObjectStore(SNIPPETS_OBJECTSTORE_NAME);
- }
-+function setupSearchEngine()
-+{
-+ if (localStorage && localStorage["search-engine"]) {
-+ gSearchEngine = JSON.parse(localStorage["search-engine"]);
- }
-
+- }
+-
- openRequest.onsuccess = function (event) {
- let db = event.target.result;
-
@@ -522,80 +483,16 @@ index 432fcdc..8e85f1f 100644
-
- setTimeout(invokeCallbacks, 0);
- }
-+
-+ // Look for extended information, like logo and links.
-+ var searchEngineInfo = SEARCH_ENGINES[gSearchEngine.name];
-+ if (searchEngineInfo) {
-+ for (let prop in searchEngineInfo)
-+ gSearchEngine[prop] = searchEngineInfo[prop];
- }
--}
-
--function onSearchSubmit(aEvent)
--{
-- let searchTerms = document.getElementById("searchText").value;
-- let engineName = document.documentElement.getAttribute("searchEngineName");
-+ // Enqueue additional params if required by the engine definition.
-+ if (gSearchEngine.params)
-+ gSearchEngine.searchUrl += "&" + gSearchEngine.params;
-
-- if (engineName && searchTerms.length > 0) {
-- // Send an event that will perform a search and Firefox Health Report will
-- // record that a search from about:home has occurred.
-- let eventData = JSON.stringify({
-- engineName: engineName,
-- searchTerms: searchTerms
-- });
-- let event = new CustomEvent("AboutHomeSearchEvent", {detail: eventData});
-- document.dispatchEvent(event);
-+ // Add search engine logo.
-+ if (gSearchEngine.image) {
-+ let logoElt = document.getElementById("searchEngineLogo");
-+ logoElt.src = gSearchEngine.image;
-+ logoElt.alt = gSearchEngine.name;
- }
-
-- aEvent.preventDefault();
--}
--
--
--function setupSearchEngine()
--{
- // The "autofocus" attribute doesn't focus the form element
- // immediately when the element is first drawn, so the
- // attribute is also used for styling when the page first loads.
-@@ -322,173 +104,6 @@ function setupSearchEngine()
- searchText.removeEventListener("blur", searchText_onBlur);
- searchText.removeAttribute("autofocus");
- });
--
-- let searchEngineName = document.documentElement.getAttribute("searchEngineName");
-- let searchEngineInfo = SEARCH_ENGINES[searchEngineName];
-- let logoElt = document.getElementById("searchEngineLogo");
--
-- // Add search engine logo.
-- if (searchEngineInfo && searchEngineInfo.image) {
-- logoElt.parentNode.hidden = false;
-- logoElt.src = searchEngineInfo.image;
-- logoElt.alt = searchEngineName;
-- searchText.placeholder = "";
-- }
-- else {
-- logoElt.parentNode.hidden = true;
-- searchText.placeholder = searchEngineName;
- }
--
--}
--
--/**
-- * Inform the test harness that we're done loading the page.
-- */
--function loadSucceeded()
--{
-- var event = new CustomEvent("AboutHomeLoadSnippetsSucceeded", {bubbles:true});
-- document.dispatchEvent(event);
-}
-
+ function onSearchSubmit(aEvent)
+ {
+ let searchTerms = document.getElementById("searchText").value;
+@@ -350,147 +130,6 @@ function loadSucceeded()
+ document.dispatchEvent(event);
+ }
+
-/**
- * Update the local snippets from the remote storage, then show them through
- * showSnippets.
@@ -735,14 +632,16 @@ index 432fcdc..8e85f1f 100644
- }
- // Move the default snippet to the snippets element.
- snippetsElt.appendChild(entry);
- }
-
+-}
+-
function fitToWidth() {
+ if (window.scrollMaxX) {
+ document.body.setAttribute("narrow", "true");
diff --git a/browser/base/content/abouthome/aboutHome.xhtml b/browser/base/content/abouthome/aboutHome.xhtml
-index 1d03d38..fda3095 100644
+index 1d03d38..5d808db 100644
--- a/browser/base/content/abouthome/aboutHome.xhtml
+++ b/browser/base/content/abouthome/aboutHome.xhtml
-@@ -43,30 +43,9 @@
+@@ -43,15 +43,6 @@
<input id="searchSubmit" type="submit" value="&abouthome.searchEngineButton.label;"/>
</form>
</div>
@@ -758,245 +657,16 @@ index 1d03d38..fda3095 100644
</div>
<div class="spacer"/>
-- <div id="launcher">
-- <button class="launchButton" id="downloads">&abouthome.downloadsButton.label;</button>
-- <button class="launchButton" id="bookmarks">&abouthome.bookmarksButton.label;</button>
-- <button class="launchButton" id="history">&abouthome.historyButton.label;</button>
-- <button class="launchButton" id="apps" hidden="true">&abouthome.appsButton.label;</button>
-- <button class="launchButton" id="addons">&abouthome.addonsButton.label;</button>
-- <button class="launchButton" id="sync">&abouthome.syncButton.label;</button>
-- <button class="launchButton" id="settings">&abouthome.settingsButton.label;</button>
-- <div id="restorePreviousSessionSeparator"/>
-- <button class="launchButton" id="restorePreviousSession">&historyRestoreLastSession.label;</button>
-- </div>
--
+@@ -67,6 +58,6 @@
+ <button class="launchButton" id="restorePreviousSession">&historyRestoreLastSession.label;</button>
+ </div>
+
- <a id="aboutMozilla" href="https://www.mozilla.org/about/?utm_source=about-home&amp;utm_medium=Referral"/>
+ <a id="aboutGNU" href="http://gnu.org"></a>
</body>
</html>
-diff --git a/browser/base/content/content.js b/browser/base/content/content.js
-index 9428613..fc3c00a 100644
---- a/browser/base/content/content.js
-+++ b/browser/base/content/content.js
-@@ -50,216 +50,3 @@ if (Services.prefs.getBoolPref("browser.tabs.remote")) {
- LoginManagerContent.onUsernameInput(event);
- });
- }
--
--let AboutHomeListener = {
-- init: function(chromeGlobal) {
-- chromeGlobal.addEventListener('AboutHomeLoad', () => this.onPageLoad(), false, true);
-- },
--
-- handleEvent: function(aEvent) {
-- switch (aEvent.type) {
-- case "AboutHomeLoad":
-- this.onPageLoad();
-- break;
-- }
-- },
--
-- receiveMessage: function(aMessage) {
-- switch (aMessage.name) {
-- case "AboutHome:Update":
-- this.onUpdate(aMessage.data);
-- break;
-- }
-- },
--
-- onUpdate: function(aData) {
-- let doc = content.document;
-- if (doc.documentURI.toLowerCase() != "about:home")
-- return;
--
-- if (aData.showRestoreLastSession && !PrivateBrowsingUtils.isWindowPrivate(content))
-- doc.getElementById("launcher").setAttribute("session", "true");
--
-- // Inject search engine and snippets URL.
-- let docElt = doc.documentElement;
-- // set the following attributes BEFORE searchEngineName, which triggers to
-- // show the snippets when it's set.
-- docElt.setAttribute("snippetsURL", aData.snippetsURL);
-- if (aData.showKnowYourRights)
-- docElt.setAttribute("showKnowYourRights", "true");
-- docElt.setAttribute("snippetsVersion", aData.snippetsVersion);
-- docElt.setAttribute("searchEngineName", Services.search.defaultEngine.name);
-- },
--
-- onPageLoad: function() {
-- let doc = content.document;
-- if (doc.documentURI.toLowerCase() != "about:home" ||
-- doc.documentElement.hasAttribute("hasBrowserHandlers")) {
-- return;
-- }
--
-- doc.documentElement.setAttribute("hasBrowserHandlers", "true");
-- let updateListener = this;
-- addMessageListener("AboutHome:Update", updateListener);
-- addEventListener("click", this.onClick, true);
-- addEventListener("pagehide", function onPageHide(event) {
-- if (event.target.defaultView.frameElement)
-- return;
-- removeMessageListener("AboutHome:Update", updateListener);
-- removeEventListener("click", this.onClick, true);
-- removeEventListener("pagehide", onPageHide, true);
-- if (event.target.documentElement)
-- event.target.documentElement.removeAttribute("hasBrowserHandlers");
-- }, true);
--
-- // XXX bug 738646 - when Marketplace is launched, remove this statement and
-- // the hidden attribute set on the apps button in aboutHome.xhtml
-- if (Services.prefs.getPrefType("browser.aboutHome.apps") == Services.prefs.PREF_BOOL &&
-- Services.prefs.getBoolPref("browser.aboutHome.apps"))
-- doc.getElementById("apps").removeAttribute("hidden");
--
-- sendAsyncMessage("AboutHome:RequestUpdate");
--
-- doc.addEventListener("AboutHomeSearchEvent", function onSearch(e) {
-- sendAsyncMessage("AboutHome:Search", { searchData: e.detail });
-- }, true, true);
-- },
--
-- onClick: function(aEvent) {
-- if (!aEvent.isTrusted || // Don't trust synthetic events
-- aEvent.button == 2 || aEvent.target.localName != "button") {
-- return;
-- }
--
-- let originalTarget = aEvent.originalTarget;
-- let ownerDoc = originalTarget.ownerDocument;
-- let elmId = originalTarget.getAttribute("id");
--
-- switch (elmId) {
-- case "restorePreviousSession":
-- sendAsyncMessage("AboutHome:RestorePreviousSession");
-- ownerDoc.getElementById("launcher").removeAttribute("session");
-- break;
--
-- case "downloads":
-- sendAsyncMessage("AboutHome:Downloads");
-- break;
--
-- case "bookmarks":
-- sendAsyncMessage("AboutHome:Bookmarks");
-- break;
--
-- case "history":
-- sendAsyncMessage("AboutHome:History");
-- break;
--
-- case "apps":
-- sendAsyncMessage("AboutHome:Apps");
-- break;
--
-- case "addons":
-- sendAsyncMessage("AboutHome:Addons");
-- break;
--
-- case "sync":
-- sendAsyncMessage("AboutHome:Sync");
-- break;
--
-- case "settings":
-- sendAsyncMessage("AboutHome:Settings");
-- break;
-- }
-- },
--};
--AboutHomeListener.init(this);
--
--
--var global = this;
--
--let ClickEventHandler = {
-- init: function init() {
-- Cc["@mozilla.org/eventlistenerservice;1"]
-- .getService(Ci.nsIEventListenerService)
-- .addSystemEventListener(global, "click", this, true);
-- },
--
-- handleEvent: function(event) {
-- // Bug 903016: Most of this code is an unfortunate duplication from
-- // contentAreaClick in browser.js.
-- if (!event.isTrusted || event.defaultPrevented || event.button == 2)
-- return;
--
-- let [href, node] = this._hrefAndLinkNodeForClickEvent(event);
--
-- let json = { button: event.button, shiftKey: event.shiftKey,
-- ctrlKey: event.ctrlKey, metaKey: event.metaKey,
-- altKey: event.altKey, href: null, title: null,
-- bookmark: false };
--
-- if (href) {
-- json.href = href;
-- if (node) {
-- json.title = node.getAttribute("title");
--
-- if (event.button == 0 && !event.ctrlKey && !event.shiftKey &&
-- !event.altKey && !event.metaKey) {
-- json.bookmark = node.getAttribute("rel") == "sidebar";
-- if (json.bookmark)
-- event.preventDefault(); // Need to prevent the pageload.
-- }
-- }
--
-- sendAsyncMessage("Content:Click", json);
-- return;
-- }
--
-- // This might be middle mouse navigation.
-- if (event.button == 1)
-- sendAsyncMessage("Content:Click", json);
-- },
--
-- /**
-- * Extracts linkNode and href for the current click target.
-- *
-- * @param event
-- * The click event.
-- * @return [href, linkNode].
-- *
-- * @note linkNode will be null if the click wasn't on an anchor
-- * element (or XLink).
-- */
-- _hrefAndLinkNodeForClickEvent: function(event) {
-- function isHTMLLink(aNode) {
-- // Be consistent with what nsContextMenu.js does.
-- return ((aNode instanceof content.HTMLAnchorElement && aNode.href) ||
-- (aNode instanceof content.HTMLAreaElement && aNode.href) ||
-- aNode instanceof content.HTMLLinkElement);
-- }
--
-- let node = event.target;
-- while (node && !isHTMLLink(node)) {
-- node = node.parentNode;
-- }
--
-- if (node)
-- return [node.href, node];
--
-- // If there is no linkNode, try simple XLink.
-- let href, baseURI;
-- node = event.target;
-- while (node && !href) {
-- if (node.nodeType == content.Node.ELEMENT_NODE) {
-- href = node.getAttributeNS("http://www.w3.org/1999/xlink", "href");
-- if (href)
-- baseURI = node.ownerDocument.baseURIObject;
-- }
-- node = node.parentNode;
-- }
--
-- // In case of XLink, we don't return the node we got href from since
-- // callers expect <a>-like elements.
-- // Note: makeURI() will throw if aUri is not a valid URI.
-- return [href ? makeURI(href, null, baseURI).spec : null, null];
-- }
--};
--ClickEventHandler.init();
diff --git a/browser/base/jar.mn b/browser/base/jar.mn
-index f2a820c..9478039 100644
+index 3113094..e852cec 100644
--- a/browser/base/jar.mn
+++ b/browser/base/jar.mn
@@ -33,7 +33,7 @@ browser.jar:
@@ -1090,7 +760,7 @@ index 087cc50..5654eb9 100644
+gecko.handlerService.schemes.ircs.0.name=Freenode Web IRC
+gecko.handlerService.schemes.ircs.0.uriTemplate=https://webchat.freenode.net
diff --git a/browser/locales/generic/profile/bookmarks.html.in b/browser/locales/generic/profile/bookmarks.html.in
-index e925c1e..5101035 100644
+index e925c1e..8c121fc 100644
--- a/browser/locales/generic/profile/bookmarks.html.in
+++ b/browser/locales/generic/profile/bookmarks.html.in
@@ -15,13 +15,20 @@
@@ -1121,7 +791,7 @@ index e925c1e..5101035 100644
</DL><p>
</DL><p>
diff --git a/browser/modules/AboutHome.jsm b/browser/modules/AboutHome.jsm
-index 98c443d..0173762 100644
+index c3dc6b2..df312e3 100644
--- a/browser/modules/AboutHome.jsm
+++ b/browser/modules/AboutHome.jsm
@@ -8,7 +8,7 @@ let Cc = Components.classes;
@@ -1200,13 +870,14 @@ index 98c443d..0173762 100644
/**
* This code provides services to the about:home page. Whenever
* about:home needs to do something chrome-privileged, it sends a
-@@ -185,17 +125,8 @@ let AboutHome = {
+@@ -186,18 +126,9 @@ let AboutHome = {
ss.promiseInitialized.then(function() {
let data = {
showRestoreLastSession: ss.canRestoreLastSession,
- snippetsURL: AboutHomeUtils.snippetsURL,
- showKnowYourRights: AboutHomeUtils.showKnowYourRights,
-- snippetsVersion: AboutHomeUtils.snippetsVersion
+- snippetsVersion: AboutHomeUtils.snippetsVersion,
+ defaultEngineName: Services.search.defaultEngine.name
};
- if (AboutHomeUtils.showKnowYourRights) {