--- a/MozillaFirefox/MozillaFirefox.changes Fri Jun 08 22:31:03 2018 +0200
+++ b/MozillaFirefox/MozillaFirefox.changes Fri Jun 08 22:48:29 2018 +0200
@@ -3,6 +3,11 @@
- update to Firefox 61.0b12
- requires NSS 3.37.3
+- removed obsolete patches
+ mozilla-i586-DecoderDoctorLogger.patch
+ mozilla-i586-domPrefs.patch
+ mozilla-fix-skia-aarch64.patch
+ mozilla-bmo1375074.patch
-------------------------------------------------------------------
Fri Jun 1 10:52:13 UTC 2018 - bjorn.lie@gmail.com
--- a/MozillaFirefox/MozillaFirefox.spec Fri Jun 08 22:31:03 2018 +0200
+++ b/MozillaFirefox/MozillaFirefox.spec Fri Jun 08 22:48:29 2018 +0200
@@ -156,11 +156,7 @@
Patch6: mozilla-reduce-files-per-UnifiedBindings.patch
Patch7: mozilla-aarch64-startup-crash.patch
Patch8: mozilla-bmo256180.patch
-Patch9: mozilla-i586-DecoderDoctorLogger.patch
-Patch10: mozilla-i586-domPrefs.patch
Patch11: mozilla-enable-csd.patch
-Patch12: mozilla-fix-skia-aarch64.patch
-Patch13: mozilla-bmo1375074.patch
# Firefox/browser
Patch101: firefox-kde.patch
Patch102: firefox-branded-icons.patch
@@ -270,13 +266,7 @@
%endif
%patch7 -p1
%patch8 -p1
-%ifarch %ix86
-%patch9 -p1
-%patch10 -p1
-%endif
-%patch11 -p1
-%patch12 -p1
-%patch13 -p1
+#%patch11 -p1
# Firefox
%patch101 -p1
%patch102 -p1
--- a/MozillaFirefox/mozilla-bmo1375074.patch Fri Jun 08 22:31:03 2018 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-../mozilla-bmo1375074.patch
\ No newline at end of file
--- a/MozillaFirefox/mozilla-fix-skia-aarch64.patch Fri Jun 08 22:31:03 2018 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-../mozilla-fix-skia-aarch64.patch
\ No newline at end of file
--- a/MozillaFirefox/mozilla-i586-DecoderDoctorLogger.patch Fri Jun 08 22:31:03 2018 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-../mozilla-i586-DecoderDoctorLogger.patch
\ No newline at end of file
--- a/MozillaFirefox/mozilla-i586-domPrefs.patch Fri Jun 08 22:31:03 2018 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-../mozilla-i586-domPrefs.patch
\ No newline at end of file
--- a/firefox-branded-icons.patch Fri Jun 08 22:31:03 2018 +0200
+++ b/firefox-branded-icons.patch Fri Jun 08 22:48:29 2018 +0200
@@ -1,11 +1,11 @@
# HG changeset patch
# Parent e0751ad74e835e80041a61ea00c2a63bf6fbe2de
-# Parent 38e46d7f98d3e392de95d83660ecd147b30dc9aa
+# Parent 8a401a01454e9f5e8a357262d774e0ff348d9bc1
diff --git a/browser/branding/branding-common.mozbuild b/browser/branding/branding-common.mozbuild
--- a/browser/branding/branding-common.mozbuild
+++ b/browser/branding/branding-common.mozbuild
-@@ -17,12 +17,15 @@ def FirefoxBranding():
+@@ -22,12 +22,15 @@ def FirefoxBranding():
FINAL_TARGET_FILES.VisualElements += [
'VisualElements_150.png',
'VisualElements_70.png',
@@ -24,9 +24,9 @@
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
-@@ -601,20 +601,23 @@
- @RESPATH@/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/chrome.manifest
- @RESPATH@/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/install.rdf
+@@ -404,20 +404,23 @@
+ @RESPATH@/browser/chrome/pdfjs.manifest
+ @RESPATH@/browser/chrome/pdfjs/*
@RESPATH@/chrome/toolkit@JAREXT@
@RESPATH@/chrome/toolkit.manifest
@RESPATH@/chrome/recording.manifest
@@ -46,5 +46,5 @@
; [Webide Files]
@RESPATH@/browser/chrome/webide@JAREXT@
@RESPATH@/browser/chrome/webide.manifest
- @RESPATH@/browser/@PREF_DIR@/webide-prefs.js
+ @RESPATH@/browser/@PREF_DIR@/webide.js
--- a/firefox-kde.patch Fri Jun 08 22:31:03 2018 +0200
+++ b/firefox-kde.patch Fri Jun 08 22:48:29 2018 +0200
@@ -1,11 +1,11 @@
# HG changeset patch
-# Parent 1b44c077e473c5a7d02fab26e2a220ebf219e0ab
+# Parent a01c6385626ce90528d02e5127de5c1444c07efc
diff --git a/browser/base/content/browser-kde.xul b/browser/base/content/browser-kde.xul
new file mode 100644
--- /dev/null
+++ b/browser/base/content/browser-kde.xul
-@@ -0,0 +1,1280 @@
+@@ -0,0 +1,1293 @@
+#filter substitution
+<?xml version="1.0"?>
+# -*- Mode: HTML -*-
@@ -21,14 +21,17 @@
+<?xml-stylesheet href="chrome://browser/skin/controlcenter/panel.css" type="text/css"?>
+<?xml-stylesheet href="chrome://browser/skin/customizableui/panelUI.css" type="text/css"?>
+<?xml-stylesheet href="chrome://browser/skin/downloads/downloads.css"?>
++<?xml-stylesheet href="chrome://browser/skin/places/places.css"?>
++<?xml-stylesheet href="chrome://browser/skin/places/editBookmark.css"?>
+<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
+<?xml-stylesheet href="chrome://browser/content/tabbrowser.css" type="text/css"?>
-+
-+<?xul-overlay href="chrome://browser/content/places/placesOverlay.xul"?>
++<?xml-stylesheet href="chrome://browser/skin/compacttheme.css" type="text/css" alternate="yes" title="Light/Dark"?>
+
+# All DTD information is stored in a separate file so that it can be shared by
+# hiddenWindow.xul.
++<!DOCTYPE window [
+#include browser-doctype.inc
++]>
+
+<window id="main-window"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
@@ -51,14 +54,12 @@
+ titlemodifier_normal="&mainWindow.titlemodifier;"
+ titlemodifier_privatebrowsing="&mainWindow.titlemodifier; &mainWindow.titlePrivateBrowsingSuffix;"
+#endif
-+#ifdef CAN_DRAW_IN_TITLEBAR
+#ifdef XP_WIN
+ chromemargin="0,2,2,2"
+#else
+ chromemargin="0,-1,-1,-1"
+#endif
+ tabsintitlebar="true"
-+#endif
+ titlemenuseparator="&mainWindow.titlemodifiermenuseparator;"
+ windowtype="navigator:browser"
+ macanimationtype="document"
@@ -68,18 +69,33 @@
+ retargetdocumentfocus="urlbar"
+ persist="screenX screenY width height sizemode">
+
-+# All JS files which are not content (only) dependent that browser.xul
-+# wishes to include *must* go into the global-scripts.inc file
-+# so that they can be shared by macBrowserOverlay.xul.
++# All JS files which are needed by browser.xul and other top level windows to
++# support MacOS specific features *must* go into the global-scripts.inc file so
++# that they can be shared with macWindow.inc.xul.
+#include global-scripts.inc
+
+<script type="application/javascript">
+ Services.scriptloader.loadSubScript("chrome://global/content/contentAreaUtils.js", this);
+ Services.scriptloader.loadSubScript("chrome://browser/content/tabbrowser.js", this);
++
++ ChromeUtils.defineModuleGetter(window,
++ "PlacesUtils", "resource://gre/modules/PlacesUtils.jsm");
++ ChromeUtils.defineModuleGetter(window,
++ "PlacesUIUtils", "resource:///modules/PlacesUIUtils.jsm");
++ ChromeUtils.defineModuleGetter(window,
++ "PlacesTransactions", "resource://gre/modules/PlacesTransactions.jsm");
++
++ ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm");
++ XPCOMUtils.defineLazyScriptGetter(window, "PlacesTreeView",
++ "chrome://browser/content/places/treeView.js");
++ XPCOMUtils.defineLazyScriptGetter(window,
++ ["PlacesInsertionPoint", "PlacesController", "PlacesControllerDragHelper"],
++ "chrome://browser/content/places/controller.js");
+</script>
+
-+# All sets except for popupsets (commands, keys, stringbundles and broadcasters) *must* go into the
-+# browser-sets.inc file for sharing with hiddenWindow.xul.
++# All sets except for popupsets (commands, keys, stringbundles and broadcasters)
++# *must* go into the browser-sets.inc file so that they can be shared with other
++# top level windows in macWindow.inc.xul.
+#define FULL_BROWSER_WINDOW
+#include browser-sets.inc
+#undef FULL_BROWSER_WINDOW
@@ -219,7 +235,7 @@
+ <description id="editBookmarkPanelDescription"/>
+ </vbox>
+ </row>
-+ <vbox id="editBookmarkPanelContent" flex="1" hidden="true"/>
++#include ../../components/places/content/editBookmarkPanel.inc.xul
+ <hbox id="editBookmarkPanelBottomButtons" pack="end">
+#ifdef XP_UNIX
+ <button id="editBookmarkPanelDoneButton"
@@ -403,7 +419,7 @@
+#include browser-context.inc
+ </menupopup>
+
-+ <menupopup id="placesContext"/>
++#include ../../components/places/content/placesContextMenu.inc.xul
+
+ <panel id="ctrlTab-panel" hidden="true" norestorefocus="true" level="top">
+ <hbox>
@@ -432,7 +448,8 @@
+ copyURL-title="&pageAction.copyLink.label;"
+ emailLink-title="&emailPageCmd.label;"
+ sendToDevice-title="&pageAction.sendTabToDevice.label;"
-+ sendToDevice-notReadyTitle="&sendToDevice.syncNotReady.label;">
++ sendToDevice-notReadyTitle="&sendToDevice.syncNotReady.label;"
++ shareURL-title="&pageAction.shareUrl.label;">
+ <panelmultiview id="pageActionPanelMultiView"
+ mainViewId="pageActionPanelMainView"
+ viewCacheId="appMenu-viewCache">
@@ -480,8 +497,7 @@
+ oncommand="BrowserPageActions.openAboutAddonsForContextAction();"/>
+ </menupopup>
+
-+ <!-- Bookmarks and history tooltip -->
-+ <tooltip id="bhTooltip"/>
++#include ../../components/places/content/bookmarksHistoryTooltip.inc.xul
+
+ <tooltip id="tabbrowser-tab-tooltip" onpopupshowing="gBrowser.createTooltip(event);"/>
+
@@ -515,15 +531,6 @@
+ </vbox>
+ </hbox>
+
-+ <hbox id="bookmarked-notification-container" mousethrough="always">
-+ <vbox id="bookmarked-notification-anchor">
-+ <vbox id="bookmarked-notification"/>
-+ </vbox>
-+ <vbox id="bookmarked-notification-dropmarker-anchor">
-+ <image id="bookmarked-notification-dropmarker-icon"/>
-+ </vbox>
-+ </hbox>
-+
+ <tooltip id="dynamic-shortcut-tooltip"
+ onpopupshowing="UpdateDynamicShortcutTooltipText(this);"/>
+
@@ -589,7 +596,6 @@
+ </popupset>
+ <box id="appMenu-viewCache" hidden="true"/>
+
-+#ifdef CAN_DRAW_IN_TITLEBAR
+<vbox id="titlebar">
+ <hbox id="titlebar-content">
+ <spacer id="titlebar-spacer" flex="1"/>
@@ -611,7 +617,6 @@
+#endif
+ </hbox>
+</vbox>
-+#endif
+
+ <toolbox id="navigator-toolbox">
+ <!-- Menu -->
@@ -626,17 +631,15 @@
+#endif
+ context="toolbar-context-menu">
+ <toolbaritem id="menubar-items" align="center">
-+# The entire main menubar is placed into browser-menubar.inc, so that it can be shared by
-+# hiddenWindow.xul.
++# The entire main menubar is placed into browser-menubar.inc, so that it can be
++# shared with other top level windows in macWindow.inc.xul.
+#include browser-menubar.inc
+ </toolbaritem>
+
-+#ifdef CAN_DRAW_IN_TITLEBAR
+#ifndef XP_MACOSX
+ <hbox class="titlebar-placeholder" type="caption-buttons" ordinal="1000"
+ skipintoolbarset="true"/>
+#endif
-+#endif
+ </toolbar>
+
+ <toolbar id="TabsToolbar"
@@ -645,13 +648,9 @@
+ customizable="true"
+ mode="icons"
+ aria-label="&tabsToolbar.label;"
-+ context="toolbar-context-menu"
-+ collapsed="true">
-+
-+#ifdef CAN_DRAW_IN_TITLEBAR
++ context="toolbar-context-menu">
+ <hbox class="titlebar-placeholder" type="pre-tabs"
+ skipintoolbarset="true"/>
-+#endif
+
+ <tabs id="tabbrowser-tabs"
+ flex="1"
@@ -675,7 +674,7 @@
+ removable="true"/>
+
+ <toolbarbutton id="alltabs-button"
-+ class="toolbarbutton-1 chromeclass-toolbar-additional tabs-alltabs-button"
++ class="toolbarbutton-1 chromeclass-toolbar-additional tabs-alltabs-button badged-button"
+ type="menu"
+ label="&listAllTabs.label;"
+ tooltiptext="&listAllTabs.label;"
@@ -692,21 +691,23 @@
+ <menupopup id="alltabs_containersMenuTab" />
+ </menu>
+ <menuseparator id="alltabs-popup-separator-2"/>
++ <menu id="alltabs_hiddenTabs"
++ label="&hiddenTabs.label;">
++ <menupopup id="alltabs_hiddenTabsMenu"/>
++ </menu>
++ <menuseparator id="alltabs-popup-separator-3"/>
+ </menupopup>
+ </toolbarbutton>
+
-+#ifdef CAN_DRAW_IN_TITLEBAR
+ <hbox class="titlebar-placeholder" type="post-tabs"
+ ordinal="1000"
+ skipintoolbarset="true"/>
-+#endif
+
+ <button class="accessibility-indicator" tooltiptext="&accessibilityIndicator.tooltip;"
+ ordinal="1000"
+ aria-live="polite" skipintoolbarset="true"/>
+ <hbox class="private-browsing-indicator" skipintoolbarset="true"
+ ordinal="1000"/>
-+#ifdef CAN_DRAW_IN_TITLEBAR
+ <hbox class="titlebar-placeholder" type="caption-buttons"
+#ifndef XP_MACOSX
+ ordinal="1000"
@@ -717,7 +718,6 @@
+ <hbox class="titlebar-placeholder" type="fullscreen-button"
+ skipintoolbarset="true"/>
+#endif
-+#endif
+ </toolbar>
+
+ <toolbar id="nav-bar"
@@ -876,7 +876,7 @@
+ <image id="midi-notification-icon" class="notification-anchor-icon midi-icon" role="button"
+ tooltiptext="&urlbar.midiNotificationAnchor.tooltip;"/>
+ <image id="webauthn-notification-icon" class="notification-anchor-icon" role="button"
-+ tooltiptext="&urlbar.defaultNotificationAnchor.tooltip;"/>
++ tooltiptext="&urlbar.webAuthnAnchor.tooltip;"/>
+ </box>
+ <image id="connection-icon"/>
+ <image id="extension-icon"/>
@@ -1228,8 +1228,12 @@
+ onselect="if (event.target.localName == 'tabpanels') gBrowser.updateCurrentBrowser();">
+ <tabpanels flex="1" class="plain" selectedIndex="0" id="tabbrowser-tabpanels">
+ <notificationbox flex="1" notificationside="top">
-+ <hbox flex="1" class="browserSidebarContainer">
-+ <vbox flex="1" class="browserContainer">
++ <!-- Set large flex to allow the devtools toolbox to set a flex attribute.
++ We don't want the toolbox to actually take up free space, but we do want it to collapse when the window shrinks, and with flex=0 it can't.
++ When the toolbox is on the bottom it's a sibling of browserSidebarContainer,
++ and when it's on the side it's a sibling of browserContainer. -->
++ <hbox flex="10000" class="browserSidebarContainer">
++ <vbox flex="10000" class="browserContainer">
+ <stack flex="1" class="browserStack">
+ <browser id="tabbrowser-initialBrowser" type="content"
+ message="true" messagemanagergroup="browsers"
@@ -1240,6 +1244,15 @@
+ selectmenulist="ContentSelectDropdown"
+ datetimepicker="DateTimePickerPanel"/>
+ </stack>
++ <hbox id="statuspanel" inactive="true" layer="true">
++ <hbox id="statuspanel-inner">
++ <label id="statuspanel-label"
++ role="status"
++ aria-live="off"
++ flex="1"
++ crop="end"/>
++ </hbox>
++ </hbox>
+ </vbox>
+ </hbox>
+ </notificationbox>
@@ -1289,7 +1302,7 @@
diff --git a/browser/base/jar.mn b/browser/base/jar.mn
--- a/browser/base/jar.mn
+++ b/browser/base/jar.mn
-@@ -42,16 +42,18 @@ browser.jar:
+@@ -44,16 +44,18 @@ browser.jar:
content/browser/aboutRobots-icon.png (content/aboutRobots-icon.png)
content/browser/aboutRobots-widget-left.png (content/aboutRobots-widget-left.png)
content/browser/aboutTabCrashed.css (content/aboutTabCrashed.css)
@@ -1330,7 +1343,7 @@
#include "rdf.h"
#include "nsFeedSniffer.h"
-@@ -32,18 +32,16 @@ using namespace mozilla::browser;
+@@ -31,18 +31,16 @@ using namespace mozilla::browser;
/////////////////////////////////////////////////////////////////////////////
@@ -1349,9 +1362,9 @@
NS_GENERIC_FACTORY_CONSTRUCTOR(nsFeedSniffer)
-@@ -64,17 +62,17 @@ NS_DEFINE_NAMED_CID(NS_SHELLSERVICE_CID)
- NS_GENERIC_FACTORY_CONSTRUCTOR(nsSessionStoreUtils)
- NS_DEFINE_NAMED_CID(NS_SESSIONSTOREUTILS_CID);
+@@ -60,17 +58,17 @@ NS_DEFINE_NAMED_CID(NS_WINIEHISTORYENUME
+ NS_DEFINE_NAMED_CID(NS_SHELLSERVICE_CID);
+ #endif
static const mozilla::Module::CIDEntry kBrowserCIDs[] = {
{ &kNS_BROWSERDIRECTORYPROVIDER_CID, false, nullptr, DirectoryProviderConstructor },
@@ -1371,7 +1384,7 @@
diff --git a/browser/components/preferences/in-content/main.js b/browser/components/preferences/in-content/main.js
--- a/browser/components/preferences/in-content/main.js
+++ b/browser/components/preferences/in-content/main.js
-@@ -333,16 +333,23 @@ var gMainPane = {
+@@ -327,16 +327,23 @@ var gMainPane = {
this._backoffIndex++ : backoffTimes.length - 1]);
};
@@ -1395,7 +1408,7 @@
performanceSettingsLink.setAttribute("href", performanceSettingsUrl);
this.updateDefaultPerformanceSettingsPref();
-@@ -1060,16 +1067,27 @@ var gMainPane = {
+@@ -868,16 +875,27 @@ var gMainPane = {
// Reset exponential backoff delay time in order to do visual update in pollForDefaultBrowser.
this._backoffIndex = 0;
@@ -1426,25 +1439,25 @@
diff --git a/browser/components/shell/moz.build b/browser/components/shell/moz.build
--- a/browser/components/shell/moz.build
+++ b/browser/components/shell/moz.build
-@@ -39,16 +39,18 @@ if CONFIG['OS_ARCH'] == 'WINNT':
- ]
- elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
- SOURCES += [
- 'nsMacShellService.cpp',
+@@ -21,16 +21,18 @@ XPIDL_SOURCES += [
+
+ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
+ XPIDL_SOURCES += [
+ 'nsIMacShellService.idl',
]
elif 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
- SOURCES += [
- 'nsGNOMEShellService.cpp',
+ XPIDL_SOURCES += [
+ 'nsIGNOMEShellService.idl',
+ 'nsKDEShellService.cpp',
+ 'nsUnixShellService.cpp',
]
- if SOURCES:
- FINAL_LIBRARY = 'browsercomps'
+ XPIDL_MODULE = 'shellservice'
- EXTRA_COMPONENTS += [
- 'nsSetDefaultBrowser.js',
- 'nsSetDefaultBrowser.manifest',
+ if CONFIG['OS_ARCH'] == 'WINNT':
+ SOURCES += [
+ 'nsWindowsShellService.cpp',
+ ]
diff --git a/browser/components/shell/nsKDEShellService.cpp b/browser/components/shell/nsKDEShellService.cpp
new file mode 100644
--- /dev/null
@@ -1739,7 +1752,7 @@
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
-@@ -646,16 +646,18 @@
+@@ -452,16 +452,18 @@
@RESPATH@/browser/defaults/blocklists
@RESPATH@/browser/defaults/pinning
@@ -1748,13 +1761,13 @@
; gre location for now.
@RESPATH@/defaults/pref/channel-prefs.js
-+@BINPATH@/defaults/pref/kde.js
++@RESPATH@/defaults/pref/kde.js
+
- ; Remote control protocol prefs
- ; defined in ../../testing/marionette/prefs/marionette.js
- @RESPATH@/defaults/pref/marionette.js
-
; Services (gre) prefs
@RESPATH@/defaults/pref/services-sync.js
; [Layout Engine Resources]
+ ; Style Sheets, Graphics and other Resources used by the layout engine.
+ @RESPATH@/res/EditorOverride.css
+ @RESPATH@/res/contenteditable.css
+ @RESPATH@/res/designmode.css
--- a/mozilla-bmo1375074.patch Fri Jun 08 22:31:03 2018 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-
-# HG changeset patch
-# User Lars T Hansen <lhansen@mozilla.com>
-# Date 1519822672 -3600
-# Node ID 800abe66894d6b07b24bccecbf6a65e2261076f6
-# Parent 223c97459e96183eb616aed39147207bdb953ba8
-Bug 1375074 - Save and restore non-volatile x28 on ARM64 for generated unboxed object constructor. r=sstangl
-
-diff --git a/js/src/jit-test/tests/bug1375074.js b/js/src/jit-test/tests/bug1375074.js
-new file mode 100644
---- /dev/null
-+++ b/js/src/jit-test/tests/bug1375074.js
-@@ -0,0 +1,18 @@
-+// This forces the VM to start creating unboxed objects and thus stresses a
-+// particular path into generated code for a specialized unboxed object
-+// constructor.
-+
-+var K = 2000; // 2000 should be plenty
-+var s = "[";
-+var i;
-+for ( i=0; i < K-1; i++ )
-+ s = s + `{"i":${i}},`;
-+s += `{"i":${i}}]`;
-+var v = JSON.parse(s);
-+
-+assertEq(v.length == K, true);
-+
-+for ( i=0; i < K; i++) {
-+ assertEq(v[i] instanceof Object, true);
-+ assertEq(v[i].i, i);
-+}
-diff --git a/js/src/vm/UnboxedObject.cpp b/js/src/vm/UnboxedObject.cpp
---- a/js/src/vm/UnboxedObject.cpp
-+++ b/js/src/vm/UnboxedObject.cpp
-@@ -90,17 +90,25 @@ UnboxedLayout::makeConstructorCode(JSCon
- masm.loadPtr(Address(masm.getStackPointer(), sizeof(void*)), propertiesReg);
- masm.loadPtr(Address(masm.getStackPointer(), 2 * sizeof(void*)), newKindReg);
- #else
- propertiesReg = IntArgReg0;
- newKindReg = IntArgReg1;
- #endif
-
- #ifdef JS_CODEGEN_ARM64
-- // ARM64 communicates stack address via sp, but uses a pseudo-sp for addressing.
-+ // ARM64 communicates stack address via sp, but uses a pseudo-sp (PSP) for
-+ // addressing. The register we use for PSP may however also be used by
-+ // calling code, and it is nonvolatile, so save it. Do this as a special
-+ // case first because the generic save/restore code needs the PSP to be
-+ // initialized already.
-+ MOZ_ASSERT(PseudoStackPointer64.Is(masm.GetStackPointer64()));
-+ masm.Str(PseudoStackPointer64, vixl::MemOperand(sp, -16, vixl::PreIndex));
-+
-+ // Initialize the PSP from the SP.
- masm.initStackPtr();
- #endif
-
- MOZ_ASSERT(propertiesReg.volatile_());
- MOZ_ASSERT(newKindReg.volatile_());
-
- AllocatableGeneralRegisterSet regs(GeneralRegisterSet::All());
- regs.take(propertiesReg);
-@@ -228,17 +236,32 @@ UnboxedLayout::makeConstructorCode(JSCon
- if (object != ReturnReg)
- masm.movePtr(object, ReturnReg);
-
- // Restore non-volatile registers which were saved on entry.
- if (ScratchDoubleReg.volatile_())
- masm.pop(ScratchDoubleReg);
- masm.PopRegsInMask(savedNonVolatileRegisters);
-
-+#ifdef JS_CODEGEN_ARM64
-+ // Now restore the value that was in the PSP register on entry, and return.
-+
-+ // Obtain the correct SP from the PSP.
-+ masm.Mov(sp, PseudoStackPointer64);
-+
-+ // Restore the saved value of the PSP register, this value is whatever the
-+ // caller had saved in it, not any actual SP value, and it must not be
-+ // overwritten subsequently.
-+ masm.Ldr(PseudoStackPointer64, vixl::MemOperand(sp, 16, vixl::PostIndex));
-+
-+ // Perform a plain Ret(), as abiret() will move SP <- PSP and that is wrong.
-+ masm.Ret(vixl::lr);
-+#else
- masm.abiret();
-+#endif
-
- masm.bind(&failureStoreOther);
-
- // There was a failure while storing a value which cannot be stored at all
- // in the unboxed object. Initialize the object so it is safe for GC and
- // return null.
- masm.initUnboxedObjectContents(object, templateObject);
-
-
--- a/mozilla-fix-skia-aarch64.patch Fri Jun 08 22:31:03 2018 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
---- firefox-60.0/gfx/skia/skia/src/jumper/SkJumper_stages.cpp.orig 2018-05-14 13:23:26.001095058 +0200
-+++ firefox-60.0/gfx/skia/skia/src/jumper/SkJumper_stages.cpp 2018-05-14 13:24:46.851416500 +0200
-@@ -666,7 +666,7 @@ SI F approx_powf(F x, F y) {
- }
-
- SI F from_half(U16 h) {
--#if defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
-+#if defined(JUMPER_IS_NEON) && defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
- return vcvt_f32_f16(h);
-
- #elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512)
-@@ -686,7 +686,7 @@ SI F from_half(U16 h) {
- }
-
- SI U16 to_half(F f) {
--#if defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
-+#if defined(JUMPER_IS_NEON) && defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
- return vcvt_f16_f32(f);
-
- #elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512)
--- a/mozilla-i586-DecoderDoctorLogger.patch Fri Jun 08 22:31:03 2018 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-# HG changeset patch
-# Parent f3fe334a20e8a63266eb06c5d298ad793cefc015
-Mozilla Bug#1447070 - DecoderDoctorLogger.h must be included in MediaKeySession.h
- to fix non-unified build error for i586 target.
-
-diff --git a/dom/media/eme/MediaKeySession.h b/dom/media/eme/MediaKeySession.h
---- a/dom/media/eme/MediaKeySession.h
-+++ b/dom/media/eme/MediaKeySession.h
-@@ -2,16 +2,17 @@
- /* vim: set ts=8 sts=2 et sw=2 tw=80: */
- /* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this file,
- * You can obtain one at http://mozilla.org/MPL/2.0/. */
-
- #ifndef mozilla_dom_MediaKeySession_h
- #define mozilla_dom_MediaKeySession_h
-
-+#include "DecoderDoctorLogger.h"
- #include "mozilla/Attributes.h"
- #include "mozilla/ErrorResult.h"
- #include "nsCycleCollectionParticipant.h"
- #include "mozilla/DOMEventTargetHelper.h"
- #include "nsCOMPtr.h"
- #include "mozilla/dom/TypedArray.h"
- #include "mozilla/Mutex.h"
- #include "mozilla/dom/Date.h"
--- a/mozilla-i586-domPrefs.patch Fri Jun 08 22:31:03 2018 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-# HG changeset patch
-# User Andrea Marchesini <amarchesini@mozilla.com>
-# Parent fab938f4757d8487a87fbf911200ff0317612746
-Mozilla Bug#1447409 - DOMPrefs.h must be included in WorkerScope, r=qdot
- To fix 32bit build error for i586 target.
-
-diff --git a/dom/workers/WorkerScope.h b/dom/workers/WorkerScope.h
---- a/dom/workers/WorkerScope.h
-+++ b/dom/workers/WorkerScope.h
-@@ -4,16 +4,17 @@
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
- #ifndef mozilla_dom_workerscope_h__
- #define mozilla_dom_workerscope_h__
-
- #include "mozilla/dom/WorkerCommon.h"
- #include "mozilla/DOMEventTargetHelper.h"
-+#include "mozilla/dom/DOMPrefs.h"
- #include "mozilla/dom/Headers.h"
- #include "mozilla/dom/RequestBinding.h"
- #include "nsWeakReference.h"
- #include "mozilla/dom/ImageBitmapSource.h"
-
- #ifdef XP_WIN
- #undef PostMessage
- #endif
--- a/mozilla-kde.patch Fri Jun 08 22:31:03 2018 +0200
+++ b/mozilla-kde.patch Fri Jun 08 22:48:29 2018 +0200
@@ -1,5 +1,5 @@
# HG changeset patch
-# Parent d7a4d772ba2afb3ac43e2f2f234ffa55bcf50e70
+# Parent 8671b358718cb8898a55fada20fc9999408daefe
Description: Add KDE integration to Firefox (toolkit parts)
Author: Wolfgang Rosenauer <wolfgang@rosenauer.org>
Author: Lubos Lunak <lunak@suse.com>
@@ -9,7 +9,7 @@
diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
--- a/modules/libpref/Preferences.cpp
+++ b/modules/libpref/Preferences.cpp
-@@ -76,16 +76,17 @@
+@@ -77,16 +77,17 @@
#include "nsXPCOMCID.h"
#include "nsXPCOM.h"
#include "nsXULAppAPI.h"
@@ -27,7 +27,7 @@
using namespace mozilla;
#ifdef DEBUG
-@@ -3868,25 +3869,37 @@ Preferences::InitInitialObjects()
+@@ -4201,25 +4202,37 @@ Preferences::InitInitialObjects(bool aIs
// application pref files for backwards compatibility.
static const char* specialFiles[] = {
#if defined(XP_MACOSX)
@@ -65,7 +65,7 @@
// Load jar:$app/omni.jar!/defaults/preferences/*.js
// or jar:$gre/omni.jar!/defaults/preferences/*.js.
-@@ -3935,17 +3948,17 @@ Preferences::InitInitialObjects()
+@@ -4268,17 +4281,17 @@ Preferences::InitInitialObjects(bool aIs
}
nsCOMPtr<nsIFile> path = do_QueryInterface(elem);
@@ -79,17 +79,17 @@
}
}
- #ifdef MOZ_WIDGET_ANDROID
- // Set up the correct default for toolkit.telemetry.enabled. If this build
- // has MOZ_TELEMETRY_ON_BY_DEFAULT *or* we're on the beta channel, telemetry
- // is on by default, otherwise not. This is necessary so that beta users who
- // are testing final release builds don't flipflop defaults.
+ if (XRE_IsParentProcess()) {
+ SetupTelemetryPref();
+ }
+
+ NS_CreateServicesFromCategory(NS_PREFSERVICE_APPDEFAULTS_TOPIC_ID,
diff --git a/modules/libpref/moz.build b/modules/libpref/moz.build
--- a/modules/libpref/moz.build
+++ b/modules/libpref/moz.build
-@@ -27,16 +27,20 @@ XPIDL_MODULE = 'pref'
- EXPORTS.mozilla += [
+@@ -29,16 +29,20 @@ EXPORTS.mozilla += [
'Preferences.h',
+ 'StaticPrefs.h',
]
UNIFIED_SOURCES += [
@@ -171,7 +171,7 @@
diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
--- a/toolkit/content/jar.mn
+++ b/toolkit/content/jar.mn
-@@ -69,16 +69,18 @@ toolkit.jar:
+@@ -68,16 +68,18 @@ toolkit.jar:
content/global/bindings/checkbox.xml (widgets/checkbox.xml)
content/global/bindings/colorpicker.xml (widgets/colorpicker.xml)
content/global/bindings/datekeeper.js (widgets/datekeeper.js)
@@ -183,13 +183,13 @@
+* content/global/bindings/dialog-kde.xml (widgets/dialog-kde.xml)
+% override chrome://global/content/bindings/dialog.xml chrome://global/content/bindings/dialog-kde.xml desktop=kde
content/global/bindings/editor.xml (widgets/editor.xml)
- content/global/bindings/filefield.xml (widgets/filefield.xml)
* content/global/bindings/findbar.xml (widgets/findbar.xml)
content/global/bindings/general.xml (widgets/general.xml)
content/global/bindings/groupbox.xml (widgets/groupbox.xml)
content/global/bindings/listbox.xml (widgets/listbox.xml)
content/global/bindings/menu.xml (widgets/menu.xml)
content/global/bindings/menulist.xml (widgets/menulist.xml)
+ content/global/bindings/notification.xml (widgets/notification.xml)
diff --git a/toolkit/content/widgets/dialog-kde.xml b/toolkit/content/widgets/dialog-kde.xml
new file mode 100644
--- /dev/null
@@ -676,45 +676,7 @@
diff --git a/toolkit/mozapps/downloads/nsHelperAppDlg.js b/toolkit/mozapps/downloads/nsHelperAppDlg.js
--- a/toolkit/mozapps/downloads/nsHelperAppDlg.js
+++ b/toolkit/mozapps/downloads/nsHelperAppDlg.js
-@@ -627,17 +627,17 @@ nsUnknownContentTypeDialog.prototype = {
- else
- typeString = mimeInfo.MIMEType;
- }
- // When the length is unknown, contentLength would be -1
- if (this.mLauncher.contentLength >= 0) {
- let [size, unit] = DownloadUtils.
- convertByteUnits(this.mLauncher.contentLength);
- type.value = this.dialogElement("strings")
-- .getFormattedString("orderedFileSizeWithType",
-+ .getFormattedString("orderedFileSizeWithType",
- [typeString, size, unit]);
- }
- else {
- type.value = typeString;
- }
- },
-
- // Returns true if opening the default application makes sense.
-@@ -801,17 +801,17 @@ nsUnknownContentTypeDialog.prototype = {
- switch (this.dialogElement("openHandler").selectedIndex) {
- case 0:
- // No app need be specified in this case.
- ok = true;
- break;
- case 1:
- // only enable the OK button if we have a default app to use or if
- // the user chose an app....
-- ok = this.chosenApp || /\S/.test(this.dialogElement("otherHandler").getAttribute("path"));
-+ ok = this.chosenApp || /\S/.test(this.dialogElement("otherHandler").getAttribute("path"));
- break;
- }
- }
-
- // Enable Ok button if ok to press.
- this.mDialog.document.documentElement.getButton("accept").disabled = !ok;
- },
-
-@@ -1066,30 +1066,60 @@ nsUnknownContentTypeDialog.prototype = {
+@@ -1035,30 +1035,60 @@ nsUnknownContentTypeDialog.prototype = {
if (params.handlerApp &&
params.handlerApp.executable &&
@@ -1371,7 +1333,7 @@
'android/nsExternalSharingAppService.cpp',
'android/nsExternalURLHandlerService.cpp',
'android/nsMIMEInfoAndroid.cpp',
-@@ -124,16 +126,17 @@ include('/ipc/chromium/chromium-config.m
+@@ -122,16 +124,17 @@ include('/ipc/chromium/chromium-config.m
FINAL_LIBRARY = 'xul'
LOCAL_INCLUDES += [
@@ -1808,7 +1770,7 @@
diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build
--- a/widget/gtk/moz.build
+++ b/widget/gtk/moz.build
-@@ -121,16 +121,17 @@ else:
+@@ -122,16 +122,17 @@ else:
include('/ipc/chromium/chromium-config.mozbuild')
FINAL_LIBRARY = 'xul'
@@ -2204,7 +2166,7 @@
const char* directive;
int argc;
-@@ -444,16 +445,17 @@ ParseManifest(NSLocationType aType, File
+@@ -441,16 +442,17 @@ ParseManifest(NSLocationType aType, File
NS_NAMED_LITERAL_STRING(kRemoteEnabled, "remoteenabled");
NS_NAMED_LITERAL_STRING(kRemoteRequired, "remoterequired");
NS_NAMED_LITERAL_STRING(kApplication, "application");
@@ -2222,7 +2184,7 @@
NS_NAMED_LITERAL_STRING(kMain, "main");
NS_NAMED_LITERAL_STRING(kContent, "content");
-@@ -499,44 +501,49 @@ ParseManifest(NSLocationType aType, File
+@@ -496,44 +498,49 @@ ParseManifest(NSLocationType aType, File
CopyUTF8toUTF16(s, abi);
abi.Insert(char16_t('_'), 0);
abi.Insert(osTarget, 0);
@@ -2272,7 +2234,7 @@
process = kMain;
}
-@@ -638,25 +645,27 @@ ParseManifest(NSLocationType aType, File
+@@ -635,25 +642,27 @@ ParseManifest(NSLocationType aType, File
TriState stOsVersion = eUnspecified;
TriState stOs = eUnspecified;
TriState stABI = eUnspecified;
@@ -2300,7 +2262,7 @@
}
#if defined(MOZ_WIDGET_ANDROID)
-@@ -701,16 +710,17 @@ ParseManifest(NSLocationType aType, File
+@@ -698,16 +707,17 @@ ParseManifest(NSLocationType aType, File
}
if (!ok ||
@@ -2321,16 +2283,16 @@
diff --git a/xpcom/components/moz.build b/xpcom/components/moz.build
--- a/xpcom/components/moz.build
+++ b/xpcom/components/moz.build
-@@ -44,12 +44,13 @@ FINAL_LIBRARY = 'xul'
+@@ -43,12 +43,13 @@ FINAL_LIBRARY = 'xul'
+
LOCAL_INCLUDES += [
'!..',
'../base',
'../build',
'../ds',
- '../reflect/xptinfo',
'/chrome',
'/modules/libjar',
-+ '/toolkit/xre'
++ '/toolkit/xre',
]
if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
--- a/series Fri Jun 08 22:31:03 2018 +0200
+++ b/series Fri Jun 08 22:48:29 2018 +0200
@@ -7,11 +7,7 @@
mozilla-reduce-files-per-UnifiedBindings.patch
mozilla-aarch64-startup-crash.patch
mozilla-bmo256180.patch
-mozilla-i586-DecoderDoctorLogger.patch
-mozilla-i586-domPrefs.patch
-mozilla-enable-csd.patch
-mozilla-fix-skia-aarch64.patch
-mozilla-bmo1375074.patch
+#mozilla-enable-csd.patch
# Firefox patches
firefox-kde.patch