mozilla-kde.patch
branchfirefox101
changeset 1174 90e3d0cf8567
parent 1172 7bdeb580be51
child 1175 4c6576f9cf04
--- a/mozilla-kde.patch	Sun May 01 18:18:56 2022 +0200
+++ b/mozilla-kde.patch	Sun Jun 12 16:05:04 2022 +0200
@@ -3,7 +3,7 @@
 # Date 1559294891 -7200
 #      Fri May 31 11:28:11 2019 +0200
 # Node ID c2aa7198fb925e7fde96abf65b6f68b9b755f112
-# Parent  8d1110b6918acc4e7d3f655d1e55f4b4ff630abe
+# Parent  eeedc49c16aba3b50d1547315a88091a1c765904
 Description: Add KDE integration to Firefox (toolkit parts)
 Author: Wolfgang Rosenauer <wolfgang@rosenauer.org>
 Author: Lubos Lunak <lunak@suse.com>
@@ -13,12 +13,12 @@
 diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
 --- a/modules/libpref/Preferences.cpp
 +++ b/modules/libpref/Preferences.cpp
-@@ -84,16 +84,17 @@
- #include "plbase64.h"
+@@ -88,16 +88,17 @@
  #include "PLDHashTable.h"
  #include "plstr.h"
  #include "prlink.h"
  #include "xpcpublic.h"
+ #include "js/RootingAPI.h"
  #ifdef MOZ_BACKGROUNDTASKS
  #  include "mozilla/BackgroundTasks.h"
  #endif
@@ -31,7 +31,7 @@
  #ifdef MOZ_MEMORY
  #  include "mozmemory.h"
  #endif
-@@ -4634,16 +4635,27 @@ nsresult Preferences::InitInitialObjects
+@@ -4767,16 +4768,27 @@ nsresult Preferences::InitInitialObjects
      "unix.js"
  #  if defined(_AIX)
      ,
@@ -59,7 +59,7 @@
  
    // Load jar:$app/omni.jar!/defaults/preferences/*.js
    // or jar:$gre/omni.jar!/defaults/preferences/*.js.
-@@ -4708,17 +4720,17 @@ nsresult Preferences::InitInitialObjects
+@@ -4841,17 +4853,17 @@ nsresult Preferences::InitInitialObjects
        }
  
        nsCOMPtr<nsIFile> path = do_QueryInterface(elem);
@@ -81,7 +81,7 @@
 diff --git a/modules/libpref/moz.build b/modules/libpref/moz.build
 --- a/modules/libpref/moz.build
 +++ b/modules/libpref/moz.build
-@@ -118,16 +118,20 @@ EXPORTS.mozilla += [
+@@ -120,16 +120,20 @@ EXPORTS.mozilla += [
  ]
  EXPORTS.mozilla += sorted(["!" + g for g in gen_h])
  
@@ -828,7 +828,7 @@
      ]
  elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "windows":
      UNIFIED_SOURCES += [
-@@ -126,16 +128,17 @@ include("/ipc/chromium/chromium-config.m
+@@ -130,16 +132,17 @@ include("/ipc/chromium/chromium-config.m
  FINAL_LIBRARY = "xul"
  
  LOCAL_INCLUDES += [
@@ -1263,7 +1263,7 @@
 diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build
 --- a/widget/gtk/moz.build
 +++ b/widget/gtk/moz.build
-@@ -136,16 +136,17 @@ FINAL_LIBRARY = "xul"
+@@ -154,16 +154,17 @@ FINAL_LIBRARY = "xul"
  
  LOCAL_INCLUDES += [
      "/layout/base",
@@ -1277,7 +1277,7 @@
      "/widget/headless",
  ]
  
- if CONFIG["MOZ_X11"]:
+ if CONFIG["MOZ_X11"] or CONFIG["MOZ_WAYLAND"]:
      LOCAL_INCLUDES += [
          "/widget/x11",
      ]
@@ -1825,7 +1825,7 @@
  #  include "prmem.h"
  #  include "plbase64.h"
  
-@@ -2071,62 +2072,77 @@ nsLocalFile::SetPersistentDescriptor(con
+@@ -2071,20 +2072,29 @@ nsLocalFile::SetPersistentDescriptor(con
  
  NS_IMETHODIMP
  nsLocalFile::Reveal() {
@@ -1834,47 +1834,10 @@
    }
  
  #ifdef MOZ_WIDGET_GTK
--  nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
++  nsAutoCString url;
+   nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
 -  if (!giovfs) {
--    return NS_ERROR_FAILURE;
--  }
-+  nsAutoCString url;
- 
-   bool isDirectory;
-   if (NS_FAILED(IsDirectory(&isDirectory))) {
-     return NS_ERROR_FAILURE;
-   }
- 
-+  nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
-   if (isDirectory) {
--    return giovfs->ShowURIForInput(mPath);
-+    url = mPath;
-   }
-   if (NS_SUCCEEDED(giovfs->OrgFreedesktopFileManager1ShowItems(mPath))) {
-     return NS_OK;
-   }
-   nsCOMPtr<nsIFile> parentDir;
-   nsAutoCString dirPath;
-   if (NS_FAILED(GetParent(getter_AddRefs(parentDir)))) {
-     return NS_ERROR_FAILURE;
-   }
-   if (NS_FAILED(parentDir->GetNativePath(dirPath))) {
-     return NS_ERROR_FAILURE;
-   }
- 
--  return giovfs->ShowURIForInput(dirPath);
-+  url = dirPath;
- #elif defined(MOZ_WIDGET_COCOA)
-   CFURLRef url;
-   if (NS_SUCCEEDED(GetCFURL(&url))) {
-     nsresult rv = CocoaFileUtils::RevealFileInFinder(url);
-     ::CFRelease(url);
-     return rv;
-   }
-   return NS_ERROR_FAILURE;
- #else
-   return NS_ERROR_FAILURE;
- #endif
++  url = mPath;
 +  if(nsKDEUtils::kdeSupport()) {
 +    nsTArray<nsCString> command;
 +    command.AppendElement( "REVEAL"_ns );
@@ -1883,10 +1846,18 @@
 +  }
 +
 +  if (!giovfs)
-+    return NS_ERROR_FAILURE;
+     return NS_ERROR_FAILURE;
+-  }
 +
-+  return giovfs->ShowURIForInput(url);
- }
+   return giovfs->RevealFile(this);
+ #elif defined(MOZ_WIDGET_COCOA)
+   CFURLRef url;
+   if (NS_SUCCEEDED(GetCFURL(&url))) {
+     nsresult rv = CocoaFileUtils::RevealFileInFinder(url);
+     ::CFRelease(url);
+     return rv;
+   }
+@@ -2096,16 +2106,23 @@ nsLocalFile::Reveal() {
  
  NS_IMETHODIMP
  nsLocalFile::Launch() {
@@ -1901,11 +1872,12 @@
 +    command.AppendElement( mPath );
 +    return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE;
 +  }
++
    nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
    if (!giovfs) {
      return NS_ERROR_FAILURE;
    }
  
-   return giovfs->ShowURIForInput(mPath);
+   return giovfs->LaunchFile(mPath);
  #elif defined(MOZ_WIDGET_ANDROID)
    // Not supported on GeckoView