From 5134435ea1521f28f7912cc37e4130212fc1abfa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Fabian=20Silva=20Delgado?= Date: Fri, 7 Feb 2014 02:29:14 -0200 Subject: iceweasel-libre-1:27.0.deb1-1: updating version --- ...Make-the-Reset-Firefox-feature-more-gener.patch | 4 +- libre/iceweasel-libre/PKGBUILD | 18 +- libre/iceweasel-libre/libre.patch | 435 +++------------------ 3 files changed, 66 insertions(+), 391 deletions(-) (limited to 'libre') 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 @@ @@ -758,245 +657,16 @@ index 1d03d38..fda3095 100644
--
-- -- -- -- -- -- -- --
-- --
-- +@@ -67,6 +58,6 @@ + +
+ - + -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 -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

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) { -- cgit v1.2.3-2-g168b