summarylogtreecommitdiffstats
path: root/unity-menubar.patch
diff options
context:
space:
mode:
Diffstat (limited to 'unity-menubar.patch')
-rw-r--r--unity-menubar.patch288
1 files changed, 146 insertions, 142 deletions
diff --git a/unity-menubar.patch b/unity-menubar.patch
index ff1356f42d75..09878c7a38da 100644
--- a/unity-menubar.patch
+++ b/unity-menubar.patch
@@ -1,7 +1,7 @@
-Index: firefox-trunk-51.0~a1~hg20160830r311818/browser/base/content/browser-menubar.inc
+Index: firefox-52.0~b9+build2/browser/base/content/browser-menubar.inc
===================================================================
---- firefox-trunk-51.0~a1~hg20160830r311818.orig/browser/base/content/browser-menubar.inc
-+++ firefox-trunk-51.0~a1~hg20160830r311818/browser/base/content/browser-menubar.inc
+--- firefox-52.0~b9+build2.orig/browser/base/content/browser-menubar.inc
++++ firefox-52.0~b9+build2/browser/base/content/browser-menubar.inc
@@ -5,7 +5,11 @@
<menubar id="main-menubar"
@@ -14,10 +14,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/browser/base/content/browser-menu
this.setAttribute('openedwithkey',
event.target.parentNode.openedWithKey);"
style="border:0px;padding:0px;margin:0px;-moz-appearance:none">
-Index: firefox-trunk-51.0~a1~hg20160830r311818/browser/components/places/content/places.xul
+Index: firefox-52.0~b9+build2/browser/components/places/content/places.xul
===================================================================
---- firefox-trunk-51.0~a1~hg20160830r311818.orig/browser/components/places/content/places.xul
-+++ firefox-trunk-51.0~a1~hg20160830r311818/browser/components/places/content/places.xul
+--- firefox-52.0~b9+build2.orig/browser/components/places/content/places.xul
++++ firefox-52.0~b9+build2/browser/components/places/content/places.xul
@@ -157,7 +157,7 @@
<toolbarbutton type="menu" class="tabbable"
onpopupshowing="document.getElementById('placeContent').focus()"
@@ -27,10 +27,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/browser/components/places/content
<menu accesskey="&organize.accesskey;" class="menu-iconic"
#endif
id="organizeButton" label="&organize.label;"
-Index: firefox-trunk-51.0~a1~hg20160830r311818/toolkit/content/widgets/popup.xml
+Index: firefox-52.0~b9+build2/toolkit/content/widgets/popup.xml
===================================================================
---- firefox-trunk-51.0~a1~hg20160830r311818.orig/toolkit/content/widgets/popup.xml
-+++ firefox-trunk-51.0~a1~hg20160830r311818/toolkit/content/widgets/popup.xml
+--- firefox-52.0~b9+build2.orig/toolkit/content/widgets/popup.xml
++++ firefox-52.0~b9+build2/toolkit/content/widgets/popup.xml
@@ -25,8 +25,14 @@
</getter>
</property>
@@ -48,11 +48,11 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/toolkit/content/widgets/popup.xml
<property name="triggerNode" readonly="true"
onget="return this.popupBoxObject.triggerNode"/>
-Index: firefox-trunk-51.0~a1~hg20160830r311818/toolkit/content/xul.css
+Index: firefox-52.0~b9+build2/toolkit/content/xul.css
===================================================================
---- firefox-trunk-51.0~a1~hg20160830r311818.orig/toolkit/content/xul.css
-+++ firefox-trunk-51.0~a1~hg20160830r311818/toolkit/content/xul.css
-@@ -315,6 +315,18 @@ toolbar[type="menubar"][autohide="true"]
+--- firefox-52.0~b9+build2.orig/toolkit/content/xul.css
++++ firefox-52.0~b9+build2/toolkit/content/xul.css
+@@ -307,6 +307,18 @@ toolbar[type="menubar"][autohide="true"]
}
%endif
@@ -71,10 +71,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/toolkit/content/xul.css
toolbarseparator {
-moz-binding: url("chrome://global/content/bindings/toolbar.xml#toolbardecoration");
}
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsDbusmenu.cpp
+Index: firefox-52.0~b9+build2/widget/gtk/nsDbusmenu.cpp
===================================================================
--- /dev/null
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsDbusmenu.cpp
++++ firefox-52.0~b9+build2/widget/gtk/nsDbusmenu.cpp
@@ -0,0 +1,63 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -139,10 +139,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsDbusmenu.cpp
+
+ return NS_OK;
+}
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsDbusmenu.h
+Index: firefox-52.0~b9+build2/widget/gtk/nsDbusmenu.h
===================================================================
--- /dev/null
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsDbusmenu.h
++++ firefox-52.0~b9+build2/widget/gtk/nsDbusmenu.h
@@ -0,0 +1,99 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -243,10 +243,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsDbusmenu.h
+#define dbusmenu_menuitem_property_set_shortcut nsDbusmenuFunctions::s_dbusmenu_menuitem_property_set_shortcut
+
+#endif /* __nsDbusmenu_h__ */
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenu.cpp
+Index: firefox-52.0~b9+build2/widget/gtk/nsMenu.cpp
===================================================================
--- /dev/null
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenu.cpp
++++ firefox-52.0~b9+build2/widget/gtk/nsMenu.cpp
@@ -0,0 +1,868 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -1116,10 +1116,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenu.cpp
+
+ MaybeAddPlaceholderItem();
+}
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenu.h
+Index: firefox-52.0~b9+build2/widget/gtk/nsMenu.h
===================================================================
--- /dev/null
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenu.h
++++ firefox-52.0~b9+build2/widget/gtk/nsMenu.h
@@ -0,0 +1,166 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -1287,10 +1287,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenu.h
+};
+
+#endif /* __nsMenu_h__ */
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuBar.cpp
+Index: firefox-52.0~b9+build2/widget/gtk/nsMenuBar.cpp
===================================================================
--- /dev/null
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuBar.cpp
++++ firefox-52.0~b9+build2/widget/gtk/nsMenuBar.cpp
@@ -0,0 +1,545 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -1837,10 +1837,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuBar.cpp
+ DebugOnly<nsresult> rv = RemoveChild(aChild);
+ NS_ASSERTION(NS_SUCCEEDED(rv), "Failed to remove item from menubar");
+}
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuBar.h
+Index: firefox-52.0~b9+build2/widget/gtk/nsMenuBar.h
===================================================================
--- /dev/null
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuBar.h
++++ firefox-52.0~b9+build2/widget/gtk/nsMenuBar.h
@@ -0,0 +1,112 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -1954,10 +1954,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuBar.h
+};
+
+#endif /* __nsMenuBar_h__ */
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuContainer.cpp
+Index: firefox-52.0~b9+build2/widget/gtk/nsMenuContainer.cpp
===================================================================
--- /dev/null
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuContainer.cpp
++++ firefox-52.0~b9+build2/widget/gtk/nsMenuContainer.cpp
@@ -0,0 +1,174 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -2133,10 +2133,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuContainer.cpp
+
+ return aContent;
+}
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuContainer.h
+Index: firefox-52.0~b9+build2/widget/gtk/nsMenuContainer.h
===================================================================
--- /dev/null
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuContainer.h
++++ firefox-52.0~b9+build2/widget/gtk/nsMenuContainer.h
@@ -0,0 +1,66 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -2204,11 +2204,11 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuContainer.h
+};
+
+#endif /* __nsMenuContainer_h__ */
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuItem.cpp
+Index: firefox-52.0~b9+build2/widget/gtk/nsMenuItem.cpp
===================================================================
--- /dev/null
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuItem.cpp
-@@ -0,0 +1,742 @@
++++ firefox-52.0~b9+build2/widget/gtk/nsMenuItem.cpp
+@@ -0,0 +1,743 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
+ */
@@ -2264,9 +2264,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuItem.cpp
+
+static struct KeyCodeData gKeyCodes[] = {
+#define NS_DEFINE_VK(aDOMKeyName, aDOMKeyCode) \
-+ { #aDOMKeyName, sizeof(#aDOMKeyName) - 1, aDOMKeyCode }
++ { #aDOMKeyName, sizeof(#aDOMKeyName) - 1, aDOMKeyCode },
+#include "mozilla/VirtualKeyCodeList.h"
+#undef NS_DEFINE_VK
++ { nullptr, 0, 0 }
+};
+
+struct KeyPair {
@@ -2951,10 +2952,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuItem.cpp
+ UpdateIcon(sc);
+ }
+}
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuItem.h
+Index: firefox-52.0~b9+build2/widget/gtk/nsMenuItem.h
===================================================================
--- /dev/null
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuItem.h
++++ firefox-52.0~b9+build2/widget/gtk/nsMenuItem.h
@@ -0,0 +1,107 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -3063,11 +3064,11 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuItem.h
+};
+
+#endif /* __nsMenuItem_h__ */
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuObject.cpp
+Index: firefox-52.0~b9+build2/widget/gtk/nsMenuObject.cpp
===================================================================
--- /dev/null
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuObject.cpp
-@@ -0,0 +1,709 @@
++++ firefox-52.0~b9+build2/widget/gtk/nsMenuObject.cpp
+@@ -0,0 +1,694 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
+ */
@@ -3082,7 +3083,6 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuObject.cpp
+#include "imgRequestProxy.h"
+#include "mozilla/ArrayUtils.h"
+#include "mozilla/dom/Element.h"
-+#include "mozilla/LookAndFeel.h"
+#include "mozilla/Preferences.h"
+#include "nsAttrValue.h"
+#include "nsComputedDOMStyle.h"
@@ -3427,25 +3427,11 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuObject.cpp
+bool
+nsMenuObject::ShouldShowIcon() const
+{
-+ static bool known = false;
-+ static bool showImagesInMenus = false;
-+
+ // Ideally we want to know the visibility of the anonymous XUL image in
+ // our menuitem, but this isn't created because we don't have a frame.
+ // The following works by default (because xul.css hides images in menuitems
-+ // that don't have the "menuitem-with-favicon" class, when eIntID_ImagesInMenus
-+ // is false). It's possible a third party theme could override this, but,
-+ // oh well...
-+ if (!known) {
-+ showImagesInMenus =
-+ LookAndFeel::GetInt(LookAndFeel::eIntID_ImagesInMenus);
-+ known = true;
-+ }
-+
-+ if (showImagesInMenus) {
-+ return true;
-+ }
-+
++ // that don't have the "menuitem-with-favicon" class). It's possible a third
++ // party theme could override this, but, oh well...
+ const nsAttrValue *classes = mContent->GetClasses();
+ if (!classes) {
+ return false;
@@ -3777,10 +3763,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuObject.cpp
+ weak = weak->GetPrevious();
+ }
+}
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuObject.h
+Index: firefox-52.0~b9+build2/widget/gtk/nsMenuObject.h
===================================================================
--- /dev/null
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuObject.h
++++ firefox-52.0~b9+build2/widget/gtk/nsMenuObject.h
@@ -0,0 +1,242 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -4024,10 +4010,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuObject.h
+};
+
+#endif /* __nsMenuObject_h__ */
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuSeparator.cpp
+Index: firefox-52.0~b9+build2/widget/gtk/nsMenuSeparator.cpp
===================================================================
--- /dev/null
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuSeparator.cpp
++++ firefox-52.0~b9+build2/widget/gtk/nsMenuSeparator.cpp
@@ -0,0 +1,90 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -4119,10 +4105,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuSeparator.cpp
+ UpdateVisibility(sc);
+ }
+}
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuSeparator.h
+Index: firefox-52.0~b9+build2/widget/gtk/nsMenuSeparator.h
===================================================================
--- /dev/null
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuSeparator.h
++++ firefox-52.0~b9+build2/widget/gtk/nsMenuSeparator.h
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -4165,10 +4151,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuSeparator.h
+};
+
+#endif /* __nsMenuSeparator_h__ */
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuAtomList.h
+Index: firefox-52.0~b9+build2/widget/gtk/nsNativeMenuAtomList.h
===================================================================
--- /dev/null
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuAtomList.h
++++ firefox-52.0~b9+build2/widget/gtk/nsNativeMenuAtomList.h
@@ -0,0 +1,11 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -4181,10 +4167,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuAtomList.h
+WIDGET_ATOM2(_moz_menupopupstate, "_moz-menupopupstate")
+WIDGET_ATOM(openedwithkey)
+WIDGET_ATOM(shellshowingmenubar)
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuAtoms.cpp
+Index: firefox-52.0~b9+build2/widget/gtk/nsNativeMenuAtoms.cpp
===================================================================
--- /dev/null
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuAtoms.cpp
++++ firefox-52.0~b9+build2/widget/gtk/nsNativeMenuAtoms.cpp
@@ -0,0 +1,39 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -4221,14 +4207,14 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuAtoms.cpp
+};
+
+/* static */ void
-+nsNativeMenuAtoms::Init()
++nsNativeMenuAtoms::RegisterAtoms()
+{
+ NS_RegisterStaticAtoms(gAtoms);
+}
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuAtoms.h
+Index: firefox-52.0~b9+build2/widget/gtk/nsNativeMenuAtoms.h
===================================================================
--- /dev/null
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuAtoms.h
++++ firefox-52.0~b9+build2/widget/gtk/nsNativeMenuAtoms.h
@@ -0,0 +1,25 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -4245,7 +4231,7 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuAtoms.h
+class nsNativeMenuAtoms
+{
+public:
-+ static void Init();
++ static void RegisterAtoms();
+
+#define WIDGET_ATOM(_name) static nsIAtom* _name;
+#define WIDGET_ATOM2(_name, _value) static nsIAtom* _name;
@@ -4255,10 +4241,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuAtoms.h
+};
+
+#endif /* __nsNativeMenuAtoms_h__ */
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuDocListener.cpp
+Index: firefox-52.0~b9+build2/widget/gtk/nsNativeMenuDocListener.cpp
===================================================================
--- /dev/null
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuDocListener.cpp
++++ firefox-52.0~b9+build2/widget/gtk/nsNativeMenuDocListener.cpp
@@ -0,0 +1,370 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -4630,10 +4616,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuDocListene
+ CancelFlush(this);
+ mPendingMutations.Clear();
+}
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuDocListener.h
+Index: firefox-52.0~b9+build2/widget/gtk/nsNativeMenuDocListener.h
===================================================================
--- /dev/null
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuDocListener.h
++++ firefox-52.0~b9+build2/widget/gtk/nsNativeMenuDocListener.h
@@ -0,0 +1,153 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -4788,10 +4774,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuDocListene
+};
+
+#endif /* __nsNativeMenuDocListener_h__ */
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuService.cpp
+Index: firefox-52.0~b9+build2/widget/gtk/nsNativeMenuService.cpp
===================================================================
--- /dev/null
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuService.cpp
++++ firefox-52.0~b9+build2/widget/gtk/nsNativeMenuService.cpp
@@ -0,0 +1,506 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -5299,10 +5285,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuService.cp
+
+ return NS_OK;
+}
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuService.h
+Index: firefox-52.0~b9+build2/widget/gtk/nsNativeMenuService.h
===================================================================
--- /dev/null
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuService.h
++++ firefox-52.0~b9+build2/widget/gtk/nsNativeMenuService.h
@@ -0,0 +1,88 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -5392,10 +5378,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuService.h
+};
+
+#endif /* __nsNativeMenuService_h__ */
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuUtils.h
+Index: firefox-52.0~b9+build2/widget/gtk/nsNativeMenuUtils.h
===================================================================
--- /dev/null
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuUtils.h
++++ firefox-52.0~b9+build2/widget/gtk/nsNativeMenuUtils.h
@@ -0,0 +1,59 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -5456,21 +5442,20 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuUtils.h
+};
+
+#endif /* __nsNativeMenuUtils_h__ */
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsWidgetFactory.cpp
+Index: firefox-52.0~b9+build2/widget/gtk/nsWidgetFactory.cpp
===================================================================
---- firefox-trunk-51.0~a1~hg20160830r311818.orig/widget/gtk/nsWidgetFactory.cpp
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsWidgetFactory.cpp
-@@ -49,6 +49,9 @@
+--- firefox-52.0~b9+build2.orig/widget/gtk/nsWidgetFactory.cpp
++++ firefox-52.0~b9+build2/widget/gtk/nsWidgetFactory.cpp
+@@ -49,6 +49,8 @@
#include "GfxInfoX11.h"
#endif
+#include "nsNativeMenuService.h"
-+#include "nsNativeMenuAtoms.h"
+
#include "nsNativeThemeGTK.h"
#include "nsIComponentRegistrar.h"
-@@ -121,6 +124,9 @@ NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(GfxI
+@@ -121,6 +123,9 @@ NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(GfxI
}
#endif
@@ -5480,7 +5465,7 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsWidgetFactory.cpp
#ifdef NS_PRINTING
NS_GENERIC_FACTORY_CONSTRUCTOR(nsDeviceContextSpecGTK)
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsPrintOptionsGTK, Init)
-@@ -223,6 +229,7 @@ NS_DEFINE_NAMED_CID(NS_IMAGE_TO_PIXBUF_C
+@@ -223,6 +228,7 @@ NS_DEFINE_NAMED_CID(NS_IMAGE_TO_PIXBUF_C
NS_DEFINE_NAMED_CID(NS_IDLE_SERVICE_CID);
NS_DEFINE_NAMED_CID(NS_GFXINFO_CID);
#endif
@@ -5488,7 +5473,7 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsWidgetFactory.cpp
static const mozilla::Module::CIDEntry kWidgetCIDs[] = {
-@@ -258,6 +265,7 @@ static const mozilla::Module::CIDEntry k
+@@ -258,6 +264,7 @@ static const mozilla::Module::CIDEntry k
{ &kNS_IDLE_SERVICE_CID, false, nullptr, nsIdleServiceGTKConstructor },
{ &kNS_GFXINFO_CID, false, nullptr, mozilla::widget::GfxInfoConstructor },
#endif
@@ -5496,7 +5481,7 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsWidgetFactory.cpp
{ nullptr }
};
-@@ -295,9 +303,19 @@ static const mozilla::Module::ContractID
+@@ -295,6 +302,7 @@ static const mozilla::Module::ContractID
{ "@mozilla.org/widget/idleservice;1", &kNS_IDLE_SERVICE_CID },
{ "@mozilla.org/gfx/info;1", &kNS_GFXINFO_CID },
#endif
@@ -5504,32 +5489,11 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsWidgetFactory.cpp
{ nullptr }
};
-+static nsresult
-+nsWidgetGtk2ModuleCtor()
-+{
-+ nsAppShellInit();
-+ nsNativeMenuAtoms::Init();
-+
-+ return NS_OK;
-+}
-+
- static void
- nsWidgetGtk2ModuleDtor()
- {
-@@ -323,7 +341,7 @@ static const mozilla::Module kWidgetModu
- kWidgetContracts,
- nullptr,
- nullptr,
-- nsAppShellInit,
-+ nsWidgetGtk2ModuleCtor,
- nsWidgetGtk2ModuleDtor,
- Module::ALLOW_IN_GPU_PROCESS
- };
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsWindow.cpp
+Index: firefox-52.0~b9+build2/widget/gtk/nsWindow.cpp
===================================================================
---- firefox-trunk-51.0~a1~hg20160830r311818.orig/widget/gtk/nsWindow.cpp
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsWindow.cpp
-@@ -5129,6 +5129,11 @@ nsWindow::HideWindowChrome(bool aShouldH
+--- firefox-52.0~b9+build2.orig/widget/gtk/nsWindow.cpp
++++ firefox-52.0~b9+build2/widget/gtk/nsWindow.cpp
+@@ -5175,6 +5175,11 @@ nsWindow::HideWindowChrome(bool aShouldH
return NS_OK;
}
@@ -5541,11 +5505,11 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsWindow.cpp
bool
nsWindow::CheckForRollup(gdouble aMouseX, gdouble aMouseY,
bool aIsWheel, bool aAlwaysRollup)
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsWindow.h
+Index: firefox-52.0~b9+build2/widget/gtk/nsWindow.h
===================================================================
---- firefox-trunk-51.0~a1~hg20160830r311818.orig/widget/gtk/nsWindow.h
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsWindow.h
-@@ -34,6 +34,8 @@
+--- firefox-52.0~b9+build2.orig/widget/gtk/nsWindow.h
++++ firefox-52.0~b9+build2/widget/gtk/nsWindow.h
+@@ -35,6 +35,8 @@
#include "IMContextWrapper.h"
@@ -5554,7 +5518,7 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsWindow.h
#undef LOG
#ifdef MOZ_LOGGING
-@@ -161,6 +163,8 @@ public:
+@@ -162,6 +164,8 @@ public:
nsIScreen* aTargetScreen = nullptr) override;
NS_IMETHOD HideWindowChrome(bool aShouldHide) override;
@@ -5563,7 +5527,7 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsWindow.h
/**
* GetLastUserInputTime returns a timestamp for the most recent user input
* event. This is intended for pointer grab requests (including drags).
-@@ -565,6 +569,8 @@ private:
+@@ -569,6 +573,8 @@ private:
RefPtr<mozilla::widget::IMContextWrapper> mIMContext;
mozilla::UniquePtr<mozilla::CurrentX11TimeGetter> mCurrentTimeGetter;
@@ -5572,10 +5536,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsWindow.h
};
class nsChildWindow : public nsWindow {
-Index: firefox-trunk-51.0~a1~hg20160830r311818/xpfe/appshell/nsWebShellWindow.cpp
+Index: firefox-52.0~b9+build2/xpfe/appshell/nsWebShellWindow.cpp
===================================================================
---- firefox-trunk-51.0~a1~hg20160830r311818.orig/xpfe/appshell/nsWebShellWindow.cpp
-+++ firefox-trunk-51.0~a1~hg20160830r311818/xpfe/appshell/nsWebShellWindow.cpp
+--- firefox-52.0~b9+build2.orig/xpfe/appshell/nsWebShellWindow.cpp
++++ firefox-52.0~b9+build2/xpfe/appshell/nsWebShellWindow.cpp
@@ -58,6 +58,7 @@
#include "nsIScreen.h"
@@ -5593,7 +5557,7 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/xpfe/appshell/nsWebShellWindow.cp
#include "nsINativeMenuService.h"
#define USE_NATIVE_MENUS
#endif
-@@ -484,6 +485,11 @@ static void LoadNativeMenus(nsIDOMDocume
+@@ -498,6 +499,11 @@ static void LoadNativeMenus(nsIDOMDocume
if (menubarNode) {
nsCOMPtr<nsIContent> menubarContent(do_QueryInterface(menubarNode));
@@ -5605,10 +5569,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/xpfe/appshell/nsWebShellWindow.cp
nms->CreateNativeMenuBar(aParentWindow, menubarContent);
} else {
nms->CreateNativeMenuBar(aParentWindow, nullptr);
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/moz.build
+Index: firefox-52.0~b9+build2/widget/gtk/moz.build
===================================================================
---- firefox-trunk-51.0~a1~hg20160830r311818.orig/widget/gtk/moz.build
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/moz.build
+--- firefox-52.0~b9+build2.orig/widget/gtk/moz.build
++++ firefox-52.0~b9+build2/widget/gtk/moz.build
@@ -24,10 +24,18 @@ UNIFIED_SOURCES += [
'nsAppShell.cpp',
'nsBidiKeyboard.cpp',
@@ -5637,7 +5601,7 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/moz.build
'nsWindow.cpp', # conflicts with X11 headers
]
-@@ -90,6 +100,7 @@ FINAL_LIBRARY = 'xul'
+@@ -104,6 +114,7 @@ FINAL_LIBRARY = 'xul'
LOCAL_INCLUDES += [
'/layout/generic',
@@ -5645,11 +5609,11 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/moz.build
'/layout/xul',
'/other-licenses/atk-1.0',
'/widget',
-Index: firefox-trunk-51.0~a1~hg20160830r311818/browser/base/content/browser.js
+Index: firefox-52.0~b9+build2/browser/base/content/browser.js
===================================================================
---- firefox-trunk-51.0~a1~hg20160830r311818.orig/browser/base/content/browser.js
-+++ firefox-trunk-51.0~a1~hg20160830r311818/browser/base/content/browser.js
-@@ -5025,6 +5025,8 @@ function getTogglableToolbars() {
+--- firefox-52.0~b9+build2.orig/browser/base/content/browser.js
++++ firefox-52.0~b9+build2/browser/base/content/browser.js
+@@ -5079,6 +5079,8 @@ function getTogglableToolbars() {
let toolbarNodes = Array.slice(gNavToolbox.childNodes);
toolbarNodes = toolbarNodes.concat(gNavToolbox.externalToolbars);
toolbarNodes = toolbarNodes.filter(node => node.getAttribute("toolbarname"));
@@ -5658,10 +5622,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/browser/base/content/browser.js
return toolbarNodes;
}
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/moz.build
+Index: firefox-52.0~b9+build2/widget/moz.build
===================================================================
---- firefox-trunk-51.0~a1~hg20160830r311818.orig/widget/moz.build
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/moz.build
+--- firefox-52.0~b9+build2.orig/widget/moz.build
++++ firefox-52.0~b9+build2/widget/moz.build
@@ -37,10 +37,12 @@ elif toolkit == 'cocoa':
'nsITaskbarProgress.idl',
]
@@ -5676,11 +5640,11 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/moz.build
TEST_DIRS += ['tests']
# Don't build the DSO under the 'build' directory as windows does.
-Index: firefox-trunk-51.0~a1~hg20160830r311818/modules/libpref/init/all.js
+Index: firefox-52.0~b9+build2/modules/libpref/init/all.js
===================================================================
---- firefox-trunk-51.0~a1~hg20160830r311818.orig/modules/libpref/init/all.js
-+++ firefox-trunk-51.0~a1~hg20160830r311818/modules/libpref/init/all.js
-@@ -221,6 +221,9 @@ pref("dom.compartment_per_addon", true);
+--- firefox-52.0~b9+build2.orig/modules/libpref/init/all.js
++++ firefox-52.0~b9+build2/modules/libpref/init/all.js
+@@ -229,6 +229,9 @@ pref("dom.compartment_per_addon", true);
pref("browser.sessionhistory.max_total_viewers", -1);
pref("ui.use_native_colors", true);
@@ -5690,11 +5654,11 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/modules/libpref/init/all.js
pref("ui.click_hold_context_menus", false);
// Duration of timeout of incremental search in menus (ms). 0 means infinite.
pref("ui.menu.incremental_search.timeout", 1000);
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsScreenGtk.cpp
+Index: firefox-52.0~b9+build2/widget/gtk/nsScreenGtk.cpp
===================================================================
---- firefox-trunk-51.0~a1~hg20160830r311818.orig/widget/gtk/nsScreenGtk.cpp
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsScreenGtk.cpp
-@@ -13,6 +13,7 @@
+--- firefox-52.0~b9+build2.orig/widget/gtk/nsScreenGtk.cpp
++++ firefox-52.0~b9+build2/widget/gtk/nsScreenGtk.cpp
+@@ -15,6 +15,7 @@
#include <gtk/gtk.h>
#include <dlfcn.h>
#include "gfxPlatformGtk.h"
@@ -5702,3 +5666,43 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsScreenGtk.cpp
static uint32_t sScreenId = 0;
+Index: firefox-52.0~b9+build2/layout/build/moz.build
+===================================================================
+--- firefox-52.0~b9+build2.orig/layout/build/moz.build
++++ firefox-52.0~b9+build2/layout/build/moz.build
+@@ -77,6 +77,10 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'go
+ LOCAL_INCLUDES += [
+ '/dom/system/gonk',
+ ]
++elif 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
++ LOCAL_INCLUDES += [
++ '/widget/gtk',
++ ]
+
+ if CONFIG['MOZ_WEBSPEECH']:
+ LOCAL_INCLUDES += [
+Index: firefox-52.0~b9+build2/layout/build/nsLayoutStatics.cpp
+===================================================================
+--- firefox-52.0~b9+build2.orig/layout/build/nsLayoutStatics.cpp
++++ firefox-52.0~b9+build2/layout/build/nsLayoutStatics.cpp
+@@ -132,6 +132,10 @@ using namespace mozilla::system;
+ #include "mozilla/StaticPresData.h"
+ #include "mozilla/dom/WebIDLGlobalNameHash.h"
+
++#ifdef MOZ_WIDGET_GTK
++#include "nsNativeMenuAtoms.h"
++#endif
++
+ using namespace mozilla;
+ using namespace mozilla::net;
+ using namespace mozilla::dom;
+@@ -166,6 +170,9 @@ nsLayoutStatics::Initialize()
+ nsTextServicesDocument::RegisterAtoms();
+ nsHTMLTags::RegisterAtoms();
+ nsRDFAtoms::RegisterAtoms();
++#ifdef MOZ_WIDGET_GTK
++ nsNativeMenuAtoms::RegisterAtoms();
++#endif
+
+ NS_SealStaticAtomTable();
+