[arch-commits] Commit in firefox/repos/extra-x86_64 (20 files)
Jan Steffens
heftig at archlinux.org
Fri Dec 29 06:51:03 UTC 2017
Date: Friday, December 29, 2017 @ 06:51:02
Author: heftig
Revision: 313753
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 313752, 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 313752, firefox/trunk/0002-Bug-1419426-Implement-browserSettings.contextMenuSho.patch)
firefox/repos/extra-x86_64/PKGBUILD
(from rev 313752, firefox/trunk/PKGBUILD)
firefox/repos/extra-x86_64/firefox-install-dir.patch
(from rev 313752, firefox/trunk/firefox-install-dir.patch)
firefox/repos/extra-x86_64/firefox-symbolic.svg
(from rev 313752, firefox/trunk/firefox-symbolic.svg)
firefox/repos/extra-x86_64/firefox.desktop
(from rev 313752, firefox/trunk/firefox.desktop)
firefox/repos/extra-x86_64/no-plt.diff
(from rev 313752, firefox/trunk/no-plt.diff)
firefox/repos/extra-x86_64/upload-symbol-archive
(from rev 313752, firefox/trunk/upload-symbol-archive)
firefox/repos/extra-x86_64/wifi-disentangle.patch
(from rev 313752, firefox/trunk/wifi-disentangle.patch)
firefox/repos/extra-x86_64/wifi-fix-interface.patch
(from rev 313752, 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/0002-Bug-1419426-Implement-browserSettings.contextMenuSho.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 | 406 +++---
0002-Bug-1419426-Implement-browserSettings.contextMenuSho.patch | 508 ++++----
PKGBUILD | 400 +++---
firefox-install-dir.patch | 26
firefox-symbolic.svg | 60
firefox.desktop | 622 +++++-----
no-plt.diff | 96 -
upload-symbol-archive | 47
wifi-disentangle.patch | 490 +++----
wifi-fix-interface.patch | 52
10 files changed, 1354 insertions(+), 1353 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-12-29 06:49:42 UTC (rev 313752)
+++ 0001-Bug-1360278-Add-preference-to-trigger-context-menu-o.patch 2017-12-29 06:51:02 UTC (rev 313753)
@@ -1,203 +0,0 @@
-From 05ec1aa0d5e8806dd0c5c6d08c82846a1389b599 Mon Sep 17 00:00:00 2001
-Message-Id: <05ec1aa0d5e8806dd0c5c6d08c82846a1389b599.1512038840.git.jan.steffens at gmail.com>
-From: Robin Grenet <robin.grenet at 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/0001-Bug-1360278-Add-preference-to-trigger-context-menu-o.patch (from rev 313752, 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-12-29 06:51:02 UTC (rev 313753)
@@ -0,0 +1,203 @@
+From 05ec1aa0d5e8806dd0c5c6d08c82846a1389b599 Mon Sep 17 00:00:00 2001
+Message-Id: <05ec1aa0d5e8806dd0c5c6d08c82846a1389b599.1512038840.git.jan.steffens at gmail.com>
+From: Robin Grenet <robin.grenet at 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
+
Deleted: 0002-Bug-1419426-Implement-browserSettings.contextMenuSho.patch
===================================================================
--- 0002-Bug-1419426-Implement-browserSettings.contextMenuSho.patch 2017-12-29 06:49:42 UTC (rev 313752)
+++ 0002-Bug-1419426-Implement-browserSettings.contextMenuSho.patch 2017-12-29 06:51:02 UTC (rev 313753)
@@ -1,254 +0,0 @@
-From f19a0f3bc5e1e87d3c663cc2b147c5c0831519c5 Mon Sep 17 00:00:00 2001
-Message-Id: <f19a0f3bc5e1e87d3c663cc2b147c5c0831519c5.1512038840.git.jan.steffens at gmail.com>
-In-Reply-To: <05ec1aa0d5e8806dd0c5c6d08c82846a1389b599.1512038840.git.jan.steffens at gmail.com>
-References: <05ec1aa0d5e8806dd0c5c6d08c82846a1389b599.1512038840.git.jan.steffens at gmail.com>
-From: Bob Silverberg <bsilverberg at 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
-
Copied: firefox/repos/extra-x86_64/0002-Bug-1419426-Implement-browserSettings.contextMenuSho.patch (from rev 313752, 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-12-29 06:51:02 UTC (rev 313753)
@@ -0,0 +1,254 @@
+From f19a0f3bc5e1e87d3c663cc2b147c5c0831519c5 Mon Sep 17 00:00:00 2001
+Message-Id: <f19a0f3bc5e1e87d3c663cc2b147c5c0831519c5.1512038840.git.jan.steffens at gmail.com>
+In-Reply-To: <05ec1aa0d5e8806dd0c5c6d08c82846a1389b599.1512038840.git.jan.steffens at gmail.com>
+References: <05ec1aa0d5e8806dd0c5c6d08c82846a1389b599.1512038840.git.jan.steffens at gmail.com>
+From: Bob Silverberg <bsilverberg at 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-12-29 06:49:42 UTC (rev 313752)
+++ PKGBUILD 2017-12-29 06:51:02 UTC (rev 313753)
@@ -1,200 +0,0 @@
-# $Id$
-# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens at gmail.com>
-# Contributor: Ionut Biru <ibiru at archlinux.org>
-# Contributor: Jakub Schmidtke <sjakub at gmail.com>
-
-pkgname=firefox
-pkgver=57.0.2
-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 foutrelis at 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 heftig at 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 at Q}/google-api-key
-ac_add_options --with-mozilla-api-keyfile=${PWD at 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-logo at 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 313752, firefox/trunk/PKGBUILD)
===================================================================
--- PKGBUILD (rev 0)
+++ PKGBUILD 2017-12-29 06:51:02 UTC (rev 313753)
@@ -0,0 +1,200 @@
+# $Id$
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens at gmail.com>
+# Contributor: Ionut Biru <ibiru at archlinux.org>
+# Contributor: Jakub Schmidtke <sjakub at gmail.com>
+
+pkgname=firefox
+pkgver=57.0.3
+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 foutrelis at 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 heftig at 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 at Q}/google-api-key
+ac_add_options --with-mozilla-api-keyfile=${PWD at 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-logo at 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-12-29 06:49:42 UTC (rev 313752)
+++ firefox-install-dir.patch 2017-12-29 06:51:02 UTC (rev 313753)
@@ -1,13 +0,0 @@
-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
Copied: firefox/repos/extra-x86_64/firefox-install-dir.patch (from rev 313752, firefox/trunk/firefox-install-dir.patch)
===================================================================
--- firefox-install-dir.patch (rev 0)
+++ firefox-install-dir.patch 2017-12-29 06:51:02 UTC (rev 313753)
@@ -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-12-29 06:49:42 UTC (rev 313752)
+++ firefox-symbolic.svg 2017-12-29 06:51:02 UTC (rev 313753)
@@ -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 313752, firefox/trunk/firefox-symbolic.svg)
===================================================================
--- firefox-symbolic.svg (rev 0)
+++ firefox-symbolic.svg 2017-12-29 06:51:02 UTC (rev 313753)
@@ -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-12-29 06:49:42 UTC (rev 313752)
+++ firefox.desktop 2017-12-29 06:51:02 UTC (rev 313753)
@@ -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 313752, firefox/trunk/firefox.desktop)
===================================================================
--- firefox.desktop (rev 0)
+++ firefox.desktop 2017-12-29 06:51:02 UTC (rev 313753)
@@ -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-12-29 06:49:42 UTC (rev 313752)
+++ no-plt.diff 2017-12-29 06:51:02 UTC (rev 313753)
@@ -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 at GOTOFF(%ebx),\reg
-+ call thunk.ax
-+ addl $_GLOBAL_OFFSET_TABLE_, %eax
-+ movl \var at GOTOFF(%eax),\reg
- .endm
- .macro PUT reg,var
-- movl \reg,\var at GOTOFF(%ebx)
-+ call thunk.dx
-+ addl $_GLOBAL_OFFSET_TABLE_, %edx
-+ movl \reg,\var at 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 313752, firefox/trunk/no-plt.diff)
===================================================================
--- no-plt.diff (rev 0)
+++ no-plt.diff 2017-12-29 06:51:02 UTC (rev 313753)
@@ -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 at GOTOFF(%ebx),\reg
++ call thunk.ax
++ addl $_GLOBAL_OFFSET_TABLE_, %eax
++ movl \var at GOTOFF(%eax),\reg
+ .endm
+ .macro PUT reg,var
+- movl \reg,\var at GOTOFF(%ebx)
++ call thunk.dx
++ addl $_GLOBAL_OFFSET_TABLE_, %edx
++ movl \reg,\var at 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-12-29 06:49:42 UTC (rev 313752)
+++ upload-symbol-archive 2017-12-29 06:51:02 UTC (rev 313753)
@@ -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 at Q}"
-
-for zip; do
- [[ $(file -Ebi "$zip") == application/zip* ]] || die "Invalid SYMBOL-ARCHIVE ${zip at Q}"
-done
-
-for zip; do
- echo >&2 "Uploading ${zip at Q} ..."
- curl -X POST -H "Auth-Token: $(<"$token")" -F "${zip##*/}=@$zip" \
- https://symbols.mozilla.org/upload/
- echo
-done
Copied: firefox/repos/extra-x86_64/upload-symbol-archive (from rev 313752, firefox/trunk/upload-symbol-archive)
===================================================================
--- upload-symbol-archive (rev 0)
+++ upload-symbol-archive 2017-12-29 06:51:02 UTC (rev 313753)
@@ -0,0 +1,24 @@
+#!/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 at Q}"
+
+for zip; do
+ [[ $(file -Ebi "$zip") == application/zip* ]] || die "Invalid SYMBOL-ARCHIVE ${zip at Q}"
+done
+
+for zip; do
+ echo >&2 "Uploading ${zip at Q} ..."
+ curl -X POST -H "Auth-Token: $(<"$token")" -F "${zip##*/}=@$zip" \
+ --retry 4 --retry-connrefused --connect-timeout 120 \
+ https://symbols.mozilla.org/upload/
+ echo
+done
Deleted: wifi-disentangle.patch
===================================================================
--- wifi-disentangle.patch 2017-12-29 06:49:42 UTC (rev 313752)
+++ wifi-disentangle.patch 2017-12-29 06:51:02 UTC (rev 313753)
@@ -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 313752, firefox/trunk/wifi-disentangle.patch)
===================================================================
--- wifi-disentangle.patch (rev 0)
+++ wifi-disentangle.patch 2017-12-29 06:51:02 UTC (rev 313753)
@@ -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-12-29 06:49:42 UTC (rev 313752)
+++ wifi-fix-interface.patch 2017-12-29 06:51:02 UTC (rev 313753)
@@ -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 313752, firefox/trunk/wifi-fix-interface.patch)
===================================================================
--- wifi-fix-interface.patch (rev 0)
+++ wifi-fix-interface.patch 2017-12-29 06:51:02 UTC (rev 313753)
@@ -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;
+ }
More information about the arch-commits
mailing list