--- a/MozillaFirefox/MozillaFirefox.spec Sun Apr 01 23:51:44 2018 +0200
+++ b/MozillaFirefox/MozillaFirefox.spec Mon Apr 02 11:26:04 2018 +0200
@@ -150,9 +150,8 @@
Patch6: mozilla-reduce-files-per-UnifiedBindings.patch
Patch7: mozilla-aarch64-startup-crash.patch
Patch8: mozilla-bmo256180.patch
-Patch9: mozilla-bmo1005535.patch
-Patch10: mozilla-i586-DecoderDoctorLogger.patch
-Patch11: mozilla-i586-domPrefs.patch
+Patch9: mozilla-i586-DecoderDoctorLogger.patch
+Patch10: mozilla-i586-domPrefs.patch
# Firefox/browser
Patch101: firefox-kde.patch
Patch102: firefox-branded-icons.patch
@@ -263,10 +262,9 @@
%endif
%patch7 -p1
%patch8 -p1
+%ifarch %ix86
%patch9 -p1
-%ifarch %ix86
%patch10 -p1
-%patch11 -p1
%endif
# Firefox
%patch101 -p1
--- a/MozillaFirefox/mozilla-bmo1005535.patch Sun Apr 01 23:51:44 2018 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-../mozilla-bmo1005535.patch
\ No newline at end of file
--- a/firefox-kde.patch Sun Apr 01 23:51:44 2018 +0200
+++ b/firefox-kde.patch Mon Apr 02 11:26:04 2018 +0200
@@ -1,11 +1,11 @@
# HG changeset patch
-# Parent ffcd96e120857e207bd357b2005f0b5bc776e375
+# Parent 101316aee59978888744775edbde2ea8d7a2f189
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,1238 @@
+@@ -0,0 +1,1282 @@
+#filter substitution
+<?xml version="1.0"?>
+# -*- Mode: HTML -*-
@@ -15,14 +15,15 @@
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+<?xml-stylesheet href="chrome://browser/content/browser.css" type="text/css"?>
++<?xml-stylesheet href="chrome://browser/content/downloads/downloads.css"?>
+<?xml-stylesheet href="chrome://browser/content/places/places.css" type="text/css"?>
+<?xml-stylesheet href="chrome://browser/content/usercontext/usercontext.css" type="text/css"?>
+<?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/" type="text/css"?>
++<?xml-stylesheet href="chrome://browser/content/tabbrowser.css" type="text/css"?>
+
-+<?xul-overlay href="chrome://global/content/editMenuOverlay.xul"?>
-+<?xul-overlay href="chrome://browser/content/baseMenuOverlay.xul"?>
+<?xul-overlay href="chrome://browser/content/places/placesOverlay.xul"?>
+
+# All DTD information is stored in a separate file so that it can be shared by
@@ -59,7 +60,6 @@
+ tabsintitlebar="true"
+#endif
+ titlemenuseparator="&mainWindow.titlemodifiermenuseparator;"
-+ lightweightthemes="true"
+ windowtype="navigator:browser"
+ macanimationtype="document"
+ screenX="4" screenY="4"
@@ -75,6 +75,7 @@
+
+<script type="application/javascript">
+ Services.scriptloader.loadSubScript("chrome://global/content/contentAreaUtils.js", this);
++ Services.scriptloader.loadSubScript("chrome://browser/content/tabbrowser.js", this);
+</script>
+
+# All sets except for popupsets (commands, keys, stringbundles and broadcasters) *must* go into the
@@ -104,8 +105,9 @@
+ accesskey="&moveToNewWindow.accesskey;"
+ tbattr="tabbrowser-multiple"
+ oncommand="gBrowser.replaceTabWithWindow(TabContextMenu.contextTab);"/>
-+ <menuseparator id="context_sendTabToDevice_separator"/>
++ <menuseparator id="context_sendTabToDevice_separator" class="sync-ui-item"/>
+ <menu id="context_sendTabToDevice" label="&sendTabToDevice.label;"
++ class="sync-ui-item"
+ accesskey="&sendTabToDevice.accesskey;">
+ <menupopup id="context_sendTabToDevicePopupMenu"
+ onpopupshowing="gSync.populateSendTabToDevicesMenu(event.target, TabContextMenu.contextTab.linkedBrowser.currentURI.spec, TabContextMenu.contextTab.linkedBrowser.contentTitle);"/>
@@ -144,6 +146,7 @@
+
+ <panel type="autocomplete-richlistbox"
+ id="PopupAutoComplete"
++ role="group"
+ noautofocus="true"
+ hidden="true"
+ overflowpadding="4"
@@ -151,11 +154,16 @@
+ nomaxresults="true" />
+
+ <!-- for search with one-off buttons -->
-+ <panel type="autocomplete" id="PopupSearchAutoComplete" noautofocus="true" hidden="true"/>
++ <panel type="autocomplete-richlistbox"
++ id="PopupSearchAutoComplete"
++ role="group"
++ noautofocus="true"
++ hidden="true" />
+
+ <!-- for url bar autocomplete -->
+ <panel type="autocomplete-richlistbox"
+ id="PopupAutoCompleteRichResult"
++ role="group"
+ noautofocus="true"
+ hidden="true"
+ flip="none"
@@ -298,7 +306,7 @@
+ </toolbarbutton>
+ <toolbarbutton id="sidebar-switcher-tabs"
+ label="&syncedTabs.sidebar.label;"
-+ class="subviewbutton subviewbutton-iconic"
++ class="subviewbutton subviewbutton-iconic sync-ui-item"
+ observes="viewTabsSidebar"
+ oncommand="SidebarUI.show('viewTabsSidebar');">
+ <observes element="viewTabsSidebar" attribute="checked"/>
@@ -499,6 +507,7 @@
+
+#include ../../components/customizableui/content/panelUI.inc.xul
+#include ../../components/controlcenter/content/panel.inc.xul
++#include ../../components/downloads/content/downloadsPanel.inc.xul
+
+ <hbox id="downloads-animation-container" mousethrough="always">
+ <vbox id="downloads-notification-anchor" hidden="true">
@@ -585,7 +594,7 @@
+ <hbox id="titlebar-content">
+ <spacer id="titlebar-spacer" flex="1"/>
+ <hbox id="titlebar-buttonbox-container">
-+ <hbox id="titlebar-buttonbox">
++ <hbox id="titlebar-buttonbox" class="titlebar-color">
+ <toolbarbutton class="titlebar-button" id="titlebar-min" oncommand="window.minimize();"/>
+ <toolbarbutton class="titlebar-button" id="titlebar-max" oncommand="onTitlebarMaxClick();"/>
+ <toolbarbutton class="titlebar-button" id="titlebar-close" command="cmd_closeWindow"/>
@@ -606,7 +615,9 @@
+
+ <toolbox id="navigator-toolbox">
+ <!-- Menu -->
-+ <toolbar type="menubar" id="toolbar-menubar" class="chromeclass-menubar" customizable="true"
++ <toolbar type="menubar" id="toolbar-menubar"
++ class="chromeclass-menubar titlebar-color"
++ customizable="true"
+ mode="icons"
+#ifdef MENUBAR_CAN_AUTOHIDE
+ toolbarname="&menubarCmd.label;"
@@ -623,13 +634,13 @@
+#ifdef CAN_DRAW_IN_TITLEBAR
+#ifndef XP_MACOSX
+ <hbox class="titlebar-placeholder" type="caption-buttons" ordinal="1000"
-+ persist="width"
+ skipintoolbarset="true"/>
+#endif
+#endif
+ </toolbar>
+
+ <toolbar id="TabsToolbar"
++ class="titlebar-color"
+ fullscreentoolbar="true"
+ customizable="true"
+ mode="icons"
@@ -643,7 +654,6 @@
+#endif
+
+ <tabs id="tabbrowser-tabs"
-+ tabbrowser="content"
+ flex="1"
+ setfocus="false"
+ tooltip="tabbrowser-tab-tooltip"
@@ -698,7 +708,6 @@
+ ordinal="1000"/>
+#ifdef CAN_DRAW_IN_TITLEBAR
+ <hbox class="titlebar-placeholder" type="caption-buttons"
-+ persist="width"
+#ifndef XP_MACOSX
+ ordinal="1000"
+#endif
@@ -706,7 +715,6 @@
+
+#ifdef XP_MACOSX
+ <hbox class="titlebar-placeholder" type="fullscreen-button"
-+ persist="width"
+ skipintoolbarset="true"/>
+#endif
+#endif
@@ -777,6 +785,7 @@
+ class="chromeclass-location" overflows="false">
+ <textbox id="urlbar" flex="1"
+ placeholder="&urlbar.placeholder2;"
++ focused="true"
+ type="autocomplete"
+ autocompletesearch="unifiedcomplete"
+ autocompletesearchparam="enable-actions"
@@ -784,8 +793,6 @@
+ completeselectedindex="true"
+ shrinkdelay="250"
+ tabscrolling="true"
-+ showcommentcolumn="true"
-+ showimagecolumn="true"
+ newlines="stripsurroundingwhitespace"
+ ontextentered="this.handleCommand(param);"
+ ontextreverted="return this.handleRevert();"
@@ -820,6 +827,10 @@
+ tooltiptext="&urlbar.popupBlocked.tooltip;"/>
+ <image data-permission-id="canvas" class="blocked-permission-icon canvas-icon" role="button"
+ tooltiptext="&urlbar.canvasBlocked.tooltip;"/>
++ <image data-permission-id="plugin:flash" class="blocked-permission-icon plugin-icon" role="button"
++ tooltiptext="&urlbar.flashPluginBlocked.tooltip;"/>
++ <image data-permission-id="midi" class="blocked-permission-icon midi-icon" role="button"
++ tooltiptext="&urlbar.midiBlocked.tooltip;"/>
+ </box>
+ <box id="notification-popup-box"
+ hidden="true"
@@ -861,6 +872,10 @@
+ tooltiptext="&urlbar.emeNotificationAnchor.tooltip;"/>
+ <image id="persistent-storage-notification-icon" class="notification-anchor-icon persistent-storage-icon" role="button"
+ tooltiptext="&urlbar.persistentStorageNotificationAnchor.tooltip;"/>
++ <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;"/>
+ </box>
+ <image id="connection-icon"/>
+ <image id="extension-icon"/>
@@ -882,6 +897,7 @@
+ </hbox>
+ <image id="reader-mode-button"
+ class="urlbar-icon urlbar-page-action"
++ tooltip="dynamic-shortcut-tooltip"
+ role="button"
+ hidden="true"
+ onclick="ReaderParent.buttonClick(event);"/>
@@ -930,7 +946,20 @@
+ overflows="false"
+ cui-areatype="toolbar"
+ hidden="true"
-+ tooltip="dynamic-shortcut-tooltip"/>
++ tooltip="dynamic-shortcut-tooltip"
++ indicator="true">
++ <!-- The panel's anchor area is smaller than the outer button, but must
++ always be visible and must not move or resize when the indicator
++ state changes, otherwise the panel could change its position or lose
++ its arrow unexpectedly. -->
++ <stack id="downloads-indicator-anchor"
++ consumeanchor="downloads-button">
++ <box id="downloads-indicator-icon"/>
++ <stack id="downloads-indicator-progress-outer">
++ <box id="downloads-indicator-progress-inner"/>
++ </stack>
++ </stack>
++ </toolbarbutton>
+
+ <toolbarbutton id="library-button" class="toolbarbutton-1 chromeclass-toolbar-additional subviewbutton-nav"
+ removable="true"
@@ -1196,13 +1225,28 @@
+ <splitter id="sidebar-splitter" class="chromeclass-extrachrome sidebar-splitter" hidden="true"/>
+ <vbox id="appcontent" flex="1">
+ <notificationbox id="high-priority-global-notificationbox" notificationside="top"/>
-+ <tabbrowser id="content"
-+ flex="1" contenttooltip="aHTMLTooltip"
-+ tabcontainer="tabbrowser-tabs"
-+ contentcontextmenu="contentAreaContextMenu"
-+ autocompletepopup="PopupAutoComplete"
-+ selectmenulist="ContentSelectDropdown"
-+ datetimepicker="DateTimePickerPanel"/>
++ <tabbox id="tabbrowser-tabbox"
++ flex="1" eventnode="document" tabcontainer="tabbrowser-tabs"
++ 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">
++ <stack flex="1" class="browserStack">
++ <browser id="tabbrowser-initialBrowser" type="content"
++ message="true" messagemanagergroup="browsers"
++ primary="true" blank="true"
++ tooltip="aHTMLTooltip"
++ contextmenu="contentAreaContextMenu"
++ autocompletepopup="PopupAutoComplete"
++ selectmenulist="ContentSelectDropdown"
++ datetimepicker="DateTimePickerPanel"/>
++ </stack>
++ </vbox>
++ </hbox>
++ </notificationbox>
++ </tabpanels>
++ </tabbox>
+ </vbox>
+ <vbox id="browser-border-end" hidden="true" layer="true"/>
+ </hbox>
@@ -1247,7 +1291,7 @@
diff --git a/browser/base/jar.mn b/browser/base/jar.mn
--- a/browser/base/jar.mn
+++ b/browser/base/jar.mn
-@@ -45,16 +45,18 @@ browser.jar:
+@@ -42,16 +42,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)
@@ -1329,7 +1373,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
-@@ -330,16 +330,23 @@ var gMainPane = {
+@@ -333,16 +333,23 @@ var gMainPane = {
this._backoffIndex++ : backoffTimes.length - 1]);
};
@@ -1353,7 +1397,7 @@
performanceSettingsLink.setAttribute("href", performanceSettingsUrl);
this.updateDefaultPerformanceSettingsPref();
-@@ -1035,16 +1042,27 @@ var gMainPane = {
+@@ -1060,16 +1067,27 @@ var gMainPane = {
// Reset exponential backoff delay time in order to do visual update in pollForDefaultBrowser.
this._backoffIndex = 0;
@@ -1697,7 +1741,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
-@@ -649,16 +649,18 @@
+@@ -646,16 +646,18 @@
@RESPATH@/browser/defaults/blocklists
@RESPATH@/browser/defaults/pinning
--- a/mozilla-bmo1005535.patch Sun Apr 01 23:51:44 2018 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,123 +0,0 @@
-# HG changeset patch
-# Parent 376f185a0a757fe128be665adbb705f4a56461bc
-# User Steve Singer <steve@ssinger.info>
-# Parent 371f01835b6fe4cb6b7095a6c29f7bb54f6d6257
-Bug 1005535 - Get skia GPU building on big endian.
-
-diff --git a/gfx/skia/skia/include/core/SkColorPriv.h b/gfx/skia/skia/include/core/SkColorPriv.h
---- a/gfx/skia/skia/include/core/SkColorPriv.h
-+++ b/gfx/skia/skia/include/core/SkColorPriv.h
-@@ -27,37 +27,27 @@
- * For easier compatibility with Skia's GPU backend, we further restrict these
- * to either (in memory-byte-order) RGBA or BGRA. Note that this "order" does
- * not directly correspond to the same shift-order, since we have to take endianess
- * into account.
- *
- * Here we enforce this constraint.
- */
-
--#ifdef SK_CPU_BENDIAN
-- #define SK_RGBA_R32_SHIFT 24
-- #define SK_RGBA_G32_SHIFT 16
-- #define SK_RGBA_B32_SHIFT 8
-- #define SK_RGBA_A32_SHIFT 0
-
-- #define SK_BGRA_B32_SHIFT 24
-- #define SK_BGRA_G32_SHIFT 16
-- #define SK_BGRA_R32_SHIFT 8
-- #define SK_BGRA_A32_SHIFT 0
--#else
- #define SK_RGBA_R32_SHIFT 0
- #define SK_RGBA_G32_SHIFT 8
- #define SK_RGBA_B32_SHIFT 16
- #define SK_RGBA_A32_SHIFT 24
-
- #define SK_BGRA_B32_SHIFT 0
- #define SK_BGRA_G32_SHIFT 8
- #define SK_BGRA_R32_SHIFT 16
- #define SK_BGRA_A32_SHIFT 24
--#endif
-+
-
- #if defined(SK_PMCOLOR_IS_RGBA) && defined(SK_PMCOLOR_IS_BGRA)
- #error "can't define PMCOLOR to be RGBA and BGRA"
- #endif
-
- #define LOCAL_PMCOLOR_SHIFTS_EQUIVALENT_TO_RGBA \
- (SK_A32_SHIFT == SK_RGBA_A32_SHIFT && \
- SK_R32_SHIFT == SK_RGBA_R32_SHIFT && \
-diff --git a/gfx/skia/skia/include/core/SkImageInfo.h b/gfx/skia/skia/include/core/SkImageInfo.h
---- a/gfx/skia/skia/include/core/SkImageInfo.h
-+++ b/gfx/skia/skia/include/core/SkImageInfo.h
-@@ -78,17 +78,17 @@ enum SkColorType {
-
- kLastEnum_SkColorType = kRGBA_F16_SkColorType,
-
- #if SK_PMCOLOR_BYTE_ORDER(B,G,R,A)
- kN32_SkColorType = kBGRA_8888_SkColorType,
- #elif SK_PMCOLOR_BYTE_ORDER(R,G,B,A)
- kN32_SkColorType = kRGBA_8888_SkColorType,
- #else
-- #error "SK_*32_SHFIT values must correspond to BGRA or RGBA byte order"
-+ kN32_SkColorType = kBGRA_8888_SkColorType
- #endif
- };
-
- static int SkColorTypeBytesPerPixel(SkColorType ct) {
- static const uint8_t gSize[] = {
- 0, // Unknown
- 1, // Alpha_8
- 2, // RGB_565
-diff --git a/gfx/skia/skia/include/gpu/GrColor.h b/gfx/skia/skia/include/gpu/GrColor.h
---- a/gfx/skia/skia/include/gpu/GrColor.h
-+++ b/gfx/skia/skia/include/gpu/GrColor.h
-@@ -69,17 +69,17 @@ static inline GrColor GrColorPackA4(unsi
- #define GrColorUnpackG(color) (((color) >> GrColor_SHIFT_G) & 0xFF)
- #define GrColorUnpackB(color) (((color) >> GrColor_SHIFT_B) & 0xFF)
- #define GrColorUnpackA(color) (((color) >> GrColor_SHIFT_A) & 0xFF)
-
- /**
- * Since premultiplied means that alpha >= color, we construct a color with
- * each component==255 and alpha == 0 to be "illegal"
- */
--#define GrColor_ILLEGAL (~(0xFF << GrColor_SHIFT_A))
-+#define GrColor_ILLEGAL ((uint32_t)(~(0xFF << GrColor_SHIFT_A)))
-
- #define GrColor_WHITE 0xFFFFFFFF
- #define GrColor_TRANSPARENT_BLACK 0x0
-
- /**
- * Assert in debug builds that a GrColor is premultiplied.
- */
- static inline void GrColorIsPMAssert(GrColor SkDEBUGCODE(c)) {
-diff --git a/gfx/skia/skia/include/gpu/GrTypes.h b/gfx/skia/skia/include/gpu/GrTypes.h
---- a/gfx/skia/skia/include/gpu/GrTypes.h
-+++ b/gfx/skia/skia/include/gpu/GrTypes.h
-@@ -321,25 +321,23 @@ enum GrPixelConfig {
- */
- kRGBA_half_GrPixelConfig,
-
- kLast_GrPixelConfig = kRGBA_half_GrPixelConfig
- };
- static const int kGrPixelConfigCnt = kLast_GrPixelConfig + 1;
-
- // Aliases for pixel configs that match skia's byte order.
--#ifndef SK_CPU_LENDIAN
-- #error "Skia gpu currently assumes little endian"
--#endif
-+
- #if SK_PMCOLOR_BYTE_ORDER(B,G,R,A)
- static const GrPixelConfig kSkia8888_GrPixelConfig = kBGRA_8888_GrPixelConfig;
- #elif SK_PMCOLOR_BYTE_ORDER(R,G,B,A)
- static const GrPixelConfig kSkia8888_GrPixelConfig = kRGBA_8888_GrPixelConfig;
- #else
-- #error "SK_*32_SHIFT values must correspond to GL_BGRA or GL_RGBA format."
-+ static const GrPixelConfig kSkia8888_GrPixelConfig = kBGRA_8888_GrPixelConfig;
- #endif
-
- // Returns true if the pixel config is a GPU-specific compressed format
- // representation.
- static inline bool GrPixelConfigIsCompressed(GrPixelConfig config) {
- switch (config) {
- case kETC1_GrPixelConfig:
- return true;
--- a/mozilla-i586-domPrefs.patch Sun Apr 01 23:51:44 2018 +0200
+++ b/mozilla-i586-domPrefs.patch Mon Apr 02 11:26:04 2018 +0200
@@ -1,6 +1,6 @@
# HG changeset patch
# User Andrea Marchesini <amarchesini@mozilla.com>
-# Parent bb4eb640e7303ea68be982d824aa100caacce240
+# Parent fab938f4757d8487a87fbf911200ff0317612746
Mozilla Bug#1447409 - DOMPrefs.h must be included in WorkerScope, r=qdot
To fix 32bit build error for i586 target.
@@ -14,7 +14,7 @@
#ifndef mozilla_dom_workerscope_h__
#define mozilla_dom_workerscope_h__
- #include "Workers.h"
+ #include "mozilla/dom/WorkerCommon.h"
#include "mozilla/DOMEventTargetHelper.h"
+#include "mozilla/dom/DOMPrefs.h"
#include "mozilla/dom/Headers.h"
@@ -22,6 +22,6 @@
#include "nsWeakReference.h"
#include "mozilla/dom/ImageBitmapSource.h"
- namespace mozilla {
- namespace dom {
-
+ #ifdef XP_WIN
+ #undef PostMessage
+ #endif
--- a/mozilla-kde.patch Sun Apr 01 23:51:44 2018 +0200
+++ b/mozilla-kde.patch Mon Apr 02 11:26:04 2018 +0200
@@ -1,5 +1,5 @@
# HG changeset patch
-# Parent 97234138e3aafe66fc7f17c8f530e7c534af2fc2
+# Parent 9cc0c990890e64f69ed068cf1a4534535bcc50a7
Description: Add KDE integration to Firefox (toolkit parts)
Author: Wolfgang Rosenauer <wolfgang@rosenauer.org>
Author: Lubos Lunak <lunak@suse.com>
@@ -27,7 +27,7 @@
using namespace mozilla;
#ifdef DEBUG
-@@ -4235,25 +4236,37 @@ Preferences::InitInitialObjects()
+@@ -3868,25 +3869,37 @@ Preferences::InitInitialObjects()
// 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.
-@@ -4302,17 +4315,17 @@ Preferences::InitInitialObjects()
+@@ -3935,17 +3948,17 @@ Preferences::InitInitialObjects()
}
nsCOMPtr<nsIFile> path = do_QueryInterface(elem);
@@ -153,12 +153,12 @@
diff --git a/toolkit/components/downloads/moz.build b/toolkit/components/downloads/moz.build
--- a/toolkit/components/downloads/moz.build
+++ b/toolkit/components/downloads/moz.build
-@@ -17,9 +17,13 @@ XPIDL_SOURCES += [
- XPIDL_MODULE = 'downloads'
+@@ -41,10 +41,14 @@ EXTRA_JS_MODULES += [
- UNIFIED_SOURCES += [
- 'nsDownloadManager.cpp'
- ]
+ if CONFIG['MOZ_PLACES']:
+ EXTRA_JS_MODULES += [
+ 'DownloadHistory.jsm',
+ ]
FINAL_LIBRARY = 'xul'
@@ -166,11 +166,12 @@
+ '/toolkit/xre'
+]
+
- CXXFLAGS += CONFIG['TK_CFLAGS']
+ with Files('**'):
+ BUG_COMPONENT = ('Toolkit', 'Download Manager')
diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
--- a/toolkit/content/jar.mn
+++ b/toolkit/content/jar.mn
-@@ -67,16 +67,18 @@ toolkit.jar:
+@@ -69,16 +69,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)
@@ -193,7 +194,7 @@
new file mode 100644
--- /dev/null
+++ b/toolkit/content/widgets/dialog-kde.xml
-@@ -0,0 +1,477 @@
+@@ -0,0 +1,478 @@
+<?xml version="1.0"?>
+<!-- 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
@@ -209,7 +210,7 @@
+ xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
+ xmlns:xbl="http://www.mozilla.org/xbl">
+
-+ <binding id="dialog" extends="chrome://global/content/bindings/general.xml#root-element">
++ <binding id="dialog">
+ <resources>
+ <stylesheet src="chrome://global/skin/dialog.css"/>
+ </resources>
@@ -448,9 +449,9 @@
+ if (!this._mStrBundle) {
+ // need to create string bundle manually instead of using <xul:stringbundle/>
+ // see bug 63370 for details
-+ this._mStrBundle = Components.classes["@mozilla.org/intl/stringbundle;1"]
-+ .getService(Components.interfaces.nsIStringBundleService)
-+ .createBundle("chrome://global/locale/dialog.properties");
++ this._mStrBundle = Cc["@mozilla.org/intl/stringbundle;1"]
++ .getService(Ci.nsIStringBundleService)
++ .createBundle("chrome://global/locale/dialog.properties");
+ }
+ return this._mStrBundle;
+ ]]></getter>
@@ -625,6 +626,7 @@
+ if (handler != "") {
+ var fn = new Function("event", handler);
+ var returned = fn(event);
++ // eslint-disable-next-line mozilla/no-compare-against-boolean-literals
+ if (returned == false)
+ noCancel = false;
+ }
@@ -663,7 +665,7 @@
+ <handler event="focus" phase="capturing">
+ var btn = this.getButton(this.defaultButton);
+ if (btn)
-+ btn.setAttribute("default", event.originalTarget == btn || !(event.originalTarget instanceof Components.interfaces.nsIDOMXULButtonElement));
++ btn.setAttribute("default", event.originalTarget == btn || !(event.originalTarget instanceof Ci.nsIDOMXULButtonElement));
+ </handler>
+#endif
+ </handlers>
@@ -674,7 +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
-@@ -626,17 +626,17 @@ nsUnknownContentTypeDialog.prototype = {
+@@ -627,17 +627,17 @@ nsUnknownContentTypeDialog.prototype = {
else
typeString = mimeInfo.MIMEType;
}
@@ -693,7 +695,7 @@
},
// Returns true if opening the default application makes sense.
-@@ -800,17 +800,17 @@ nsUnknownContentTypeDialog.prototype = {
+@@ -801,17 +801,17 @@ nsUnknownContentTypeDialog.prototype = {
switch (this.dialogElement("openHandler").selectedIndex) {
case 0:
// No app need be specified in this case.
@@ -712,7 +714,7 @@
this.mDialog.document.documentElement.getButton("accept").disabled = !ok;
},
-@@ -1065,30 +1065,57 @@ nsUnknownContentTypeDialog.prototype = {
+@@ -1066,30 +1066,57 @@ nsUnknownContentTypeDialog.prototype = {
if (params.handlerApp &&
params.handlerApp.executable &&
@@ -720,15 +722,15 @@
// Remember the file they chose to run.
this.chosenApp = params.handlerApp;
}
- } else if ("@mozilla.org/applicationchooser;1" in Components.classes) {
-- var nsIApplicationChooser = Components.interfaces.nsIApplicationChooser;
-- var appChooser = Components.classes["@mozilla.org/applicationchooser;1"]
-- .createInstance(nsIApplicationChooser);
+ } else if ("@mozilla.org/applicationchooser;1" in Cc) {
+- var nsIApplicationChooser = Ci.nsIApplicationChooser;
+- var appChooser = Cc["@mozilla.org/applicationchooser;1"]
+- .createInstance(nsIApplicationChooser);
- appChooser.init(this.mDialog, this.dialogElement("strings").getString("chooseAppFilePickerTitle"));
- var contentTypeDialogObj = this;
- let appChooserCallback = function appChooserCallback_done(aResult) {
- if (aResult) {
-- contentTypeDialogObj.chosenApp = aResult.QueryInterface(Components.interfaces.nsILocalHandlerApp);
+- contentTypeDialogObj.chosenApp = aResult.QueryInterface(Ci.nsILocalHandlerApp);
+ // handle the KDE case which is implemented in the filepicker
+ // therefore falling back to Gtk2 like behaviour if KDE is running
+ // FIXME this should be better handled in the nsIApplicationChooser
@@ -750,7 +752,7 @@
+ // Remember the file they chose to run.
+ var localHandlerApp =
+ Components.classes["@mozilla.org/uriloader/local-handler-app;1"].
-+ createInstance(Components.interfaces.nsILocalHandlerApp);
++ createInstance(Components.interfaces.nsILocalHandlerApp);
+ localHandlerApp.executable = fp.file;
+ this.chosenApp = localHandlerApp;
}
@@ -760,14 +762,14 @@
- // The finishChooseApp is called from appChooserCallback
- return;
+ } else {
-+ var nsIApplicationChooser = Components.interfaces.nsIApplicationChooser;
-+ var appChooser = Components.classes["@mozilla.org/applicationchooser;1"]
-+ .createInstance(nsIApplicationChooser);
++ var nsIApplicationChooser = Ci.nsIApplicationChooser;
++ var appChooser = Cc["@mozilla.org/applicationchooser;1"]
++ .createInstance(nsIApplicationChooser);
+ appChooser.init(this.mDialog, this.dialogElement("strings").getString("chooseAppFilePickerTitle"));
+ var contentTypeDialogObj = this;
+ let appChooserCallback = function appChooserCallback_done(aResult) {
+ if (aResult) {
-+ contentTypeDialogObj.chosenApp = aResult.QueryInterface(Components.interfaces.nsILocalHandlerApp);
++ contentTypeDialogObj.chosenApp = aResult.QueryInterface(Ci.nsILocalHandlerApp);
+ }
+ contentTypeDialogObj.finishChooseApp();
+ };
@@ -776,9 +778,9 @@
+ return;
+ }
} else {
- var nsIFilePicker = Components.interfaces.nsIFilePicker;
- var fp = Components.classes["@mozilla.org/filepicker;1"]
- .createInstance(nsIFilePicker);
+ var nsIFilePicker = Ci.nsIFilePicker;
+ var fp = Cc["@mozilla.org/filepicker;1"]
+ .createInstance(nsIFilePicker);
fp.init(this.mDialog,
this.dialogElement("strings").getString("chooseAppFilePickerTitle"),
nsIFilePicker.modeOpen);
@@ -880,7 +882,7 @@
diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build
--- a/toolkit/xre/moz.build
+++ b/toolkit/xre/moz.build
-@@ -61,17 +61,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'co
+@@ -65,17 +65,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'co
'../components/printingui',
]
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'uikit':
@@ -1879,7 +1881,7 @@
GtkFileChooserAction action = GetGtkFileChooserAction(mMode);
-@@ -603,8 +630,233 @@ nsFilePicker::Done(GtkWidget* file_choos
+@@ -608,8 +635,233 @@ nsFilePicker::Done(GtkWidget* file_choos
if (mCallback) {
mCallback->Done(result);
mCallback = nullptr;
@@ -2158,7 +2160,7 @@
const char* directive;
int argc;
-@@ -466,16 +467,17 @@ ParseManifest(NSLocationType aType, File
+@@ -444,16 +445,17 @@ ParseManifest(NSLocationType aType, File
NS_NAMED_LITERAL_STRING(kRemoteEnabled, "remoteenabled");
NS_NAMED_LITERAL_STRING(kRemoteRequired, "remoterequired");
NS_NAMED_LITERAL_STRING(kApplication, "application");
@@ -2176,7 +2178,7 @@
NS_NAMED_LITERAL_STRING(kMain, "main");
NS_NAMED_LITERAL_STRING(kContent, "content");
-@@ -526,44 +528,49 @@ ParseManifest(NSLocationType aType, File
+@@ -499,44 +501,49 @@ ParseManifest(NSLocationType aType, File
CopyUTF8toUTF16(s, abi);
abi.Insert(char16_t('_'), 0);
abi.Insert(osTarget, 0);
@@ -2226,7 +2228,7 @@
process = kMain;
}
-@@ -666,25 +673,27 @@ ParseManifest(NSLocationType aType, File
+@@ -638,25 +645,27 @@ ParseManifest(NSLocationType aType, File
TriState stOsVersion = eUnspecified;
TriState stOs = eUnspecified;
TriState stABI = eUnspecified;
@@ -2254,7 +2256,7 @@
}
#if defined(MOZ_WIDGET_ANDROID)
-@@ -729,16 +738,17 @@ ParseManifest(NSLocationType aType, File
+@@ -701,16 +710,17 @@ ParseManifest(NSLocationType aType, File
}
if (!ok ||
@@ -2292,7 +2294,7 @@
diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
--- a/xpcom/io/nsLocalFileUnix.cpp
+++ b/xpcom/io/nsLocalFileUnix.cpp
-@@ -45,16 +45,17 @@
+@@ -46,16 +46,17 @@
#include "prproces.h"
#include "nsIDirectoryEnumerator.h"
#include "nsISimpleEnumerator.h"
@@ -2310,7 +2312,7 @@
#include "prmem.h"
#include "plbase64.h"
-@@ -1934,59 +1935,74 @@ nsLocalFile::SetPersistentDescriptor(con
+@@ -1955,59 +1956,74 @@ nsLocalFile::SetPersistentDescriptor(con
return InitWithNativePath(aPersistentDescriptor);
#endif
}
--- a/mozilla-reduce-files-per-UnifiedBindings.patch Sun Apr 01 23:51:44 2018 +0200
+++ b/mozilla-reduce-files-per-UnifiedBindings.patch Mon Apr 02 11:26:04 2018 +0200
@@ -13,25 +13,25 @@
[ 1636s] c++: internal compiler error: Killed (program cc1plus)
[ 1636s] Please submit a full bug report,
-diff --git a/python/mozbuild/mozbuild/backend/common.py b/python/mozbuild/mozbuild/backend/common.py
---- a/python/mozbuild/mozbuild/backend/common.py
-+++ b/python/mozbuild/mozbuild/backend/common.py
-@@ -386,17 +386,17 @@ class CommonBackend(BuildBackend):
- )
- self._handle_generated_sources(manager.expected_build_output_files())
+diff --git a/python/mozbuild/mozbuild/frontend/data.py b/python/mozbuild/mozbuild/frontend/data.py
+--- a/python/mozbuild/mozbuild/frontend/data.py
++++ b/python/mozbuild/mozbuild/frontend/data.py
+@@ -310,17 +310,17 @@ class WebIDLCollection(ContextDerived):
+ @property
+ def unified_source_mapping(self):
# Bindings are compiled in unified mode to speed up compilation and
# to reduce linker memory size. Note that test bindings are separated
# from regular ones so tests bindings aren't shipped.
- unified_source_mapping = list(group_unified_files(webidls.all_regular_cpp_basenames(),
- unified_prefix='UnifiedBindings',
- unified_suffix='cpp',
-- files_per_unified_file=32))
-+ files_per_unified_file=16))
- self._write_unified_files(unified_source_mapping, bindings_dir,
- poison_windows_h=True)
- self._handle_webidl_build(bindings_dir, unified_source_mapping,
- webidls,
- manager.expected_build_output_files(),
- manager.GLOBAL_DEFINE_FILES)
+ return list(group_unified_files(self.all_regular_cpp_basenames(),
+ unified_prefix='UnifiedBindings',
+ unified_suffix='cpp',
+- files_per_unified_file=32))
++ files_per_unified_file=16))
- def _write_unified_file(self, unified_file, source_filenames,
+ def all_source_files(self):
+ from mozwebidlcodegen import WebIDLCodegenManager
+ return (sorted(list(WebIDLCodegenManager.GLOBAL_DEFINE_FILES)) +
+ sorted(set(p for p, _ in self.unified_source_mapping)))
+
+
+ class IPDLCollection(ContextDerived):
--- a/series Sun Apr 01 23:51:44 2018 +0200
+++ b/series Mon Apr 02 11:26:04 2018 +0200
@@ -7,7 +7,6 @@
mozilla-reduce-files-per-UnifiedBindings.patch
mozilla-aarch64-startup-crash.patch
mozilla-bmo256180.patch
-mozilla-bmo1005535.patch
mozilla-i586-DecoderDoctorLogger.patch
mozilla-i586-domPrefs.patch