From d47b2f5a7bc82fe52825ba4b5ff6cb9362a9fed4 Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Sat, 19 Oct 2024 01:26:32 -0400 Subject: [PATCH] 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. --- nongnu/packages/mozilla.scm | 8 +- .../patches/firefox-CVE-2024-9680.patch | 244 ----- .../firefox-restore-desktop-files.patch | 917 ++++++++++++++++++ 3 files changed, 921 insertions(+), 248 deletions(-) delete mode 100644 nongnu/packages/patches/firefox-CVE-2024-9680.patch create mode 100644 nongnu/packages/patches/firefox-restore-desktop-files.patch 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 -# 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 animationsToRemove; -- -- for (Animation* animation = mAnimationOrder.getFirst(); animation; -- animation = -- static_cast*>(animation)->getNext()) { -+ AutoTArray, 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*>(aAnimation)->isInList()) { -+ if (static_cast*>(aAnimation)->isInList() && -+ MOZ_LIKELY(!aAnimation->GetTimeline() || -+ aAnimation->GetTimeline() == this)) { -+ static_cast*>(aAnimation)->remove(); - MOZ_ASSERT(mAnimations.Contains(aAnimation), - "The sampling order list should be a subset of the hashset"); -- static_cast*>(aAnimation)->remove(); - } - mAnimations.Remove(aAnimation); - } - - void AnimationTimeline::NotifyAnimationContentVisibilityChanged( - Animation* aAnimation, bool aIsVisible) { - bool inList = - static_cast*>(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, 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& animation : -+ ToTArray, 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& doc : documents) { - MOZ_KnownLive(doc)->DetermineProximityToViewportAndNotifyResizeObservers(); - } - } - - static CallState UpdateAndReduceAnimations(Document& aDocument) { -- for (DocumentTimeline* timeline : aDocument.Timelines()) { -- timeline->WillRefresh(); -+ { -+ AutoTArray, 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, 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 . + + +--- + .../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]=نْو پرایوٹ وینڈو& ++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]=نْو پرایوٹ وینڈو& ++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) +