summaryrefslogtreecommitdiff
path: root/nongnu/packages
diff options
context:
space:
mode:
authorJohn Kehayias <john.kehayias@protonmail.com>2024-10-19 01:26:32 -0400
committerJohn Kehayias <john.kehayias@protonmail.com>2024-10-19 01:26:32 -0400
commitd47b2f5a7bc82fe52825ba4b5ff6cb9362a9fed4 (patch)
tree4a1a9e7cff1c6aff6e1af38cbba886a680963144 /nongnu/packages
parent14c3e1fdc837debd4b0e9e72cd20c81db44c0318 (diff)
nongnu: firefox: Update to 131.0.3 [security fixes].
Fixes CVE-2024-9936 and, in previous versions since 130.0.1, CVE-2024-9680, CVE-2024-9391, CVE-2024-9392, CVE-2024-9393, CVE-2024-9394, CVE-2024-9395, CVE-2024-9396, CVE-2024-9397, CVE-2024-9398, CVE-2024-9399, CVE-2024-9400, CVE-2024-9401, CVE-2024-9402, and CVE-2024-9403. Upstream removed firefox.desktop files which can be generated from their mach tool. However, this will try to download various dependencies. So, for now at least, use a patch which reverts that commit so we can use the included desktop file. In Arch, for example, they include a separate pre-generated desktop file rather than doing this at build time. * nongnu/packages/mozilla.scm (firefox): Update to 131.0.3. * nongnu/packages/patches/firefox-CVE-2024-9680.patch: Delete patch. * nongnu/packages/patches/firefox-restore-desktop-files.patch: Add patch.
Diffstat (limited to 'nongnu/packages')
-rw-r--r--nongnu/packages/mozilla.scm8
-rw-r--r--nongnu/packages/patches/firefox-CVE-2024-9680.patch244
-rw-r--r--nongnu/packages/patches/firefox-restore-desktop-files.patch917
3 files changed, 921 insertions, 248 deletions
diff --git a/nongnu/packages/mozilla.scm b/nongnu/packages/mozilla.scm
index df7cb9c..4c2663b 100644
--- a/nongnu/packages/mozilla.scm
+++ b/nongnu/packages/mozilla.scm
@@ -524,13 +524,13 @@ MOZ_ENABLE_WAYLAND=1 exec ~a $@\n"
;; Update this id with every firefox update to its release date.
;; It's used for cache validation and therefore can lead to strange bugs.
-(define %firefox-build-id "20241010233931")
+(define %firefox-build-id "20241014032024")
(define-public firefox
(package
(inherit firefox-esr)
(name "firefox")
- (version "130.0.1")
+ (version "131.0.3")
(source
(origin
(method url-fetch)
@@ -540,9 +540,9 @@ MOZ_ENABLE_WAYLAND=1 exec ~a $@\n"
(list (search-path
(map (cut string-append <> "/nongnu/packages/patches")
%load-path)
- "firefox-CVE-2024-9680.patch")))
+ "firefox-restore-desktop-files.patch")))
(sha256
- (base32 "0w4z3fq5zhm63a0wmhvmqrj263bvy962dir25q3z0x5hx6hjawh2"))))
+ (base32 "1l30y1pf2kkhnnnazj2x7j1hy3sxz6x9vjj3lbx3wi9pfzwz6zbs"))))
(arguments
(substitute-keyword-arguments (package-arguments firefox-esr)
((#:phases phases)
diff --git a/nongnu/packages/patches/firefox-CVE-2024-9680.patch b/nongnu/packages/patches/firefox-CVE-2024-9680.patch
deleted file mode 100644
index f8fc4a7..0000000
--- a/nongnu/packages/patches/firefox-CVE-2024-9680.patch
+++ /dev/null
@@ -1,244 +0,0 @@
-Patch fetched from https://hg.mozilla.org/releases/mozilla-release/rev/d2a21d941ed5a73a37b3446caa4a49e74ffe854b
-
-# HG changeset patch
-# User Emilio Cobos Álvarez <emilio@crisal.io>
-# Date 1728404712 0
-# Node ID d2a21d941ed5a73a37b3446caa4a49e74ffe854b
-# Parent ca8fc4093e5d03c1a9e4482a95409d59cbafb017
-Bug 1923344 - r=smaug, a=dsmith
-
-Differential Revision: https://phabricator.services.mozilla.com/D224958
-
-diff --git a/dom/animation/AnimationTimeline.cpp b/dom/animation/AnimationTimeline.cpp
---- a/dom/animation/AnimationTimeline.cpp
-+++ b/dom/animation/AnimationTimeline.cpp
-@@ -35,71 +35,64 @@ AnimationTimeline::AnimationTimeline(nsI
- MOZ_ASSERT(mWindow);
- }
-
- AnimationTimeline::~AnimationTimeline() { mAnimationOrder.clear(); }
-
- bool AnimationTimeline::Tick(TickState& aState) {
- bool needsTicks = false;
-
-- nsTArray<Animation*> animationsToRemove;
--
-- for (Animation* animation = mAnimationOrder.getFirst(); animation;
-- animation =
-- static_cast<LinkedListElement<Animation>*>(animation)->getNext()) {
-+ AutoTArray<RefPtr<Animation>, 32> animationsToTick;
-+ for (Animation* animation : mAnimationOrder) {
- MOZ_ASSERT(mAnimations.Contains(animation),
- "The sampling order list should be a subset of the hashset");
- MOZ_ASSERT(!animation->IsHiddenByContentVisibility(),
- "The sampling order list should not contain any animations "
- "that are hidden by content-visibility");
-+ animationsToTick.AppendElement(animation);
-+ }
-
-+ for (Animation* animation : animationsToTick) {
- // Skip any animations that are longer need associated with this timeline.
- if (animation->GetTimeline() != this) {
-- // If animation has some other timeline, it better not be also in the
-- // animation list of this timeline object!
-- MOZ_ASSERT(!animation->GetTimeline());
-- animationsToRemove.AppendElement(animation);
-+ RemoveAnimation(animation);
- continue;
- }
-
- needsTicks |= animation->NeedsTicks();
-- // Even if |animation| doesn't need future ticks, we should still
-- // Tick it this time around since it might just need a one-off tick in
-- // order to dispatch events.
-+ // Even if |animation| doesn't need future ticks, we should still Tick it
-+ // this time around since it might just need a one-off tick in order to
-+ // queue events.
- animation->Tick(aState);
--
- if (!animation->NeedsTicks()) {
-- animationsToRemove.AppendElement(animation);
-+ RemoveAnimation(animation);
- }
- }
-
-- for (Animation* animation : animationsToRemove) {
-- RemoveAnimation(animation);
-- }
--
- return needsTicks;
- }
-
- void AnimationTimeline::NotifyAnimationUpdated(Animation& aAnimation) {
- if (mAnimations.EnsureInserted(&aAnimation)) {
- if (aAnimation.GetTimeline() && aAnimation.GetTimeline() != this) {
- aAnimation.GetTimeline()->RemoveAnimation(&aAnimation);
- }
- if (!aAnimation.IsHiddenByContentVisibility()) {
- mAnimationOrder.insertBack(&aAnimation);
- }
- }
- }
-
- void AnimationTimeline::RemoveAnimation(Animation* aAnimation) {
-- MOZ_ASSERT(!aAnimation->GetTimeline() || aAnimation->GetTimeline() == this);
-- if (static_cast<LinkedListElement<Animation>*>(aAnimation)->isInList()) {
-+ if (static_cast<LinkedListElement<Animation>*>(aAnimation)->isInList() &&
-+ MOZ_LIKELY(!aAnimation->GetTimeline() ||
-+ aAnimation->GetTimeline() == this)) {
-+ static_cast<LinkedListElement<Animation>*>(aAnimation)->remove();
- MOZ_ASSERT(mAnimations.Contains(aAnimation),
- "The sampling order list should be a subset of the hashset");
-- static_cast<LinkedListElement<Animation>*>(aAnimation)->remove();
- }
- mAnimations.Remove(aAnimation);
- }
-
- void AnimationTimeline::NotifyAnimationContentVisibilityChanged(
- Animation* aAnimation, bool aIsVisible) {
- bool inList =
- static_cast<LinkedListElement<Animation>*>(aAnimation)->isInList();
-diff --git a/dom/animation/DocumentTimeline.cpp b/dom/animation/DocumentTimeline.cpp
---- a/dom/animation/DocumentTimeline.cpp
-+++ b/dom/animation/DocumentTimeline.cpp
-@@ -155,17 +155,22 @@ void DocumentTimeline::NotifyAnimationUp
- "We should not register with the refresh driver if we are not"
- " in the document's list of timelines");
- refreshDriver->EnsureAnimationUpdate();
- }
- }
- }
-
- void DocumentTimeline::TriggerAllPendingAnimationsNow() {
-+ AutoTArray<RefPtr<Animation>, 32> animationsToTrigger;
- for (Animation* animation : mAnimationOrder) {
-+ animationsToTrigger.AppendElement(animation);
-+ }
-+
-+ for (Animation* animation : animationsToTrigger) {
- animation->TryTriggerNow();
- }
- }
-
- void DocumentTimeline::WillRefresh() {
- if (!mDocument->GetPresShell()) {
- // If we're not displayed, don't tick animations.
- return;
-@@ -183,19 +188,16 @@ void DocumentTimeline::WillRefresh() {
- }
- // We already assert that GetRefreshDriver() is non-null at the beginning
- // of this function but we check it again here to be sure that ticking
- // animations does not have any side effects that cause us to lose the
- // connection with the refresh driver, such as triggering the destruction
- // of mDocument's PresShell.
- if (nsRefreshDriver* refreshDriver = GetRefreshDriver()) {
- refreshDriver->EnsureAnimationUpdate();
-- } else {
-- MOZ_ASSERT_UNREACHABLE(
-- "Refresh driver should still be valid at end of WillRefresh");
- }
- }
-
- void DocumentTimeline::RemoveAnimation(Animation* aAnimation) {
- AnimationTimeline::RemoveAnimation(aAnimation);
- }
-
- void DocumentTimeline::NotifyAnimationContentVisibilityChanged(
-diff --git a/dom/animation/ScrollTimelineAnimationTracker.cpp b/dom/animation/ScrollTimelineAnimationTracker.cpp
---- a/dom/animation/ScrollTimelineAnimationTracker.cpp
-+++ b/dom/animation/ScrollTimelineAnimationTracker.cpp
-@@ -8,23 +8,20 @@
-
- #include "mozilla/dom/Document.h"
-
- namespace mozilla {
-
- NS_IMPL_CYCLE_COLLECTION(ScrollTimelineAnimationTracker, mPendingSet, mDocument)
-
- void ScrollTimelineAnimationTracker::TriggerPendingAnimations() {
-- for (auto iter = mPendingSet.begin(), end = mPendingSet.end(); iter != end;
-- ++iter) {
-- dom::Animation* animation = *iter;
--
-+ for (RefPtr<dom::Animation>& animation :
-+ ToTArray<AutoTArray<RefPtr<dom::Animation>, 32>>(mPendingSet)) {
- MOZ_ASSERT(animation->GetTimeline() &&
- !animation->GetTimeline()->IsMonotonicallyIncreasing());
--
- // FIXME: Trigger now may not be correct because the spec says:
- // If a user agent determines that animation is immediately ready, it may
- // schedule the task (i.e. ResumeAt()) as a microtask such that it runs at
- // the next microtask checkpoint, but it must not perform the task
- // synchronously.
- // Note: So, for now, we put the animation into the tracker, and trigger
- // them immediately until the frames are ready. Using TriggerOnNextTick()
- // for scroll-driven animations may have issues because we don't tick if
-@@ -34,15 +31,13 @@ void ScrollTimelineAnimationTracker::Tri
- // inactive. It's pretty hard to tell its future status, for example, it's
- // possible that the scroll container is in display:none subtree but the
- // animating element isn't the subtree, then we need to keep tracking the
- // situation until the scroll container gets framed. so in general we make
- // this animation be pending (i.e. not ready) if its scroll-timeline is
- // inactive, and this also matches the current spec definition.
- continue;
- }
--
-- // Note: Remove() is legitimately called once per entry during the loop.
-- mPendingSet.Remove(iter);
-+ mPendingSet.Remove(animation);
- }
- }
-
- } // namespace mozilla
-diff --git a/layout/base/nsRefreshDriver.cpp b/layout/base/nsRefreshDriver.cpp
---- a/layout/base/nsRefreshDriver.cpp
-+++ b/layout/base/nsRefreshDriver.cpp
-@@ -2290,18 +2290,25 @@ void nsRefreshDriver::DetermineProximity
- ShouldCollect);
-
- for (const RefPtr<Document>& doc : documents) {
- MOZ_KnownLive(doc)->DetermineProximityToViewportAndNotifyResizeObservers();
- }
- }
-
- static CallState UpdateAndReduceAnimations(Document& aDocument) {
-- for (DocumentTimeline* timeline : aDocument.Timelines()) {
-- timeline->WillRefresh();
-+ {
-+ AutoTArray<RefPtr<DocumentTimeline>, 32> timelinesToTick;
-+ for (DocumentTimeline* timeline : aDocument.Timelines()) {
-+ timelinesToTick.AppendElement(timeline);
-+ }
-+
-+ for (DocumentTimeline* tl : timelinesToTick) {
-+ tl->WillRefresh();
-+ }
- }
-
- if (nsPresContext* pc = aDocument.GetPresContext()) {
- if (pc->EffectCompositor()->NeedsReducing()) {
- pc->EffectCompositor()->ReduceAnimations();
- }
- }
- aDocument.EnumerateSubDocuments(UpdateAndReduceAnimations);
-@@ -2321,17 +2328,18 @@ void nsRefreshDriver::UpdateAnimationsAn
- // run these, however, until we have fully updated the animation state. As
- // per the "update animations and send events" procedure[1], we should
- // remove replaced animations and then run these microtasks before
- // dispatching the corresponding animation events.
- //
- // [1]:
- // https://drafts.csswg.org/web-animations-1/#update-animations-and-send-events
- nsAutoMicroTask mt;
-- UpdateAndReduceAnimations(*mPresContext->Document());
-+ RefPtr doc = mPresContext->Document();
-+ UpdateAndReduceAnimations(*doc);
- }
-
- // Hold all AnimationEventDispatcher in mAnimationEventFlushObservers as
- // a RefPtr<> array since each AnimationEventDispatcher might be destroyed
- // during processing the previous dispatcher.
- AutoTArray<RefPtr<AnimationEventDispatcher>, 16> dispatchers;
- dispatchers.AppendElements(mAnimationEventFlushObservers);
- mAnimationEventFlushObservers.Clear();
-
diff --git a/nongnu/packages/patches/firefox-restore-desktop-files.patch b/nongnu/packages/patches/firefox-restore-desktop-files.patch
new file mode 100644
index 0000000..62fb618
--- /dev/null
+++ b/nongnu/packages/patches/firefox-restore-desktop-files.patch
@@ -0,0 +1,917 @@
+From: John Kehayias
+Date: Fri, 18 Oct 2024 20:33:02 -0400
+Subject: [PATCH] Revert "Bug 1907512 - Remove duplicated desktop files
+ r=stransky"
+
+This reverts commit 7ac2001cd0d4e1f44f104d9b17a427a009935e20 which removed the desktop files in favor of generating them. See upstream discussion at <https://bugzilla.mozilla.org/show_bug.cgi?id=1901703>.
+
+
+---
+ .../search-provider-files/firefox.desktop | 274 +++++++++++++
+ .../org.mozilla.firefox.desktop | 386 ++++++++++++++++++
+ .../docker/firefox-snap/firefox.desktop | 219 ++++++++++
+ 3 files changed, 879 insertions(+)
+ create mode 100644 browser/components/shell/search-provider-files/firefox.desktop
+ create mode 100644 taskcluster/docker/firefox-flatpak/org.mozilla.firefox.desktop
+ create mode 100644 taskcluster/docker/firefox-snap/firefox.desktop
+
+diff --git a/browser/components/shell/search-provider-files/firefox.desktop b/browser/components/shell/search-provider-files/firefox.desktop
+new file mode 100644
+index 000000000000..575290acddc3
+--- /dev/null
++++ b/browser/components/shell/search-provider-files/firefox.desktop
+@@ -0,0 +1,274 @@
++[Desktop Entry]
++Version=1.0
++Name=Firefox
++GenericName=Web Browser
++GenericName[ca]=Navegador web
++GenericName[cs]=Webový prohlížeč
++GenericName[es]=Navegador web
++GenericName[fa]=مرورگر اینترنتی
++GenericName[fi]=WWW-selain
++GenericName[fr]=Navigateur Web
++GenericName[hu]=Webböngésző
++GenericName[it]=Browser Web
++GenericName[ja]=ウェブ・ブラウザ
++GenericName[ko]=웹 브라우저
++GenericName[nb]=Nettleser
++GenericName[nl]=Webbrowser
++GenericName[nn]=Nettlesar
++GenericName[no]=Nettleser
++GenericName[pl]=Przeglądarka WWW
++GenericName[pt]=Navegador Web
++GenericName[pt_BR]=Navegador Web
++GenericName[sk]=Internetový prehliadač
++GenericName[sv]=Webbläsare
++Comment=Browse the Web
++Comment[ca]=Navegueu per el web
++Comment[cs]=Prohlížení stránek World Wide Webu
++Comment[de]=Im Internet surfen
++Comment[es]=Navegue por la web
++Comment[fa]=صفحات شبکه جهانی اینترنت را مرور نمایید
++Comment[fi]=Selaa Internetin WWW-sivuja
++Comment[fr]=Navigue sur Internet
++Comment[hu]=A világháló böngészése
++Comment[it]=Esplora il web
++Comment[ja]=ウェブを閲覧します
++Comment[ko]=웹을 돌아 다닙니다
++Comment[nb]=Surf på nettet
++Comment[nl]=Verken het internet
++Comment[nn]=Surf på nettet
++Comment[no]=Surf på nettet
++Comment[pl]=Przeglądanie stron WWW
++Comment[pt]=Navegue na Internet
++Comment[pt_BR]=Navegue na Internet
++Comment[sk]=Prehliadanie internetu
++Comment[sv]=Surfa på webben
++Exec=firefox %u
++Icon=firefox
++Terminal=false
++Type=Application
++MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
++StartupNotify=true
++Categories=Network;WebBrowser;
++Keywords=web;browser;internet;
++Actions=new-window;new-private-window;
++DBusActivatable=true
++
++X-Desktop-File-Install-Version=0.24
++
++[Desktop Action new-window]
++Name=Open a New Window
++Name[ach]=Dirica manyen
++Name[af]=Nuwe venster
++Name[an]=Nueva finestra
++Name[ar]=نافذة جديدة
++Name[as]=নতুন উইন্ডো
++Name[ast]=Ventana nueva
++Name[az]=Yeni Pəncərə
++Name[be]=Новае акно
++Name[bg]=Нов прозорец
++Name[bn_BD]=নতুন উইন্ডো (N)
++Name[bn_IN]=নতুন উইন্ডো
++Name[br]=Prenestr nevez
++Name[brx]=गोदान उइन्ड'(N)
++Name[bs]=Novi prozor
++Name[ca]=Finestra nova
++Name[cak]=K'ak'a' tzuwäch
++Name[cs]=Nové okno
++Name[cy]=Ffenestr Newydd
++Name[da]=Nyt vindue
++Name[de]=Neues Fenster
++Name[dsb]=Nowe wokno
++Name[el]=Νέο παράθυρο
++Name[en_GB]=New Window
++Name[en_US]=New Window
++Name[en_ZA]=New Window
++Name[eo]=Nova fenestro
++Name[es_AR]=Nueva ventana
++Name[es_CL]=Nueva ventana
++Name[es_ES]=Nueva ventana
++Name[es_MX]=Nueva ventana
++Name[et]=Uus aken
++Name[eu]=Leiho berria
++Name[fa]=پنجره جدید‌
++Name[ff]=Henorde Hesere
++Name[fi]=Uusi ikkuna
++Name[fr]=Nouvelle fenêtre
++Name[fy_NL]=Nij finster
++Name[ga_IE]=Fuinneog Nua
++Name[gd]=Uinneag ùr
++Name[gl]=Nova xanela
++Name[gn]=Ovetã pyahu
++Name[gu_IN]=નવી વિન્ડો
++Name[he]=חלון חדש
++Name[hi_IN]=नया विंडो
++Name[hr]=Novi prozor
++Name[hsb]=Nowe wokno
++Name[hu]=Új ablak
++Name[hy_AM]=Նոր Պատուհան
++Name[id]=Jendela Baru
++Name[is]=Nýr gluggi
++Name[it]=Nuova finestra
++Name[ja]=新しいウィンドウ
++Name[ja_JP-mac]=新規ウインドウ
++Name[ka]=ახალი ფანჯარა
++Name[kk]=Жаңа терезе
++Name[km]=បង្អួច​​​ថ្មី
++Name[kn]=ಹೊಸ ಕಿಟಕಿ
++Name[ko]=새 창
++Name[kok]=नवें जनेल
++Name[ks]=نئئ وِنڈو
++Name[lij]=Neuvo barcon
++Name[lo]=ຫນ້າຕ່າງໃຫມ່
++Name[lt]=Naujas langas
++Name[ltg]=Jauns lūgs
++Name[lv]=Jauns logs
++Name[mai]=नव विंडो
++Name[mk]=Нов прозорец
++Name[ml]=പുതിയ ജാലകം
++Name[mr]=नवीन पटल
++Name[ms]=Tetingkap Baru
++Name[my]=ဝင်းဒိုးအသစ်
++Name[nb_NO]=Nytt vindu
++Name[ne_NP]=नयाँ सञ्झ्याल
++Name[nl]=Nieuw venster
++Name[nn_NO]=Nytt vindauge
++Name[or]=ନୂତନ ୱିଣ୍ଡୋ
++Name[pa_IN]=ਨਵੀਂ ਵਿੰਡੋ
++Name[pl]=Nowe okno
++Name[pt_BR]=Nova janela
++Name[pt_PT]=Nova janela
++Name[rm]=Nova fanestra
++Name[ro]=Fereastră nouă
++Name[ru]=Новое окно
++Name[sat]=नावा विंडो (N)
++Name[si]=නව කවුළුවක්
++Name[sk]=Nové okno
++Name[sl]=Novo okno
++Name[son]=Zanfun taaga
++Name[sq]=Dritare e Re
++Name[sr]=Нови прозор
++Name[sv_SE]=Nytt fönster
++Name[ta]=புதிய சாளரம்
++Name[te]=కొత్త విండో
++Name[th]=หน้าต่างใหม่
++Name[tr]=Yeni pencere
++Name[tsz]=Eraatarakua jimpani
++Name[uk]=Нове вікно
++Name[ur]=نیا دریچہ
++Name[uz]=Yangi oyna
++Name[vi]=Cửa sổ mới
++Name[wo]=Palanteer bu bees
++Name[xh]=Ifestile entsha
++Name[zh_CN]=新建窗口
++Name[zh_TW]=開新視窗
++
++
++Exec=firefox --new-window %u
++
++[Desktop Action new-private-window]
++Name=Open a New Private Window
++Name[ach]=Dirica manyen me mung
++Name[af]=Nuwe privaatvenster
++Name[an]=Nueva finestra privada
++Name[ar]=نافذة خاصة جديدة
++Name[as]=নতুন ব্যক্তিগত উইন্ডো
++Name[ast]=Ventana privada nueva
++Name[az]=Yeni Məxfi Pəncərə
++Name[be]=Новае акно адасаблення
++Name[bg]=Нов прозорец за поверително сърфиране
++Name[bn_BD]=নতুন ব্যক্তিগত উইন্ডো
++Name[bn_IN]=নতুন ব্যক্তিগত উইন্ডো
++Name[br]=Prenestr merdeiñ prevez nevez
++Name[brx]=गोदान प्राइभेट उइन्ड'
++Name[bs]=Novi privatni prozor
++Name[ca]=Finestra privada nova
++Name[cak]=K'ak'a' ichinan tzuwäch
++Name[cs]=Nové anonymní okno
++Name[cy]=Ffenestr Breifat Newydd
++Name[da]=Nyt privat vindue
++Name[de]=Neues privates Fenster
++Name[dsb]=Nowe priwatne wokno
++Name[el]=Νέο παράθυρο ιδιωτικής περιήγησης
++Name[en_GB]=New Private Window
++Name[en_US]=New Private Window
++Name[en_ZA]=New Private Window
++Name[eo]=Nova privata fenestro
++Name[es_AR]=Nueva ventana privada
++Name[es_CL]=Nueva ventana privada
++Name[es_ES]=Nueva ventana privada
++Name[es_MX]=Nueva ventana privada
++Name[et]=Uus privaatne aken
++Name[eu]=Leiho pribatu berria
++Name[fa]=پنجره ناشناس جدید
++Name[ff]=Henorde Suturo Hesere
++Name[fi]=Uusi yksityinen ikkuna
++Name[fr]=Nouvelle fenêtre de navigation privée
++Name[fy_NL]=Nij priveefinster
++Name[ga_IE]=Fuinneog Nua Phríobháideach
++Name[gd]=Uinneag phrìobhaideach ùr
++Name[gl]=Nova xanela privada
++Name[gn]=Ovetã ñemi pyahu
++Name[gu_IN]=નવી ખાનગી વિન્ડો
++Name[he]=חלון פרטי חדש
++Name[hi_IN]=नयी निजी विंडो
++Name[hr]=Novi privatni prozor
++Name[hsb]=Nowe priwatne wokno
++Name[hu]=Új privát ablak
++Name[hy_AM]=Սկսել Գաղտնի դիտարկում
++Name[id]=Jendela Mode Pribadi Baru
++Name[is]=Nýr huliðsgluggi
++Name[it]=Nuova finestra anonima
++Name[ja]=新しいプライベートウィンドウ
++Name[ja_JP-mac]=新規プライベートウインドウ
++Name[ka]=ახალი პირადი ფანჯარა
++Name[kk]=Жаңа жекелік терезе
++Name[km]=បង្អួច​ឯកជន​ថ្មី
++Name[kn]=ಹೊಸ ಖಾಸಗಿ ಕಿಟಕಿ
++Name[ko]=새 사생활 보호 모드
++Name[kok]=नवो खाजगी विंडो
++Name[ks]=نْو پرایوٹ وینڈو&amp;
++Name[lij]=Neuvo barcon privou
++Name[lo]=ເປີດຫນ້າຕ່າງສວນຕົວຂື້ນມາໃຫມ່
++Name[lt]=Naujas privataus naršymo langas
++Name[ltg]=Jauns privatais lūgs
++Name[lv]=Jauns privātais logs
++Name[mai]=नया निज विंडो (W)
++Name[mk]=Нов приватен прозорец
++Name[ml]=പുതിയ സ്വകാര്യ ജാലകം
++Name[mr]=नवीन वैयक्तिक पटल
++Name[ms]=Tetingkap Persendirian Baharu
++Name[my]=New Private Window
++Name[nb_NO]=Nytt privat vindu
++Name[ne_NP]=नयाँ निजी सञ्झ्याल
++Name[nl]=Nieuw privévenster
++Name[nn_NO]=Nytt privat vindauge
++Name[or]=ନୂତନ ବ୍ୟକ୍ତିଗତ ୱିଣ୍ଡୋ
++Name[pa_IN]=ਨਵੀਂ ਪ੍ਰਾਈਵੇਟ ਵਿੰਡੋ
++Name[pl]=Nowe okno prywatne
++Name[pt_BR]=Nova janela privativa
++Name[pt_PT]=Nova janela privada
++Name[rm]=Nova fanestra privata
++Name[ro]=Fereastră privată nouă
++Name[ru]=Новое приватное окно
++Name[sat]=नावा निजेराक् विंडो (W )
++Name[si]=නව පුද්ගලික කවුළුව (W)
++Name[sk]=Nové okno v režime Súkromné prehliadanie
++Name[sl]=Novo zasebno okno
++Name[son]=Sutura zanfun taaga
++Name[sq]=Dritare e Re Private
++Name[sr]=Нови приватан прозор
++Name[sv_SE]=Nytt privat fönster
++Name[ta]=புதிய தனிப்பட்ட சாளரம்
++Name[te]=కొత్త ఆంతరంగిక విండో
++Name[th]=หน้าต่างส่วนตัวใหม่
++Name[tr]=Yeni gizli pencere
++Name[tsz]=Juchiiti eraatarakua jimpani
++Name[uk]=Приватне вікно
++Name[ur]=نیا نجی دریچہ
++Name[uz]=Yangi maxfiy oyna
++Name[vi]=Cửa sổ riêng tư mới
++Name[wo]=Panlanteeru biir bu bees
++Name[xh]=Ifestile yangasese entsha
++Name[zh_CN]=新建隐私浏览窗口
++Name[zh_TW]=新增隱私視窗
++Exec=firefox --private-window %u
+diff --git a/taskcluster/docker/firefox-flatpak/org.mozilla.firefox.desktop b/taskcluster/docker/firefox-flatpak/org.mozilla.firefox.desktop
+new file mode 100644
+index 000000000000..21c3e7aec0f4
+--- /dev/null
++++ b/taskcluster/docker/firefox-flatpak/org.mozilla.firefox.desktop
+@@ -0,0 +1,386 @@
++[Desktop Entry]
++Version=1.0
++Name=Firefox Web Browser
++Name[ar]=متصفح الويب فَيَرفُكْس
++Name[ast]=Restolador web Firefox
++Name[bn]=ফায়ারফক্স ওয়েব ব্রাউজার
++Name[ca]=Navegador web Firefox
++Name[cs]=Firefox Webový prohlížeč
++Name[da]=Firefox - internetbrowser
++Name[el]=Περιηγητής Firefox
++Name[es]=Navegador web Firefox
++Name[et]=Firefoxi veebibrauser
++Name[fa]=مرورگر اینترنتی Firefox
++Name[fi]=Firefox-selain
++Name[fr]=Navigateur Web Firefox
++Name[gl]=Navegador web Firefox
++Name[he]=דפדפן האינטרנט Firefox
++Name[hr]=Firefox web preglednik
++Name[hu]=Firefox webböngésző
++Name[it]=Firefox Browser Web
++Name[ja]=Firefox ウェブ・ブラウザ
++Name[ko]=Firefox 웹 브라우저
++Name[ku]=Geroka torê Firefox
++Name[lt]=Firefox interneto naršyklė
++Name[nb]=Firefox Nettleser
++Name[nl]=Firefox webbrowser
++Name[nn]=Firefox Nettlesar
++Name[no]=Firefox Nettleser
++Name[pl]=Przeglądarka WWW Firefox
++Name[pt]=Firefox Navegador Web
++Name[pt_BR]=Navegador Web Firefox
++Name[ro]=Firefox – Navigator Internet
++Name[ru]=Веб-браузер Firefox
++Name[sk]=Firefox - internetový prehliadač
++Name[sl]=Firefox spletni brskalnik
++Name[sv]=Firefox webbläsare
++Name[tr]=Firefox Web Tarayıcısı
++Name[ug]=Firefox توركۆرگۈ
++Name[uk]=Веб-браузер Firefox
++Name[vi]=Trình duyệt web Firefox
++Name[zh_CN]=Firefox 网络浏览器
++Name[zh_TW]=Firefox 網路瀏覽器
++Comment=Browse the World Wide Web
++Comment[ar]=تصفح الشبكة العنكبوتية العالمية
++Comment[ast]=Restola pela Rede
++Comment[bn]=ইন্টারনেট ব্রাউজ করুন
++Comment[ca]=Navegueu per la web
++Comment[cs]=Prohlížení stránek World Wide Webu
++Comment[da]=Surf på internettet
++Comment[de]=Im Internet surfen
++Comment[el]=Μπορείτε να περιηγηθείτε στο διαδίκτυο (Web)
++Comment[es]=Navegue por la web
++Comment[et]=Lehitse veebi
++Comment[fa]=صفحات شبکه جهانی اینترنت را مرور نمایید
++Comment[fi]=Selaa Internetin WWW-sivuja
++Comment[fr]=Naviguer sur le Web
++Comment[gl]=Navegar pola rede
++Comment[he]=גלישה ברחבי האינטרנט
++Comment[hr]=Pretražite web
++Comment[hu]=A világháló böngészése
++Comment[it]=Esplora il web
++Comment[ja]=ウェブを閲覧します
++Comment[ko]=웹을 돌아 다닙니다
++Comment[ku]=Li torê bigere
++Comment[lt]=Naršykite internete
++Comment[nb]=Surf på nettet
++Comment[nl]=Verken het internet
++Comment[nn]=Surf på nettet
++Comment[no]=Surf på nettet
++Comment[pl]=Przeglądanie stron WWW
++Comment[pt]=Navegue na Internet
++Comment[pt_BR]=Navegue na Internet
++Comment[ro]=Navigați pe Internet
++Comment[ru]=Доступ в Интернет
++Comment[sk]=Prehliadanie internetu
++Comment[sl]=Brskajte po spletu
++Comment[sv]=Surfa på webben
++Comment[tr]=İnternet'te Gezinin
++Comment[ug]=دۇنيادىكى توربەتلەرنى كۆرگىلى بولىدۇ
++Comment[uk]=Перегляд сторінок Інтернету
++Comment[vi]=Để duyệt các trang web
++Comment[zh_CN]=浏览互联网
++Comment[zh_TW]=瀏覽網際網路
++GenericName=Web Browser
++GenericName[ar]=متصفح ويب
++GenericName[ast]=Restolador Web
++GenericName[bn]=ওয়েব ব্রাউজার
++GenericName[ca]=Navegador web
++GenericName[cs]=Webový prohlížeč
++GenericName[da]=Webbrowser
++GenericName[el]=Περιηγητής διαδικτύου
++GenericName[es]=Navegador web
++GenericName[et]=Veebibrauser
++GenericName[fa]=مرورگر اینترنتی
++GenericName[fi]=WWW-selain
++GenericName[fr]=Navigateur Web
++GenericName[gl]=Navegador Web
++GenericName[he]=דפדפן אינטרנט
++GenericName[hr]=Web preglednik
++GenericName[hu]=Webböngésző
++GenericName[it]=Browser web
++GenericName[ja]=ウェブ・ブラウザ
++GenericName[ko]=웹 브라우저
++GenericName[ku]=Geroka torê
++GenericName[lt]=Interneto naršyklė
++GenericName[nb]=Nettleser
++GenericName[nl]=Webbrowser
++GenericName[nn]=Nettlesar
++GenericName[no]=Nettleser
++GenericName[pl]=Przeglądarka WWW
++GenericName[pt]=Navegador Web
++GenericName[pt_BR]=Navegador Web
++GenericName[ro]=Navigator Internet
++GenericName[ru]=Веб-браузер
++GenericName[sk]=Internetový prehliadač
++GenericName[sl]=Spletni brskalnik
++GenericName[sv]=Webbläsare
++GenericName[tr]=Web Tarayıcı
++GenericName[ug]=توركۆرگۈ
++GenericName[uk]=Веб-браузер
++GenericName[vi]=Trình duyệt Web
++GenericName[zh_CN]=网络浏览器
++GenericName[zh_TW]=網路瀏覽器
++Keywords=Internet;WWW;Browser;Web;Explorer
++Keywords[ar]=انترنت;إنترنت;متصفح;ويب;وب
++Keywords[ast]=Internet;WWW;Restolador;Web;Esplorador
++Keywords[ca]=Internet;WWW;Navegador;Web;Explorador;Explorer
++Keywords[cs]=Internet;WWW;Prohlížeč;Web;Explorer
++Keywords[da]=Internet;Internettet;WWW;Browser;Browse;Web;Surf;Nettet
++Keywords[de]=Internet;WWW;Browser;Web;Explorer;Webseite;Site;surfen;online;browsen
++Keywords[el]=Internet;WWW;Browser;Web;Explorer;Διαδίκτυο;Περιηγητής;Firefox;Φιρεφοχ;Ιντερνετ
++Keywords[es]=Explorador;Internet;WWW
++Keywords[fi]=Internet;WWW;Browser;Web;Explorer;selain;Internet-selain;internetselain;verkkoselain;netti;surffaa
++Keywords[fr]=Internet;WWW;Browser;Web;Explorer;Fureteur;Surfer;Navigateur
++Keywords[he]=דפדפן;אינטרנט;רשת;אתרים;אתר;פיירפוקס;מוזילה;
++Keywords[hr]=Internet;WWW;preglednik;Web
++Keywords[hu]=Internet;WWW;Böngésző;Web;Háló;Net;Explorer
++Keywords[it]=Internet;WWW;Browser;Web;Navigatore
++Keywords[is]=Internet;WWW;Vafri;Vefur;Netvafri;Flakk
++Keywords[ja]=Internet;WWW;Web;インターネット;ブラウザ;ウェブ;エクスプローラ
++Keywords[nb]=Internett;WWW;Nettleser;Explorer;Web;Browser;Nettside
++Keywords[nl]=Internet;WWW;Browser;Web;Explorer;Verkenner;Website;Surfen;Online
++Keywords[pt]=Internet;WWW;Browser;Web;Explorador;Navegador
++Keywords[pt_BR]=Internet;WWW;Browser;Web;Explorador;Navegador
++Keywords[ru]=Internet;WWW;Browser;Web;Explorer;интернет;браузер;веб;файрфокс;огнелис
++Keywords[sk]=Internet;WWW;Prehliadač;Web;Explorer
++Keywords[sl]=Internet;WWW;Browser;Web;Explorer;Brskalnik;Splet
++Keywords[tr]=İnternet;WWW;Tarayıcı;Web;Gezgin;Web sitesi;Site;sörf;çevrimiçi;tara
++Keywords[uk]=Internet;WWW;Browser;Web;Explorer;Інтернет;мережа;переглядач;оглядач;браузер;веб;файрфокс;вогнелис;перегляд
++Keywords[vi]=Internet;WWW;Browser;Web;Explorer;Trình duyệt;Trang web
++Keywords[zh_CN]=Internet;WWW;Browser;Web;Explorer;网页;浏览;上网;火狐;Firefox;ff;互联网;网站;
++Keywords[zh_TW]=Internet;WWW;Browser;Web;Explorer;網際網路;網路;瀏覽器;上網;網頁;火狐
++Exec=firefox %u
++Icon=org.mozilla.firefox
++Terminal=false
++Type=Application
++MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
++StartupNotify=true
++Categories=Network;WebBrowser;
++Actions=new-window;new-private-window;profile-manager-window;
++StartupWMClass=firefox
++
++
++[Desktop Action new-window]
++Name=Open a New Window
++Name[ach]=Dirica manyen
++Name[af]=Nuwe venster
++Name[an]=Nueva finestra
++Name[ar]=نافذة جديدة
++Name[as]=নতুন উইন্ডো
++Name[ast]=Ventana nueva
++Name[az]=Yeni Pəncərə
++Name[be]=Новае акно
++Name[bg]=Нов прозорец
++Name[bn_BD]=নতুন উইন্ডো (N)
++Name[bn_IN]=নতুন উইন্ডো
++Name[br]=Prenestr nevez
++Name[brx]=गोदान उइन्ड'(N)
++Name[bs]=Novi prozor
++Name[ca]=Finestra nova
++Name[cak]=K'ak'a' tzuwäch
++Name[cs]=Nové okno
++Name[cy]=Ffenestr Newydd
++Name[da]=Nyt vindue
++Name[de]=Neues Fenster
++Name[dsb]=Nowe wokno
++Name[el]=Νέο παράθυρο
++Name[en_GB]=New Window
++Name[en_US]=New Window
++Name[en_ZA]=New Window
++Name[eo]=Nova fenestro
++Name[es_AR]=Nueva ventana
++Name[es_CL]=Nueva ventana
++Name[es_ES]=Nueva ventana
++Name[es_MX]=Nueva ventana
++Name[et]=Uus aken
++Name[eu]=Leiho berria
++Name[fa]=پنجره جدید‌
++Name[ff]=Henorde Hesere
++Name[fi]=Uusi ikkuna
++Name[fr]=Nouvelle fenêtre
++Name[fy_NL]=Nij finster
++Name[ga_IE]=Fuinneog Nua
++Name[gd]=Uinneag ùr
++Name[gl]=Nova xanela
++Name[gn]=Ovetã pyahu
++Name[gu_IN]=નવી વિન્ડો
++Name[he]=חלון חדש
++Name[hi_IN]=नया विंडो
++Name[hr]=Novi prozor
++Name[hsb]=Nowe wokno
++Name[hu]=Új ablak
++Name[hy_AM]=Նոր Պատուհան
++Name[id]=Jendela Baru
++Name[is]=Nýr gluggi
++Name[it]=Nuova finestra
++Name[ja]=新しいウィンドウ
++Name[ja_JP]=新規ウインドウ
++Name[ka]=ახალი ფანჯარა
++Name[kk]=Жаңа терезе
++Name[km]=បង្អួច​​​ថ្មី
++Name[kn]=ಹೊಸ ಕಿಟಕಿ
++Name[ko]=새 창
++Name[kok]=नवें जनेल
++Name[ks]=نئئ وِنڈو
++Name[lij]=Neuvo barcon
++Name[lo]=ຫນ້າຕ່າງໃຫມ່
++Name[lt]=Naujas langas
++Name[ltg]=Jauns lūgs
++Name[lv]=Jauns logs
++Name[mai]=नव विंडो
++Name[mk]=Нов прозорец
++Name[ml]=പുതിയ ജാലകം
++Name[mr]=नवीन पटल
++Name[ms]=Tetingkap Baru
++Name[my]=ဝင်းဒိုးအသစ်
++Name[nb_NO]=Nytt vindu
++Name[ne_NP]=नयाँ सञ्झ्याल
++Name[nl]=Nieuw venster
++Name[nn_NO]=Nytt vindauge
++Name[or]=ନୂତନ ୱିଣ୍ଡୋ
++Name[pa_IN]=ਨਵੀਂ ਵਿੰਡੋ
++Name[pl]=Nowe okno
++Name[pt_BR]=Nova janela
++Name[pt_PT]=Nova janela
++Name[rm]=Nova fanestra
++Name[ro]=Fereastră nouă
++Name[ru]=Новое окно
++Name[sat]=नावा विंडो (N)
++Name[si]=නව කවුළුවක්
++Name[sk]=Nové okno
++Name[sl]=Novo okno
++Name[son]=Zanfun taaga
++Name[sq]=Dritare e Re
++Name[sr]=Нови прозор
++Name[sv_SE]=Nytt fönster
++Name[ta]=புதிய சாளரம்
++Name[te]=కొత్త విండో
++Name[th]=หน้าต่างใหม่
++Name[tr]=Yeni pencere
++Name[tsz]=Eraatarakua jimpani
++Name[uk]=Нове вікно
++Name[ur]=نیا دریچہ
++Name[uz]=Yangi oyna
++Name[vi]=Cửa sổ mới
++Name[wo]=Palanteer bu bees
++Name[xh]=Ifestile entsha
++Name[zh_CN]=新建窗口
++Name[zh_TW]=開新視窗
++Exec=firefox --new-window %u
++
++[Desktop Action new-private-window]
++Name=Open a New Private Window
++Name[ach]=Dirica manyen me mung
++Name[af]=Nuwe privaatvenster
++Name[an]=Nueva finestra privada
++Name[ar]=نافذة خاصة جديدة
++Name[as]=নতুন ব্যক্তিগত উইন্ডো
++Name[ast]=Ventana privada nueva
++Name[az]=Yeni Məxfi Pəncərə
++Name[be]=Новае акно адасаблення
++Name[bg]=Нов прозорец за поверително сърфиране
++Name[bn_BD]=নতুন ব্যক্তিগত উইন্ডো
++Name[bn_IN]=নতুন ব্যক্তিগত উইন্ডো
++Name[br]=Prenestr merdeiñ prevez nevez
++Name[brx]=गोदान प्राइभेट उइन्ड'
++Name[bs]=Novi privatni prozor
++Name[ca]=Finestra privada nova
++Name[cak]=K'ak'a' ichinan tzuwäch
++Name[cs]=Nové anonymní okno
++Name[cy]=Ffenestr Breifat Newydd
++Name[da]=Nyt privat vindue
++Name[de]=Neues privates Fenster
++Name[dsb]=Nowe priwatne wokno
++Name[el]=Νέο παράθυρο ιδιωτικής περιήγησης
++Name[en_GB]=New Private Window
++Name[en_US]=New Private Window
++Name[en_ZA]=New Private Window
++Name[eo]=Nova privata fenestro
++Name[es_AR]=Nueva ventana privada
++Name[es_CL]=Nueva ventana privada
++Name[es_ES]=Nueva ventana privada
++Name[es_MX]=Nueva ventana privada
++Name[et]=Uus privaatne aken
++Name[eu]=Leiho pribatu berria
++Name[fa]=پنجره ناشناس جدید
++Name[ff]=Henorde Suturo Hesere
++Name[fi]=Uusi yksityinen ikkuna
++Name[fr]=Nouvelle fenêtre de navigation privée
++Name[fy_NL]=Nij priveefinster
++Name[ga_IE]=Fuinneog Nua Phríobháideach
++Name[gd]=Uinneag phrìobhaideach ùr
++Name[gl]=Nova xanela privada
++Name[gn]=Ovetã ñemi pyahu
++Name[gu_IN]=નવી ખાનગી વિન્ડો
++Name[he]=חלון פרטי חדש
++Name[hi_IN]=नयी निजी विंडो
++Name[hr]=Novi privatni prozor
++Name[hsb]=Nowe priwatne wokno
++Name[hu]=Új privát ablak
++Name[hy_AM]=Սկսել Գաղտնի դիտարկում
++Name[id]=Jendela Mode Pribadi Baru
++Name[is]=Nýr huliðsgluggi
++Name[it]=Nuova finestra anonima
++Name[ja]=新しいプライベートウィンドウ
++Name[ja_JP]=新規プライベートウインドウ
++Name[ka]=ახალი პირადი ფანჯარა
++Name[kk]=Жаңа жекелік терезе
++Name[km]=បង្អួច​ឯកជន​ថ្មី
++Name[kn]=ಹೊಸ ಖಾಸಗಿ ಕಿಟಕಿ
++Name[ko]=새 사생활 보호 모드
++Name[kok]=नवो खाजगी विंडो
++Name[ks]=نْو پرایوٹ وینڈو&amp;
++Name[lij]=Neuvo barcon privou
++Name[lo]=ເປີດຫນ້າຕ່າງສວນຕົວຂື້ນມາໃຫມ່
++Name[lt]=Naujas privataus naršymo langas
++Name[ltg]=Jauns privatais lūgs
++Name[lv]=Jauns privātais logs
++Name[mai]=नया निज विंडो (W)
++Name[mk]=Нов приватен прозорец
++Name[ml]=പുതിയ സ്വകാര്യ ജാലകം
++Name[mr]=नवीन वैयक्तिक पटल
++Name[ms]=Tetingkap Persendirian Baharu
++Name[my]=New Private Window
++Name[nb_NO]=Nytt privat vindu
++Name[ne_NP]=नयाँ निजी सञ्झ्याल
++Name[nl]=Nieuw privévenster
++Name[nn_NO]=Nytt privat vindauge
++Name[or]=ନୂତନ ବ୍ୟକ୍ତିଗତ ୱିଣ୍ଡୋ
++Name[pa_IN]=ਨਵੀਂ ਪ੍ਰਾਈਵੇਟ ਵਿੰਡੋ
++Name[pl]=Nowe okno prywatne
++Name[pt_BR]=Nova janela privativa
++Name[pt_PT]=Nova janela privada
++Name[rm]=Nova fanestra privata
++Name[ro]=Fereastră privată nouă
++Name[ru]=Новое приватное окно
++Name[sat]=नावा निजेराक् विंडो (W )
++Name[si]=නව පුද්ගලික කවුළුව (W)
++Name[sk]=Nové okno v režime Súkromné prehliadanie
++Name[sl]=Novo zasebno okno
++Name[son]=Sutura zanfun taaga
++Name[sq]=Dritare e Re Private
++Name[sr]=Нови приватан прозор
++Name[sv_SE]=Nytt privat fönster
++Name[ta]=புதிய தனிப்பட்ட சாளரம்
++Name[te]=కొత్త ఆంతరంగిక విండో
++Name[th]=หน้าต่างส่วนตัวใหม่
++Name[tr]=Yeni gizli pencere
++Name[tsz]=Juchiiti eraatarakua jimpani
++Name[uk]=Приватне вікно
++Name[ur]=نیا نجی دریچہ
++Name[uz]=Yangi maxfiy oyna
++Name[vi]=Cửa sổ riêng tư mới
++Name[wo]=Panlanteeru biir bu bees
++Name[xh]=Ifestile yangasese entsha
++Name[zh_CN]=新建隐私浏览窗口
++Name[zh_TW]=新增隱私視窗
++Exec=firefox --private-window %u
++
++[Desktop Action profile-manager-window]
++Name=Open the Profile Manager
++Name[cs]=Správa profilů
++Name[de]=Profilverwaltung öffnen
++Name[es]=Abrir el Gestor de Perfiles
++Name[fr]=Ouvrir le gestionnaire de profils
++Exec=firefox --ProfileManager
+diff --git a/taskcluster/docker/firefox-snap/firefox.desktop b/taskcluster/docker/firefox-snap/firefox.desktop
+new file mode 100644
+index 000000000000..73e36e8d83de
+--- /dev/null
++++ b/taskcluster/docker/firefox-snap/firefox.desktop
+@@ -0,0 +1,219 @@
++[Desktop Entry]
++Version=1.0
++Name=Firefox Web Browser
++Name[ar]=متصفح الويب فَيَرفُكْس
++Name[ast]=Restolador web Firefox
++Name[bn]=ফায়ারফক্স ওয়েব ব্রাউজার
++Name[ca]=Navegador web Firefox
++Name[cs]=Firefox Webový prohlížeč
++Name[da]=Firefox - internetbrowser
++Name[el]=Περιηγητής Firefox
++Name[es]=Navegador web Firefox
++Name[et]=Firefoxi veebibrauser
++Name[fa]=مرورگر اینترنتی Firefox
++Name[fi]=Firefox-selain
++Name[fr]=Navigateur Web Firefox
++Name[gl]=Navegador web Firefox
++Name[he]=דפדפן האינטרנט Firefox
++Name[hr]=Firefox web preglednik
++Name[hu]=Firefox webböngésző
++Name[it]=Firefox Browser Web
++Name[ja]=Firefox ウェブ・ブラウザ
++Name[ko]=Firefox 웹 브라우저
++Name[ku]=Geroka torê Firefox
++Name[lt]=Firefox interneto naršyklė
++Name[nb]=Firefox Nettleser
++Name[nl]=Firefox webbrowser
++Name[nn]=Firefox Nettlesar
++Name[no]=Firefox Nettleser
++Name[pl]=Przeglądarka WWW Firefox
++Name[pt]=Firefox Navegador Web
++Name[pt_BR]=Navegador Web Firefox
++Name[ro]=Firefox – Navigator Internet
++Name[ru]=Веб-браузер Firefox
++Name[sk]=Firefox - internetový prehliadač
++Name[sl]=Firefox spletni brskalnik
++Name[sv]=Firefox webbläsare
++Name[tr]=Firefox Web Tarayıcısı
++Name[ug]=Firefox توركۆرگۈ
++Name[uk]=Веб-браузер Firefox
++Name[vi]=Trình duyệt web Firefox
++Name[zh_CN]=Firefox 网络浏览器
++Name[zh_TW]=Firefox 網路瀏覽器
++Comment=Browse the World Wide Web
++Comment[ar]=تصفح الشبكة العنكبوتية العالمية
++Comment[ast]=Restola pela Rede
++Comment[bn]=ইন্টারনেট ব্রাউজ করুন
++Comment[ca]=Navegueu per la web
++Comment[cs]=Prohlížení stránek World Wide Webu
++Comment[da]=Surf på internettet
++Comment[de]=Im Internet surfen
++Comment[el]=Μπορείτε να περιηγηθείτε στο διαδίκτυο (Web)
++Comment[es]=Navegue por la web
++Comment[et]=Lehitse veebi
++Comment[fa]=صفحات شبکه جهانی اینترنت را مرور نمایید
++Comment[fi]=Selaa Internetin WWW-sivuja
++Comment[fr]=Naviguer sur le Web
++Comment[gl]=Navegar pola rede
++Comment[he]=גלישה ברחבי האינטרנט
++Comment[hr]=Pretražite web
++Comment[hu]=A világháló böngészése
++Comment[it]=Esplora il web
++Comment[ja]=ウェブを閲覧します
++Comment[ko]=웹을 돌아 다닙니다
++Comment[ku]=Li torê bigere
++Comment[lt]=Naršykite internete
++Comment[nb]=Surf på nettet
++Comment[nl]=Verken het internet
++Comment[nn]=Surf på nettet
++Comment[no]=Surf på nettet
++Comment[pl]=Przeglądanie stron WWW
++Comment[pt]=Navegue na Internet
++Comment[pt_BR]=Navegue na Internet
++Comment[ro]=Navigați pe Internet
++Comment[ru]=Доступ в Интернет
++Comment[sk]=Prehliadanie internetu
++Comment[sl]=Brskajte po spletu
++Comment[sv]=Surfa på webben
++Comment[tr]=İnternet'te Gezinin
++Comment[ug]=دۇنيادىكى توربەتلەرنى كۆرگىلى بولىدۇ
++Comment[uk]=Перегляд сторінок Інтернету
++Comment[vi]=Để duyệt các trang web
++Comment[zh_CN]=浏览互联网
++Comment[zh_TW]=瀏覽網際網路
++GenericName=Web Browser
++GenericName[ar]=متصفح ويب
++GenericName[ast]=Restolador Web
++GenericName[bn]=ওয়েব ব্রাউজার
++GenericName[ca]=Navegador web
++GenericName[cs]=Webový prohlížeč
++GenericName[da]=Webbrowser
++GenericName[el]=Περιηγητής διαδικτύου
++GenericName[es]=Navegador web
++GenericName[et]=Veebibrauser
++GenericName[fa]=مرورگر اینترنتی
++GenericName[fi]=WWW-selain
++GenericName[fr]=Navigateur Web
++GenericName[gl]=Navegador Web
++GenericName[he]=דפדפן אינטרנט
++GenericName[hr]=Web preglednik
++GenericName[hu]=Webböngésző
++GenericName[it]=Browser web
++GenericName[ja]=ウェブ・ブラウザ
++GenericName[ko]=웹 브라우저
++GenericName[ku]=Geroka torê
++GenericName[lt]=Interneto naršyklė
++GenericName[nb]=Nettleser
++GenericName[nl]=Webbrowser
++GenericName[nn]=Nettlesar
++GenericName[no]=Nettleser
++GenericName[pl]=Przeglądarka WWW
++GenericName[pt]=Navegador Web
++GenericName[pt_BR]=Navegador Web
++GenericName[ro]=Navigator Internet
++GenericName[ru]=Веб-браузер
++GenericName[sk]=Internetový prehliadač
++GenericName[sl]=Spletni brskalnik
++GenericName[sv]=Webbläsare
++GenericName[tr]=Web Tarayıcı
++GenericName[ug]=توركۆرگۈ
++GenericName[uk]=Веб-браузер
++GenericName[vi]=Trình duyệt Web
++GenericName[zh_CN]=网络浏览器
++GenericName[zh_TW]=網路瀏覽器
++Keywords=Internet;WWW;Browser;Web;Explorer
++Keywords[ar]=انترنت;إنترنت;متصفح;ويب;وب
++Keywords[ast]=Internet;WWW;Restolador;Web;Esplorador
++Keywords[ca]=Internet;WWW;Navegador;Web;Explorador;Explorer
++Keywords[cs]=Internet;WWW;Prohlížeč;Web;Explorer
++Keywords[da]=Internet;Internettet;WWW;Browser;Browse;Web;Surf;Nettet
++Keywords[de]=Internet;WWW;Browser;Web;Explorer;Webseite;Site;surfen;online;browsen
++Keywords[el]=Internet;WWW;Browser;Web;Explorer;Διαδίκτυο;Περιηγητής;Firefox;Φιρεφοχ;Ιντερνετ
++Keywords[es]=Explorador;Internet;WWW
++Keywords[fi]=Internet;WWW;Browser;Web;Explorer;selain;Internet-selain;internetselain;verkkoselain;netti;surffaa
++Keywords[fr]=Internet;WWW;Browser;Web;Explorer;Fureteur;Surfer;Navigateur
++Keywords[he]=דפדפן;אינטרנט;רשת;אתרים;אתר;פיירפוקס;מוזילה;
++Keywords[hr]=Internet;WWW;preglednik;Web
++Keywords[hu]=Internet;WWW;Böngésző;Web;Háló;Net;Explorer
++Keywords[it]=Internet;WWW;Browser;Web;Navigatore
++Keywords[is]=Internet;WWW;Vafri;Vefur;Netvafri;Flakk
++Keywords[ja]=Internet;WWW;Web;インターネット;ブラウザ;ウェブ;エクスプローラ
++Keywords[nb]=Internett;WWW;Nettleser;Explorer;Web;Browser;Nettside
++Keywords[nl]=Internet;WWW;Browser;Web;Explorer;Verkenner;Website;Surfen;Online
++Keywords[pt]=Internet;WWW;Browser;Web;Explorador;Navegador
++Keywords[pt_BR]=Internet;WWW;Browser;Web;Explorador;Navegador
++Keywords[ru]=Internet;WWW;Browser;Web;Explorer;интернет;браузер;веб;файрфокс;огнелис
++Keywords[sk]=Internet;WWW;Prehliadač;Web;Explorer
++Keywords[sl]=Internet;WWW;Browser;Web;Explorer;Brskalnik;Splet
++Keywords[tr]=İnternet;WWW;Tarayıcı;Web;Gezgin;Web sitesi;Site;sörf;çevrimiçi;tara
++Keywords[uk]=Internet;WWW;Browser;Web;Explorer;Інтернет;мережа;переглядач;оглядач;браузер;веб;файрфокс;вогнелис;перегляд
++Keywords[vi]=Internet;WWW;Browser;Web;Explorer;Trình duyệt;Trang web
++Keywords[zh_CN]=Internet;WWW;Browser;Web;Explorer;网页;浏览;上网;火狐;Firefox;ff;互联网;网站;
++Keywords[zh_TW]=Internet;WWW;Browser;Web;Explorer;網際網路;網路;瀏覽器;上網;網頁;火狐
++Exec=firefox %u
++Terminal=false
++X-MultipleArgs=false
++Type=Application
++Icon=/browser/chrome/icons/default/default128.png
++Categories=GNOME;GTK;Network;WebBrowser;
++MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;x-scheme-handler/chrome;video/webm;application/x-xpinstall;
++StartupNotify=true
++Actions=NewWindow;NewPrivateWindow;
++
++[Desktop Action NewWindow]
++Name=Open a New Window
++Name[ar]=افتح نافذة جديدة
++Name[ast]=Abrir una ventana nueva
++Name[bn]=Abrir una ventana nueva
++Name[ca]=Obre una finestra nova
++Name[cs]=Otevřít nové okno
++Name[da]=Åbn et nyt vindue
++Name[de]=Ein neues Fenster öffnen
++Name[el]=Άνοιγμα νέου παραθύρου
++Name[es]=Abrir una ventana nueva
++Name[fi]=Avaa uusi ikkuna
++Name[fr]=Ouvrir une nouvelle fenêtre
++Name[gl]=Abrir unha nova xanela
++Name[he]=פתיחת חלון חדש
++Name[hr]=Otvori novi prozor
++Name[hu]=Új ablak nyitása
++Name[it]=Apri una nuova finestra
++Name[ja]=新しいウィンドウを開く
++Name[ko]=새 창 열기
++Name[ku]=Paceyeke nû veke
++Name[lt]=Atverti naują langą
++Name[nb]=Åpne et nytt vindu
++Name[nl]=Nieuw venster openen
++Name[pt]=Abrir nova janela
++Name[pt_BR]=Abrir nova janela
++Name[ro]=Deschide o fereastră nouă
++Name[ru]=Новое окно
++Name[sk]=Otvoriť nové okno
++Name[sl]=Odpri novo okno
++Name[sv]=Öppna ett nytt fönster
++Name[tr]=Yeni pencere aç
++Name[ug]=يېڭى كۆزنەك ئېچىش
++Name[uk]=Відкрити нове вікно
++Name[vi]=Mở cửa sổ mới
++Name[zh_CN]=新建窗口
++Name[zh_TW]=開啟新視窗
++Exec=firefox -new-window
++
++[Desktop Action NewPrivateWindow]
++Name=Open a New Private Window
++Name[ar]=افتح نافذة جديدة للتصفح الخاص
++Name[ca]=Obre una finestra nova en mode d'incògnit
++Name[de]=Ein neues privates Fenster öffnen
++Name[es]=Abrir una ventana privada nueva
++Name[fi]=Avaa uusi yksityinen ikkuna
++Name[fr]=Ouvrir une nouvelle fenêtre de navigation privée
++Name[he]=פתיחת חלון גלישה פרטית חדש
++Name[hu]=Új privát ablak nyitása
++Name[it]=Apri una nuova finestra anonima
++Name[nb]=Åpne et nytt privat vindu
++Name[ru]=Новое приватное окно
++Name[sl]=Odpri novo okno zasebnega brskanja
++Name[tr]=Yeni bir pencere aç
++Name[uk]=Відкрити нове вікно у потайливому режимі
++Name[zh_TW]=開啟新隱私瀏覽視窗
++Exec=firefox -private-window
+--
+2.39.5 (Apple Git-154)
+