From b84bd85d3dc45dda57aae4c0e499c5f0aaf0425c Mon Sep 17 00:00:00 2001
From: Kyle K <kylek389@gmail.com>
Date: Sun, 16 Feb 2020 16:35:01 -0600
Subject: firefox 73.0 opensuse KDE patches and unity global menu

---
 patches/www-client/firefox/firefox-kde.patch | 283 ---------------------------
 1 file changed, 283 deletions(-)
 delete mode 100644 patches/www-client/firefox/firefox-kde.patch

(limited to 'patches/www-client/firefox/firefox-kde.patch')

diff --git a/patches/www-client/firefox/firefox-kde.patch b/patches/www-client/firefox/firefox-kde.patch
deleted file mode 100644
index cb5578b..0000000
--- a/patches/www-client/firefox/firefox-kde.patch
+++ /dev/null
@@ -1,283 +0,0 @@
-# HG changeset patch
-# User msirringhaus@suse.de
-# Date 1559300151 -7200
-#      Fri May 31 12:55:51 2019 +0200
-# Node ID 54d41b0033b8d649d842a1f862c6fed8b9874dec
-# Parent  4faaad3619f286bd6077754d8e59d339a5142b80
-How to apply this patch:
-1. Import and apply it
-2. cp browser/base/content/browser.xul browser/base/content/browser-kde.xul
-3. Find editBookmarkPanelDoneButton
-4. Replace #ifndef with #ifdef in the line above (this hanges the button order from Gnome-style to KDE-style)
-5. hg qrefresh
-
-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
-@@ -341,16 +341,23 @@ var gMainPane = {
-         }, backoffTimes[this._backoffIndex + 1 < backoffTimes.length ? this._backoffIndex++ : backoffTimes.length - 1]);
-       };
- 
-       window.setTimeout(() => {
-         window.requestIdleCallback(pollForDefaultBrowser);
-       }, backoffTimes[this._backoffIndex]);
-     }
- 
-+    var env = Components.classes["@mozilla.org/process/environment;1"]
-+      .getService(Components.interfaces.nsIEnvironment);
-+    var kde_session = 0;
-+    if (env.get('KDE_FULL_SESSION') == "true") {
-+      kde_session = 1;
-+    }
-+
-     this.initBrowserContainers();
-     this.buildContentProcessCountMenuList();
- 
-     let performanceSettingsLink = document.getElementById(
-       "performanceSettingsLearnMore"
-     );
-     let performanceSettingsUrl =
-       Services.urlFormatter.formatURLPref("app.support.baseURL") +
-@@ -1199,16 +1206,27 @@ var gMainPane = {
-       this._backoffIndex = 0;
- 
-       let shellSvc = getShellService();
-       if (!shellSvc) {
-         return;
-       }
-       try {
-         shellSvc.setDefaultBrowser(true, false);
-+        if (kde_session == 1) {
-+          var shellObj = Components.classes["@mozilla.org/file/local;1"]
-+            .createInstance(Components.interfaces.nsILocalFile);
-+          shellObj.initWithPath("/usr/bin/kwriteconfig");
-+          var process = Components.classes["@mozilla.org/process/util;1"]
-+            .createInstance(Components.interfaces.nsIProcess);
-+          process.init(shellObj);
-+          var args = ["--file", "kdeglobals", "--group", "General", "--key",
-+              "BrowserApplication", "firefox"];
-+          process.run(false, args, args.length);
-+        }
-       } catch (ex) {
-         Cu.reportError(ex);
-         return;
-       }
- 
-       let selectedIndex = shellSvc.isDefaultBrowser(false, true) ? 1 : 0;
-       document.getElementById("setDefaultPane").selectedIndex = selectedIndex;
-     }
-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
-@@ -28,16 +28,18 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'coco
-     ]
- elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk':
-     XPIDL_SOURCES += [
-         'nsIGNOMEShellService.idl',
-     ]
- 
-     SOURCES += [
-         'nsGNOMEShellService.cpp',
-+        'nsKDEShellService.cpp',
-+        'nsUnixShellService.cpp',
-     ]
- elif CONFIG['OS_ARCH'] == 'WINNT':
-     SOURCES += [
-         'nsWindowsShellService.cpp',
-     ]
-     LOCAL_INCLUDES += [
-         '../../../other-licenses/nsis/Contrib/CityHash/cityhash',
-     ]
-diff --git a/browser/components/shell/nsKDEShellService.cpp b/browser/components/shell/nsKDEShellService.cpp
-new file mode 100644
---- /dev/null
-+++ b/browser/components/shell/nsKDEShellService.cpp
-@@ -0,0 +1,103 @@
-+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-+/* This Source Code Form is subject to the terms of the Mozilla Public
-+ * License, v. 2.0. If a copy of the MPL was not distributed with this
-+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-+
-+#include "mozilla/ArrayUtils.h"
-+
-+#include "nsCOMPtr.h"
-+#include "nsKDEShellService.h"
-+#include "nsShellService.h"
-+#include "nsKDEUtils.h"
-+#include "nsIPrefService.h"
-+#include "nsIProcess.h"
-+#include "nsIFile.h"
-+#include "nsServiceManagerUtils.h"
-+#include "nsComponentManagerUtils.h"
-+#include "nsIMutableArray.h"
-+#include "nsISupportsPrimitives.h"
-+#include "nsArrayUtils.h"
-+
-+using namespace mozilla;
-+
-+nsresult
-+nsKDEShellService::Init()
-+{
-+    if( !nsKDEUtils::kdeSupport())
-+        return NS_ERROR_NOT_AVAILABLE;
-+    return NS_OK;
-+}
-+
-+NS_IMPL_ISUPPORTS(nsKDEShellService, nsIGNOMEShellService, nsIShellService)
-+
-+NS_IMETHODIMP
-+nsKDEShellService::IsDefaultBrowser(bool aForAllTypes,
-+                                    bool* aIsDefaultBrowser)
-+{
-+    *aIsDefaultBrowser = false;
-+
-+    nsCOMPtr<nsIMutableArray> command = do_CreateInstance( NS_ARRAY_CONTRACTID );
-+    if (!command)
-+        return NS_ERROR_FAILURE;
-+
-+    nsCOMPtr<nsISupportsCString> str = do_CreateInstance( NS_SUPPORTS_CSTRING_CONTRACTID );
-+    if (!str)
-+        return NS_ERROR_FAILURE;
-+
-+    str->SetData( NS_LITERAL_CSTRING( "ISDEFAULTBROWSER" ));
-+    command->AppendElement( str );
-+
-+    if( nsKDEUtils::command( command ))
-+        *aIsDefaultBrowser = true;
-+    return NS_OK;
-+}
-+
-+NS_IMETHODIMP
-+nsKDEShellService::SetDefaultBrowser(bool aClaimAllTypes,
-+                                     bool aForAllUsers)
-+{
-+    nsCOMPtr<nsIMutableArray> command = do_CreateInstance( NS_ARRAY_CONTRACTID );
-+    if (!command)
-+        return NS_ERROR_FAILURE;
-+
-+    nsCOMPtr<nsISupportsCString> cmdstr = do_CreateInstance( NS_SUPPORTS_CSTRING_CONTRACTID );
-+    nsCOMPtr<nsISupportsCString> paramstr = do_CreateInstance( NS_SUPPORTS_CSTRING_CONTRACTID );
-+    if (!cmdstr || !paramstr)
-+        return NS_ERROR_FAILURE;
-+
-+    cmdstr->SetData( NS_LITERAL_CSTRING( "SETDEFAULTBROWSER" ));
-+    command->AppendElement( cmdstr );
-+
-+    paramstr->SetData( aClaimAllTypes ? NS_LITERAL_CSTRING( "ALLTYPES" ) : NS_LITERAL_CSTRING( "NORMAL" ));
-+    command->AppendElement( paramstr );
-+
-+    return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE;
-+}
-+
-+NS_IMETHODIMP
-+nsKDEShellService::GetCanSetDesktopBackground(bool* aResult)
-+{
-+  *aResult = true;
-+  return NS_OK;
-+}
-+
-+NS_IMETHODIMP
-+nsKDEShellService::SetDesktopBackground(dom::Element* aElement,
-+                                        int32_t aPosition,
-+                                        const nsACString& aImageName)
-+{
-+    return NS_ERROR_NOT_IMPLEMENTED;
-+}
-+
-+NS_IMETHODIMP
-+nsKDEShellService::GetDesktopBackgroundColor(PRUint32 *aColor)
-+{
-+    return NS_ERROR_NOT_IMPLEMENTED;
-+}
-+
-+NS_IMETHODIMP
-+nsKDEShellService::SetDesktopBackgroundColor(PRUint32 aColor)
-+{
-+    return NS_ERROR_NOT_IMPLEMENTED;
-+}
-+
-diff --git a/browser/components/shell/nsKDEShellService.h b/browser/components/shell/nsKDEShellService.h
-new file mode 100644
---- /dev/null
-+++ b/browser/components/shell/nsKDEShellService.h
-@@ -0,0 +1,32 @@
-+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-+/* This Source Code Form is subject to the terms of the Mozilla Public
-+ * License, v. 2.0. If a copy of the MPL was not distributed with this
-+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-+
-+#ifndef nskdeshellservice_h____
-+#define nskdeshellservice_h____
-+
-+#include "nsIGNOMEShellService.h"
-+#include "nsToolkitShellService.h"
-+#include "nsString.h"
-+#include "mozilla/Attributes.h"
-+
-+class nsKDEShellService final : public nsIGNOMEShellService,
-+                                public nsToolkitShellService
-+{
-+public:
-+  nsKDEShellService() : mCheckedThisSession(false) { }
-+
-+  NS_DECL_ISUPPORTS
-+  NS_DECL_NSISHELLSERVICE
-+  NS_DECL_NSIGNOMESHELLSERVICE
-+
-+  nsresult Init();
-+
-+private:
-+  ~nsKDEShellService() {}
-+
-+  bool mCheckedThisSession;
-+};
-+
-+#endif // nskdeshellservice_h____
-diff --git a/browser/components/shell/nsUnixShellService.cpp b/browser/components/shell/nsUnixShellService.cpp
-new file mode 100644
---- /dev/null
-+++ b/browser/components/shell/nsUnixShellService.cpp
-@@ -0,0 +1,22 @@
-+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-+/* This Source Code Form is subject to the terms of the Mozilla Public
-+ * License, v. 2.0. If a copy of the MPL was not distributed with this
-+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-+
-+
-+#include "nsUnixShellService.h"
-+#include "nsGNOMEShellService.h"
-+#include "nsKDEShellService.h"
-+#include "nsKDEUtils.h"
-+#include "mozilla/ModuleUtils.h"
-+
-+NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsGNOMEShellService, Init)
-+NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsKDEShellService, Init)
-+
-+NS_IMETHODIMP
-+nsUnixShellServiceConstructor(nsISupports *aOuter, REFNSIID aIID, void **aResult)
-+{
-+    if( nsKDEUtils::kdeSupport())
-+        return nsKDEShellServiceConstructor( aOuter, aIID, aResult );
-+    return nsGNOMEShellServiceConstructor( aOuter, aIID, aResult );
-+}
-diff --git a/browser/components/shell/nsUnixShellService.h b/browser/components/shell/nsUnixShellService.h
-new file mode 100644
---- /dev/null
-+++ b/browser/components/shell/nsUnixShellService.h
-@@ -0,0 +1,15 @@
-+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-+/* This Source Code Form is subject to the terms of the Mozilla Public
-+ * License, v. 2.0. If a copy of the MPL was not distributed with this
-+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-+
-+
-+#ifndef nsunixshellservice_h____
-+#define nsunixshellservice_h____
-+
-+#include "nsIGNOMEShellService.h"
-+
-+NS_IMETHODIMP
-+nsUnixShellServiceConstructor(nsISupports *aOuter, REFNSIID aIID, void **aResult);
-+
-+#endif // nsunixshellservice_h____
-
-- 
cgit v1.2.3