aboutsummaryrefslogtreecommitdiff
path: root/www/cliqz
diff options
context:
space:
mode:
authorSanthosh Raju <fox@FreeBSD.org>2020-04-17 22:36:38 +0000
committerSanthosh Raju <fox@FreeBSD.org>2020-04-17 22:36:38 +0000
commit31a397ec359c8f374a034c18efe9034a252f34ee (patch)
treed9af2e2d1c10957adb6ad50c9402e42672dc2ce6 /www/cliqz
parent66c197687d2e73ca41c8814d0786ef5f1b7578a2 (diff)
www/cliqz: Updates to 1.35.0
* Bumps version dependencies. * Adds a flag to use system libvpx. * Adds python3 based SQLite3 library. * Removes a couple obsolote patches. * Imports a couple of patches from www/firefox. Changes since 1.34.1: Improvements * Cliqz got updated to Firefox 75.0 with various improvements and fixes. * The built-in security add-on HTTPS Everywhere got updated to the latest version 2020.3.16. * The Cliqz Browser now supports eight content processes by default. This should make it run even faster on powerful machines. * The Enterprise version of the Cliqz Browser offers a new setting to disable MyOffrz via enterprise policy. Fixes * Minor fixes for Cliqz Tab improve performance and stability. * Some websites that use third-party cookies were no longer working properly. These problems should now be fixed. Miscellaneous * We removed the "Do Not Track" option from the browser settings as it often has no effect and gives you a false sense of security. Thanks to the Anti-Tracking technology built into the Cliqz Browser, you are fully protected from data collectors anyway. (Power users can still configure Do Not Track via about:config.)
Notes
Notes: svn path=/head/; revision=531979
Diffstat (limited to 'www/cliqz')
-rw-r--r--www/cliqz/Makefile16
-rw-r--r--www/cliqz/distinfo14
-rw-r--r--www/cliqz/files/patch-bug159402735
-rw-r--r--www/cliqz/files/patch-bug1607052283
-rw-r--r--www/cliqz/files/patch-bug1612377212
-rw-r--r--www/cliqz/files/patch-bug1619258103
-rw-r--r--www/cliqz/pkg-plist3
7 files changed, 331 insertions, 335 deletions
diff --git a/www/cliqz/Makefile b/www/cliqz/Makefile
index d26825cc5796..ec75370d90b0 100644
--- a/www/cliqz/Makefile
+++ b/www/cliqz/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
PORTNAME= cliqz
-DISTVERSION= 1.34.1
+DISTVERSION= 1.35.0
CATEGORIES= www
MASTER_SITES= https://s3.amazonaws.com/cdn.cliqz.com/browser-f/APT/:amazon \
http://repository.cliqz.com/dist/${CLIQZ_CHANNEL}/${DISTVERSION}/${CLIQZ_LAST_BUILD_ID}/:cliqz
@@ -36,7 +36,8 @@ LIB_DEPENDS= libdbus-1.so:devel/dbus \
BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xt.pc:x11-toolkits/libXt \
${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} \
- ${RUST_DEFAULT}>=1.39:lang/${RUST_DEFAULT} \
+ py${PYTHON3_DEFAULT:S/.//}-sqlite3>0:databases/py-sqlite3@py${PYTHON3_DEFAULT:S/.//} \
+ ${RUST_DEFAULT}>=1.41:lang/${RUST_DEFAULT} \
autoconf-2.13:devel/autoconf213 \
bash:shells/bash \
graphite2>=1.3.13:graphics/graphite2 \
@@ -44,15 +45,15 @@ BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xt.pc:x11-toolkits/libXt \
icu>=64.1,1:devel/icu \
libevent>=2.1.8:devel/libevent \
libvorbis>=1.3.6,3:audio/libvorbis \
- libvpx>=1.5.0:multimedia/libvpx \
+ libvpx>=1.8.2:multimedia/libvpx \
${LOCALBASE}/bin/python${PYTHON3_DEFAULT}:lang/python${PYTHON3_DEFAULT:S/.//g} \
llvm${LLVM_DEFAULT}>=0:devel/llvm${LLVM_DEFAULT} \
nasm:devel/nasm \
node:www/node \
nspr>=4.25:devel/nspr \
- nss>=3.50:security/nss \
+ nss>=3.51:security/nss \
png>=1.6.35:graphics/png \
- rust-cbindgen>=0.13.0:devel/rust-cbindgen \
+ rust-cbindgen>=0.13.1:devel/rust-cbindgen \
sqlite3>=3.30.1:databases/sqlite3 \
v4l_compat>0:multimedia/v4l_compat \
yasm:devel/yasm \
@@ -78,7 +79,7 @@ SHEBANG_FILES= magic_build_and_package.sh
CLIQZ_CHANNEL= release
# If the DISTVERSION is updated, make sure to update the last build id from
# fetch -qo - https://repository.cliqz.com/dist/${CLIQZ_CHANNEL}/${DISTVERSION}/lastbuildid
-CLIQZ_LAST_BUILD_ID= 20200404160144
+CLIQZ_LAST_BUILD_ID= 20200414182840
CLIQZ_ICON= ${PORTNAME}.png
CLIQZ_ICON_SRC= ${WRKSRC}/mozilla-release/browser/branding/${PORTNAME}/default48.png
MOZ_DESKTOP= ${WRKSRC}/mozilla-release/toolkit/mozapps/installer/linux/rpm/mozilla.desktop
@@ -98,9 +99,8 @@ MOZ_CONFIGURE_ARGS+= "--disable-crashreporter" \
"--disable-debug-symbols" \
"--disable-tests" \
"--disable-updater" \
+ "--with-system-libvpx" \
"--libclang-path=${LOCALBASE}/llvm${LLVM_DEFAULT}/lib"
-# "--with-system-graphite2" \
-# "--with-system-harfbuzz"
.include "${.CURDIR}/Makefile.options"
diff --git a/www/cliqz/distinfo b/www/cliqz/distinfo
index f78baf992ec9..f3147286bd50 100644
--- a/www/cliqz/distinfo
+++ b/www/cliqz/distinfo
@@ -1,13 +1,13 @@
-TIMESTAMP = 1586214328
+TIMESTAMP = 1587111982
SHA256 (cliqz/adult-domains.bin) = f726171965328f60e2cc2a50311883e76c21b3359f2596d10be76cc33abdda88
SIZE (cliqz/adult-domains.bin) = 528392
-SHA256 (cliqz/cliqz@cliqz.com.xpi) = 79cfc4a69a61642183b07e8ad196920c03affe7bdc4a546d162d2e5803ee97cd
-SIZE (cliqz/cliqz@cliqz.com.xpi) = 4075568
+SHA256 (cliqz/cliqz@cliqz.com.xpi) = 0b63cb9bd6c77ba089c9633fd8e363184c0c4e8c093fa66a87541e0bb0bf9a20
+SIZE (cliqz/cliqz@cliqz.com.xpi) = 4244727
SHA256 (cliqz/dat@cliqz.com.xpi) = 83dac73bd4ab16271330eb87ed5e3b088ddd69707ceb121d8ee730d07ddc9d87
SIZE (cliqz/dat@cliqz.com.xpi) = 988736
SHA256 (cliqz/gdprtool@cliqz.com.xpi) = 7d59af6529b0756e5a89cf150f781a81a1cc1284eab2de00a6a89432f65a711d
SIZE (cliqz/gdprtool@cliqz.com.xpi) = 219684
-SHA256 (cliqz/https-everywhere@cliqz.com.xpi) = 8b743d319cc2bc08eef90c564a6fca725eb2fe0e35c6caa441826c3408244346
-SIZE (cliqz/https-everywhere@cliqz.com.xpi) = 2038441
-SHA256 (cliqz/cliqz-oss-browser-f-1.34.1_GH0.tar.gz) = 6c95ba9d3bab89e145fc3d1dd5616748c066f9f67f977a5c3079e527fd47d9f3
-SIZE (cliqz/cliqz-oss-browser-f-1.34.1_GH0.tar.gz) = 500188145
+SHA256 (cliqz/https-everywhere@cliqz.com.xpi) = d1b7590c9541741aa0d1fada383fece7b48348f477a3f7b606e043021a42bdbb
+SIZE (cliqz/https-everywhere@cliqz.com.xpi) = 2058305
+SHA256 (cliqz/cliqz-oss-browser-f-1.35.0_GH0.tar.gz) = 90b746da10e849dbe3d2dbc0736bc640759c9234c0162c25c0df43551f7382ae
+SIZE (cliqz/cliqz-oss-browser-f-1.35.0_GH0.tar.gz) = 502919350
diff --git a/www/cliqz/files/patch-bug1594027 b/www/cliqz/files/patch-bug1594027
deleted file mode 100644
index f966b6a40e81..000000000000
--- a/www/cliqz/files/patch-bug1594027
+++ /dev/null
@@ -1,35 +0,0 @@
-commit 9949bb054e7a
-Author: Greg V <greg@unrelenting.technology>
-Date: Mon Feb 24 20:18:01 2020 +0000
-
- Bug 1594027 - add more STL wrappers to fix build with libc++ 9 r=froydnj
-
- Differential Revision: https://phabricator.services.mozilla.com/D62847
-
- --HG--
- extra : moz-landing-system : lando
----
- config/gcc-stl-wrapper.template.h | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-Taken from www/firefox
-
-diff --git config/gcc-stl-wrapper.template.h config/gcc-stl-wrapper.template.h
-index 41ae14024b0c0..9fe70fbaab8dc 100644
---- mozilla-release/config/gcc-stl-wrapper.template.h
-+++ mozilla-release/config/gcc-stl-wrapper.template.h
-@@ -32,6 +32,14 @@
- # define moz_dont_include_mozalloc_for_cstdlib
- #endif
-
-+#ifndef moz_dont_include_mozalloc_for_type_traits
-+# define moz_dont_include_mozalloc_for_type_traits
-+#endif
-+
-+#ifndef moz_dont_include_mozalloc_for_limits
-+# define moz_dont_include_mozalloc_for_limits
-+#endif
-+
- // Include mozalloc after the STL header and all other headers it includes
- // have been preprocessed.
- #if !defined(MOZ_INCLUDE_MOZALLOC_H) && \
diff --git a/www/cliqz/files/patch-bug1607052 b/www/cliqz/files/patch-bug1607052
deleted file mode 100644
index 3c32807e53ca..000000000000
--- a/www/cliqz/files/patch-bug1607052
+++ /dev/null
@@ -1,283 +0,0 @@
-commit 9d26727a4e85
-Author: Zibi Braniecki <zbraniecki@mozilla.com>
-Date: Fri Feb 21 00:39:18 2020 +0000
-
- Bug 1607052 - Unify language identifier canonicalization in LocaleService and OSPreferences to use unic_langid, and extend GTK's RegionalPrefs reading to fallback on SystemLocales. r=jfkthame
-
- Differential Revision: https://phabricator.services.mozilla.com/D63393
-
- --HG--
- extra : moz-landing-system : lando
----
- intl/locale/LocaleService.cpp | 53 ++-------------------------
- intl/locale/LocaleService.h | 18 +++++++++
- intl/locale/OSPreferences.cpp | 18 ++-------
- intl/locale/rust/unic-langid-ffi/src/lib.rs | 33 ++++++++++++++---
- intl/locale/tests/gtest/TestLocaleService.cpp | 23 ++++++++++++
- intl/locale/tests/unit/test_localeService.js | 3 +-
- 6 files changed, 77 insertions(+), 71 deletions(-)
-
-Taken from www/firefox.
-
-diff --git intl/locale/LocaleService.cpp intl/locale/LocaleService.cpp
-index f7e13e36ccbc7..6708c4af4b5c3 100644
---- mozilla-release/intl/locale/LocaleService.cpp
-+++ mozilla-release/intl/locale/LocaleService.cpp
-@@ -39,51 +39,6 @@ NS_IMPL_ISUPPORTS(LocaleService, mozILocaleService, nsIObserver,
-
- mozilla::StaticRefPtr<LocaleService> LocaleService::sInstance;
-
--/**
-- * This function transforms a canonical Mozilla Language Tag, into it's
-- * BCP47 compilant form.
-- *
-- * Example: "ja-JP-mac" -> "ja-JP-macos"
-- *
-- * The BCP47 form should be used for all calls to ICU/Intl APIs.
-- * The canonical form is used for all internal operations.
-- */
--static bool SanitizeForBCP47(nsACString& aLocale, bool strict) {
-- // Currently, the only locale code we use that's not BCP47-conformant is
-- // "ja-JP-mac" on OS X, and ICU canonicalizes it into a mouthfull
-- // "ja-JP-x-lvariant-mac", so instead we're hardcoding a conversion
-- // of it to "ja-JP-macos".
-- if (aLocale.LowerCaseEqualsASCII("ja-jp-mac")) {
-- aLocale.AssignLiteral("ja-JP-macos");
-- return true;
-- }
--
-- nsAutoCString locale(aLocale);
-- locale.Trim(" ");
--
-- // POSIX may bring us locales such as "en-US.UTF8", which
-- // ICU converts to `en-US-u-va-posix`. Let's cut out
-- // the `.UTF8`, since it doesn't matter for us.
-- int32_t pos = locale.FindChar('.');
-- if (pos != -1) {
-- locale.Cut(pos, locale.Length() - pos);
-- }
--
-- // The rest of this function will use ICU canonicalization for any other
-- // tag that may come this way.
-- const int32_t LANG_TAG_CAPACITY = 128;
-- char langTag[LANG_TAG_CAPACITY];
-- UErrorCode err = U_ZERO_ERROR;
-- // This is a fail-safe method that will set langTag to "und" if it cannot
-- // match any part of the input locale code.
-- int32_t len = uloc_toLanguageTag(locale.get(), langTag, LANG_TAG_CAPACITY,
-- strict, &err);
-- if (U_SUCCESS(err) && len > 0) {
-- aLocale.Assign(langTag, len);
-- }
-- return U_SUCCESS(err);
--}
--
- /**
- * This function splits an input string by `,` delimiter, sanitizes the result
- * language tags and returns them to the caller.
-@@ -93,7 +48,7 @@ static void SplitLocaleListStringIntoArray(nsACString& str,
- if (str.Length() > 0) {
- for (const nsACString& part : str.Split(',')) {
- nsAutoCString locale(part);
-- if (SanitizeForBCP47(locale, true)) {
-+ if (LocaleService::CanonicalizeLanguageId(locale)) {
- if (!aRetVal.Contains(locale)) {
- aRetVal.AppendElement(locale);
- }
-@@ -421,7 +376,7 @@ LocaleService::GetDefaultLocale(nsACString& aRetVal) {
- locale.Trim(" \t\n\r");
- // This should never be empty.
- MOZ_ASSERT(!locale.IsEmpty());
-- if (SanitizeForBCP47(locale, true)) {
-+ if (CanonicalizeLanguageId(locale)) {
- mDefaultLocale.Assign(locale);
- }
-
-@@ -617,7 +572,7 @@ LocaleService::SetRequestedLocales(const nsTArray<nsCString>& aRequested) {
-
- for (auto& req : aRequested) {
- nsAutoCString locale(req);
-- if (!SanitizeForBCP47(locale, true)) {
-+ if (!CanonicalizeLanguageId(locale)) {
- NS_ERROR("Invalid language tag provided to SetRequestedLocales!");
- return NS_ERROR_INVALID_ARG;
- }
-@@ -667,7 +622,7 @@ LocaleService::SetAvailableLocales(const nsTArray<nsCString>& aAvailable) {
-
- for (auto& avail : aAvailable) {
- nsAutoCString locale(avail);
-- if (!SanitizeForBCP47(locale, true)) {
-+ if (!CanonicalizeLanguageId(locale)) {
- NS_ERROR("Invalid language tag provided to SetAvailableLocales!");
- return NS_ERROR_INVALID_ARG;
- }
-diff --git intl/locale/LocaleService.h intl/locale/LocaleService.h
-index 2ff428da3e3fd..5f5152c1fbb7a 100644
---- mozilla-release/intl/locale/LocaleService.h
-+++ mozilla-release/intl/locale/LocaleService.h
-@@ -10,6 +10,7 @@
- #include "nsString.h"
- #include "nsTArray.h"
- #include "nsWeakReference.h"
-+#include "MozLocaleBindings.h"
-
- #include "mozILocaleService.h"
-
-@@ -104,6 +105,23 @@ class LocaleService final : public mozILocaleService,
- return RefPtr<LocaleService>(GetInstance()).forget();
- }
-
-+ /**
-+ * Canonicalize a Unicode Language Identifier string.
-+ *
-+ * The operation is:
-+ * * Normalizing casing (`eN-Us-Windows` -> `en-US-windows`)
-+ * * Switching `_` to `-` (`en_US` -> `en-US`)
-+ * * Rejecting invalid identifiers (`e21-X` sets aLocale to `und` and
-+ * returns false)
-+ * * Normalizing Mozilla's `ja-JP-mac` to `ja-JP-macos`
-+ * * Cutting off POSIX dot postfix (`en-US.utf8` -> `en-US`)
-+ *
-+ * This operation should be used on any external input before
-+ * it gets used in internal operations.
-+ */
-+ static bool CanonicalizeLanguageId(nsACString& aLocale) {
-+ return ffi::unic_langid_canonicalize(&aLocale);
-+ }
- /**
- * This method should only be called in the client mode.
- *
-diff --git intl/locale/OSPreferences.cpp intl/locale/OSPreferences.cpp
-index 283db96e0d718..f816ca57abfea 100644
---- mozilla-release/intl/locale/OSPreferences.cpp
-+++ mozilla-release/intl/locale/OSPreferences.cpp
-@@ -54,19 +54,7 @@ void OSPreferences::Refresh() {
- * It returns true if the canonicalization was successful.
- */
- bool OSPreferences::CanonicalizeLanguageTag(nsCString& aLoc) {
-- char langTag[512];
--
-- UErrorCode status = U_ZERO_ERROR;
--
-- int32_t langTagLen = uloc_toLanguageTag(aLoc.get(), langTag,
-- sizeof(langTag) - 1, false, &status);
--
-- if (U_FAILURE(status)) {
-- return false;
-- }
--
-- aLoc.Assign(langTag, langTagLen);
-- return true;
-+ return LocaleService::CanonicalizeLanguageId(aLoc);
- }
-
- /**
-@@ -291,7 +279,9 @@ OSPreferences::GetRegionalPrefsLocales(nsTArray<nsCString>& aRetVal) {
- return NS_OK;
- }
-
-- return NS_ERROR_FAILURE;
-+ // If we failed to read regional prefs locales,
-+ // use system locales as last fallback.
-+ return GetSystemLocales(aRetVal);
- }
-
- static OSPreferences::DateTimeFormatStyle ToDateTimeFormatStyle(
-diff --git intl/locale/rust/unic-langid-ffi/src/lib.rs intl/locale/rust/unic-langid-ffi/src/lib.rs
-index 701d3679c4cec..517e08c1a64c1 100644
---- mozilla-release/intl/locale/rust/unic-langid-ffi/src/lib.rs
-+++ mozilla-release/intl/locale/rust/unic-langid-ffi/src/lib.rs
-@@ -5,18 +5,39 @@
- use nsstring::nsACString;
- use nsstring::nsCString;
- use thin_vec::ThinVec;
--pub use unic_langid::LanguageIdentifier;
-+pub use unic_langid::{LanguageIdentifier, LanguageIdentifierError};
-+
-+fn new_langid_for_mozilla(name: &nsACString) -> Result<LanguageIdentifier, LanguageIdentifierError> {
-+ if name.eq_ignore_ascii_case(b"ja-jp-mac") {
-+ "ja-JP-macos".parse()
-+ } else {
-+ // Cut out any `.FOO` like `en-US.POSIX`.
-+ let mut name: &[u8] = name.as_ref();
-+ if let Some(ptr) = name.iter().position(|b| b == &b'.') {
-+ name = &name[..ptr];
-+ }
-+ LanguageIdentifier::from_bytes(name)
-+ }
-+}
-+
-+#[no_mangle]
-+pub unsafe extern "C" fn unic_langid_canonicalize(name: &mut nsACString) -> bool {
-+ let langid = new_langid_for_mozilla(name);
-+
-+ let result = langid.is_ok();
-+
-+ name.assign(&langid.unwrap_or_default().to_string());
-+
-+ result
-+}
-+
-
- #[no_mangle]
- pub unsafe extern "C" fn unic_langid_new(
- name: &nsACString,
- ret_val: &mut bool,
- ) -> *mut LanguageIdentifier {
-- let langid = if name.eq_ignore_ascii_case(b"ja-jp-mac") {
-- "ja-JP-macos".parse()
-- } else {
-- LanguageIdentifier::from_bytes(name)
-- };
-+ let langid = new_langid_for_mozilla(name);
-
- *ret_val = langid.is_ok();
- Box::into_raw(Box::new(langid.unwrap_or_default()))
-diff --git intl/locale/tests/gtest/TestLocaleService.cpp intl/locale/tests/gtest/TestLocaleService.cpp
-index b13ecfd237dfa..aaac8615b09fd 100644
---- mozilla-release/intl/locale/tests/gtest/TestLocaleService.cpp
-+++ mozilla-release/intl/locale/tests/gtest/TestLocaleService.cpp
-@@ -10,6 +10,29 @@
-
- using namespace mozilla::intl;
-
-+TEST(Intl_Locale_LocaleService, CanonicalizeLanguageId)
-+{
-+ nsCString locale("en-US.POSIX");
-+ ASSERT_TRUE(LocaleService::CanonicalizeLanguageId(locale));
-+ ASSERT_TRUE(locale.EqualsLiteral("en-US"));
-+
-+ locale.AssignLiteral("en-US_POSIX");
-+ ASSERT_TRUE(LocaleService::CanonicalizeLanguageId(locale));
-+ ASSERT_TRUE(locale.EqualsLiteral("en-US-posix"));
-+
-+ locale.AssignLiteral("en-US-POSIX");
-+ ASSERT_TRUE(LocaleService::CanonicalizeLanguageId(locale));
-+ ASSERT_TRUE(locale.EqualsLiteral("en-US-posix"));
-+
-+ locale.AssignLiteral("C");
-+ ASSERT_FALSE(LocaleService::CanonicalizeLanguageId(locale));
-+ ASSERT_TRUE(locale.EqualsLiteral("und"));
-+
-+ locale.AssignLiteral("");
-+ ASSERT_FALSE(LocaleService::CanonicalizeLanguageId(locale));
-+ ASSERT_TRUE(locale.EqualsLiteral("und"));
-+}
-+
- TEST(Intl_Locale_LocaleService, GetAppLocalesAsBCP47)
- {
- nsTArray<nsCString> appLocales;
-diff --git intl/locale/tests/unit/test_localeService.js intl/locale/tests/unit/test_localeService.js
-index 1970ae94b2607..202c2674972a8 100644
---- mozilla-release/intl/locale/tests/unit/test_localeService.js
-+++ mozilla-release/intl/locale/tests/unit/test_localeService.js
-@@ -204,8 +204,7 @@ add_test(function test_requestedLocales_sanitize() {
- Assert.equal(locales[0], "de");
- Assert.equal(locales[1], "pl");
- Assert.equal(locales[2], "de-AT");
-- Assert.equal(locales[3], "und");
-- Assert.equal(locales.length, 4);
-+ Assert.equal(locales.length, 3);
-
- Services.prefs.clearUserPref(PREF_REQUESTED_LOCALES);
-
diff --git a/www/cliqz/files/patch-bug1612377 b/www/cliqz/files/patch-bug1612377
new file mode 100644
index 000000000000..171700e038a7
--- /dev/null
+++ b/www/cliqz/files/patch-bug1612377
@@ -0,0 +1,212 @@
+Taken from www/firefox
+
+commit f30e2a9e31fa
+Author: Martin Stransky <stransky@redhat.com>
+Date: Thu Mar 26 12:12:40 2020 +0000
+
+ Bug 1612377 [Wayland] Remove moz_container_set_accelerated(), r=jhorak
+
+ Differential Revision: https://phabricator.services.mozilla.com/D68351
+
+ --HG--
+ extra : moz-landing-system : lando
+---
+ widget/gtk/mozcontainer.cpp | 7 +------
+ widget/gtk/mozcontainer.h | 2 --
+ widget/gtk/nsWindow.cpp | 1 -
+ 3 files changed, 1 insertion(+), 9 deletions(-)
+
+diff --git widget/gtk/mozcontainer.cpp widget/gtk/mozcontainer.cpp
+index 0c3833bc8ce3e..d438b67f9baea 100644
+--- mozilla-release/widget/gtk/mozcontainer.cpp
++++ mozilla-release/widget/gtk/mozcontainer.cpp
+@@ -230,7 +230,6 @@ void moz_container_init(MozContainer* container) {
+ container->subsurface_dy = 0;
+ container->surface_position_needs_update = 0;
+ container->initial_draw_cbs.clear();
+- container->is_accelerated = false;
+ #endif
+
+ LOG(("%s [%p]\n", __FUNCTION__, (void*)container));
+@@ -694,14 +693,10 @@ void moz_container_update_opaque_region(MozContainer* container,
+ // When GL compositor / WebRender is used,
+ // moz_container_get_wl_egl_window() is called only once when window
+ // is created or resized so update opaque region now.
+- if (container->is_accelerated) {
++ if (moz_container_has_wl_egl_window(container)) {
+ moz_container_set_opaque_region(container);
+ }
+ }
+-
+-void moz_container_set_accelerated(MozContainer* container) {
+- container->is_accelerated = true;
+-}
+ #endif
+
+ void moz_container_force_default_visual(MozContainer* container) {
+diff --git widget/gtk/mozcontainer.h widget/gtk/mozcontainer.h
+index 6befb992515dc..885dce5c27a1a 100644
+--- mozilla-release/widget/gtk/mozcontainer.h
++++ mozilla-release/widget/gtk/mozcontainer.h
+@@ -87,7 +87,6 @@ struct _MozContainer {
+ gboolean surface_needs_clear;
+ gboolean ready_to_draw;
+ std::vector<std::function<void(void)>> initial_draw_cbs;
+- gboolean is_accelerated;
+ #endif
+ gboolean force_default_visual;
+ };
+@@ -121,7 +120,6 @@ wl_surface* moz_gtk_widget_get_wl_surface(GtkWidget* aWidget);
+ void moz_container_update_opaque_region(MozContainer* container,
+ bool aSubtractCorners,
+ bool aFullScreen);
+-void moz_container_set_accelerated(MozContainer* container);
+ #endif
+
+ #endif /* __MOZ_CONTAINER_H__ */
+diff --git widget/gtk/nsWindow.cpp widget/gtk/nsWindow.cpp
+index 728c1ed7d3226..dbcd8b8ae4941 100644
+--- mozilla-release/widget/gtk/nsWindow.cpp
++++ mozilla-release/widget/gtk/nsWindow.cpp
+@@ -4138,7 +4138,6 @@ nsresult nsWindow::Create(nsIWidget* aParent, nsNativeWidget aNativeParent,
+ self->mNeedsCompositorResume = true;
+ self->MaybeResumeCompositor();
+ });
+- moz_container_set_accelerated(mContainer);
+ }
+ #endif
+
+
+commit 4d1730dd79f9
+Author: Martin Stransky <stransky@redhat.com>
+Date: Thu Mar 26 12:12:48 2020 +0000
+
+ Bug 1612377 [Wayland] Update opaque region and widget scale factor when screen DPI changes, r=jhorak
+
+ - Integrate scale factor setup to moz_container_get_wl_surface() and don't call it explicitly.
+ - No need to set it explicitly at nsWindow::GetWaylandSurface().
+ - Update client offset when scale changes in CSD mode by UpdateClientOffsetFromCSDWindow().
+ - Update scale factor/opaque region on EGL immediately.
+
+ Differential Revision: https://phabricator.services.mozilla.com/D68352
+
+ --HG--
+ extra : moz-landing-system : lando
+---
+ widget/gtk/mozcontainer.cpp | 19 ++++++++++++++++++-
+ widget/gtk/mozcontainer.h | 3 +--
+ widget/gtk/nsWindow.cpp | 29 ++++++++++++++++++++++-------
+ 3 files changed, 41 insertions(+), 10 deletions(-)
+
+diff --git widget/gtk/mozcontainer.cpp widget/gtk/mozcontainer.cpp
+index d438b67f9baea..eff25264d5678 100644
+--- mozilla-release/widget/gtk/mozcontainer.cpp
++++ mozilla-release/widget/gtk/mozcontainer.cpp
+@@ -595,6 +595,22 @@ static void moz_container_set_opaque_region(MozContainer* container) {
+ container->opaque_region_needs_update = false;
+ }
+
++static int moz_gtk_widget_get_scale_factor(MozContainer* container) {
++ static auto sGtkWidgetGetScaleFactor =
++ (gint(*)(GtkWidget*))dlsym(RTLD_DEFAULT, "gtk_widget_get_scale_factor");
++ return sGtkWidgetGetScaleFactor
++ ? sGtkWidgetGetScaleFactor(GTK_WIDGET(container))
++ : 1;
++}
++
++void moz_container_set_scale_factor(MozContainer* container) {
++ if (!container->surface) {
++ return;
++ }
++ wl_surface_set_buffer_scale(container->surface,
++ moz_gtk_widget_get_scale_factor(container));
++}
++
+ struct wl_surface* moz_container_get_wl_surface(MozContainer* container) {
+ LOGWAYLAND(("%s [%p] surface %p ready_to_draw %d\n", __FUNCTION__,
+ (void*)container, (void*)container->surface,
+@@ -645,6 +661,8 @@ struct wl_surface* moz_container_get_wl_surface(MozContainer* container) {
+ }
+
+ moz_container_set_opaque_region(container);
++ moz_container_set_scale_factor(container);
++
+ return container->surface;
+ }
+
+@@ -659,7 +677,6 @@ struct wl_egl_window* moz_container_get_wl_egl_window(MozContainer* container,
+ if (!surface) {
+ return nullptr;
+ }
+- wl_surface_set_buffer_scale(surface, scale);
+ if (!container->eglwindow) {
+ GdkWindow* window = gtk_widget_get_window(GTK_WIDGET(container));
+ container->eglwindow =
+diff --git widget/gtk/mozcontainer.h widget/gtk/mozcontainer.h
+index 885dce5c27a1a..8d40560cf634b 100644
+--- mozilla-release/widget/gtk/mozcontainer.h
++++ mozilla-release/widget/gtk/mozcontainer.h
+@@ -112,8 +112,7 @@ void moz_container_move_resize(MozContainer* container, int dx, int dy,
+ int width, int height);
+ void moz_container_egl_window_set_size(MozContainer* container, int width,
+ int height);
+-void moz_container_scale_changed(MozContainer* container,
+- GtkAllocation* aAllocation);
++void moz_container_set_scale_factor(MozContainer* container);
+ void moz_container_add_initial_draw_callback(
+ MozContainer* container, const std::function<void(void)>& initial_draw_cb);
+ wl_surface* moz_gtk_widget_get_wl_surface(GtkWidget* aWidget);
+diff --git widget/gtk/nsWindow.cpp widget/gtk/nsWindow.cpp
+index dbcd8b8ae4941..be9c29a02ba32 100644
+--- mozilla-release/widget/gtk/nsWindow.cpp
++++ mozilla-release/widget/gtk/nsWindow.cpp
+@@ -2713,7 +2713,7 @@ gboolean nsWindow::OnConfigureEvent(GtkWidget* aWidget,
+ OnSizeAllocate(&allocation);
+ }
+
+- // Client offset are upated by _NET_FRAME_EXTENTS on X11 when system titlebar
++ // Client offset are updated by _NET_FRAME_EXTENTS on X11 when system titlebar
+ // is enabled. In ither cases (Wayland or system titlebar is off on X11)
+ // we don't get _NET_FRAME_EXTENTS X11 property notification so we derive
+ // it from mContainer position.
+@@ -3689,6 +3689,26 @@ void nsWindow::OnScaleChanged(GtkAllocation* aAllocation) {
+ // configure_event is already fired before scale-factor signal,
+ // but size-allocate isn't fired by changing scale
+ OnSizeAllocate(aAllocation);
++
++ // Client offset are updated by _NET_FRAME_EXTENTS on X11 when system titlebar
++ // is enabled. In ither cases (Wayland or system titlebar is off on X11)
++ // we don't get _NET_FRAME_EXTENTS X11 property notification so we derive
++ // it from mContainer position.
++ if (mCSDSupportLevel == CSD_SUPPORT_CLIENT) {
++ if (!mIsX11Display || (mIsX11Display && mDrawInTitlebar)) {
++ UpdateClientOffsetFromCSDWindow();
++ }
++ }
++
++#ifdef MOZ_WAYLAND
++ // We need to update scale and opaque region when scale of egl window
++ // is changed.
++ if (mContainer && moz_container_has_wl_egl_window(mContainer)) {
++ moz_container_set_scale_factor(mContainer);
++ LayoutDeviceIntRegion tmpRegion;
++ UpdateOpaqueRegion(tmpRegion);
++ }
++#endif
+ }
+
+ void nsWindow::DispatchDragEvent(EventMessage aMsg,
+@@ -7618,12 +7638,7 @@ void nsWindow::GetCompositorWidgetInitData(
+ #ifdef MOZ_WAYLAND
+ wl_surface* nsWindow::GetWaylandSurface() {
+ if (mContainer) {
+- struct wl_surface* surface =
+- moz_container_get_wl_surface(MOZ_CONTAINER(mContainer));
+- if (surface != NULL) {
+- wl_surface_set_buffer_scale(surface, GdkScaleFactor());
+- }
+- return surface;
++ return moz_container_get_wl_surface(MOZ_CONTAINER(mContainer));
+ }
+
+ NS_WARNING(
diff --git a/www/cliqz/files/patch-bug1619258 b/www/cliqz/files/patch-bug1619258
new file mode 100644
index 000000000000..1125d9943ac4
--- /dev/null
+++ b/www/cliqz/files/patch-bug1619258
@@ -0,0 +1,103 @@
+Taken from www/firefox
+
+commit 7f9b73f61241
+Author: Martin Stransky <stransky@redhat.com>
+Date: Wed Mar 18 07:01:27 2020 +0000
+
+ Bug 1619258 [Wayland] Enable VA-API for all formats, r=jya
+
+ Differential Revision: https://phabricator.services.mozilla.com/D65536
+
+ --HG--
+ extra : moz-landing-system : lando
+---
+ dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp | 30 ++++++++++++++---------
+ dom/media/platforms/ffmpeg/FFmpegVideoDecoder.h | 1 +
+ 2 files changed, 20 insertions(+), 11 deletions(-)
+
+diff --git dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp
+index 9a71a681eaef5..e0f7504574d6c 100644
+--- mozilla-release/dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp
++++ mozilla-release/dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp
+@@ -42,6 +42,9 @@ typedef int VAStatus;
+ # define VA_STATUS_SUCCESS 0x00000000
+ #endif
+
++// Use some extra HW frames for potential rendering lags.
++#define EXTRA_HW_FRAMES 6
++
+ typedef mozilla::layers::Image Image;
+ typedef mozilla::layers::PlanarYCbCrImage PlanarYCbCrImage;
+
+@@ -135,10 +138,6 @@ VAAPIFrameHolder::~VAAPIFrameHolder() {
+ }
+
+ AVCodec* FFmpegVideoDecoder<LIBAV_VER>::FindVAAPICodec() {
+- if (mCodecID != AV_CODEC_ID_H264) {
+- return nullptr;
+- }
+-
+ AVCodec* decoder = mLib->avcodec_find_decoder(mCodecID);
+ for (int i = 0;; i++) {
+ const AVCodecHWConfig* config = mLib->avcodec_get_hw_config(decoder, i);
+@@ -172,7 +171,6 @@ bool FFmpegVideoDecoder<LIBAV_VER>::CreateVAAPIDeviceContext() {
+
+ MediaResult FFmpegVideoDecoder<LIBAV_VER>::InitVAAPIDecoder() {
+ FFMPEG_LOG("Initialising VA-API FFmpeg decoder");
+- MOZ_ASSERT(mCodecID == AV_CODEC_ID_H264);
+
+ if (!mLib->IsVAAPIAvailable()) {
+ FFMPEG_LOG("libva library is missing");
+@@ -282,11 +280,9 @@ RefPtr<MediaDataDecoder::InitPromise> FFmpegVideoDecoder<LIBAV_VER>::Init() {
+ MediaResult rv;
+
+ #ifdef MOZ_WAYLAND_USE_VAAPI
+- if (mCodecID == AV_CODEC_ID_H264) {
+- rv = InitVAAPIDecoder();
+- if (NS_SUCCEEDED(rv)) {
+- return InitPromise::CreateAndResolve(TrackInfo::kVideoTrack, __func__);
+- }
++ rv = InitVAAPIDecoder();
++ if (NS_SUCCEEDED(rv)) {
++ return InitPromise::CreateAndResolve(TrackInfo::kVideoTrack, __func__);
+ }
+ #endif
+
+@@ -338,7 +334,12 @@ void FFmpegVideoDecoder<LIBAV_VER>::InitVAAPICodecContext() {
+ mCodecContext->height = mInfo.mImage.height;
+ mCodecContext->thread_count = 1;
+ mCodecContext->get_format = ChooseVAAPIPixelFormat;
+- mCodecContext->extra_hw_frames = H264::ComputeMaxRefFrames(mInfo.mExtraData);
++ if (mCodecID == AV_CODEC_ID_H264) {
++ mCodecContext->extra_hw_frames =
++ H264::ComputeMaxRefFrames(mInfo.mExtraData);
++ } else {
++ mCodecContext->extra_hw_frames = EXTRA_HW_FRAMES;
++ }
+ }
+ #endif
+
+@@ -697,4 +698,11 @@ void FFmpegVideoDecoder<LIBAV_VER>::ProcessShutdown() {
+ FFmpegDataDecoder<LIBAV_VER>::ProcessShutdown();
+ }
+
++#ifdef MOZ_WAYLAND_USE_VAAPI
++bool FFmpegVideoDecoder<LIBAV_VER>::IsHardwareAccelerated(
++ nsACString& aFailureReason) const {
++ return !!mVAAPIDeviceContext;
++}
++#endif
++
+ } // namespace mozilla
+diff --git dom/media/platforms/ffmpeg/FFmpegVideoDecoder.h dom/media/platforms/ffmpeg/FFmpegVideoDecoder.h
+index 6158f7bc2f6dd..670cb6203dde0 100644
+--- mozilla-release/dom/media/platforms/ffmpeg/FFmpegVideoDecoder.h
++++ mozilla-release/dom/media/platforms/ffmpeg/FFmpegVideoDecoder.h
+@@ -92,6 +92,7 @@ class FFmpegVideoDecoder<LIBAV_VER>
+ bool CreateVAAPIDeviceContext();
+ void InitVAAPICodecContext();
+ AVCodec* FindVAAPICodec();
++ bool IsHardwareAccelerated(nsACString& aFailureReason) const override;
+
+ MediaResult CreateImageVAAPI(int64_t aOffset, int64_t aPts, int64_t aDuration,
+ MediaDataDecoder::DecodedData& aResults);
diff --git a/www/cliqz/pkg-plist b/www/cliqz/pkg-plist
index e238aac9833b..5452888f5e9c 100644
--- a/www/cliqz/pkg-plist
+++ b/www/cliqz/pkg-plist
@@ -16,10 +16,10 @@ lib/cliqz/cliqz-bin
lib/cliqz/cliqz.cfg
lib/cliqz/defaults/pref/channel-prefs.js
lib/cliqz/dependentlibs.list
+lib/cliqz/fonts/TwemojiMozilla.ttf
lib/cliqz/gmp-clearkey/0.1/libclearkey.so
lib/cliqz/gmp-clearkey/0.1/manifest.json
lib/cliqz/gtk2/libmozgtk.so
-lib/cliqz/libfreebl3.chk
lib/cliqz/libfreebl3.so
lib/cliqz/liblgpllibs.so
lib/cliqz/libmozavcodec.so
@@ -34,7 +34,6 @@ lib/cliqz/libnssutil3.so
lib/cliqz/libplc4.so
lib/cliqz/libplds4.so
lib/cliqz/libsmime3.so
-lib/cliqz/libsoftokn3.chk
lib/cliqz/libsoftokn3.so
lib/cliqz/libssl3.so
lib/cliqz/libxul.so