Date: Thursday, November 30, 2017 @ 12:01:59 Author: heftig Revision: 311171
archrelease: copy trunk to extra-x86_64 Added: firefox/repos/extra-x86_64/0001-Bug-1360278-Add-preference-to-trigger-context-menu-o.patch (from rev 311170, firefox/trunk/0001-Bug-1360278-Add-preference-to-trigger-context-menu-o.patch) firefox/repos/extra-x86_64/0002-Bug-1419426-Implement-browserSettings.contextMenuSho.patch (from rev 311170, firefox/trunk/0002-Bug-1419426-Implement-browserSettings.contextMenuSho.patch) firefox/repos/extra-x86_64/PKGBUILD (from rev 311170, firefox/trunk/PKGBUILD) firefox/repos/extra-x86_64/firefox-install-dir.patch (from rev 311170, firefox/trunk/firefox-install-dir.patch) firefox/repos/extra-x86_64/firefox-symbolic.svg (from rev 311170, firefox/trunk/firefox-symbolic.svg) firefox/repos/extra-x86_64/firefox.desktop (from rev 311170, firefox/trunk/firefox.desktop) firefox/repos/extra-x86_64/no-plt.diff (from rev 311170, firefox/trunk/no-plt.diff) firefox/repos/extra-x86_64/upload-symbol-archive (from rev 311170, firefox/trunk/upload-symbol-archive) firefox/repos/extra-x86_64/wifi-disentangle.patch (from rev 311170, firefox/trunk/wifi-disentangle.patch) firefox/repos/extra-x86_64/wifi-fix-interface.patch (from rev 311170, firefox/trunk/wifi-fix-interface.patch) Deleted: firefox/repos/extra-x86_64/0001-Bug-1360278-Add-preference-to-trigger-context-menu-o.patch firefox/repos/extra-x86_64/PKGBUILD firefox/repos/extra-x86_64/firefox-install-dir.patch firefox/repos/extra-x86_64/firefox-symbolic.svg firefox/repos/extra-x86_64/firefox.desktop firefox/repos/extra-x86_64/no-plt.diff firefox/repos/extra-x86_64/upload-symbol-archive firefox/repos/extra-x86_64/wifi-disentangle.patch firefox/repos/extra-x86_64/wifi-fix-interface.patch -----------------------------------------------------------------+ 0001-Bug-1360278-Add-preference-to-trigger-context-menu-o.patch | 405 +++--- 0002-Bug-1419426-Implement-browserSettings.contextMenuSho.patch | 254 ++++ PKGBUILD | 395 +++--- firefox-install-dir.patch | 25 firefox-symbolic.svg | 60 firefox.desktop | 622 +++++----- no-plt.diff | 96 - upload-symbol-archive | 46 wifi-disentangle.patch | 490 +++---- wifi-fix-interface.patch | 52 10 files changed, 1353 insertions(+), 1092 deletions(-) Deleted: 0001-Bug-1360278-Add-preference-to-trigger-context-menu-o.patch =================================================================== --- 0001-Bug-1360278-Add-preference-to-trigger-context-menu-o.patch 2017-11-30 12:01:10 UTC (rev 311170) +++ 0001-Bug-1360278-Add-preference-to-trigger-context-menu-o.patch 2017-11-30 12:01:59 UTC (rev 311171) @@ -1,202 +0,0 @@ -From 34508b32f65d5ad8143623b1258eb92d347514e2 Mon Sep 17 00:00:00 2001 -Message-Id: <34508b32f65d5ad8143623b1258eb92d347514e2.1511260210.git.jan.steff...@gmail.com> -From: Robin Grenet <robin.gre...@wanadoo.fr> -Date: Thu, 16 Nov 2017 13:35:58 +0100 -Subject: [PATCH] Bug 1360278 - Add preference to trigger context menu on mouse - up for GTK+ and macOS, r=mstange,smaug - -MozReview-Commit-ID: Bg60bD8jIg6 - ---HG-- -extra : rebase_source : cc8bd5796096f49ad4fdab81885a426afd6117e4 ---- - modules/libpref/init/all.js | 4 ++++ - widget/cocoa/nsChildView.mm | 23 +++++++++++++++++++++-- - widget/gtk/nsWindow.cpp | 27 ++++++++++++++++++++------- - widget/gtk/nsWindow.h | 2 ++ - widget/nsBaseWidget.cpp | 16 ++++++++++++++++ - widget/nsBaseWidget.h | 6 ++++++ - 6 files changed, 69 insertions(+), 9 deletions(-) - -diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js -index 315422a6e2255e5f..92bcf5f02564d46e 100644 ---- a/modules/libpref/init/all.js -+++ b/modules/libpref/init/all.js -@@ -234,6 +234,10 @@ pref("browser.sessionhistory.max_total_viewers", -1); - - pref("ui.use_native_colors", true); - pref("ui.click_hold_context_menus", false); -+ -+// Pop up context menu on mouseup instead of mousedown, if that's the OS default. -+// Note: ignored on Windows (context menus always use mouseup) -+pref("ui.context_menus.after_mouseup", false); - // Duration of timeout of incremental search in menus (ms). 0 means infinite. - pref("ui.menu.incremental_search.timeout", 1000); - // If true, all popups won't hide automatically on blur -diff --git a/widget/cocoa/nsChildView.mm b/widget/cocoa/nsChildView.mm -index cac897327a190422..bf42b4f8c0950753 100644 ---- a/widget/cocoa/nsChildView.mm -+++ b/widget/cocoa/nsChildView.mm -@@ -4700,30 +4700,49 @@ NSEvent* gLastDragMouseDownEvent = nil; - if (!mGeckoChild) - return; - -- // Let the superclass do the context menu stuff. -- [super rightMouseDown:theEvent]; -+ if (!nsBaseWidget::ShowContextMenuAfterMouseUp()) { -+ // Let the superclass do the context menu stuff. -+ [super rightMouseDown:theEvent]; -+ } - - NS_OBJC_END_TRY_ABORT_BLOCK; - } - - - (void)rightMouseUp:(NSEvent *)theEvent - { - NS_OBJC_BEGIN_TRY_ABORT_BLOCK; - - if (!mGeckoChild) - return; - if (mTextInputHandler->OnHandleEvent(theEvent)) { - return; - } - - WidgetMouseEvent geckoEvent(true, eMouseUp, mGeckoChild, - WidgetMouseEvent::eReal); - [self convertCocoaMouseEvent:theEvent toGeckoEvent:&geckoEvent]; - geckoEvent.button = WidgetMouseEvent::eRightButton; - geckoEvent.mClickCount = [theEvent clickCount]; - - nsAutoRetainCocoaObject kungFuDeathGrip(self); - mGeckoChild->DispatchInputEvent(&geckoEvent); -+ if (!mGeckoChild) -+ return; -+ -+ if (nsBaseWidget::ShowContextMenuAfterMouseUp()) { -+ // Let the superclass do the context menu stuff, but pretend it's rightMouseDown. -+ NSEvent *dupeEvent = [NSEvent mouseEventWithType:NSRightMouseDown -+ location:theEvent.locationInWindow -+ modifierFlags:theEvent.modifierFlags -+ timestamp:theEvent.timestamp -+ windowNumber:theEvent.windowNumber -+ context:theEvent.context -+ eventNumber:theEvent.eventNumber -+ clickCount:theEvent.clickCount -+ pressure:theEvent.pressure]; -+ -+ [super rightMouseDown:dupeEvent]; -+ } - - NS_OBJC_END_TRY_ABORT_BLOCK; - } -diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp -index 87cc858ca7efd11d..17992f78bbf0a0a7 100644 ---- a/widget/gtk/nsWindow.cpp -+++ b/widget/gtk/nsWindow.cpp -@@ -2737,6 +2737,19 @@ static guint ButtonMaskFromGDKButton(guint button) - return GDK_BUTTON1_MASK << (button - 1); - } - -+void -+nsWindow::DispatchContextMenuEventFromMouseEvent(uint16_t domButton, -+ GdkEventButton *aEvent) -+{ -+ if (domButton == WidgetMouseEvent::eRightButton && MOZ_LIKELY(!mIsDestroyed)) { -+ WidgetMouseEvent contextMenuEvent(true, eContextMenu, this, -+ WidgetMouseEvent::eReal); -+ InitButtonEvent(contextMenuEvent, aEvent); -+ contextMenuEvent.pressure = mLastMotionPressure; -+ DispatchInputEvent(&contextMenuEvent); -+ } -+} -+ - void - nsWindow::OnButtonPressEvent(GdkEventButton *aEvent) - { -@@ -2806,13 +2819,8 @@ nsWindow::OnButtonPressEvent(GdkEventButton *aEvent) - DispatchInputEvent(&event); - - // right menu click on linux should also pop up a context menu -- if (domButton == WidgetMouseEvent::eRightButton && -- MOZ_LIKELY(!mIsDestroyed)) { -- WidgetMouseEvent contextMenuEvent(true, eContextMenu, this, -- WidgetMouseEvent::eReal); -- InitButtonEvent(contextMenuEvent, aEvent); -- contextMenuEvent.pressure = mLastMotionPressure; -- DispatchInputEvent(&contextMenuEvent); -+ if (!nsBaseWidget::ShowContextMenuAfterMouseUp()) { -+ DispatchContextMenuEventFromMouseEvent(domButton, aEvent); - } - } - -@@ -2848,6 +2856,11 @@ nsWindow::OnButtonReleaseEvent(GdkEventButton *aEvent) - - DispatchInputEvent(&event); - mLastMotionPressure = pressure; -+ -+ // right menu click on linux should also pop up a context menu -+ if (nsBaseWidget::ShowContextMenuAfterMouseUp()) { -+ DispatchContextMenuEventFromMouseEvent(domButton, aEvent); -+ } - } - - void -diff --git a/widget/gtk/nsWindow.h b/widget/gtk/nsWindow.h -index 0fafc8994579fe3c..7a28e3260c0fdefb 100644 ---- a/widget/gtk/nsWindow.h -+++ b/widget/gtk/nsWindow.h -@@ -245,6 +245,8 @@ private: - - void UpdateClientOffset(); - -+ void DispatchContextMenuEventFromMouseEvent(uint16_t domButton, -+ GdkEventButton *aEvent); - public: - void ThemeChanged(void); - void OnDPIChanged(void); -diff --git a/widget/nsBaseWidget.cpp b/widget/nsBaseWidget.cpp -index 13fccd7f7d6627fb..e4ca5e011894f5c4 100644 ---- a/widget/nsBaseWidget.cpp -+++ b/widget/nsBaseWidget.cpp -@@ -1218,6 +1218,22 @@ nsBaseWidget::DispatchEventToAPZOnly(mozilla::WidgetInputEvent* aEvent) - } - } - -+// static -+bool -+nsBaseWidget::ShowContextMenuAfterMouseUp() -+{ -+ static bool gContextMenuAfterMouseUp = false; -+ static bool gContextMenuAfterMouseUpCached = false; -+ if (!gContextMenuAfterMouseUpCached) { -+ Preferences::AddBoolVarCache(&gContextMenuAfterMouseUp, -+ "ui.context_menus.after_mouseup", -+ false); -+ -+ gContextMenuAfterMouseUpCached = true; -+ } -+ return gContextMenuAfterMouseUp; -+} -+ - nsIDocument* - nsBaseWidget::GetDocument() const - { -diff --git a/widget/nsBaseWidget.h b/widget/nsBaseWidget.h -index f4e8e3d783307cc1..3cb56f38b6ced983 100644 ---- a/widget/nsBaseWidget.h -+++ b/widget/nsBaseWidget.h -@@ -417,6 +417,12 @@ public: - void RecvScreenPixels(mozilla::ipc::Shmem&& aMem, const ScreenIntSize& aSize) override {}; - #endif - -+ /** -+ * Whether context menus should only appear on mouseup instead of mousedown, -+ * on OSes where they normally appear on mousedown (macOS, *nix). -+ */ -+ static bool ShowContextMenuAfterMouseUp(); -+ - protected: - // These are methods for CompositorWidgetWrapper, and should only be - // accessed from that class. Derived widgets can choose which methods to --- -2.15.0 Copied: firefox/repos/extra-x86_64/0001-Bug-1360278-Add-preference-to-trigger-context-menu-o.patch (from rev 311170, firefox/trunk/0001-Bug-1360278-Add-preference-to-trigger-context-menu-o.patch) =================================================================== --- 0001-Bug-1360278-Add-preference-to-trigger-context-menu-o.patch (rev 0) +++ 0001-Bug-1360278-Add-preference-to-trigger-context-menu-o.patch 2017-11-30 12:01:59 UTC (rev 311171) @@ -0,0 +1,203 @@ +From 05ec1aa0d5e8806dd0c5c6d08c82846a1389b599 Mon Sep 17 00:00:00 2001 +Message-Id: <05ec1aa0d5e8806dd0c5c6d08c82846a1389b599.1512038840.git.jan.steff...@gmail.com> +From: Robin Grenet <robin.gre...@wanadoo.fr> +Date: Thu, 16 Nov 2017 13:35:58 +0100 +Subject: [PATCH 1/2] Bug 1360278 - Add preference to trigger context menu on + mouse up for GTK+ and macOS, r=mstange,smaug + +MozReview-Commit-ID: Bg60bD8jIg6 + +--HG-- +extra : rebase_source : cc8bd5796096f49ad4fdab81885a426afd6117e4 +--- + modules/libpref/init/all.js | 4 ++++ + widget/cocoa/nsChildView.mm | 23 +++++++++++++++++++++-- + widget/gtk/nsWindow.cpp | 27 ++++++++++++++++++++------- + widget/gtk/nsWindow.h | 2 ++ + widget/nsBaseWidget.cpp | 16 ++++++++++++++++ + widget/nsBaseWidget.h | 6 ++++++ + 6 files changed, 69 insertions(+), 9 deletions(-) + +diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js +index 9febead1d363d792..7a6e6a20f3cc3fd6 100644 +--- a/modules/libpref/init/all.js ++++ b/modules/libpref/init/all.js +@@ -231,6 +231,10 @@ pref("browser.sessionhistory.max_total_viewers", -1); + + pref("ui.use_native_colors", true); + pref("ui.click_hold_context_menus", false); ++ ++// Pop up context menu on mouseup instead of mousedown, if that's the OS default. ++// Note: ignored on Windows (context menus always use mouseup) ++pref("ui.context_menus.after_mouseup", false); + // Duration of timeout of incremental search in menus (ms). 0 means infinite. + pref("ui.menu.incremental_search.timeout", 1000); + // If true, all popups won't hide automatically on blur +diff --git a/widget/cocoa/nsChildView.mm b/widget/cocoa/nsChildView.mm +index 25b4c1ba7a2d1207..2affd1ef386cbfd0 100644 +--- a/widget/cocoa/nsChildView.mm ++++ b/widget/cocoa/nsChildView.mm +@@ -4719,30 +4719,49 @@ NSEvent* gLastDragMouseDownEvent = nil; + if (!mGeckoChild) + return; + +- // Let the superclass do the context menu stuff. +- [super rightMouseDown:theEvent]; ++ if (!nsBaseWidget::ShowContextMenuAfterMouseUp()) { ++ // Let the superclass do the context menu stuff. ++ [super rightMouseDown:theEvent]; ++ } + + NS_OBJC_END_TRY_ABORT_BLOCK; + } + + - (void)rightMouseUp:(NSEvent *)theEvent + { + NS_OBJC_BEGIN_TRY_ABORT_BLOCK; + + if (!mGeckoChild) + return; + if (mTextInputHandler->OnHandleEvent(theEvent)) { + return; + } + + WidgetMouseEvent geckoEvent(true, eMouseUp, mGeckoChild, + WidgetMouseEvent::eReal); + [self convertCocoaMouseEvent:theEvent toGeckoEvent:&geckoEvent]; + geckoEvent.button = WidgetMouseEvent::eRightButton; + geckoEvent.mClickCount = [theEvent clickCount]; + + nsAutoRetainCocoaObject kungFuDeathGrip(self); + mGeckoChild->DispatchInputEvent(&geckoEvent); ++ if (!mGeckoChild) ++ return; ++ ++ if (nsBaseWidget::ShowContextMenuAfterMouseUp()) { ++ // Let the superclass do the context menu stuff, but pretend it's rightMouseDown. ++ NSEvent *dupeEvent = [NSEvent mouseEventWithType:NSRightMouseDown ++ location:theEvent.locationInWindow ++ modifierFlags:theEvent.modifierFlags ++ timestamp:theEvent.timestamp ++ windowNumber:theEvent.windowNumber ++ context:theEvent.context ++ eventNumber:theEvent.eventNumber ++ clickCount:theEvent.clickCount ++ pressure:theEvent.pressure]; ++ ++ [super rightMouseDown:dupeEvent]; ++ } + + NS_OBJC_END_TRY_ABORT_BLOCK; + } +diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp +index 37b6aae4c3d0b4e7..2b80124538c20ed6 100644 +--- a/widget/gtk/nsWindow.cpp ++++ b/widget/gtk/nsWindow.cpp +@@ -2727,6 +2727,19 @@ static guint ButtonMaskFromGDKButton(guint button) + return GDK_BUTTON1_MASK << (button - 1); + } + ++void ++nsWindow::DispatchContextMenuEventFromMouseEvent(uint16_t domButton, ++ GdkEventButton *aEvent) ++{ ++ if (domButton == WidgetMouseEvent::eRightButton && MOZ_LIKELY(!mIsDestroyed)) { ++ WidgetMouseEvent contextMenuEvent(true, eContextMenu, this, ++ WidgetMouseEvent::eReal); ++ InitButtonEvent(contextMenuEvent, aEvent); ++ contextMenuEvent.pressure = mLastMotionPressure; ++ DispatchInputEvent(&contextMenuEvent); ++ } ++} ++ + void + nsWindow::OnButtonPressEvent(GdkEventButton *aEvent) + { +@@ -2796,13 +2809,8 @@ nsWindow::OnButtonPressEvent(GdkEventButton *aEvent) + DispatchInputEvent(&event); + + // right menu click on linux should also pop up a context menu +- if (domButton == WidgetMouseEvent::eRightButton && +- MOZ_LIKELY(!mIsDestroyed)) { +- WidgetMouseEvent contextMenuEvent(true, eContextMenu, this, +- WidgetMouseEvent::eReal); +- InitButtonEvent(contextMenuEvent, aEvent); +- contextMenuEvent.pressure = mLastMotionPressure; +- DispatchInputEvent(&contextMenuEvent); ++ if (!nsBaseWidget::ShowContextMenuAfterMouseUp()) { ++ DispatchContextMenuEventFromMouseEvent(domButton, aEvent); + } + } + +@@ -2838,6 +2846,11 @@ nsWindow::OnButtonReleaseEvent(GdkEventButton *aEvent) + + DispatchInputEvent(&event); + mLastMotionPressure = pressure; ++ ++ // right menu click on linux should also pop up a context menu ++ if (nsBaseWidget::ShowContextMenuAfterMouseUp()) { ++ DispatchContextMenuEventFromMouseEvent(domButton, aEvent); ++ } + } + + void +diff --git a/widget/gtk/nsWindow.h b/widget/gtk/nsWindow.h +index f7c07d57491b0b83..b969c9db4306ba6a 100644 +--- a/widget/gtk/nsWindow.h ++++ b/widget/gtk/nsWindow.h +@@ -245,6 +245,8 @@ private: + + void UpdateClientOffset(); + ++ void DispatchContextMenuEventFromMouseEvent(uint16_t domButton, ++ GdkEventButton *aEvent); + public: + void ThemeChanged(void); + void OnDPIChanged(void); +diff --git a/widget/nsBaseWidget.cpp b/widget/nsBaseWidget.cpp +index 996409f45db11cc7..de73fe36d27955cd 100644 +--- a/widget/nsBaseWidget.cpp ++++ b/widget/nsBaseWidget.cpp +@@ -1222,6 +1222,22 @@ nsBaseWidget::DispatchEventToAPZOnly(mozilla::WidgetInputEvent* aEvent) + } + } + ++// static ++bool ++nsBaseWidget::ShowContextMenuAfterMouseUp() ++{ ++ static bool gContextMenuAfterMouseUp = false; ++ static bool gContextMenuAfterMouseUpCached = false; ++ if (!gContextMenuAfterMouseUpCached) { ++ Preferences::AddBoolVarCache(&gContextMenuAfterMouseUp, ++ "ui.context_menus.after_mouseup", ++ false); ++ ++ gContextMenuAfterMouseUpCached = true; ++ } ++ return gContextMenuAfterMouseUp; ++} ++ + nsIDocument* + nsBaseWidget::GetDocument() const + { +diff --git a/widget/nsBaseWidget.h b/widget/nsBaseWidget.h +index 6d6b93ea73d64b38..cdc6aa0c87279832 100644 +--- a/widget/nsBaseWidget.h ++++ b/widget/nsBaseWidget.h +@@ -418,6 +418,12 @@ public: + void RecvScreenPixels(mozilla::ipc::Shmem&& aMem, const ScreenIntSize& aSize) override {}; + #endif + ++ /** ++ * Whether context menus should only appear on mouseup instead of mousedown, ++ * on OSes where they normally appear on mousedown (macOS, *nix). ++ */ ++ static bool ShowContextMenuAfterMouseUp(); ++ + protected: + // These are methods for CompositorWidgetWrapper, and should only be + // accessed from that class. Derived widgets can choose which methods to +-- +2.15.1 + Copied: firefox/repos/extra-x86_64/0002-Bug-1419426-Implement-browserSettings.contextMenuSho.patch (from rev 311170, firefox/trunk/0002-Bug-1419426-Implement-browserSettings.contextMenuSho.patch) =================================================================== --- 0002-Bug-1419426-Implement-browserSettings.contextMenuSho.patch (rev 0) +++ 0002-Bug-1419426-Implement-browserSettings.contextMenuSho.patch 2017-11-30 12:01:59 UTC (rev 311171) @@ -0,0 +1,254 @@ +From f19a0f3bc5e1e87d3c663cc2b147c5c0831519c5 Mon Sep 17 00:00:00 2001 +Message-Id: <f19a0f3bc5e1e87d3c663cc2b147c5c0831519c5.1512038840.git.jan.steff...@gmail.com> +In-Reply-To: <05ec1aa0d5e8806dd0c5c6d08c82846a1389b599.1512038840.git.jan.steff...@gmail.com> +References: <05ec1aa0d5e8806dd0c5c6d08c82846a1389b599.1512038840.git.jan.steff...@gmail.com> +From: Bob Silverberg <bsilverb...@mozilla.com> +Date: Fri, 24 Nov 2017 07:45:03 -0500 +Subject: [PATCH 2/2] Bug 1419426 - Implement + browserSettings.contextMenuShowEvent, r=kmag a=gchang + +Uplift for 58. +--- + .../components/extensions/ext-browserSettings.js | 45 ++++++++++++++++ + .../extensions/schemas/browser_settings.json | 10 ++++ + .../test/xpcshell/test_ext_browserSettings.js | 62 ++++++++++++++++++++-- + 3 files changed, 114 insertions(+), 3 deletions(-) + +diff --git a/toolkit/components/extensions/ext-browserSettings.js b/toolkit/components/extensions/ext-browserSettings.js +index f3212f351baf6975..2b24bcc1d09091f2 100644 +--- a/toolkit/components/extensions/ext-browserSettings.js ++++ b/toolkit/components/extensions/ext-browserSettings.js +@@ -2,17 +2,23 @@ + /* vim: set sts=2 sw=2 et tw=80: */ + "use strict"; + ++XPCOMUtils.defineLazyModuleGetter(this, "AppConstants", ++ "resource://gre/modules/AppConstants.jsm"); + XPCOMUtils.defineLazyModuleGetter(this, "ExtensionSettingsStore", + "resource://gre/modules/ExtensionSettingsStore.jsm"); + XPCOMUtils.defineLazyModuleGetter(this, "Services", + "resource://gre/modules/Services.jsm"); + + XPCOMUtils.defineLazyServiceGetter(this, "aboutNewTabService", + "@mozilla.org/browser/aboutnewtab-service;1", + "nsIAboutNewTabService"); + + Cu.import("resource://gre/modules/ExtensionPreferencesManager.jsm"); + ++var { ++ ExtensionError, ++} = ExtensionUtils; ++ + const HOMEPAGE_OVERRIDE_SETTING = "homepage_override"; + const HOMEPAGE_URL_PREF = "browser.startup.homepage"; + const URL_STORE_TYPE = "url_overrides"; +@@ -82,6 +88,16 @@ ExtensionPreferencesManager.addSetting("imageAnimationBehavior", { + }, + }); + ++ExtensionPreferencesManager.addSetting("contextMenuShowEvent", { ++ prefNames: [ ++ "ui.context_menus.after_mouseup", ++ ], ++ ++ setCallback(value) { ++ return {[this.prefNames[0]]: value === "mouseup"}; ++ }, ++}); ++ + this.browserSettings = class extends ExtensionAPI { + getAPI(context) { + let {extension} = context; +@@ -114,6 +130,35 @@ this.browserSettings = class extends ExtensionAPI { + () => { + return aboutNewTabService.newTabURL; + }, URL_STORE_TYPE, true), ++ contextMenuShowEvent: Object.assign( ++ getSettingsAPI( ++ extension, ++ "contextMenuShowEvent", ++ () => { ++ if (AppConstants.platform === "win") { ++ return "mouseup"; ++ } ++ let prefValue = Services.prefs.getBoolPref( ++ "ui.context_menus.after_mouseup", null); ++ return prefValue ? "mouseup" : "mousedown"; ++ } ++ ), ++ { ++ set: details => { ++ if (!["mouseup", "mousedown"].includes(details.value)) { ++ throw new ExtensionError( ++ `${details.value} is not a valid value for contextMenuShowEvent.`); ++ } ++ if (AppConstants.platform === "android" || ++ (AppConstants.platform === "win" && ++ details.value === "mousedown")) { ++ return false; ++ } ++ return ExtensionPreferencesManager.setSetting( ++ extension, "contextMenuShowEvent", details.value); ++ }, ++ } ++ ), + }, + }; + } +diff --git a/toolkit/components/extensions/schemas/browser_settings.json b/toolkit/components/extensions/schemas/browser_settings.json +index af073d933723cbd5..4f354e69dfedaf96 100644 +--- a/toolkit/components/extensions/schemas/browser_settings.json ++++ b/toolkit/components/extensions/schemas/browser_settings.json +@@ -27,28 +27,38 @@ + "type": "string", + "enum": ["normal", "none", "once"], + "description": "How images should be animated in the browser." ++ }, ++ { ++ "id": "ContextMenuMouseEvent", ++ "type": "string", ++ "enum": ["mouseup", "mousedown"], ++ "description": "After which mouse event context menus should popup." + } + ], + "properties": { + "allowPopupsForUserEvents": { + "$ref": "types.Setting", + "description": "Allows or disallows pop-up windows from opening in response to user events." + }, + "cacheEnabled": { + "$ref": "types.Setting", + "description": "Enables or disables the browser cache." + }, + "homepageOverride": { + "$ref": "types.Setting", + "description": "Returns the value of the overridden home page. Read-only." + }, + "imageAnimationBehavior": { + "$ref": "types.Setting", + "description": "Controls the behaviour of image animation in the browser. This setting's value is of type ImageAnimationBehavior, defaulting to <code>normal</code>." + }, + "newTabPageOverride": { + "$ref": "types.Setting", + "description": "Returns the value of the overridden new tab page. Read-only." ++ }, ++ "contextMenuShowEvent": { ++ "$ref": "types.Setting", ++ "description": "Controls after which mouse event context menus popup. This setting's value is of type ContextMenuMouseEvent, which has possible values of <code>mouseup</code> and <code>mousedown</code>." + } + } + } +diff --git a/toolkit/components/extensions/test/xpcshell/test_ext_browserSettings.js b/toolkit/components/extensions/test/xpcshell/test_ext_browserSettings.js +index 5c441df3e4198671..7e9c1576a723dfc6 100644 +--- a/toolkit/components/extensions/test/xpcshell/test_ext_browserSettings.js ++++ b/toolkit/components/extensions/test/xpcshell/test_ext_browserSettings.js +@@ -24,13 +24,20 @@ add_task(async function test_browser_settings() { + "browser.cache.memory.enable": true, + "dom.popup_allowed_events": Preferences.get("dom.popup_allowed_events"), + "image.animation_mode": "none", ++ "ui.context_menus.after_mouseup": false, + }; + + async function background() { + browser.test.onMessage.addListener(async (msg, apiName, value) => { + let apiObj = browser.browserSettings[apiName]; +- await apiObj.set({value}); +- browser.test.sendMessage("settingData", await apiObj.get({})); ++ let result = await apiObj.set({value}); ++ if (msg === "set") { ++ browser.test.assertTrue(result, "set returns true."); ++ browser.test.sendMessage("settingData", await apiObj.get({})); ++ } else { ++ browser.test.assertFalse(result, "set returns false for a no-op."); ++ browser.test.sendMessage("no-op set"); ++ } + }); + } + +@@ -69,33 +76,82 @@ add_task(async function test_browser_settings() { + } + } + ++ async function testNoOpSetting(setting, value, expected) { ++ extension.sendMessage("setNoOp", setting, value); ++ await extension.awaitMessage("no-op set"); ++ for (let pref in expected) { ++ equal(Preferences.get(pref), expected[pref], `${pref} set correctly for ${value}`); ++ } ++ } ++ + await testSetting( + "cacheEnabled", false, + { + "browser.cache.disk.enable": false, + "browser.cache.memory.enable": false, + }); + await testSetting( + "cacheEnabled", true, + { + "browser.cache.disk.enable": true, + "browser.cache.memory.enable": true, + }); + + await testSetting( + "allowPopupsForUserEvents", false, + {"dom.popup_allowed_events": ""}); + await testSetting( + "allowPopupsForUserEvents", true, + {"dom.popup_allowed_events": PREFS["dom.popup_allowed_events"]}); + + for (let value of ["normal", "none", "once"]) { + await testSetting( + "imageAnimationBehavior", value, + {"image.animation_mode": value}); + } + +- await extension.unload(); ++ // This setting is a no-op on Android. ++ if (AppConstants.platform === "android") { ++ await testNoOpSetting("contextMenuShowEvent", "mouseup", ++ {"ui.context_menus.after_mouseup": false}); ++ } else { ++ await testSetting( ++ "contextMenuShowEvent", "mouseup", ++ {"ui.context_menus.after_mouseup": true}); ++ } + ++ // "mousedown" is also a no-op on Windows. ++ if (["android", "win"].includes(AppConstants.platform)) { ++ await testNoOpSetting("contextMenuShowEvent", "mousedown", ++ {"ui.context_menus.after_mouseup": AppConstants.platform === "win"}); ++ } else { ++ await testSetting( ++ "contextMenuShowEvent", "mousedown", ++ {"ui.context_menus.after_mouseup": false}); ++ } ++ ++ await extension.unload(); + await promiseShutdownManager(); + }); ++ ++add_task(async function test_bad_value() { ++ async function background() { ++ await browser.test.assertRejects( ++ browser.browserSettings.contextMenuShowEvent.set({value: "bad"}), ++ /bad is not a valid value for contextMenuShowEvent/, ++ "contextMenuShowEvent.set rejects with an invalid value."); ++ ++ browser.test.sendMessage("done"); ++ } ++ ++ let extension = ExtensionTestUtils.loadExtension({ ++ background, ++ manifest: { ++ permissions: ["browserSettings"], ++ }, ++ }); ++ ++ await extension.startup(); ++ await extension.awaitMessage("done"); ++ await extension.unload(); ++}); +-- +2.15.1 + Deleted: PKGBUILD =================================================================== --- PKGBUILD 2017-11-30 12:01:10 UTC (rev 311170) +++ PKGBUILD 2017-11-30 12:01:59 UTC (rev 311171) @@ -1,195 +0,0 @@ -# $Id$ -# Maintainer: Jan Alexander Steffens (heftig) <jan.steff...@gmail.com> -# Contributor: Ionut Biru <ib...@archlinux.org> -# Contributor: Jakub Schmidtke <sja...@gmail.com> - -pkgname=firefox -pkgver=57.0 -pkgrel=2 -pkgdesc="Standalone web browser from mozilla.org" -arch=(x86_64) -license=(MPL GPL LGPL) -url="https://www.mozilla.org/firefox/" -depends=(gtk3 gtk2 mozilla-common libxt startup-notification mime-types dbus-glib ffmpeg - nss hunspell sqlite ttf-font libpulse) -makedepends=(unzip zip diffutils python2 yasm mesa imake gconf inetutils xorg-server-xvfb - autoconf2.13 rust mercurial clang llvm jack) -optdepends=('networkmanager: Location detection via available WiFi networks' - 'libnotify: Notification integration' - 'pulseaudio: Audio support' - 'speech-dispatcher: Text-to-Speech') -options=(!emptydirs !makeflags !strip) -_repo=https://hg.mozilla.org/mozilla-unified -source=("hg+$_repo#tag=FIREFOX_${pkgver//./_}_RELEASE" - $pkgname.desktop firefox-symbolic.svg - 0001-Bug-1360278-Add-preference-to-trigger-context-menu-o.patch - wifi-disentangle.patch wifi-fix-interface.patch - firefox-install-dir.patch no-plt.diff) -sha256sums=('SKIP' - '677e1bde4c6b3cff114345c211805c7c43085038ca0505718a11e96432e9811a' - 'a2474b32b9b2d7e0fb53a4c89715507ad1c194bef77713d798fa39d507def9e9' - '1f71b379f2262d7319624c2aed31fa2dbed42828feccc27b1cd82153b76ad707' - 'f068b84ad31556095145d8fefc012dd3d1458948533ed3fff6cbc7250b6e73ed' - 'e98a3453d803cc7ddcb81a7dc83f883230dd8591bdf936fc5a868428979ed1f1' - 'd86e41d87363656ee62e12543e2f5181aadcff448e406ef3218e91865ae775cd' - 'ea8e1b871c0f1dd29cdea1b1a2e7f47bf4713e2ae7b947ec832dba7dfcc67daa') - -# Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) -# Note: These are for Arch Linux use ONLY. For your own distribution, please -# get your own set of keys. Feel free to contact foutre...@archlinux.org for -# more information. -_google_api_key=AIzaSyDwr302FpOSkGRpLlUpPThNTDPbXcIn_FM - -# Mozilla API keys (see https://location.services.mozilla.com/api) -# Note: These are for Arch Linux use ONLY. For your own distribution, please -# get your own set of keys. Feel free to contact hef...@archlinux.org for -# more information. -_mozilla_api_key=16674381-f021-49de-8622-3021c5942aff - -prepare() { - mkdir path - ln -s /usr/bin/python2 path/python - - cd mozilla-unified - patch -Np1 -i ../firefox-install-dir.patch - - # https://bugzilla.mozilla.org/show_bug.cgi?id=1360278 - patch -Np1 -i ../0001-Bug-1360278-Add-preference-to-trigger-context-menu-o.patch - - # https://bugzilla.mozilla.org/show_bug.cgi?id=1314968 - patch -Np1 -i ../wifi-disentangle.patch - patch -Np1 -i ../wifi-fix-interface.patch - - # https://bugzilla.mozilla.org/show_bug.cgi?id=1382942 - patch -Np1 -i ../no-plt.diff - - echo -n "$_google_api_key" >google-api-key - echo -n "$_mozilla_api_key" >mozilla-api-key - - cat >.mozconfig <<END -ac_add_options --enable-application=browser - -ac_add_options --prefix=/usr -ac_add_options --enable-release -ac_add_options --enable-gold -ac_add_options --enable-pie -ac_add_options --enable-optimize="-O2" -ac_add_options --enable-rust-simd - -# Branding -ac_add_options --enable-official-branding -ac_add_options --enable-update-channel=release -ac_add_options --with-distribution-id=org.archlinux -export MOZILLA_OFFICIAL=1 -export MOZ_TELEMETRY_REPORTING=1 -export MOZ_ADDON_SIGNING=1 -export MOZ_REQUIRE_SIGNING=1 - -# Keys -ac_add_options --with-google-api-keyfile=${PWD@Q}/google-api-key -ac_add_options --with-mozilla-api-keyfile=${PWD@Q}/mozilla-api-key - -# System libraries -ac_add_options --with-system-zlib -ac_add_options --with-system-bz2 -ac_add_options --enable-system-hunspell -ac_add_options --enable-system-sqlite -ac_add_options --enable-system-ffi - -# Features -ac_add_options --enable-alsa -ac_add_options --enable-jack -ac_add_options --enable-startup-notification -ac_add_options --enable-crashreporter -ac_add_options --disable-updater -END -} - -build() { - cd mozilla-unified - - # _FORTIFY_SOURCE causes configure failures - CPPFLAGS+=" -O2" - - export PATH="$srcdir/path:$PATH" - export MOZ_SOURCE_REPO="$_repo" - - # Do PGO - #xvfb-run -a -n 95 -s "-extension GLX -screen 0 1280x1024x24" \ - # MOZ_PGO=1 ./mach build - ./mach build - ./mach buildsymbols -} - -package() { - cd mozilla-unified - DESTDIR="$pkgdir" ./mach install - find . -name '*crashreporter-symbols-full.zip' -exec cp -fvt "$startdir" {} + - - _vendorjs="$pkgdir/usr/lib/$pkgname/browser/defaults/preferences/vendor.js" - install -Dm644 /dev/stdin "$_vendorjs" <<END -// Use LANG environment variable to choose locale -pref("intl.locale.matchOS", true); - -// Disable default browser checking. -pref("browser.shell.checkDefaultBrowser", false); - -// Don't disable our bundled extensions in the application directory -pref("extensions.autoDisableScopes", 11); -pref("extensions.shownSelectionUI", true); - -// Opt all of us into e10s, instead of just 50% -pref("browser.tabs.remote.autostart", true); -END - - _distini="$pkgdir/usr/lib/$pkgname/distribution/distribution.ini" - install -Dm644 /dev/stdin "$_distini" <<END -[Global] -id=archlinux -version=1.0 -about=Mozilla Firefox for Arch Linux - -[Preferences] -app.distributor=archlinux -app.distributor.channel=$pkgname -app.partner.archlinux=archlinux -END - - for i in 16 22 24 32 48 256; do - install -Dm644 browser/branding/official/default$i.png \ - "$pkgdir/usr/share/icons/hicolor/${i}x${i}/apps/$pkgname.png" - done - install -Dm644 browser/branding/official/content/icon64.png \ - "$pkgdir/usr/share/icons/hicolor/64x64/apps/$pkgname.png" - install -Dm644 browser/branding/official/mozicon128.png \ - "$pkgdir/usr/share/icons/hicolor/128x128/apps/$pkgname.png" - install -Dm644 browser/branding/official/content/about-logo.png \ - "$pkgdir/usr/share/icons/hicolor/192x192/apps/$pkgname.png" - install -Dm644 browser/branding/official/content/about-l...@2x.png \ - "$pkgdir/usr/share/icons/hicolor/384x384/apps/$pkgname.png" - install -Dm644 ../firefox-symbolic.svg \ - "$pkgdir/usr/share/icons/hicolor/symbolic/apps/$pkgname-symbolic.svg" - - install -Dm644 ../$pkgname.desktop \ - "$pkgdir/usr/share/applications/$pkgname.desktop" - - # Use system-provided dictionaries - rm -r "$pkgdir"/usr/lib/$pkgname/dictionaries - ln -Ts /usr/share/hunspell "$pkgdir/usr/lib/$pkgname/dictionaries" - ln -Ts /usr/share/hyphen "$pkgdir/usr/lib/$pkgname/hyphenation" - - # Install a wrapper to avoid confusion about binary path - install -Dm755 /dev/stdin "$pkgdir/usr/bin/$pkgname" <<END -#!/bin/sh -exec /usr/lib/$pkgname/firefox "\$@" -END - - # Replace duplicate binary with wrapper - # https://bugzilla.mozilla.org/show_bug.cgi?id=658850 - ln -srf "$pkgdir/usr/bin/$pkgname" \ - "$pkgdir/usr/lib/$pkgname/firefox-bin" - - # Use system certificates - ln -srf "$pkgdir/usr/lib/libnssckbi.so" \ - "$pkgdir/usr/lib/$pkgname/libnssckbi.so" -} Copied: firefox/repos/extra-x86_64/PKGBUILD (from rev 311170, firefox/trunk/PKGBUILD) =================================================================== --- PKGBUILD (rev 0) +++ PKGBUILD 2017-11-30 12:01:59 UTC (rev 311171) @@ -0,0 +1,200 @@ +# $Id$ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steff...@gmail.com> +# Contributor: Ionut Biru <ib...@archlinux.org> +# Contributor: Jakub Schmidtke <sja...@gmail.com> + +pkgname=firefox +pkgver=57.0.1 +pkgrel=1 +pkgdesc="Standalone web browser from mozilla.org" +arch=(x86_64) +license=(MPL GPL LGPL) +url="https://www.mozilla.org/firefox/" +depends=(gtk3 gtk2 mozilla-common libxt startup-notification mime-types dbus-glib ffmpeg + nss hunspell sqlite ttf-font libpulse) +makedepends=(unzip zip diffutils python2 yasm mesa imake gconf inetutils xorg-server-xvfb + autoconf2.13 rust mercurial clang llvm jack) +optdepends=('networkmanager: Location detection via available WiFi networks' + 'libnotify: Notification integration' + 'pulseaudio: Audio support' + 'speech-dispatcher: Text-to-Speech') +options=(!emptydirs !makeflags !strip) +_repo=https://hg.mozilla.org/mozilla-unified +source=("hg+$_repo#tag=FIREFOX_${pkgver//./_}_RELEASE" + $pkgname.desktop firefox-symbolic.svg + 0001-Bug-1360278-Add-preference-to-trigger-context-menu-o.patch + 0002-Bug-1419426-Implement-browserSettings.contextMenuSho.patch + wifi-disentangle.patch wifi-fix-interface.patch + firefox-install-dir.patch no-plt.diff) +sha256sums=('SKIP' + '677e1bde4c6b3cff114345c211805c7c43085038ca0505718a11e96432e9811a' + 'a2474b32b9b2d7e0fb53a4c89715507ad1c194bef77713d798fa39d507def9e9' + 'd45c97782a77e7c5ebacfa7b983019f6bb831794d3c707abbe3bb01cddb80f72' + '52c56c33f7ab98232d9c0644965f149da9b7266f607c84b80aca8a5534cee3bb' + 'f068b84ad31556095145d8fefc012dd3d1458948533ed3fff6cbc7250b6e73ed' + 'e98a3453d803cc7ddcb81a7dc83f883230dd8591bdf936fc5a868428979ed1f1' + 'a94f80abe65608cd49054a30acc31e4d0885fe5b2a38cf08ded5e5b51b87c99d' + 'ea8e1b871c0f1dd29cdea1b1a2e7f47bf4713e2ae7b947ec832dba7dfcc67daa') + +# Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) +# Note: These are for Arch Linux use ONLY. For your own distribution, please +# get your own set of keys. Feel free to contact foutre...@archlinux.org for +# more information. +_google_api_key=AIzaSyDwr302FpOSkGRpLlUpPThNTDPbXcIn_FM + +# Mozilla API keys (see https://location.services.mozilla.com/api) +# Note: These are for Arch Linux use ONLY. For your own distribution, please +# get your own set of keys. Feel free to contact hef...@archlinux.org for +# more information. +_mozilla_api_key=16674381-f021-49de-8622-3021c5942aff + +prepare() { + mkdir path + ln -s /usr/bin/python2 path/python + + cd mozilla-unified + patch -Np1 -i ../firefox-install-dir.patch + + # https://bugzilla.mozilla.org/show_bug.cgi?id=1360278 + patch -Np1 -i ../0001-Bug-1360278-Add-preference-to-trigger-context-menu-o.patch + + # https://bugzilla.mozilla.org/show_bug.cgi?id=1419426 + patch -Np1 -i ../0002-Bug-1419426-Implement-browserSettings.contextMenuSho.patch + + # https://bugzilla.mozilla.org/show_bug.cgi?id=1314968 + patch -Np1 -i ../wifi-disentangle.patch + patch -Np1 -i ../wifi-fix-interface.patch + + # https://bugzilla.mozilla.org/show_bug.cgi?id=1382942 + patch -Np1 -i ../no-plt.diff + + echo -n "$_google_api_key" >google-api-key + echo -n "$_mozilla_api_key" >mozilla-api-key + + cat >.mozconfig <<END +ac_add_options --enable-application=browser + +ac_add_options --prefix=/usr +ac_add_options --enable-release +ac_add_options --enable-gold +ac_add_options --enable-pie +ac_add_options --enable-optimize="-O2" +ac_add_options --enable-rust-simd + +# Branding +ac_add_options --enable-official-branding +ac_add_options --enable-update-channel=release +ac_add_options --with-distribution-id=org.archlinux +export MOZILLA_OFFICIAL=1 +export MOZ_TELEMETRY_REPORTING=1 +export MOZ_ADDON_SIGNING=1 +export MOZ_REQUIRE_SIGNING=1 + +# Keys +ac_add_options --with-google-api-keyfile=${PWD@Q}/google-api-key +ac_add_options --with-mozilla-api-keyfile=${PWD@Q}/mozilla-api-key + +# System libraries +ac_add_options --with-system-zlib +ac_add_options --with-system-bz2 +ac_add_options --enable-system-hunspell +ac_add_options --enable-system-sqlite +ac_add_options --enable-system-ffi + +# Features +ac_add_options --enable-alsa +ac_add_options --enable-jack +ac_add_options --enable-startup-notification +ac_add_options --enable-crashreporter +ac_add_options --disable-updater +END +} + +build() { + cd mozilla-unified + + # _FORTIFY_SOURCE causes configure failures + CPPFLAGS+=" -O2" + + export PATH="$srcdir/path:$PATH" + export MOZ_SOURCE_REPO="$_repo" + + # Do PGO + #xvfb-run -a -n 95 -s "-extension GLX -screen 0 1280x1024x24" \ + # MOZ_PGO=1 ./mach build + ./mach build + ./mach buildsymbols +} + +package() { + cd mozilla-unified + DESTDIR="$pkgdir" ./mach install + find . -name '*crashreporter-symbols-full.zip' -exec cp -fvt "$startdir" {} + + + _vendorjs="$pkgdir/usr/lib/$pkgname/browser/defaults/preferences/vendor.js" + install -Dm644 /dev/stdin "$_vendorjs" <<END +// Use LANG environment variable to choose locale +pref("intl.locale.matchOS", true); + +// Disable default browser checking. +pref("browser.shell.checkDefaultBrowser", false); + +// Don't disable our bundled extensions in the application directory +pref("extensions.autoDisableScopes", 11); +pref("extensions.shownSelectionUI", true); + +// Opt all of us into e10s, instead of just 50% +pref("browser.tabs.remote.autostart", true); +END + + _distini="$pkgdir/usr/lib/$pkgname/distribution/distribution.ini" + install -Dm644 /dev/stdin "$_distini" <<END +[Global] +id=archlinux +version=1.0 +about=Mozilla Firefox for Arch Linux + +[Preferences] +app.distributor=archlinux +app.distributor.channel=$pkgname +app.partner.archlinux=archlinux +END + + for i in 16 22 24 32 48 256; do + install -Dm644 browser/branding/official/default$i.png \ + "$pkgdir/usr/share/icons/hicolor/${i}x${i}/apps/$pkgname.png" + done + install -Dm644 browser/branding/official/content/icon64.png \ + "$pkgdir/usr/share/icons/hicolor/64x64/apps/$pkgname.png" + install -Dm644 browser/branding/official/mozicon128.png \ + "$pkgdir/usr/share/icons/hicolor/128x128/apps/$pkgname.png" + install -Dm644 browser/branding/official/content/about-logo.png \ + "$pkgdir/usr/share/icons/hicolor/192x192/apps/$pkgname.png" + install -Dm644 browser/branding/official/content/about-l...@2x.png \ + "$pkgdir/usr/share/icons/hicolor/384x384/apps/$pkgname.png" + install -Dm644 ../firefox-symbolic.svg \ + "$pkgdir/usr/share/icons/hicolor/symbolic/apps/$pkgname-symbolic.svg" + + install -Dm644 ../$pkgname.desktop \ + "$pkgdir/usr/share/applications/$pkgname.desktop" + + # Use system-provided dictionaries + rm -r "$pkgdir"/usr/lib/$pkgname/dictionaries + ln -Ts /usr/share/hunspell "$pkgdir/usr/lib/$pkgname/dictionaries" + ln -Ts /usr/share/hyphen "$pkgdir/usr/lib/$pkgname/hyphenation" + + # Install a wrapper to avoid confusion about binary path + install -Dm755 /dev/stdin "$pkgdir/usr/bin/$pkgname" <<END +#!/bin/sh +exec /usr/lib/$pkgname/firefox "\$@" +END + + # Replace duplicate binary with wrapper + # https://bugzilla.mozilla.org/show_bug.cgi?id=658850 + ln -srf "$pkgdir/usr/bin/$pkgname" \ + "$pkgdir/usr/lib/$pkgname/firefox-bin" + + # Use system certificates + ln -srf "$pkgdir/usr/lib/libnssckbi.so" \ + "$pkgdir/usr/lib/$pkgname/libnssckbi.so" +} Deleted: firefox-install-dir.patch =================================================================== --- firefox-install-dir.patch 2017-11-30 12:01:10 UTC (rev 311170) +++ firefox-install-dir.patch 2017-11-30 12:01:59 UTC (rev 311171) @@ -1,12 +0,0 @@ -diff -up firefox-29.0/mozilla-release/config/baseconfig.mk.orig firefox-29.0/mozilla-release/config/baseconfig.mk ---- mozilla-release/config/baseconfig.mk.orig 2014-04-22 15:38:52.948165295 +0200 -+++ mozilla-release/config/baseconfig.mk 2014-04-22 15:42:20.387481673 +0200 -@@ -4,7 +4,7 @@ - # whether a normal build is happening or whether the check is running. - includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) - idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) --installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) -+installdir = $(libdir)/$(MOZ_APP_NAME) - sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION) - ifndef TOP_DIST - TOP_DIST = dist Copied: firefox/repos/extra-x86_64/firefox-install-dir.patch (from rev 311170, firefox/trunk/firefox-install-dir.patch) =================================================================== --- firefox-install-dir.patch (rev 0) +++ firefox-install-dir.patch 2017-11-30 12:01:59 UTC (rev 311171) @@ -0,0 +1,13 @@ +diff --git i/config/baseconfig.mk w/config/baseconfig.mk +index e204533ac9b66b88..27ae154ce265ca2b 100644 +--- i/config/baseconfig.mk ++++ w/config/baseconfig.mk +@@ -4,7 +4,7 @@ + # whether a normal build is happening or whether the check is running. + includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) + idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) +-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) ++installdir = $(libdir)/$(MOZ_APP_NAME) + sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION) + ifeq (.,$(DEPTH)) + DIST = dist Deleted: firefox-symbolic.svg =================================================================== --- firefox-symbolic.svg 2017-11-30 12:01:10 UTC (rev 311170) +++ firefox-symbolic.svg 2017-11-30 12:01:59 UTC (rev 311171) @@ -1,30 +0,0 @@ -<?xml version='1.0' encoding='UTF-8' standalone='no'?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> - -<svg xmlns:cc='http://creativecommons.org/ns#' xmlns:dc='http://purl.org/dc/elements/1.1/' sodipodi:docname='firefox-symbolic.svg' height='16' id='svg7384' xmlns:inkscape='http://www.inkscape.org/namespaces/inkscape' xmlns:osb='http://www.openswatchbook.org/uri/2009/osb' xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:sodipodi='http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd' xmlns:svg='http://www.w3.org/2000/svg' version='1.1' inkscape:version='0.91 r13725' width='16' xmlns='http://www.w3.org/2000/svg'> - <metadata id='metadata90'> - <rdf:RDF> - <cc:Work rdf:about=''> - <dc:format>image/svg+xml</dc:format> - <dc:type rdf:resource='http://purl.org/dc/dcmitype/StillImage'/> - <dc:title>Gnome Symbolic Icon Theme</dc:title> - </cc:Work> - </rdf:RDF> - </metadata> - <sodipodi:namedview inkscape:bbox-paths='true' bordercolor='#666666' borderopacity='1' inkscape:current-layer='layer9' inkscape:cx='-10.975734' inkscape:cy='233.73843' gridtolerance='10' inkscape:guide-bbox='true' guidetolerance='10' id='namedview88' inkscape:object-nodes='false' inkscape:object-paths='false' objecttolerance='10' pagecolor='#555753' inkscape:pageopacity='1' inkscape:pageshadow='2' showborder='false' showgrid='false' showguides='true' inkscape:snap-bbox='true' inkscape:snap-bbox-midpoints='false' inkscape:snap-global='true' inkscape:snap-grids='true' inkscape:snap-nodes='true' inkscape:snap-others='false' inkscape:snap-to-guides='true' inkscape:window-height='1403' inkscape:window-maximized='1' inkscape:window-width='2560' inkscape:window-x='2560' inkscape:window-y='0' inkscape:zoom='1'> - <inkscape:grid empspacing='2' enabled='true' id='grid4866' originx='-222.00001' originy='-381.99852' snapvisiblegridlinesonly='true' spacingx='1px' spacingy='1px' type='xygrid' visible='true'/> - </sodipodi:namedview> - <title id='title9167'>Gnome Symbolic Icon Theme</title> - <defs id='defs7386'> - <linearGradient id='linearGradient7212' osb:paint='solid'> - <stop id='stop7214' offset='0' style='stop-color:#000000;stop-opacity:1;'/> - </linearGradient> - </defs> - <g inkscape:groupmode='layer' id='layer9' inkscape:label='apps' style='display:inline' transform='translate(-463.00021,164.99852)'> - - <path inkscape:connector-curvature='0' d='M 469.05437,-154.9679 Z' id='path17747' style='fill:none;stroke:#000000;stroke-width:0.99851286px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1'/> - <path inkscape:connector-curvature='0' d='M 469.08553,-154.9054 Z' id='path17749' style='fill:none;stroke:#000000;stroke-width:0.99851286px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1'/> - <path inkscape:connector-curvature='0' d='m 473.0627,-162.9375 c -0.41568,-0.0182 -0.62813,0.0274 -0.625,0.0312 0.006,0.008 1.72988,0.32697 2.03125,0.75 0,0 -0.71915,0.007 -1.4375,0.21875 -0.0325,0.01 2.64053,0.33122 3.1875,3.0625 0,0 -0.29354,-0.64386 -0.65625,-0.75 0.23852,0.74134 0.16466,2.17583 -0.0625,2.875 -0.0292,0.0899 -0.0525,-0.38762 -0.5,-0.59375 0.14332,1.04923 -0.006,2.6978 -0.71875,3.15625 -0.0555,0.0357 0.43942,-1.64894 0.0937,-1 -2.06368,3.2325 -4.50486,1.31102 -5.5,0.625 0.79871,0.19996 1.80035,0.0704 2.125,-0.15625 0.49572,-0.34615 0.79916,-0.59107 1.0625,-0.53125 0.26322,0.0601 0.42318,-0.22934 0.21875,-0.46875 -0.20466,-0.23989 -0.70268,-0.55471 -1.375,-0.375 -0.47415,0.12687 -1.04057,0.54268 -1.9375,0 -0.7652,-0.46319 -0.67076,-0.69942 -0.67076,-0.93907 0,-0.23977 0.21387,-0.59107 0.59375,-0.53125 0.0851,0.0134 0.15074,0.009 0.1875,0 0.18483,0.0422 0.35743,0.0964 0.53125,0.1875 0.008,-0.2241 -0.0292,-0.87345 -0.15625,-1.23012 0.0106,0.004 0.0289,0.011 0.0312 ,0 0.0384,-0.17687 1.05477,-0.18386 1.37388,-0.59643 0.20404,-0.26362 0.14073,-0.79683 0.14073,-0.79683 l -1,0 c -0.52354,0.002 -0.97244,-0.75086 -1.01451,-0.85669 0.11444,-0.62597 0.48612,-0.83952 1.01451,-1.14331 -0.39748,-0.003 -0.18871,0 -1,0 -0.52875,0 -0.84718,0.36158 -1.01451,0.54956 -0.70058,-0.16587 -1.38144,-0.25227 -1.86049,-0.0609 -0.22125,-0.22941 -0.39604,-0.80055 -0.42188,-1.48863 0,0 -1.20486,0.73864 -1.07812,2.55113 -0.002,0.14904 -0.0499,0.21348 -0.0625,0.3125 -0.13061,0.22845 -0.1553,0.40492 -0.125,0.375 -0.0656,0.13627 -0.15391,0.28402 -0.21875,0.46875 -0.0149,0.0362 -0.0495,0.0463 -0.0625,0.0937 -0.009,0.0322 0.002,0.0638 0,0.0937 -0.11512,0.36099 -0.21516,0.98244 -0.3125,1.54262 0,0 0.12424,-0.51425 0.3125,-0.88637 -0.15639,0.54353 -0.26211,1.54974 -0.1875,2.73012 0,0 0.015,-0.20429 0.0625,-0.5 0.0465,0.80102 0.25925,1.72737 0.84375,2.75 1.46152,2.5575 3.89248,3.68885 6.4375,3.46875 0.44516,-0.0296 0.89639,-0.10834 1.34375,-0.21875 5.92923,-1.46449 5.28125,-8.7 8118 5.28125,-8.78118 l -0.15625,1.09375 c 0,0 -0.24147,-1.99977 -0.53125,-2.75 -0.44412,-1.14957 -0.62372,-1.15791 -0.625,-1.15625 0.29743,0.77226 0.21875,1.1875 0.21875,1.1875 0,0 -0.51279,-1.43939 -1.90625,-1.90625 -0.82515,-0.27632 -1.45932,-0.38807 -1.875,-0.40625 z' id='path159-6' sodipodi:nodetypes='sccccccccccsccccscccccscccccccccccccccccccccccccccs' style='fill:#bebebe;fill-opacity:1;stroke:none'/> - <path inkscape:connector-curvature='0' d='m 470.87695,-164.01953 c -0.83043,0.0139 -1.67042,0.17659 -2.48047,0.5 l -0.46289,0.18359 c 0.66083,0.79767 1.84339,0.43951 1.84339,0.43951 2.50802,-0.52344 5.12427,0.6034 6.44177,2.89252 1.49591,2.59908 0.85463,5.89258 -1.50586,7.74219 -2.36049,1.84961 -5.71108,1.68349 -7.87695,-0.39062 -2.16588,-2.07412 -2.47623,-5.41522 -0.73047,-7.85352 l 0.29101,-0.40625 -0.81445,-0.58203 -0.29101,0.40625 c -2.03104,2.83673 -1.66628,6.74516 0.85351,9.1582 2.5198,2.41305 6.43934,2.60693 9.18555,0.45508 2.74621,-2.15185 3.49621,-6.00355 1.75586,-9.02734 -1.30527,-2.26785 -3.7177,-3.55935 -6.20899,-3.51758 z' id='path22109' sodipodi:nodetypes='ccccsssccccsssc' style='color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;lett er-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#bebebe;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate'/> - </g> -</svg> Copied: firefox/repos/extra-x86_64/firefox-symbolic.svg (from rev 311170, firefox/trunk/firefox-symbolic.svg) =================================================================== --- firefox-symbolic.svg (rev 0) +++ firefox-symbolic.svg 2017-11-30 12:01:59 UTC (rev 311171) @@ -0,0 +1,30 @@ +<?xml version='1.0' encoding='UTF-8' standalone='no'?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg xmlns:cc='http://creativecommons.org/ns#' xmlns:dc='http://purl.org/dc/elements/1.1/' sodipodi:docname='firefox-symbolic.svg' height='16' id='svg7384' xmlns:inkscape='http://www.inkscape.org/namespaces/inkscape' xmlns:osb='http://www.openswatchbook.org/uri/2009/osb' xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:sodipodi='http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd' xmlns:svg='http://www.w3.org/2000/svg' version='1.1' inkscape:version='0.91 r13725' width='16' xmlns='http://www.w3.org/2000/svg'> + <metadata id='metadata90'> + <rdf:RDF> + <cc:Work rdf:about=''> + <dc:format>image/svg+xml</dc:format> + <dc:type rdf:resource='http://purl.org/dc/dcmitype/StillImage'/> + <dc:title>Gnome Symbolic Icon Theme</dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <sodipodi:namedview inkscape:bbox-paths='true' bordercolor='#666666' borderopacity='1' inkscape:current-layer='layer9' inkscape:cx='-10.975734' inkscape:cy='233.73843' gridtolerance='10' inkscape:guide-bbox='true' guidetolerance='10' id='namedview88' inkscape:object-nodes='false' inkscape:object-paths='false' objecttolerance='10' pagecolor='#555753' inkscape:pageopacity='1' inkscape:pageshadow='2' showborder='false' showgrid='false' showguides='true' inkscape:snap-bbox='true' inkscape:snap-bbox-midpoints='false' inkscape:snap-global='true' inkscape:snap-grids='true' inkscape:snap-nodes='true' inkscape:snap-others='false' inkscape:snap-to-guides='true' inkscape:window-height='1403' inkscape:window-maximized='1' inkscape:window-width='2560' inkscape:window-x='2560' inkscape:window-y='0' inkscape:zoom='1'> + <inkscape:grid empspacing='2' enabled='true' id='grid4866' originx='-222.00001' originy='-381.99852' snapvisiblegridlinesonly='true' spacingx='1px' spacingy='1px' type='xygrid' visible='true'/> + </sodipodi:namedview> + <title id='title9167'>Gnome Symbolic Icon Theme</title> + <defs id='defs7386'> + <linearGradient id='linearGradient7212' osb:paint='solid'> + <stop id='stop7214' offset='0' style='stop-color:#000000;stop-opacity:1;'/> + </linearGradient> + </defs> + <g inkscape:groupmode='layer' id='layer9' inkscape:label='apps' style='display:inline' transform='translate(-463.00021,164.99852)'> + + <path inkscape:connector-curvature='0' d='M 469.05437,-154.9679 Z' id='path17747' style='fill:none;stroke:#000000;stroke-width:0.99851286px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1'/> + <path inkscape:connector-curvature='0' d='M 469.08553,-154.9054 Z' id='path17749' style='fill:none;stroke:#000000;stroke-width:0.99851286px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1'/> + <path inkscape:connector-curvature='0' d='m 473.0627,-162.9375 c -0.41568,-0.0182 -0.62813,0.0274 -0.625,0.0312 0.006,0.008 1.72988,0.32697 2.03125,0.75 0,0 -0.71915,0.007 -1.4375,0.21875 -0.0325,0.01 2.64053,0.33122 3.1875,3.0625 0,0 -0.29354,-0.64386 -0.65625,-0.75 0.23852,0.74134 0.16466,2.17583 -0.0625,2.875 -0.0292,0.0899 -0.0525,-0.38762 -0.5,-0.59375 0.14332,1.04923 -0.006,2.6978 -0.71875,3.15625 -0.0555,0.0357 0.43942,-1.64894 0.0937,-1 -2.06368,3.2325 -4.50486,1.31102 -5.5,0.625 0.79871,0.19996 1.80035,0.0704 2.125,-0.15625 0.49572,-0.34615 0.79916,-0.59107 1.0625,-0.53125 0.26322,0.0601 0.42318,-0.22934 0.21875,-0.46875 -0.20466,-0.23989 -0.70268,-0.55471 -1.375,-0.375 -0.47415,0.12687 -1.04057,0.54268 -1.9375,0 -0.7652,-0.46319 -0.67076,-0.69942 -0.67076,-0.93907 0,-0.23977 0.21387,-0.59107 0.59375,-0.53125 0.0851,0.0134 0.15074,0.009 0.1875,0 0.18483,0.0422 0.35743,0.0964 0.53125,0.1875 0.008,-0.2241 -0.0292,-0.87345 -0.15625,-1.23012 0.0106,0.004 0.0289,0.011 0.0312 ,0 0.0384,-0.17687 1.05477,-0.18386 1.37388,-0.59643 0.20404,-0.26362 0.14073,-0.79683 0.14073,-0.79683 l -1,0 c -0.52354,0.002 -0.97244,-0.75086 -1.01451,-0.85669 0.11444,-0.62597 0.48612,-0.83952 1.01451,-1.14331 -0.39748,-0.003 -0.18871,0 -1,0 -0.52875,0 -0.84718,0.36158 -1.01451,0.54956 -0.70058,-0.16587 -1.38144,-0.25227 -1.86049,-0.0609 -0.22125,-0.22941 -0.39604,-0.80055 -0.42188,-1.48863 0,0 -1.20486,0.73864 -1.07812,2.55113 -0.002,0.14904 -0.0499,0.21348 -0.0625,0.3125 -0.13061,0.22845 -0.1553,0.40492 -0.125,0.375 -0.0656,0.13627 -0.15391,0.28402 -0.21875,0.46875 -0.0149,0.0362 -0.0495,0.0463 -0.0625,0.0937 -0.009,0.0322 0.002,0.0638 0,0.0937 -0.11512,0.36099 -0.21516,0.98244 -0.3125,1.54262 0,0 0.12424,-0.51425 0.3125,-0.88637 -0.15639,0.54353 -0.26211,1.54974 -0.1875,2.73012 0,0 0.015,-0.20429 0.0625,-0.5 0.0465,0.80102 0.25925,1.72737 0.84375,2.75 1.46152,2.5575 3.89248,3.68885 6.4375,3.46875 0.44516,-0.0296 0.89639,-0.10834 1.34375,-0.21875 5.92923,-1.46449 5.28125,-8.7 8118 5.28125,-8.78118 l -0.15625,1.09375 c 0,0 -0.24147,-1.99977 -0.53125,-2.75 -0.44412,-1.14957 -0.62372,-1.15791 -0.625,-1.15625 0.29743,0.77226 0.21875,1.1875 0.21875,1.1875 0,0 -0.51279,-1.43939 -1.90625,-1.90625 -0.82515,-0.27632 -1.45932,-0.38807 -1.875,-0.40625 z' id='path159-6' sodipodi:nodetypes='sccccccccccsccccscccccscccccccccccccccccccccccccccs' style='fill:#bebebe;fill-opacity:1;stroke:none'/> + <path inkscape:connector-curvature='0' d='m 470.87695,-164.01953 c -0.83043,0.0139 -1.67042,0.17659 -2.48047,0.5 l -0.46289,0.18359 c 0.66083,0.79767 1.84339,0.43951 1.84339,0.43951 2.50802,-0.52344 5.12427,0.6034 6.44177,2.89252 1.49591,2.59908 0.85463,5.89258 -1.50586,7.74219 -2.36049,1.84961 -5.71108,1.68349 -7.87695,-0.39062 -2.16588,-2.07412 -2.47623,-5.41522 -0.73047,-7.85352 l 0.29101,-0.40625 -0.81445,-0.58203 -0.29101,0.40625 c -2.03104,2.83673 -1.66628,6.74516 0.85351,9.1582 2.5198,2.41305 6.43934,2.60693 9.18555,0.45508 2.74621,-2.15185 3.49621,-6.00355 1.75586,-9.02734 -1.30527,-2.26785 -3.7177,-3.55935 -6.20899,-3.51758 z' id='path22109' sodipodi:nodetypes='ccccsssccccsssc' style='color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;lett er-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#bebebe;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate'/> + </g> +</svg> Deleted: firefox.desktop =================================================================== --- firefox.desktop 2017-11-30 12:01:10 UTC (rev 311170) +++ firefox.desktop 2017-11-30 12:01:59 UTC (rev 311171) @@ -1,311 +0,0 @@ -[Desktop Entry] -Version=1.0 -Name=Firefox -GenericName=Web Browser -GenericName[ar]=متصفح وِب -GenericName[ast]=Restolador Web -GenericName[bn]=ওয়েব ব্রাউজার -GenericName[ca]=Navegador web -GenericName[cs]=Webový prohlížeč -GenericName[da]=Webbrowser -GenericName[de]=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]=網路瀏覽器 -Comment=Browse the Web -Comment[ar]=تصفح الوِب -Comment[ast]=Restola pela Rede -Comment[bn]=ইন্টারনেট ব্রাউজ করুন -Comment[ca]=Navegueu per el 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]=瀏覽網際網路 -Exec=/usr/lib/firefox/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 -StartupWMClass=Firefox -Categories=Network;WebBrowser; -Keywords=web;browser;internet; -Actions=new-window;new-private-window; - -[Desktop Action new-window] -Name=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=/usr/lib/firefox/firefox --new-window %u - -[Desktop Action new-private-window] -Name=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]=Nêuvo barcón privòu -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=/usr/lib/firefox/firefox --private-window %u Copied: firefox/repos/extra-x86_64/firefox.desktop (from rev 311170, firefox/trunk/firefox.desktop) =================================================================== --- firefox.desktop (rev 0) +++ firefox.desktop 2017-11-30 12:01:59 UTC (rev 311171) @@ -0,0 +1,311 @@ +[Desktop Entry] +Version=1.0 +Name=Firefox +GenericName=Web Browser +GenericName[ar]=متصفح وِب +GenericName[ast]=Restolador Web +GenericName[bn]=ওয়েব ব্রাউজার +GenericName[ca]=Navegador web +GenericName[cs]=Webový prohlížeč +GenericName[da]=Webbrowser +GenericName[de]=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]=網路瀏覽器 +Comment=Browse the Web +Comment[ar]=تصفح الوِب +Comment[ast]=Restola pela Rede +Comment[bn]=ইন্টারনেট ব্রাউজ করুন +Comment[ca]=Navegueu per el 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]=瀏覽網際網路 +Exec=/usr/lib/firefox/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 +StartupWMClass=Firefox +Categories=Network;WebBrowser; +Keywords=web;browser;internet; +Actions=new-window;new-private-window; + +[Desktop Action new-window] +Name=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=/usr/lib/firefox/firefox --new-window %u + +[Desktop Action new-private-window] +Name=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]=Nêuvo barcón privòu +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=/usr/lib/firefox/firefox --private-window %u Deleted: no-plt.diff =================================================================== --- no-plt.diff 2017-11-30 12:01:10 UTC (rev 311170) +++ no-plt.diff 2017-11-30 12:01:59 UTC (rev 311171) @@ -1,48 +0,0 @@ -diff --git i/security/nss/lib/freebl/mpi/mpi_x86.s w/security/nss/lib/freebl/mpi/mpi_x86.s -index 8f7e2130c3264754..b3ca1ce5b41b3771 100644 ---- i/security/nss/lib/freebl/mpi/mpi_x86.s -+++ w/security/nss/lib/freebl/mpi/mpi_x86.s -@@ -22,22 +22,41 @@ is_sse: .long -1 - # - .ifndef NO_PIC - .macro GET var,reg -- movl \var@GOTOFF(%ebx),\reg -+ call thunk.ax -+ addl $_GLOBAL_OFFSET_TABLE_, %eax -+ movl \var@GOTOFF(%eax),\reg - .endm - .macro PUT reg,var -- movl \reg,\var@GOTOFF(%ebx) -+ call thunk.dx -+ addl $_GLOBAL_OFFSET_TABLE_, %edx -+ movl \reg,\var@GOTOFF(%edx) - .endm - .else - .macro GET var,reg - movl \var,\reg - .endm - .macro PUT reg,var - movl \reg,\var - .endm - .endif - - .text - -+.ifndef NO_PIC -+.globl thunk.ax -+.hidden thunk.ax -+.type thunk.ax, @function -+thunk.ax: -+ movl (%esp),%eax -+ ret -+ -+.globl thunk.dx -+.hidden thunk.dx -+.type thunk.dx, @function -+thunk.dx: -+ movl (%esp),%edx -+ ret -+.endif - - # ebp - 36: caller's esi - # ebp - 32: caller's edi Copied: firefox/repos/extra-x86_64/no-plt.diff (from rev 311170, firefox/trunk/no-plt.diff) =================================================================== --- no-plt.diff (rev 0) +++ no-plt.diff 2017-11-30 12:01:59 UTC (rev 311171) @@ -0,0 +1,48 @@ +diff --git i/security/nss/lib/freebl/mpi/mpi_x86.s w/security/nss/lib/freebl/mpi/mpi_x86.s +index 8f7e2130c3264754..b3ca1ce5b41b3771 100644 +--- i/security/nss/lib/freebl/mpi/mpi_x86.s ++++ w/security/nss/lib/freebl/mpi/mpi_x86.s +@@ -22,22 +22,41 @@ is_sse: .long -1 + # + .ifndef NO_PIC + .macro GET var,reg +- movl \var@GOTOFF(%ebx),\reg ++ call thunk.ax ++ addl $_GLOBAL_OFFSET_TABLE_, %eax ++ movl \var@GOTOFF(%eax),\reg + .endm + .macro PUT reg,var +- movl \reg,\var@GOTOFF(%ebx) ++ call thunk.dx ++ addl $_GLOBAL_OFFSET_TABLE_, %edx ++ movl \reg,\var@GOTOFF(%edx) + .endm + .else + .macro GET var,reg + movl \var,\reg + .endm + .macro PUT reg,var + movl \reg,\var + .endm + .endif + + .text + ++.ifndef NO_PIC ++.globl thunk.ax ++.hidden thunk.ax ++.type thunk.ax, @function ++thunk.ax: ++ movl (%esp),%eax ++ ret ++ ++.globl thunk.dx ++.hidden thunk.dx ++.type thunk.dx, @function ++thunk.dx: ++ movl (%esp),%edx ++ ret ++.endif + + # ebp - 36: caller's esi + # ebp - 32: caller's edi Deleted: upload-symbol-archive =================================================================== --- upload-symbol-archive 2017-11-30 12:01:10 UTC (rev 311170) +++ upload-symbol-archive 2017-11-30 12:01:59 UTC (rev 311171) @@ -1,23 +0,0 @@ -#!/bin/bash -e - -die() { - echo >&2 "$@" - exit 1 -} - -(( $# >= 2 )) || die "Usage: $0 TOKEN-FILE SYMBOL-ARCHIVE..." -token="$1" -shift - -[[ -f $token && -s $token ]] || die "Invalid TOKEN-FILE ${token@Q}" - -for zip; do - [[ $(file -Ebi "$zip") == application/zip* ]] || die "Invalid SYMBOL-ARCHIVE ${zip@Q}" -done - -for zip; do - echo >&2 "Uploading ${zip@Q} ..." - curl -X POST -H "Auth-Token: $(<"$token")" -F "${zip##*/}=@$zip" \ - https://crash-stats.mozilla.com/symbols/upload - echo -done Copied: firefox/repos/extra-x86_64/upload-symbol-archive (from rev 311170, firefox/trunk/upload-symbol-archive) =================================================================== --- upload-symbol-archive (rev 0) +++ upload-symbol-archive 2017-11-30 12:01:59 UTC (rev 311171) @@ -0,0 +1,23 @@ +#!/bin/bash -e + +die() { + echo >&2 "$@" + exit 1 +} + +(( $# >= 2 )) || die "Usage: $0 TOKEN-FILE SYMBOL-ARCHIVE..." +token="$1" +shift + +[[ -f $token && -s $token ]] || die "Invalid TOKEN-FILE ${token@Q}" + +for zip; do + [[ $(file -Ebi "$zip") == application/zip* ]] || die "Invalid SYMBOL-ARCHIVE ${zip@Q}" +done + +for zip; do + echo >&2 "Uploading ${zip@Q} ..." + curl -X POST -H "Auth-Token: $(<"$token")" -F "${zip##*/}=@$zip" \ + https://crash-stats.mozilla.com/symbols/upload + echo +done Deleted: wifi-disentangle.patch =================================================================== --- wifi-disentangle.patch 2017-11-30 12:01:10 UTC (rev 311170) +++ wifi-disentangle.patch 2017-11-30 12:01:59 UTC (rev 311171) @@ -1,245 +0,0 @@ -# HG changeset patch -# Parent 2edd69b245fbc493c3a1cf17c40c63b0280ead12 -Bug 1314968 - Disentangle nsWifiScannerDBus::SendMessage. r?kanru - -Make a copy of the function and specialize it for each message sent. -Avoids the mess of comparing the method name to figure out what to do. - -diff --git a/netwerk/wifi/nsWifiScannerDBus.cpp b/netwerk/wifi/nsWifiScannerDBus.cpp ---- a/netwerk/wifi/nsWifiScannerDBus.cpp -+++ b/netwerk/wifi/nsWifiScannerDBus.cpp -@@ -34,19 +34,47 @@ nsWifiScannerDBus::Scan() - if (!mConnection) { - return NS_ERROR_NOT_AVAILABLE; - } -- return SendMessage("org.freedesktop.NetworkManager", -- "/org/freedesktop/NetworkManager", -- "GetDevices"); -+ return SendGetDevices(); - } - -+// http://dbus.freedesktop.org/doc/api/html/group__DBusConnection.html -+// Refer to function dbus_connection_send_with_reply_and_block. -+static const uint32_t DBUS_DEFAULT_TIMEOUT = -1; -+ - nsresult --nsWifiScannerDBus::SendMessage(const char* aInterface, -- const char* aPath, -- const char* aFuncCall) --{ -- RefPtr<DBusMessage> msg = already_AddRefed<DBusMessage>( -- dbus_message_new_method_call("org.freedesktop.NetworkManager", -- aPath, aInterface, aFuncCall)); -+nsWifiScannerDBus::SendGetDevices() -+{ -+ RefPtr<DBusMessage> msg = already_AddRefed<DBusMessage>( -+ dbus_message_new_method_call("org.freedesktop.NetworkManager", -+ "/org/freedesktop/NetworkManager", -+ "org.freedesktop.NetworkManager", -+ "GetDevices")); -+ if (!msg) { -+ return NS_ERROR_FAILURE; -+ } -+ -+ DBusError err; -+ dbus_error_init(&err); -+ -+ RefPtr<DBusMessage> reply = already_AddRefed<DBusMessage>( -+ dbus_connection_send_with_reply_and_block(mConnection, msg, -+ DBUS_DEFAULT_TIMEOUT, &err)); -+ if (dbus_error_is_set(&err)) { -+ dbus_error_free(&err); -+ return NS_ERROR_FAILURE; -+ } -+ -+ return IdentifyDevices(reply); -+} -+ -+nsresult -+nsWifiScannerDBus::SendGetDeviceType(const char* aPath) -+{ -+ RefPtr<DBusMessage> msg = already_AddRefed<DBusMessage>( -+ dbus_message_new_method_call("org.freedesktop.NetworkManager", -+ aPath, -+ "org.freedesktop.DBus.Properties", -+ "Get")); - if (!msg) { - return NS_ERROR_FAILURE; - } -@@ -54,58 +82,92 @@ nsWifiScannerDBus::SendMessage(const cha - DBusMessageIter argsIter; - dbus_message_iter_init_append(msg, &argsIter); - -- if (!strcmp(aFuncCall, "Get")) { -- const char* paramInterface = "org.freedesktop.NetworkManager.Device"; -- if (!dbus_message_iter_append_basic(&argsIter, DBUS_TYPE_STRING, -- ¶mInterface)) { -- return NS_ERROR_FAILURE; -- } -- -- const char* paramDeviceType = "DeviceType"; -- if (!dbus_message_iter_append_basic(&argsIter, DBUS_TYPE_STRING, -- ¶mDeviceType)) { -- return NS_ERROR_FAILURE; -- } -- } else if (!strcmp(aFuncCall, "GetAll")) { -- const char* param = ""; -- if (!dbus_message_iter_append_basic(&argsIter, DBUS_TYPE_STRING, ¶m)) { -- return NS_ERROR_FAILURE; -- } -- } -+ const char* paramInterface = "org.freedesktop.NetworkManager.Device"; -+ if (!dbus_message_iter_append_basic(&argsIter, DBUS_TYPE_STRING, -+ ¶mInterface)) { -+ return NS_ERROR_FAILURE; -+ } -+ -+ const char* paramDeviceType = "DeviceType"; -+ if (!dbus_message_iter_append_basic(&argsIter, DBUS_TYPE_STRING, -+ ¶mDeviceType)) { -+ return NS_ERROR_FAILURE; -+ } -+ -+ DBusError err; -+ dbus_error_init(&err); -+ -+ RefPtr<DBusMessage> reply = already_AddRefed<DBusMessage>( -+ dbus_connection_send_with_reply_and_block(mConnection, msg, -+ DBUS_DEFAULT_TIMEOUT, &err)); -+ if (dbus_error_is_set(&err)) { -+ dbus_error_free(&err); -+ return NS_ERROR_FAILURE; -+ } -+ -+ return IdentifyDeviceType(reply, aPath); -+} -+ -+nsresult -+nsWifiScannerDBus::SendGetAccessPoints(const char* aPath) -+{ -+ RefPtr<DBusMessage> msg = already_AddRefed<DBusMessage>( -+ dbus_message_new_method_call("org.freedesktop.NetworkManager", -+ aPath, -+ "org.freedesktop.NetworkManager.Device.Wireless", -+ "GetAccessPoints")); -+ if (!msg) { -+ return NS_ERROR_FAILURE; -+ } - - DBusError err; - dbus_error_init(&err); - -- // http://dbus.freedesktop.org/doc/api/html/group__DBusConnection.html -- // Refer to function dbus_connection_send_with_reply_and_block. -- const uint32_t DBUS_DEFAULT_TIMEOUT = -1; - RefPtr<DBusMessage> reply = already_AddRefed<DBusMessage>( - dbus_connection_send_with_reply_and_block(mConnection, msg, - DBUS_DEFAULT_TIMEOUT, &err)); - if (dbus_error_is_set(&err)) { - dbus_error_free(&err); -- - // In the GetAccessPoints case, if there are no access points, error is set. - // We don't want to error out here. -- if (!strcmp(aFuncCall, "GetAccessPoints")) { -- return NS_OK; -- } -- return NS_ERROR_FAILURE; -+ return NS_OK; - } - -- nsresult rv; -- if (!strcmp(aFuncCall, "GetDevices")) { -- rv = IdentifyDevices(reply); -- } else if (!strcmp(aFuncCall, "Get")) { -- rv = IdentifyDeviceType(reply, aPath); -- } else if (!strcmp(aFuncCall, "GetAccessPoints")) { -- rv = IdentifyAccessPoints(reply); -- } else if (!strcmp(aFuncCall, "GetAll")) { -- rv = IdentifyAPProperties(reply); -- } else { -- rv = NS_ERROR_FAILURE; -- } -- return rv; -+ return IdentifyAccessPoints(reply); -+} -+ -+nsresult -+nsWifiScannerDBus::SendGetAPProperties(const char* aPath) -+{ -+ RefPtr<DBusMessage> msg = already_AddRefed<DBusMessage>( -+ dbus_message_new_method_call("org.freedesktop.NetworkManager", -+ aPath, -+ "org.freedesktop.DBus.Properties", -+ "GetAll")); -+ if (!msg) { -+ return NS_ERROR_FAILURE; -+ } -+ -+ DBusMessageIter argsIter; -+ dbus_message_iter_init_append(msg, &argsIter); -+ -+ const char* param = ""; -+ if (!dbus_message_iter_append_basic(&argsIter, DBUS_TYPE_STRING, ¶m)) { -+ return NS_ERROR_FAILURE; -+ } -+ -+ DBusError err; -+ dbus_error_init(&err); -+ -+ RefPtr<DBusMessage> reply = already_AddRefed<DBusMessage>( -+ dbus_connection_send_with_reply_and_block(mConnection, msg, -+ DBUS_DEFAULT_TIMEOUT, &err)); -+ if (dbus_error_is_set(&err)) { -+ dbus_error_free(&err); -+ return NS_ERROR_FAILURE; -+ } -+ -+ return IdentifyAPProperties(reply); - } - - nsresult -@@ -126,7 +188,7 @@ nsWifiScannerDBus::IdentifyDevices(DBusM - return NS_ERROR_FAILURE; - } - -- rv = SendMessage("org.freedesktop.DBus.Properties", devicePath, "Get"); -+ rv = SendGetDeviceType(devicePath); - NS_ENSURE_SUCCESS(rv, rv); - } while (dbus_message_iter_next(&iter)); - -@@ -159,8 +221,7 @@ nsWifiScannerDBus::IdentifyDeviceType(DB - const uint32_t NM_DEVICE_TYPE_WIFI = 2; - nsresult rv = NS_OK; - if (deviceType == NM_DEVICE_TYPE_WIFI) { -- rv = SendMessage("org.freedesktop.NetworkManager.Device.Wireless", -- aDevicePath, "GetAccessPoints"); -+ rv = SendGetAccessPoints(aDevicePath); - } - - return rv; -@@ -183,7 +244,7 @@ nsWifiScannerDBus::IdentifyAccessPoints( - return NS_ERROR_FAILURE; - } - -- rv = SendMessage("org.freedesktop.DBus.Properties", path, "GetAll"); -+ rv = SendGetAPProperties(path); - NS_ENSURE_SUCCESS(rv, rv); - } while (dbus_message_iter_next(&iter)); - -diff --git a/netwerk/wifi/nsWifiScannerDBus.h b/netwerk/wifi/nsWifiScannerDBus.h ---- a/netwerk/wifi/nsWifiScannerDBus.h -+++ b/netwerk/wifi/nsWifiScannerDBus.h -@@ -25,9 +25,10 @@ public: - nsresult Scan(); - - private: -- nsresult SendMessage(const char* aInterface, -- const char* aPath, -- const char* aFuncCall); -+ nsresult SendGetDevices(); -+ nsresult SendGetDeviceType(const char* aPath); -+ nsresult SendGetAccessPoints(const char* aPath); -+ nsresult SendGetAPProperties(const char* aPath); - nsresult IdentifyDevices(DBusMessage* aMsg); - nsresult IdentifyDeviceType(DBusMessage* aMsg, const char* aDevicePath); - nsresult IdentifyAccessPoints(DBusMessage* aMsg); Copied: firefox/repos/extra-x86_64/wifi-disentangle.patch (from rev 311170, firefox/trunk/wifi-disentangle.patch) =================================================================== --- wifi-disentangle.patch (rev 0) +++ wifi-disentangle.patch 2017-11-30 12:01:59 UTC (rev 311171) @@ -0,0 +1,245 @@ +# HG changeset patch +# Parent 2edd69b245fbc493c3a1cf17c40c63b0280ead12 +Bug 1314968 - Disentangle nsWifiScannerDBus::SendMessage. r?kanru + +Make a copy of the function and specialize it for each message sent. +Avoids the mess of comparing the method name to figure out what to do. + +diff --git a/netwerk/wifi/nsWifiScannerDBus.cpp b/netwerk/wifi/nsWifiScannerDBus.cpp +--- a/netwerk/wifi/nsWifiScannerDBus.cpp ++++ b/netwerk/wifi/nsWifiScannerDBus.cpp +@@ -34,19 +34,47 @@ nsWifiScannerDBus::Scan() + if (!mConnection) { + return NS_ERROR_NOT_AVAILABLE; + } +- return SendMessage("org.freedesktop.NetworkManager", +- "/org/freedesktop/NetworkManager", +- "GetDevices"); ++ return SendGetDevices(); + } + ++// http://dbus.freedesktop.org/doc/api/html/group__DBusConnection.html ++// Refer to function dbus_connection_send_with_reply_and_block. ++static const uint32_t DBUS_DEFAULT_TIMEOUT = -1; ++ + nsresult +-nsWifiScannerDBus::SendMessage(const char* aInterface, +- const char* aPath, +- const char* aFuncCall) +-{ +- RefPtr<DBusMessage> msg = already_AddRefed<DBusMessage>( +- dbus_message_new_method_call("org.freedesktop.NetworkManager", +- aPath, aInterface, aFuncCall)); ++nsWifiScannerDBus::SendGetDevices() ++{ ++ RefPtr<DBusMessage> msg = already_AddRefed<DBusMessage>( ++ dbus_message_new_method_call("org.freedesktop.NetworkManager", ++ "/org/freedesktop/NetworkManager", ++ "org.freedesktop.NetworkManager", ++ "GetDevices")); ++ if (!msg) { ++ return NS_ERROR_FAILURE; ++ } ++ ++ DBusError err; ++ dbus_error_init(&err); ++ ++ RefPtr<DBusMessage> reply = already_AddRefed<DBusMessage>( ++ dbus_connection_send_with_reply_and_block(mConnection, msg, ++ DBUS_DEFAULT_TIMEOUT, &err)); ++ if (dbus_error_is_set(&err)) { ++ dbus_error_free(&err); ++ return NS_ERROR_FAILURE; ++ } ++ ++ return IdentifyDevices(reply); ++} ++ ++nsresult ++nsWifiScannerDBus::SendGetDeviceType(const char* aPath) ++{ ++ RefPtr<DBusMessage> msg = already_AddRefed<DBusMessage>( ++ dbus_message_new_method_call("org.freedesktop.NetworkManager", ++ aPath, ++ "org.freedesktop.DBus.Properties", ++ "Get")); + if (!msg) { + return NS_ERROR_FAILURE; + } +@@ -54,58 +82,92 @@ nsWifiScannerDBus::SendMessage(const cha + DBusMessageIter argsIter; + dbus_message_iter_init_append(msg, &argsIter); + +- if (!strcmp(aFuncCall, "Get")) { +- const char* paramInterface = "org.freedesktop.NetworkManager.Device"; +- if (!dbus_message_iter_append_basic(&argsIter, DBUS_TYPE_STRING, +- ¶mInterface)) { +- return NS_ERROR_FAILURE; +- } +- +- const char* paramDeviceType = "DeviceType"; +- if (!dbus_message_iter_append_basic(&argsIter, DBUS_TYPE_STRING, +- ¶mDeviceType)) { +- return NS_ERROR_FAILURE; +- } +- } else if (!strcmp(aFuncCall, "GetAll")) { +- const char* param = ""; +- if (!dbus_message_iter_append_basic(&argsIter, DBUS_TYPE_STRING, ¶m)) { +- return NS_ERROR_FAILURE; +- } +- } ++ const char* paramInterface = "org.freedesktop.NetworkManager.Device"; ++ if (!dbus_message_iter_append_basic(&argsIter, DBUS_TYPE_STRING, ++ ¶mInterface)) { ++ return NS_ERROR_FAILURE; ++ } ++ ++ const char* paramDeviceType = "DeviceType"; ++ if (!dbus_message_iter_append_basic(&argsIter, DBUS_TYPE_STRING, ++ ¶mDeviceType)) { ++ return NS_ERROR_FAILURE; ++ } ++ ++ DBusError err; ++ dbus_error_init(&err); ++ ++ RefPtr<DBusMessage> reply = already_AddRefed<DBusMessage>( ++ dbus_connection_send_with_reply_and_block(mConnection, msg, ++ DBUS_DEFAULT_TIMEOUT, &err)); ++ if (dbus_error_is_set(&err)) { ++ dbus_error_free(&err); ++ return NS_ERROR_FAILURE; ++ } ++ ++ return IdentifyDeviceType(reply, aPath); ++} ++ ++nsresult ++nsWifiScannerDBus::SendGetAccessPoints(const char* aPath) ++{ ++ RefPtr<DBusMessage> msg = already_AddRefed<DBusMessage>( ++ dbus_message_new_method_call("org.freedesktop.NetworkManager", ++ aPath, ++ "org.freedesktop.NetworkManager.Device.Wireless", ++ "GetAccessPoints")); ++ if (!msg) { ++ return NS_ERROR_FAILURE; ++ } + + DBusError err; + dbus_error_init(&err); + +- // http://dbus.freedesktop.org/doc/api/html/group__DBusConnection.html +- // Refer to function dbus_connection_send_with_reply_and_block. +- const uint32_t DBUS_DEFAULT_TIMEOUT = -1; + RefPtr<DBusMessage> reply = already_AddRefed<DBusMessage>( + dbus_connection_send_with_reply_and_block(mConnection, msg, + DBUS_DEFAULT_TIMEOUT, &err)); + if (dbus_error_is_set(&err)) { + dbus_error_free(&err); +- + // In the GetAccessPoints case, if there are no access points, error is set. + // We don't want to error out here. +- if (!strcmp(aFuncCall, "GetAccessPoints")) { +- return NS_OK; +- } +- return NS_ERROR_FAILURE; ++ return NS_OK; + } + +- nsresult rv; +- if (!strcmp(aFuncCall, "GetDevices")) { +- rv = IdentifyDevices(reply); +- } else if (!strcmp(aFuncCall, "Get")) { +- rv = IdentifyDeviceType(reply, aPath); +- } else if (!strcmp(aFuncCall, "GetAccessPoints")) { +- rv = IdentifyAccessPoints(reply); +- } else if (!strcmp(aFuncCall, "GetAll")) { +- rv = IdentifyAPProperties(reply); +- } else { +- rv = NS_ERROR_FAILURE; +- } +- return rv; ++ return IdentifyAccessPoints(reply); ++} ++ ++nsresult ++nsWifiScannerDBus::SendGetAPProperties(const char* aPath) ++{ ++ RefPtr<DBusMessage> msg = already_AddRefed<DBusMessage>( ++ dbus_message_new_method_call("org.freedesktop.NetworkManager", ++ aPath, ++ "org.freedesktop.DBus.Properties", ++ "GetAll")); ++ if (!msg) { ++ return NS_ERROR_FAILURE; ++ } ++ ++ DBusMessageIter argsIter; ++ dbus_message_iter_init_append(msg, &argsIter); ++ ++ const char* param = ""; ++ if (!dbus_message_iter_append_basic(&argsIter, DBUS_TYPE_STRING, ¶m)) { ++ return NS_ERROR_FAILURE; ++ } ++ ++ DBusError err; ++ dbus_error_init(&err); ++ ++ RefPtr<DBusMessage> reply = already_AddRefed<DBusMessage>( ++ dbus_connection_send_with_reply_and_block(mConnection, msg, ++ DBUS_DEFAULT_TIMEOUT, &err)); ++ if (dbus_error_is_set(&err)) { ++ dbus_error_free(&err); ++ return NS_ERROR_FAILURE; ++ } ++ ++ return IdentifyAPProperties(reply); + } + + nsresult +@@ -126,7 +188,7 @@ nsWifiScannerDBus::IdentifyDevices(DBusM + return NS_ERROR_FAILURE; + } + +- rv = SendMessage("org.freedesktop.DBus.Properties", devicePath, "Get"); ++ rv = SendGetDeviceType(devicePath); + NS_ENSURE_SUCCESS(rv, rv); + } while (dbus_message_iter_next(&iter)); + +@@ -159,8 +221,7 @@ nsWifiScannerDBus::IdentifyDeviceType(DB + const uint32_t NM_DEVICE_TYPE_WIFI = 2; + nsresult rv = NS_OK; + if (deviceType == NM_DEVICE_TYPE_WIFI) { +- rv = SendMessage("org.freedesktop.NetworkManager.Device.Wireless", +- aDevicePath, "GetAccessPoints"); ++ rv = SendGetAccessPoints(aDevicePath); + } + + return rv; +@@ -183,7 +244,7 @@ nsWifiScannerDBus::IdentifyAccessPoints( + return NS_ERROR_FAILURE; + } + +- rv = SendMessage("org.freedesktop.DBus.Properties", path, "GetAll"); ++ rv = SendGetAPProperties(path); + NS_ENSURE_SUCCESS(rv, rv); + } while (dbus_message_iter_next(&iter)); + +diff --git a/netwerk/wifi/nsWifiScannerDBus.h b/netwerk/wifi/nsWifiScannerDBus.h +--- a/netwerk/wifi/nsWifiScannerDBus.h ++++ b/netwerk/wifi/nsWifiScannerDBus.h +@@ -25,9 +25,10 @@ public: + nsresult Scan(); + + private: +- nsresult SendMessage(const char* aInterface, +- const char* aPath, +- const char* aFuncCall); ++ nsresult SendGetDevices(); ++ nsresult SendGetDeviceType(const char* aPath); ++ nsresult SendGetAccessPoints(const char* aPath); ++ nsresult SendGetAPProperties(const char* aPath); + nsresult IdentifyDevices(DBusMessage* aMsg); + nsresult IdentifyDeviceType(DBusMessage* aMsg, const char* aDevicePath); + nsresult IdentifyAccessPoints(DBusMessage* aMsg); Deleted: wifi-fix-interface.patch =================================================================== --- wifi-fix-interface.patch 2017-11-30 12:01:10 UTC (rev 311170) +++ wifi-fix-interface.patch 2017-11-30 12:01:59 UTC (rev 311171) @@ -1,26 +0,0 @@ -# HG changeset patch -# Parent 7a6d836b62779aa61988981c6ca646495574a505 -Bug 1314968 - Explicitly specify the AccessPoint interface name. r?kanru - -The DBus specification allows passing an empty string as the interface to the -org.freedesktop.DBus.Properties.GetAll call to get all properties, throwing away the namespace -(interface) information. - -However, GDBus does not allow this. When NetworkManager moved to using GDBus, Firefox lost the -ability to retrieve access points from NetworkManager. - -Since we're only interested in properties from the org.freedesktop.NetworkManager.AccessPoint -interface, name it explicitly. This works with both the old and the new NetworkManager. - -diff --git a/netwerk/wifi/nsWifiScannerDBus.cpp b/netwerk/wifi/nsWifiScannerDBus.cpp ---- a/netwerk/wifi/nsWifiScannerDBus.cpp -+++ b/netwerk/wifi/nsWifiScannerDBus.cpp -@@ -151,7 +151,7 @@ nsWifiScannerDBus::SendGetAll(const char - DBusMessageIter argsIter; - dbus_message_iter_init_append(msg, &argsIter); - -- const char* param = ""; -+ const char* param = "org.freedesktop.NetworkManager.AccessPoint"; - if (!dbus_message_iter_append_basic(&argsIter, DBUS_TYPE_STRING, ¶m)) { - return NS_ERROR_FAILURE; - } Copied: firefox/repos/extra-x86_64/wifi-fix-interface.patch (from rev 311170, firefox/trunk/wifi-fix-interface.patch) =================================================================== --- wifi-fix-interface.patch (rev 0) +++ wifi-fix-interface.patch 2017-11-30 12:01:59 UTC (rev 311171) @@ -0,0 +1,26 @@ +# HG changeset patch +# Parent 7a6d836b62779aa61988981c6ca646495574a505 +Bug 1314968 - Explicitly specify the AccessPoint interface name. r?kanru + +The DBus specification allows passing an empty string as the interface to the +org.freedesktop.DBus.Properties.GetAll call to get all properties, throwing away the namespace +(interface) information. + +However, GDBus does not allow this. When NetworkManager moved to using GDBus, Firefox lost the +ability to retrieve access points from NetworkManager. + +Since we're only interested in properties from the org.freedesktop.NetworkManager.AccessPoint +interface, name it explicitly. This works with both the old and the new NetworkManager. + +diff --git a/netwerk/wifi/nsWifiScannerDBus.cpp b/netwerk/wifi/nsWifiScannerDBus.cpp +--- a/netwerk/wifi/nsWifiScannerDBus.cpp ++++ b/netwerk/wifi/nsWifiScannerDBus.cpp +@@ -151,7 +151,7 @@ nsWifiScannerDBus::SendGetAll(const char + DBusMessageIter argsIter; + dbus_message_iter_init_append(msg, &argsIter); + +- const char* param = ""; ++ const char* param = "org.freedesktop.NetworkManager.AccessPoint"; + if (!dbus_message_iter_append_basic(&argsIter, DBUS_TYPE_STRING, ¶m)) { + return NS_ERROR_FAILURE; + }