summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--firefox.spec9
-rw-r--r--rb244676.patch27
-rw-r--r--rb246462.patch80
3 files changed, 115 insertions, 1 deletions
diff --git a/firefox.spec b/firefox.spec
index 46a5922..ea3fd3d 100644
--- a/firefox.spec
+++ b/firefox.spec
@@ -103,7 +103,7 @@
Summary: Mozilla Firefox Web browser
Name: firefox
Version: 61.0.2
-Release: 2%{?pre_tag}%{?dist}
+Release: 3%{?pre_tag}%{?dist}
URL: https://www.mozilla.org/firefox/
License: MPLv1.1 or GPLv2+ or LGPLv2+
Source0: https://hg.mozilla.org/releases/mozilla-release/archive/firefox-%{version}%{?pre_version}.source.tar.xz
@@ -160,6 +160,8 @@ Patch415: Bug-1238661---fix-mozillaSignalTrampoline-to-work-.patch
Patch416: mozilla-1424422.patch
Patch417: bug1375074-save-restore-x28.patch
Patch418: mozilla-1436242.patch
+Patch419: rb244676.patch
+Patch420: rb246462.patch
Patch421: complete-csd-window-offset-mozilla-1457691.patch
@@ -369,6 +371,8 @@ This package contains results of tests executed during build.
#%patch416 -p1 -b .1424422
#%patch417 -p1 -b .bug1375074-save-restore-x28
%patch418 -p1 -b .mozilla-1436242
+%patch419 -p1 -b .rb244676
+%patch420 -p1 -b .rb246462
#%patch421 -p1 -b .mozilla-1457691
@@ -932,6 +936,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
#---------------------------------------------------------------------
%changelog
+* Wed Aug 15 2018 Ondrej Zoder <ozoder@redhat.com> - 61.0.2-3
+- Added patches for mozbz#1427700 and mozbz#1463809
+
* Mon Aug 13 2018 Ondrej Zoder <ozoder@redhat.com> - 61.0.2-2
- Updated symbolic icon
diff --git a/rb244676.patch b/rb244676.patch
new file mode 100644
index 0000000..8141e1d
--- /dev/null
+++ b/rb244676.patch
@@ -0,0 +1,27 @@
+diff --git a/toolkit/system/gnome/nsGIOService.cpp b/toolkit/system/gnome/nsGIOService.cpp
+--- a/toolkit/system/gnome/nsGIOService.cpp
++++ b/toolkit/system/gnome/nsGIOService.cpp
+@@ -521,16 +521,22 @@ nsGIOService::GetAppForMimeType(const ns
+ return NS_OK;
+ }
+
+ char *content_type =
+ g_content_type_from_mime_type(PromiseFlatCString(aMimeType).get());
+ if (!content_type)
+ return NS_ERROR_FAILURE;
+
++ // GIO returns "unknown" appinfo for the application/octet-stream, which is
++ // useless. It's better to fallback to create appinfo from file extension later.
++ if (g_content_type_is_unknown(content_type)) {
++ return NS_ERROR_NOT_AVAILABLE;
++ }
++
+ GAppInfo *app_info = g_app_info_get_default_for_type(content_type, false);
+ if (app_info) {
+ nsGIOMimeApp *mozApp = new nsGIOMimeApp(app_info);
+ NS_ENSURE_TRUE(mozApp, NS_ERROR_OUT_OF_MEMORY);
+ NS_ADDREF(*aApp = mozApp);
+ } else {
+ g_free(content_type);
+ return NS_ERROR_FAILURE;
+
diff --git a/rb246462.patch b/rb246462.patch
new file mode 100644
index 0000000..c1d098e
--- /dev/null
+++ b/rb246462.patch
@@ -0,0 +1,80 @@
+diff --git a/uriloader/exthandler/nsExternalHelperAppService.cpp b/uriloader/exthandler/nsExternalHelperAppService.cpp
+--- a/uriloader/exthandler/nsExternalHelperAppService.cpp
++++ b/uriloader/exthandler/nsExternalHelperAppService.cpp
+@@ -2590,26 +2590,21 @@ NS_IMETHODIMP nsExternalHelperAppService
+ }
+ }
+ }
+ }
+
+ // (3) No match yet. Ask extras.
+ if (!found) {
+ rv = NS_ERROR_FAILURE;
+-#ifdef XP_WIN
+- /* XXX Gross hack to wallpaper over the most common Win32
+- * extension issues caused by the fix for bug 116938. See bug
+- * 120327, comment 271 for why this is needed. Not even sure we
+- * want to remove this once we have fixed all this stuff to work
+- * right; any info we get from extras on this type is pretty much
+- * useless....
+- */
++ // Getting info for application/octet-stream content-type from extras
++ // does not make a sense because this tends to open all octet-streams
++ // as Binary file with exe, com or bin extension regardless the real
++ // extension.
+ if (!typeToUse.Equals(APPLICATION_OCTET_STREAM, nsCaseInsensitiveCStringComparator()))
+-#endif
+ rv = FillMIMEInfoForMimeTypeFromExtras(typeToUse, *_retval);
+ LOG(("Searched extras (by type), rv 0x%08" PRIX32 "\n", static_cast<uint32_t>(rv)));
+ // If that didn't work out, try file extension from extras
+ if (NS_FAILED(rv) && !aFileExt.IsEmpty()) {
+ rv = FillMIMEInfoForExtensionFromExtras(aFileExt, *_retval);
+ LOG(("Searched extras (by ext), rv 0x%08" PRIX32 "\n", static_cast<uint32_t>(rv)));
+ }
+ // If that still didn't work, set the file description to "ext File"
+diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exthandler/unix/nsOSHelperAppService.cpp
+--- a/uriloader/exthandler/unix/nsOSHelperAppService.cpp
++++ b/uriloader/exthandler/unix/nsOSHelperAppService.cpp
+@@ -26,16 +26,17 @@
+ #include "nsISupportsPrimitives.h"
+ #include "nsCRT.h"
+ #include "nsDirectoryServiceDefs.h"
+ #include "nsDirectoryServiceUtils.h"
+ #include "ContentHandlerService.h"
+ #include "prenv.h" // for PR_GetEnv()
+ #include "nsAutoPtr.h"
+ #include "mozilla/Preferences.h"
++#include "nsMimeTypes.h"
+
+ using namespace mozilla;
+
+ #define LOG(args) MOZ_LOG(mLog, mozilla::LogLevel::Debug, args)
+ #define LOG_ENABLED() MOZ_LOG_TEST(mLog, mozilla::LogLevel::Debug)
+
+ static nsresult
+ FindSemicolon(nsAString::const_iterator& aSemicolon_iter,
+@@ -1445,17 +1446,22 @@ nsOSHelperAppService::GetFromType(const
+ }
+
+
+ already_AddRefed<nsIMIMEInfo>
+ nsOSHelperAppService::GetMIMEInfoFromOS(const nsACString& aType,
+ const nsACString& aFileExt,
+ bool *aFound) {
+ *aFound = true;
+- RefPtr<nsMIMEInfoBase> retval = GetFromType(PromiseFlatCString(aType));
++ RefPtr<nsMIMEInfoBase> retval;
++ // Fallback to lookup by extension when generic 'application/octet-stream'
++ // content type is received.
++ if (!aType.EqualsLiteral(APPLICATION_OCTET_STREAM)) {
++ retval = GetFromType(PromiseFlatCString(aType));
++ }
+ bool hasDefault = false;
+ if (retval)
+ retval->GetHasDefaultHandler(&hasDefault);
+ if (!retval || !hasDefault) {
+ RefPtr<nsMIMEInfoBase> miByExt = GetFromExtension(PromiseFlatCString(aFileExt));
+ // If we had no extension match, but a type match, use that
+ if (!miByExt && retval)
+ return retval.forget();
+
bgstack15