--- a/MozillaFirefox/MozillaFirefox.changes Sun Sep 17 10:06:24 2017 +0200
+++ b/MozillaFirefox/MozillaFirefox.changes Wed Sep 20 21:52:01 2017 +0200
@@ -1,4 +1,13 @@
-------------------------------------------------------------------
+Sun Sep 17 08:07:43 UTC 2017 - wr@rosenauer.org
+
+- update to Firefox 56.0b12
+ * Find Options/Preferences more quickly with new search function
+ * Media is no longer auto-played when opened in a background tab
+ * Enable CSS Grid Layout View
+- requires NSPR 4.16 and NSS 3.32.1
+
+-------------------------------------------------------------------
Mon Sep 4 18:27:44 UTC 2017 - wr@rosenauer.org
- update to Firefox 55.0.3
--- a/MozillaFirefox/MozillaFirefox.spec Sun Sep 17 10:06:24 2017 +0200
+++ b/MozillaFirefox/MozillaFirefox.spec Wed Sep 20 21:52:01 2017 +0200
@@ -88,6 +88,7 @@
BuildRequires: cargo
BuildRequires: rust >= 1.15.1
BuildRequires: rust-std
+#BuildRequires: llvm-clang-devel >= 3.9.0
# libavcodec is required for H.264 support but the
# openSUSE version is currently not able to play H.264
# therefore the Packman version is required
@@ -349,6 +350,7 @@
ac_add_options --enable-update-channel=%{update_channel}
ac_add_options --with-mozilla-api-keyfile=%{SOURCE18}
ac_add_options --with-google-api-keyfile=%{SOURCE19}
+ac_add_options --disable-stylo
%if %branding
ac_add_options --enable-official-branding
%endif
@@ -574,7 +576,7 @@
%{progdir}/application.ini
%{progdir}/chrome.manifest
%{progdir}/dependentlibs.list
-%{progdir}/icudt58l.dat
+%{progdir}/icudt59l.dat
%{progdir}/*.so
%{progdir}/omni.ja
%{progdir}/fonts/
--- a/MozillaFirefox/l10n_changesets.txt Sun Sep 17 10:06:24 2017 +0200
+++ b/MozillaFirefox/l10n_changesets.txt Wed Sep 20 21:52:01 2017 +0200
@@ -1,96 +1,96 @@
-ach f26087a6a6fd
-af eeac1ca62457
-an a4f5fb57979d
-ar 2f0c4d6a3863
-as ecbc1fafe3fb
-ast 5b37651ec44d
-az d3d47516000e
-be 8c4022c8401a
-bg 0ed29af471d6
-bn-BD d318bfc6fe59
-bn-IN cd84ee209b9c
-br 2be494f41cb3
-bs 18b79a52d6d3
-ca 806e39b4de56
-cak dad0ddc1d964
-cs 61f3b8744fd4
-cy 32cf6d9aa756
-da 554288f1d152
-de bcb514eb5627
-dsb f076d4d42002
-el 13ee5cd21a66
-en-GB 0b2996f2530f
-en-ZA 7e04b235c4f3
-eo bdb64d29938d
-es-AR ce262833fb6c
-es-CL b0a5fe0dd439
-es-ES 0d6629322408
-es-MX 1f8e97ae724d
-et 52df77b40a67
-eu 4a7550dc8250
-fa 45ef3a098c22
-ff 8025b165aead
-fi a9b647644be7
-fr b8b7c09d3f1f
-fy-NL bc875e89b956
-ga-IE 3e543d62ad63
-gd f937bddd78eb
+ach e7adc49e1901
+af a175ec808407
+an c02780857019
+ar 6688a184a4ee
+as 1b201809c30b
+ast 5b0c1d37dfc4
+az 46f153ea025d
+be e639859bd80d
+bg 45ac10a8eebb
+bn-BD 78e42794be0a
+bn-IN b12cd5984010
+br 0c692a161e6a
+bs c566dcff9228
+ca 843005ebdf57
+cak a201a160f1aa
+cs 673e3c5d7e6d
+cy d7785e84b2d5
+da d10cb0ccbfdf
+de cbcbb67b7446
+dsb 91d7f449c8b8
+el 9fae6e0cf73a
+en-GB 4efed4b7a026
+en-ZA 41d36ec15733
+eo 75689f423fee
+es-AR 008298fdc822
+es-CL 0719cf9a02c5
+es-ES 89444d0f0c5e
+es-MX a3b2c719d335
+et f94a081742e2
+eu e70ce824af92
+fa bd0a632a347e
+ff e9ec23d286da
+fi dee2606c0c52
+fr 444f6f248cda
+fy-NL 5442947be711
+ga-IE 520a91e1b869
+gd 7b8d318d7172
gl df4a43546115
-gn fdc6b354f3a4
-gu-IN 408c035790bb
-he 0c53c3756f7d
-hi-IN 8db91f7f5793
-hr d317c15ea672
-hsb 4fac422aa702
-hu 5671194f7ec1
-hy-AM e86992a0c0ee
-id 00395930bb83
-is f8474352b98d
-it 5698ddc38e5e
-ja 0701d1112fe5
-ja-JP-mac 35cc3be4ea6c
-ka b2f753a8a642
-kab c79bbdfb6e57
-kk 34777b3d0e58
+gn de90f7d4ad27
+gu-IN 49c0059e7b20
+he 14abb07c8067
+hi-IN 627e4866fa52
+hr 840d6fce9f2d
+hsb 79b769f56afb
+hu 75d6acab27ff
+hy-AM 3543e3c61d51
+id 80d249bfce07
+is df02eb864aba
+it 54ebd710b0b9
+ja 34cddaa3f554
+ja-JP-mac 1cca7e5654d2
+ka ee6c8ed935e1
+kab f53aac551d7a
+kk 07823d99b937
km 3bf31b0b6d9e
-kn 085cc4cfccad
-ko 2a8956fc58a2
-lij 217da84c31d3
-lt f8beb0ee9ef4
-lv a2d7fa888232
-mai b78d319868ff
-mk 26b755e4f87b
-ml 818f2d7fc3b1
-mr b84d162a2888
-ms e5b008cb44eb
-my 4a0dc350bdec
-nb-NO d50a43efc007
-nl a8f7ad7a0e39
-nn-NO e00fbf3066c1
-or 11e8e75808ae
-pa-IN f01bcb8c13a2
-pl d76f3ba7ebd5
-pt-BR 7cf0629777d1
-pt-PT a762c23994b3
-rm f16da0c1a769
-ro 6538d74548a9
-ru 4feb4e4200f5
+kn c3db01aad2bf
+ko 9508383b1bb7
+lij c585863b419f
+lt 74e2d1cc81a1
+lv 6e57fc56b250
+mai 7c33a3406453
+mk b97e85f1e93e
+ml de8be9445c41
+mr 61ad0573f895
+ms 25a747386aab
+my 088ce3f4319d
+nb-NO 1d197e5f990c
+nl 5676db0716a9
+nn-NO fcd11b7086e5
+or f21324a0ed10
+pa-IN 4b71dd06d0e8
+pl b71e63bbbddd
+pt-BR e0e7a5821812
+pt-PT 333e82cca862
+rm 6b8e6367d9d0
+ro 84d897edfd6c
+ru aee79cd84afb
si d91975c0b4d8
-sk 0b32ca1321b2
-sl ad8ee6b5e9eb
-son abb58457c998
-sq 4374d5e275dd
-sr baec6e6f600d
-sv-SE bf5faf4c09d4
-ta 8de385a48ec1
-te 0064b2051ea7
-th 52f4abb2b927
-tr d9f5398e98f8
-uk a95815527227
-ur a8390b38a5dc
-uz 6a7dac5f89c9
-vi d931c17a2ff7
-xh c2ac7c43e358
-zh-CN e61f2d1a43f5
-zh-TW 75d29bef92f2
+sk 8fa0e53e20c2
+sl 2abb9b1c667a
+son be7a56e6d7fe
+sq d9137ed745db
+sr 6839a5986d5b
+sv-SE 621c743144e6
+ta aae2aa13babf
+te d9cf4d3c33e0
+th 34c1c62bb3cf
+tr 921c1b013006
+uk 03b177ac056c
+ur d97e35bba2d8
+uz 4807645f175b
+vi fa843de1fbed
+xh 7011a348aa3b
+zh-CN 3ebe225f8ae8
+zh-TW 99c6d5ce2901
--- a/firefox-kde.patch Sun Sep 17 10:06:24 2017 +0200
+++ b/firefox-kde.patch Wed Sep 20 21:52:01 2017 +0200
@@ -1,11 +1,11 @@
# HG changeset patch
-# Parent 9ccba8e6b5fad738ce924ff40b4c5aa6f4bc12dd
+# Parent 05209af7fdfec897f5f574c691184ba27049b0ff
diff --git a/browser/base/content/browser-kde.xul b/browser/base/content/browser-kde.xul
new file mode 100644
--- /dev/null
+++ b/browser/base/content/browser-kde.xul
-@@ -0,0 +1,1306 @@
+@@ -0,0 +1,1320 @@
+#filter substitution
+<?xml version="1.0"?>
+# -*- Mode: HTML -*-
@@ -72,14 +72,9 @@
+# wishes to include *must* go into the global-scripts.inc file
+# so that they can be shared by macBrowserOverlay.xul.
+#include global-scripts.inc
-+<script type="application/javascript" src="chrome://browser/content/nsContextMenu.js"/>
+
+<script type="application/javascript" src="chrome://global/content/contentAreaUtils.js"/>
+
-+<script type="application/javascript" src="chrome://browser/content/downloads/downloads.js"/>
-+<script type="application/javascript" src="chrome://browser/content/downloads/indicator.js"/>
-+<script type="application/javascript" src="chrome://browser/content/places/editBookmarkOverlay.js"/>
-+
+# All sets except for popupsets (commands, keys, stringbundles and broadcasters) *must* go into the
+# browser-sets.inc file for sharing with hiddenWindow.xul.
+#define FULL_BROWSER_WINDOW
@@ -110,9 +105,9 @@
+ hidden="true"
+ oncommand="gBrowser.openNonRemoteWindow(TabContextMenu.contextTab);"/>
+#endif
-+ <menuseparator id="context_sendTabToDevice_separator" hidden="true"/>
++ <menuseparator id="context_sendTabToDevice_separator"/>
+ <menu id="context_sendTabToDevice" label="&sendTabToDevice.label;"
-+ accesskey="&sendTabToDevice.accesskey;" hidden="true">
++ accesskey="&sendTabToDevice.accesskey;">
+ <menupopup id="context_sendTabToDevicePopupMenu"
+ onpopupshowing="gSync.populateSendTabToDevicesMenu(event.target, TabContextMenu.contextTab.linkedBrowser.currentURI.spec, TabContextMenu.contextTab.linkedBrowser.contentTitle);"/>
+ </menu>
@@ -455,58 +450,42 @@
+ </hbox>
+ </panel>
+
-+ <panel id="page-action-panel"
++#ifdef MOZ_PHOTON_THEME
++ <panel id="pageActionPanel"
+ class="cui-widget-panel"
+ role="group"
+ type="arrow"
+ hidden="true"
+ flip="slide"
+ position="bottomcenter topright"
-+ noautofocus="true">
-+ <photonpanelmultiview id="page-action-multiView"
-+ mainViewId="page-action-mainView">
-+ <panelview id="page-action-mainView"
++ tabspecific="true"
++ noautofocus="true"
++ context="pageActionPanelContextMenu"
++ oncontextmenu="BrowserPageActions.onContextMenu(event);"
++ copyURL-title="©URLCmd.label;"
++ emailLink-title="&emailPageCmd.label;"
++ sendToDevice-title="&sendToDevice.label2;"
++ sendToDevice-notReadyTitle="&sendToDevice.syncNotReady.label;">
++ <photonpanelmultiview id="pageActionPanelMultiView"
++ mainViewId="pageActionPanelMainView"
++ viewCacheId="appMenu-viewCache">
++ <panelview id="pageActionPanelMainView"
+ class="PanelUI-subView">
-+ <vbox class="panel-subview-body">
-+ <toolbarbutton id="page-action-bookmark-button"
-+ class="subviewbutton subviewbutton-iconic"
-+ observes="bookmarkThisPageBroadcaster"
-+ command="Browser:AddBookmarkAs"
-+ onclick="gPageActionButton.panel.hidePopup();"/>
-+ <toolbarseparator/>
-+ <toolbarbutton id="page-action-copy-url-button"
-+ class="subviewbutton subviewbutton-iconic"
-+ label="©URLCmd.label;"
-+ command="PageAction:copyURL"/>
-+ <toolbarbutton id="page-action-email-link-button"
-+ class="subviewbutton subviewbutton-iconic"
-+ label="&emailPageCmd.label;"
-+ command="PageAction:emailLink"/>
-+ <toolbarbutton id="page-action-send-to-device-button"
-+ class="subviewbutton subviewbutton-iconic subviewbutton-nav"
-+ label="&sendToDevice.label;"
-+ closemenu="none"
-+ oncommand="gPageActionButton.showSendToDeviceView(this);"/>
-+ </vbox>
-+ </panelview>
-+ <panelview id="page-action-sendToDeviceView"
-+ class="PanelUI-subView"
-+ title="&sendToDevice.viewTitle;">
-+ <vbox id="page-action-sendToDeviceView-body" class="panel-subview-body">
-+ <toolbarbutton id="page-action-sendToDevice-fxa-button"
-+ class="subviewbutton subviewbutton-iconic"
-+ label="&syncBrand.fxAccount.label;"
-+ shortcut="&sendToDevice.fxaRequired.label;"
-+ oncommand="gPageActionButton.fxaButtonClicked();"/>
-+ <toolbarbutton id="page-action-no-devices-button"
-+ class="subviewbutton"
-+ label="&sendToDevice.noDevices.label;"
-+ disabled="true"/>
-+ </vbox>
++ <vbox class="panel-subview-body"/>
+ </panelview>
+ </photonpanelmultiview>
+ </panel>
+
++ <menupopup id="pageActionPanelContextMenu"
++ onpopupshowing="BrowserPageActions.onContextMenuShowing(event, this);">
++ <menuitem id="pageActionPanelContextMenu-toggleUrlbar"
++ add-label="&pageAction.addToUrlbar.label;"
++ remove-label="&pageAction.removeFromUrlbar.label;"
++ label="&pageAction.addToUrlbar.label;"
++ oncommand="BrowserPageActions.toggleShownInUrlbarForContextAction();"/>
++ </menupopup>
++#endif
++
+ <!-- Bookmarks and history tooltip -->
+ <tooltip id="bhTooltip"/>
+
@@ -790,11 +769,19 @@
+ class="toolbarbutton-1"
+ command="Browser:ReloadOrDuplicate"
+ onclick="checkForMiddleClick(this, event);"
-+ tooltip="dynamic-shortcut-tooltip"/>
++ tooltip="dynamic-shortcut-tooltip">
++ <box class="toolbarbutton-animatable-box">
++ <image class="toolbarbutton-animatable-image"/>
++ </box>
++ </toolbarbutton>
+ <toolbarbutton id="stop-button"
+ class="toolbarbutton-1"
+ command="Browser:Stop"
-+ tooltip="dynamic-shortcut-tooltip"/>
++ tooltip="dynamic-shortcut-tooltip">
++ <box class="toolbarbutton-animatable-box">
++ <image class="toolbarbutton-animatable-image"/>
++ </box>
++ </toolbarbutton>
+ </toolbaritem>
+#endif
+ <hbox id="urlbar-wrapper" flex="1">
@@ -818,7 +805,6 @@
+ showcommentcolumn="true"
+ showimagecolumn="true"
+ enablehistory="true"
-+ maxrows="10"
+ newlines="stripsurroundingwhitespace"
+ ontextentered="this.handleCommand(param);"
+ ontextreverted="return this.handleRevert();"
@@ -854,8 +840,8 @@
+ </box>
+ <box id="notification-popup-box"
+ hidden="true"
-+ onmouseover="document.getElementById('identity-icon').classList.add('no-hover');"
-+ onmouseout="document.getElementById('identity-icon').classList.remove('no-hover');"
++ onmouseover="document.getElementById('identity-box').classList.add('no-hover');"
++ onmouseout="document.getElementById('identity-box').classList.remove('no-hover');"
+ align="center">
+ <image id="default-notification-icon" class="notification-anchor-icon" role="button"
+ tooltiptext="&urlbar.defaultNotificationAnchor.tooltip;"/>
@@ -918,6 +904,24 @@
+ onclick="FullZoom.reset();"
+ tooltip="dynamic-shortcut-tooltip"
+ hidden="true"/>
++#ifdef MOZ_PHOTON_THEME
++ <image id="pageActionButton"
++ class="urlbar-icon"
++ tooltiptext="&pageActionButton.tooltip;"
++ onclick="BrowserPageActions.mainButtonClicked(event);"/>
++ <hbox id="star-button-box" hidden="true">
++ <image id="star-button"
++ class="urlbar-icon"
++ onclick="BookmarkingUI.onStarCommand(event);">
++ <observes element="bookmarkThisPageBroadcaster" attribute="starred"/>
++ <observes element="bookmarkThisPageBroadcaster" attribute="tooltiptext"/>
++ </image>
++ <hbox id="star-button-animatable-box">
++ <image id="star-button-animatable-image"
++ onclick="BookmarkingUI.onStarCommand(event);"/>
++ </hbox>
++ </hbox>
++#endif
+ </hbox>
+ <hbox id="userContext-icons" hidden="true">
+ <label id="userContext-label"/>
@@ -937,11 +941,6 @@
+ class="chromeclass-toolbar-additional"
+ command="Browser:Stop"
+ tooltip="dynamic-shortcut-tooltip"/>
-+#else
-+ <toolbarbutton id="urlbar-page-action-button"
-+ class="chromeclass-toolbar-additional"
-+ tooltiptext="&pageActionButton.tooltip;"
-+ onclick="gPageActionButton.onEvent(event);"/>
+#endif
+ </textbox>
+ </hbox>
@@ -957,7 +956,11 @@
+ <toolbarbutton id="bookmarks-menu-button"
+ class="toolbarbutton-1 chromeclass-toolbar-additional"
+ removable="true"
++#ifdef MOZ_PHOTON_THEME
++ type="menu"
++#else
+ type="menu-button"
++#endif
+ label="&bookmarksMenuButton.label;"
+ tooltip="dynamic-shortcut-tooltip"
+ anchor="dropmarker"
@@ -974,7 +977,7 @@
+ placespopup="true"
+ context="placesContext"
+ openInTabs="children"
-+ oncommand="BookmarksEventHandler.onCommand(event, this.parentNode._placesView);"
++ oncommand="BookmarksEventHandler.onCommand(event);"
+ onclick="BookmarksEventHandler.onClick(event, this.parentNode._placesView);"
+ onpopupshowing="BookmarkingUI.onPopupShowing(event);
+ BookmarkingUI.attachPlacesView(event, this);"
@@ -1083,7 +1086,13 @@
+ <toolbarbutton id="nav-bar-overflow-button"
+ class="toolbarbutton-1 chromeclass-toolbar-additional overflow-button"
+ skipintoolbarset="true"
-+ tooltiptext="&navbarOverflow.label;"/>
++ tooltiptext="&navbarOverflow.label;">
++#ifdef MOZ_PHOTON_ANIMATIONS
++ <box class="toolbarbutton-animatable-box">
++ <image class="toolbarbutton-animatable-image"/>
++ </box>
++#endif
++ </toolbarbutton>
+
+ <toolbaritem id="PanelUI-button"
+ class="chromeclass-toolbar-additional"
@@ -1138,7 +1147,7 @@
+ id="PlacesToolbar"
+ context="placesContext"
+ onclick="BookmarksEventHandler.onClick(event, this._placesView);"
-+ oncommand="BookmarksEventHandler.onCommand(event, this._placesView);"
++ oncommand="BookmarksEventHandler.onCommand(event);"
+ tooltip="bhTooltip"
+ popupsinherittooltip="true">
+ <hbox flex="1">
@@ -1207,8 +1216,13 @@
+ tooltip="dynamic-shortcut-tooltip"/>
+#ifdef MOZ_PHOTON_THEME
+ <toolbarbutton id="library-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
-+ oncommand="PanelUI.showSubView('appMenu-libraryView', this, null, true);"
-+ label="&places.library.title;"/>
++ oncommand="PanelUI.showSubView('appMenu-libraryView', this, null, event);"
++ closemenu="none"
++ label="&places.library.title;">
++ <box class="toolbarbutton-animatable-box">
++ <image class="toolbarbutton-animatable-image"/>
++ </box>
++ </toolbarbutton>
+#endif
+ </toolbarpalette>
+ </toolbox>
@@ -1397,7 +1411,7 @@
diff --git a/browser/components/preferences/in-content/main.js b/browser/components/preferences/in-content/main.js
--- a/browser/components/preferences/in-content/main.js
+++ b/browser/components/preferences/in-content/main.js
-@@ -39,16 +39,23 @@ var gMainPane = {
+@@ -41,16 +41,23 @@ var gMainPane = {
// way to get all file type association prefs. So we don't know
// when the user will select the default. We refresh here periodically
// in case the default changes. On other Windows OS's defaults can also
@@ -1421,7 +1435,7 @@
defaultPerformancePref.addEventListener("change", () => {
this.updatePerformanceSettingsBox({duringChangeEvent: true});
});
-@@ -780,16 +787,27 @@ var gMainPane = {
+@@ -875,16 +882,27 @@ var gMainPane = {
let alwaysCheckPref = document.getElementById("browser.shell.checkDefaultBrowser");
alwaysCheckPref.value = true;
@@ -1452,7 +1466,7 @@
diff --git a/browser/components/shell/moz.build b/browser/components/shell/moz.build
--- a/browser/components/shell/moz.build
+++ b/browser/components/shell/moz.build
-@@ -37,16 +37,18 @@ if CONFIG['OS_ARCH'] == 'WINNT':
+@@ -38,16 +38,18 @@ if CONFIG['OS_ARCH'] == 'WINNT':
]
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
SOURCES += [
@@ -1764,7 +1778,7 @@
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
-@@ -662,16 +662,18 @@
+@@ -664,16 +664,18 @@
@RESPATH@/browser/defaults/blocklists
@RESPATH@/browser/defaults/pinning
--- a/mozilla-kde.patch Sun Sep 17 10:06:24 2017 +0200
+++ b/mozilla-kde.patch Wed Sep 20 21:52:01 2017 +0200
@@ -1,5 +1,5 @@
# HG changeset patch
-# Parent 172cd661ceed38b3161c6246f6729f4d8370dce3
+# Parent faadbf89d1cb02eefec4c5dfd3ab86bc20d815d5
Description: Add KDE integration to Firefox (toolkit parts)
Author: Wolfgang Rosenauer <wolfgang@rosenauer.org>
Author: Lubos Lunak <lunak@suse.com>
@@ -9,7 +9,7 @@
diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
--- a/modules/libpref/Preferences.cpp
+++ b/modules/libpref/Preferences.cpp
-@@ -32,16 +32,17 @@
+@@ -33,16 +33,17 @@
#include "nsIZipReader.h"
#include "nsPrefBranch.h"
#include "nsXPIDLString.h"
@@ -27,7 +27,7 @@
#include "prefread.h"
#include "prefapi_private_data.h"
-@@ -1219,16 +1220,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char
+@@ -1435,16 +1436,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char
static nsresult pref_LoadPrefsInDirList(const char *listId)
{
@@ -62,7 +62,7 @@
return NS_OK;
bool hasMore;
-@@ -1244,17 +1263,17 @@ static nsresult pref_LoadPrefsInDirList(
+@@ -1460,17 +1479,17 @@ static nsresult pref_LoadPrefsInDirList(
nsAutoCString leaf;
path->GetNativeLeafName(leaf);
@@ -81,7 +81,7 @@
{
nsZipItemPtr<char> manifest(jarReader, name, true);
NS_ENSURE_TRUE(manifest.Buffer(), NS_ERROR_NOT_AVAILABLE);
-@@ -1348,24 +1367,36 @@ static nsresult pref_InitInitialObjects(
+@@ -1566,24 +1585,36 @@ pref_InitInitialObjects()
/* these pref file names should not be used: we process them after all other application pref files for backwards compatibility */
static const char* specialFiles[] = {
#if defined(XP_MACOSX)
@@ -706,7 +706,7 @@
new file mode 100644
--- /dev/null
+++ b/toolkit/content/widgets/preferences-kde.xml
-@@ -0,0 +1,1380 @@
+@@ -0,0 +1,1409 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE bindings [
@@ -742,19 +742,19 @@
+ <method name="_constructAfterChildren">
+ <body>
+ <![CDATA[
-+ // This method will be called after each one of the child
++ // This method will be called after the last of the child
+ // <preference> elements is constructed. Its purpose is to propagate
-+ // the values to the associated form elements
++ // the values to the associated form elements. Sometimes the code for
++ // some <preference> initializers depend on other <preference> elements
++ // being initialized so we wait and call updateElements on all of them
++ // once the last one has been constructed. See bugs 997570 and 992185.
+
+ var elements = this.getElementsByTagName("preference");
+ for (let element of elements) {
-+ if (!element._constructed) {
-+ return;
-+ }
-+ }
-+ for (let element of elements) {
+ element.updateElements();
+ }
++
++ this._constructAfterChildrenCalled = true;
+ ]]>
+ </body>
+ </method>
@@ -821,6 +821,25 @@
+ ]]>
+ </getter>
+ </property>
++
++ <!-- We want to call _constructAfterChildren after all child
++ <preference> elements have been constructed. To do this, we get
++ and store the node list of all child <preference> elements in the
++ constructor, and maintain a count which is incremented in the
++ constructor of <preference>. _constructAfterChildren is called
++ when the count matches the length of the list. -->
++ <field name="_constructedChildrenCount">0</field>
++ <field name="_preferenceChildren">null</field>
++ <!-- Some <preference> elements are added dynamically after
++ _constructAfterChildren has already been called - we want to
++ avoid looping over all of them again in this case so we remember
++ if we already called it. -->
++ <field name="_constructAfterChildrenCalled">false</field>
++ <constructor>
++ <![CDATA[
++ this._preferenceChildren = this.getElementsByTagName("preference");
++ ]]>
++ </constructor>
+ </implementation>
+ </binding>
+
@@ -828,8 +847,6 @@
+ <implementation>
+ <constructor>
+ <![CDATA[
-+ this._constructed = true;
-+
+ // if the element has been inserted without the name attribute set,
+ // we have nothing to do here
+ if (!this.name)
@@ -862,9 +879,21 @@
+
+ // Don't use the value setter here, we don't want updateElements to be prematurely fired.
+ this._value = preference ? preference.value : this.valueFromPreferences;
-+ } else
++ } else {
+ this._value = this.valueFromPreferences;
-+ this.preferences._constructAfterChildren();
++ }
++ if (this.preferences._constructAfterChildrenCalled) {
++ // This <preference> was added after _constructAfterChildren() was already called.
++ // We can directly call updateElements().
++ this.updateElements();
++ return;
++ }
++ this.preferences._constructedChildrenCount++;
++ if (this.preferences._constructedChildrenCount ==
++ this.preferences._preferenceChildren.length) {
++ // This is the last <preference>, time to updateElements() on all of them.
++ this.preferences._constructAfterChildren();
++ }
+ ]]>
+ </constructor>
+ <destructor>
@@ -2090,7 +2119,7 @@
diff --git a/toolkit/mozapps/downloads/nsHelperAppDlg.js b/toolkit/mozapps/downloads/nsHelperAppDlg.js
--- a/toolkit/mozapps/downloads/nsHelperAppDlg.js
+++ b/toolkit/mozapps/downloads/nsHelperAppDlg.js
-@@ -625,17 +625,17 @@ nsUnknownContentTypeDialog.prototype = {
+@@ -628,17 +628,17 @@ nsUnknownContentTypeDialog.prototype = {
else
typeString = mimeInfo.MIMEType;
}
@@ -2109,7 +2138,7 @@
},
// Returns true if opening the default application makes sense.
-@@ -799,17 +799,17 @@ nsUnknownContentTypeDialog.prototype = {
+@@ -802,17 +802,17 @@ nsUnknownContentTypeDialog.prototype = {
switch (this.dialogElement("openHandler").selectedIndex) {
case 0:
// No app need be specified in this case.
@@ -2128,15 +2157,15 @@
this.mDialog.document.documentElement.getButton("accept").disabled = !ok;
},
-@@ -1066,30 +1066,56 @@ nsUnknownContentTypeDialog.prototype = {
+@@ -1067,30 +1067,57 @@ nsUnknownContentTypeDialog.prototype = {
+
+ if (params.handlerApp &&
params.handlerApp.executable &&
params.handlerApp.executable.isFile()) {
// Remember the file they chose to run.
this.chosenApp = params.handlerApp;
}
- }
- else {
- #if MOZ_WIDGET_GTK == 3
+ } else if ("@mozilla.org/applicationchooser;1" in Components.classes) {
- var nsIApplicationChooser = Components.interfaces.nsIApplicationChooser;
- var appChooser = Components.classes["@mozilla.org/applicationchooser;1"]
- .createInstance(nsIApplicationChooser);
@@ -2147,7 +2176,8 @@
- contentTypeDialogObj.chosenApp = aResult.QueryInterface(Components.interfaces.nsILocalHandlerApp);
+ // handle the KDE case which is implemented in the filepicker
+ // therefore falling back to Gtk2 like behaviour if KDE is running
-+ // FIXME this should be better handled in the nsIApplicationChooser interface
++ // FIXME this should be better handled in the nsIApplicationChooser
++ // interface
+ var env = Components.classes["@mozilla.org/process/environment;1"]
+ .getService(Components.interfaces.nsIEnvironment);
+ if (env.get('KDE_FULL_SESSION') == "true")
@@ -2190,7 +2220,7 @@
+ // The finishChooseApp is called from appChooserCallback
+ return;
+ }
- #else
+ } else {
var nsIFilePicker = Components.interfaces.nsIFilePicker;
var fp = Components.classes["@mozilla.org/filepicker;1"]
.createInstance(nsIFilePicker);
--- a/mozilla-language.patch Sun Sep 17 10:06:24 2017 +0200
+++ b/mozilla-language.patch Wed Sep 20 21:52:01 2017 +0200
@@ -1,13 +1,13 @@
# HG changeset patch
# User Wolfgang Rosenauer <wr@rosenauer.org>
# Parent 5a29924228527f8882c83cf62d470963ea1ce62e
-# Parent 4f39ed617c2f151a3a15903c7ae4471b66774e9e
+# Parent 242f2521ed48bb63b91582956b5e4af80bcb3378
Bug 583793 - Firefox interface language set to LANG, ignores LANGUAGE
diff --git a/intl/locale/nsLocaleService.cpp b/intl/locale/nsLocaleService.cpp
--- a/intl/locale/nsLocaleService.cpp
+++ b/intl/locale/nsLocaleService.cpp
-@@ -114,16 +114,17 @@ nsLocaleService::nsLocaleService(void)
+@@ -116,16 +116,17 @@ nsLocaleService::nsLocaleService(void)
NS_ENSURE_SUCCESS_VOID(rv);
#endif
#if defined(XP_UNIX) && !defined(XP_MACOSX)
@@ -25,7 +25,7 @@
for( i = 0; i < LocaleListLength; i++ ) {
nsresult result;
// setlocale( , "") evaluates LC_* and LANG
-@@ -149,16 +150,36 @@ nsLocaleService::nsLocaleService(void)
+@@ -151,16 +152,37 @@ nsLocaleService::nsLocaleService(void)
} else {
CopyASCIItoUTF16(lang, platformLocale);
result = nsPosixLocale::GetXPLocale(lang, xpLocale);
@@ -54,11 +54,12 @@
+ }
+ }
+ }
++
resultLocale->AddCategory(category, xpLocale);
resultLocale->AddCategory(category_platform, platformLocale);
}
mSystemLocale = do_QueryInterface(resultLocale);
mApplicationLocale = do_QueryInterface(resultLocale);
-
+
#endif // XP_UNIX
--- a/mozilla-nongnome-proxies.patch Sun Sep 17 10:06:24 2017 +0200
+++ b/mozilla-nongnome-proxies.patch Wed Sep 20 21:52:01 2017 +0200
@@ -9,7 +9,7 @@
diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
--- a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
+++ b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
-@@ -53,23 +53,27 @@ nsUnixSystemProxySettings::GetMainThread
+@@ -54,23 +54,27 @@ nsUnixSystemProxySettings::GetMainThread
// dbus prevents us from being threadsafe, but this routine should not block anyhow
*aMainThreadOnly = true;
return NS_OK;
@@ -37,7 +37,7 @@
+ mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
+ }
}
-
+
return NS_OK;
}
--- a/mozilla-ntlm-full-path.patch Sun Sep 17 10:06:24 2017 +0200
+++ b/mozilla-ntlm-full-path.patch Wed Sep 20 21:52:01 2017 +0200
@@ -1,7 +1,7 @@
# HG changeset patch
# User Petr Cerny <pcerny@novell.com>
# Parent 7308e4a7c1f769f4bbbc90870b849cadd99495a6
-# Parent 03565086f1e230cf6f0f6c01bf9a792c732de50b
+# Parent fe1932b7223a298863663244accc524d474a9f6d
Bug 634334 - call to the ntlm_auth helper fails
diff --git a/extensions/auth/nsAuthSambaNTLM.cpp b/extensions/auth/nsAuthSambaNTLM.cpp
@@ -25,4 +25,4 @@
};
bool isOK = SpawnIOChild(const_cast<char* const*>(args), &mChildPID, &mFromChildFD, &mToChildFD);
- if (!isOK)
+ if (!isOK)