summaryrefslogtreecommitdiff
path: root/libre/iceweasel-libre
diff options
context:
space:
mode:
Diffstat (limited to 'libre/iceweasel-libre')
-rw-r--r--libre/iceweasel-libre/PKGBUILD2
-rw-r--r--libre/iceweasel-libre/libre.patch90
2 files changed, 76 insertions, 16 deletions
diff --git a/libre/iceweasel-libre/PKGBUILD b/libre/iceweasel-libre/PKGBUILD
index 69abce460..1f2094626 100644
--- a/libre/iceweasel-libre/PKGBUILD
+++ b/libre/iceweasel-libre/PKGBUILD
@@ -63,7 +63,7 @@ md5sums=('219cf21e0642e8a364365286f23d0624'
'2001d0477bcefd0eeaab584402133691'
'023120a970670dc85cea19393f0b94b6'
'df08eaa1ac3bc6c2356be4fbf8ec8932'
- '74b5e9d9d16cfe9dc7d08fabf1f52c7c'
+ 'd6ba6f348d408ea490c4371c6c0e00d2'
'7b9e5996dd9fe0b186a43a297db1c6b5'
'6620e724ec9a1be74e65089d81d802f7'
'816013881cfc9a1f4f0ede72b014f8b3'
diff --git a/libre/iceweasel-libre/libre.patch b/libre/iceweasel-libre/libre.patch
index a4eb23831..7a1d1a22e 100644
--- a/libre/iceweasel-libre/libre.patch
+++ b/libre/iceweasel-libre/libre.patch
@@ -114,10 +114,10 @@ index c270318..8a647c7 100644
#aboutMozilla::before {
transform: scale(.5);
diff --git a/browser/base/content/abouthome/aboutHome.js b/browser/base/content/abouthome/aboutHome.js
-index 432fcdc..0d81017 100644
+index 432fcdc..7ae28d2 100644
--- a/browser/base/content/abouthome/aboutHome.js
+++ b/browser/base/content/abouthome/aboutHome.js
-@@ -3,152 +3,44 @@
+@@ -3,160 +3,51 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
const SEARCH_ENGINES = {
@@ -304,8 +304,9 @@ index 432fcdc..0d81017 100644
// 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") {
+ for (let mutation of mutations) {
+- if (mutation.attributeName == "searchEngineName") {
++ if (mutation.attributeName == "searchEngineURL") {
setupSearchEngine();
if (!gInitialized) {
- ensureSnippetsMapThen(loadSnippets);
@@ -323,7 +324,7 @@ index 432fcdc..0d81017 100644
});
window.addEventListener("pagehide", function() {
-@@ -181,117 +68,6 @@ window.addEventListener("pagehide", function() {
+@@ -181,132 +68,56 @@ window.addEventListener("pagehide", function() {
window.removeEventListener("resize", fitToWidth);
});
@@ -342,7 +343,8 @@ index 432fcdc..0d81017 100644
- * it may change inadvertently.
- */
-function ensureSnippetsMapThen(aCallback)
--{
++function onSearchSubmit(aEvent)
+ {
- if (gSnippetsMap) {
- aCallback(gSnippetsMap);
- return;
@@ -403,14 +405,32 @@ index 432fcdc..0d81017 100644
-
- cursorRequest.onsuccess = function(event) {
- let cursor = event.target.result;
--
++ let searchTerms = document.getElementById("searchText").value;
++ let searchURL = document.documentElement.getAttribute("searchEngineURL");
++
++ if (searchURL && searchTerms.length > 0) {
++ // Send an event that a search was performed. This was originally
++ // added so Firefox Health Report could record that a search from
++ // about:home had occurred.
++ let engineName = document.documentElement.getAttribute("searchEngineName");
++ let event = new CustomEvent("AboutHomeSearchEvent", {detail: engineName});
++ document.dispatchEvent(event);
+
- // Populate the cache from the persistent storage.
- if (cursor) {
- cache.set(cursor.key, cursor.value);
- cursor.continue();
- return;
-- }
--
++ const SEARCH_TOKEN = "_searchTerms_";
++ let searchPostData = document.documentElement.getAttribute("searchEnginePostData");
++ if (searchPostData) {
++ // Check if a post form already exists. If so, remove it.
++ const POST_FORM_NAME = "searchFormPost";
++ let form = document.forms[POST_FORM_NAME];
++ if (form) {
++ form.parentNode.removeChild(form);
+ }
+
- // The cache has been filled up, create the snippets map.
- gSnippetsMap = Object.freeze({
- get: function (aKey) cache.get(aKey),
@@ -434,14 +454,54 @@ index 432fcdc..0d81017 100644
- });
-
- setTimeout(invokeCallbacks, 0);
-- }
-- }
++ // Create a new post form.
++ form = document.body.appendChild(document.createElement("form"));
++ form.setAttribute("name", POST_FORM_NAME);
++ // Set the URL to submit the form to.
++ form.setAttribute("action", searchURL.replace(SEARCH_TOKEN, searchTerms));
++ form.setAttribute("method", "post");
++
++ // Create new <input type=hidden> elements for search param.
++ searchPostData = searchPostData.split("&");
++ for (let postVar of searchPostData) {
++ let [name, value] = postVar.split("=");
++ if (value == SEARCH_TOKEN) {
++ value = searchTerms;
++ }
++ let input = document.createElement("input");
++ input.setAttribute("type", "hidden");
++ input.setAttribute("name", name);
++ input.setAttribute("value", value);
++ form.appendChild(input);
++ }
++ // Submit the form.
++ form.submit();
++ } else {
++ searchURL = searchURL.replace(SEARCH_TOKEN, encodeURIComponent(searchTerms));
++ window.location.href = searchURL;
+ }
+ }
-}
-
- function onSearchSubmit(aEvent)
- {
- let searchTerms = document.getElementById("searchText").value;
-@@ -341,156 +117,6 @@ function setupSearchEngine()
+-function onSearchSubmit(aEvent)
+-{
+- let searchTerms = document.getElementById("searchText").value;
+- let engineName = document.documentElement.getAttribute("searchEngineName");
+-
+- 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);
+- }
+
+ aEvent.preventDefault();
+ }
+@@ -341,156 +152,6 @@ function setupSearchEngine()
}