diff -r 5fab52cd743d -r eca1c1f2fe50 mozilla-kde.patch --- a/mozilla-kde.patch Sun Mar 17 09:57:22 2019 +0100 +++ b/mozilla-kde.patch Tue Mar 19 09:48:05 2019 +0100 @@ -1,5 +1,5 @@ # HG changeset patch -# Parent ff3da33eabc1d8760ec41a87afbaf44ded300ede +# Parent f55e33a10c2a23625826ef6f8dbe18d5a455d29e Description: Add KDE integration to Firefox (toolkit parts) Author: Wolfgang Rosenauer Author: Lubos Lunak @@ -21,13 +21,13 @@ +#include "nsKDEUtils.h" #ifdef MOZ_MEMORY - #include "mozmemory.h" + # include "mozmemory.h" #endif #ifdef XP_WIN - #include "windows.h" + # include "windows.h" #endif -@@ -4466,25 +4467,37 @@ float MOZ_MAYBE_UNUSED GetPref(co +@@ -4467,25 +4468,37 @@ float MOZ_MAYBE_UNUSED GetPref(co // application pref files for backwards compatibility. static const char* specialFiles[] = { #if defined(XP_MACOSX) @@ -37,10 +37,10 @@ #elif defined(XP_UNIX) "unix.js" + , "" // placeholder for KDE (empty is otherwise harmless) - #if defined(_AIX) + # if defined(_AIX) , "aix.js" - #endif + # endif #elif defined(XP_BEOS) "beos.js" #endif @@ -65,7 +65,7 @@ // Load jar:$app/omni.jar!/defaults/preferences/*.js // or jar:$gre/omni.jar!/defaults/preferences/*.js. -@@ -4532,17 +4545,17 @@ float MOZ_MAYBE_UNUSED GetPref(co +@@ -4533,17 +4546,17 @@ float MOZ_MAYBE_UNUSED GetPref(co } nsCOMPtr path = do_QueryInterface(elem); @@ -171,12 +171,12 @@ diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn --- a/toolkit/content/jar.mn +++ b/toolkit/content/jar.mn -@@ -67,16 +67,18 @@ toolkit.jar: +@@ -65,16 +65,18 @@ toolkit.jar: + content/global/bindings/button.xml (widgets/button.xml) content/global/bindings/calendar.js (widgets/calendar.js) content/global/bindings/checkbox.xml (widgets/checkbox.xml) content/global/bindings/datekeeper.js (widgets/datekeeper.js) content/global/bindings/datepicker.js (widgets/datepicker.js) - content/global/bindings/datetimepopup.xml (widgets/datetimepopup.xml) content/global/bindings/datetimebox.xml (widgets/datetimebox.xml) content/global/bindings/datetimebox.css (widgets/datetimebox.css) * content/global/bindings/dialog.xml (widgets/dialog.xml) @@ -186,15 +186,15 @@ content/global/bindings/menu.xml (widgets/menu.xml) content/global/bindings/menulist.xml (widgets/menulist.xml) content/global/bindings/notification.xml (widgets/notification.xml) - content/global/bindings/numberbox.xml (widgets/numberbox.xml) content/global/bindings/popup.xml (widgets/popup.xml) content/global/bindings/radio.xml (widgets/radio.xml) content/global/bindings/richlistbox.xml (widgets/richlistbox.xml) + content/global/bindings/scrollbox.xml (widgets/scrollbox.xml) diff --git a/toolkit/content/widgets/dialog-kde.xml b/toolkit/content/widgets/dialog-kde.xml new file mode 100644 --- /dev/null +++ b/toolkit/content/widgets/dialog-kde.xml -@@ -0,0 +1,477 @@ +@@ -0,0 +1,507 @@ + + ++ [] ++ + @@ -365,16 +370,32 @@ + this._configureButtons(this.buttons); + + // listen for when window is closed via native close buttons -+ window.addEventListener("close", this._closeHandler); ++ window.addEventListener("close", this); + + // for things that we need to initialize after onload fires -+ window.addEventListener("load", this.postLoadInit); ++ window.addEventListener("load", this); + + window.moveToAlertPosition = this.moveToAlertPosition; + window.centerWindowOnScreen = this.centerWindowOnScreen; + ]]> + + ++ ++ ++ ++ ++ + + + @@ -422,6 +443,12 @@ + + // Give focus after onload completes, see bug 103197. + setTimeout(focusInit, 0); ++ ++ if (this._l10nButtons.length) { ++ document.l10n.translateElements(this._l10nButtons).then(() => { ++ window.sizeToContent(); ++ }); ++ } + ]]> + + @@ -490,13 +517,14 @@ + button.setAttribute("label", this.getAttribute("buttonlabel" + dlgtype)); + if (this.hasAttribute("buttonaccesskey" + dlgtype)) + button.setAttribute("accesskey", this.getAttribute("buttonaccesskey" + dlgtype)); ++ } else if (this.hasAttribute("buttonid" + dlgtype)) { ++ document.l10n.setAttributes(button, this.getAttribute("buttonid" + dlgtype)); ++ this._l10nButtons.push(button); + } else if (dlgtype != "extra1" && dlgtype != "extra2") { + button.setAttribute("label", this.mStrBundle.GetStringFromName("button-" + dlgtype)); + var accessKey = this.mStrBundle.GetStringFromName("accesskey-" + dlgtype); + if (accessKey) + button.setAttribute("accesskey", accessKey); -+ } else if (this.hasAttribute("buttonid" + dlgtype)) { -+ document.l10n.setAttributes(button, this.getAttribute("buttonid" + dlgtype)); + } + } + // allow specifying alternate icons in the dialog header @@ -664,7 +692,9 @@ + + var btn = this.getButton(this.defaultButton); + if (btn) -+ btn.setAttribute("default", event.originalTarget == btn || !(event.originalTarget instanceof Ci.nsIDOMXULButtonElement)); ++ btn.setAttribute("default", event.originalTarget == btn || ++ !(event.originalTarget.localName == "button" || ++ event.originalTarget.localName == "toolbarbutton")); + +#endif + @@ -675,7 +705,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 -@@ -1030,30 +1030,60 @@ nsUnknownContentTypeDialog.prototype = { +@@ -1033,30 +1033,60 @@ nsUnknownContentTypeDialog.prototype = { if (params.handlerApp && params.handlerApp.executable && @@ -848,7 +878,7 @@ diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build --- a/toolkit/xre/moz.build +++ b/toolkit/xre/moz.build -@@ -73,17 +73,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'co +@@ -81,17 +81,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'co '../components/printingui', ] elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'uikit': @@ -1281,8 +1311,8 @@ #include "ContentHandlerService.h" #include "nsStringEnumerator.h" #ifdef MOZ_WIDGET_GTK --#include "unix/nsGNOMERegistry.h" -+#include "unix/nsCommonRegistry.h" +-# include "unix/nsGNOMERegistry.h" ++# include "unix/nsCommonRegistry.h" #endif using mozilla::dom::ContentHandlerService; @@ -1591,7 +1621,7 @@ #include "nsIIOService.h" #include "nsAutoPtr.h" #ifdef MOZ_ENABLE_DBUS - #include "nsDBusHandlerApp.h" + # include "nsDBusHandlerApp.h" #endif +#if defined(XP_UNIX) && !defined(XP_MACOSX) +#include "nsKDEUtils.h" @@ -1678,8 +1708,8 @@ #include "nsOSHelperAppService.h" #include "nsMIMEInfoUnix.h" #ifdef MOZ_WIDGET_GTK --#include "nsGNOMERegistry.h" -+#include "nsCommonRegistry.h" +-# include "nsGNOMERegistry.h" ++# include "nsCommonRegistry.h" #endif #include "nsISupports.h" #include "nsString.h" @@ -1688,7 +1718,7 @@ #include "nsIURL.h" #include "nsIFileStreams.h" #include "nsILineInputStream.h" -@@ -1031,17 +1031,17 @@ nsresult nsOSHelperAppService::GetHandle +@@ -1025,17 +1025,17 @@ nsresult nsOSHelperAppService::GetHandle nsresult nsOSHelperAppService::OSProtocolHandlerExists( const char* aProtocolScheme, bool* aHandlerExists) { @@ -1707,7 +1737,7 @@ nsCOMPtr handlerSvc = do_GetService(NS_HANDLERSERVICE_CONTRACTID, &rv); if (NS_SUCCEEDED(rv) && handlerSvc) { -@@ -1051,17 +1051,17 @@ nsresult nsOSHelperAppService::OSProtoco +@@ -1045,17 +1045,17 @@ nsresult nsOSHelperAppService::OSProtoco } return rv; @@ -1726,7 +1756,7 @@ nsresult nsOSHelperAppService::GetFileTokenForPath( const char16_t* platformAppPath, nsIFile** aFile) { -@@ -1142,17 +1142,17 @@ already_AddRefed nsOSHel +@@ -1136,17 +1136,17 @@ already_AddRefed nsOSHel nsresult rv = LookUpTypeAndDescription(NS_ConvertUTF8toUTF16(aFileExt), majorType, minorType, mime_types_description, true); @@ -1745,7 +1775,7 @@ rv = LookUpTypeAndDescription(NS_ConvertUTF8toUTF16(aFileExt), majorType, minorType, mime_types_description, false); -@@ -1254,17 +1254,17 @@ already_AddRefed nsOSHel +@@ -1248,17 +1248,17 @@ already_AddRefed nsOSHel // Now look up our extensions nsAutoString extensions, mime_types_description; @@ -2201,15 +2231,15 @@ nsAutoString osVersion; + nsAutoString desktop; #if defined(XP_WIN) - #pragma warning(push) - #pragma warning(disable : 4996) // VC12+ deprecates GetVersionEx + # pragma warning(push) + # pragma warning(disable : 4996) // VC12+ deprecates GetVersionEx OSVERSIONINFO info = {sizeof(OSVERSIONINFO)}; if (GetVersionEx(&info)) { nsTextFormatter::ssprintf(osVersion, u"%ld.%ld", info.dwMajorVersion, info.dwMinorVersion); } + desktop = NS_LITERAL_STRING("win"); - #pragma warning(pop) + # pragma warning(pop) #elif defined(MOZ_WIDGET_COCOA) SInt32 majorVersion = nsCocoaFeatures::OSXVersionMajor(); SInt32 minorVersion = nsCocoaFeatures::OSXVersionMinor(); @@ -2310,15 +2340,15 @@ #include "prlink.h" #ifdef MOZ_WIDGET_GTK - #include "nsIGIOService.h" -+#include "nsKDEUtils.h" + # include "nsIGIOService.h" ++# include "nsKDEUtils.h" #endif #ifdef MOZ_WIDGET_COCOA - #include - #include "CocoaFileUtils.h" - #include "prmem.h" - #include "plbase64.h" + # include + # include "CocoaFileUtils.h" + # include "prmem.h" + # include "plbase64.h" @@ -1902,62 +1903,77 @@ nsLocalFile::SetPersistentDescriptor(con