Updated to 60.0

This commit is contained in:
Алзим 2018-05-09 21:26:58 +03:00
parent 6b72df208d
commit f18e2f1e7a
5 changed files with 134 additions and 94 deletions

View file

@ -1,2 +1,2 @@
sources:
mozilla-release-6b51784853e47e091d213d421a19cb623af718f0.tar.bz2: 82f69f2eeef9316abb096518fff8e95386e0f1e1
firefox-60.0.source.tar.xz: 070b99b19851efe13c1d947764a9de1a83f6362c

View file

@ -18,17 +18,6 @@
class nsAutoOwningThread
{
--- firefox-57.0/dom/base/nsNodeInfoManager.h-orig 2017-11-02 19:16:34.000000000 +0300
+++ firefox-57.0/dom/base/nsNodeInfoManager.h 2017-11-14 21:06:37.557820720 +0300
@@ -15,7 +15,7 @@
#include "nsCOMPtr.h" // for member
#include "nsCycleCollectionParticipant.h" // for NS_DECL_CYCLE_*
#include "nsStringFwd.h"
-#include "plhash.h" // for typedef PLHashNumber
+#include "nspr4/plhash.h" // for typedef PLHashNumber
class nsBindingManager;
class nsAtom;
--- firefox-56.0/xpcom/ds/nsCRT.h-orig 2017-09-28 20:02:28.000000000 +0300
+++ firefox-56.0/xpcom/ds/nsCRT.h 2017-09-28 20:03:25.099126089 +0300
@@ -8,7 +8,7 @@

View file

@ -1,11 +1,11 @@
# HG changeset patch
# Parent ffcd96e120857e207bd357b2005f0b5bc776e375
# Parent 1b44c077e473c5a7d02fab26e2a220ebf219e0ab
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,1280 @@
+#filter substitution
+<?xml version="1.0"?>
+# -*- Mode: HTML -*-
@ -15,14 +15,15 @@ new file mode 100644
+# 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 @@ new file mode 100644
+ tabsintitlebar="true"
+#endif
+ titlemenuseparator="&mainWindow.titlemodifiermenuseparator;"
+ lightweightthemes="true"
+ windowtype="navigator:browser"
+ macanimationtype="document"
+ screenX="4" screenY="4"
@ -75,6 +75,7 @@ new file mode 100644
+
+<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 @@ new file mode 100644
+ 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 @@ new file mode 100644
+
+ <panel type="autocomplete-richlistbox"
+ id="PopupAutoComplete"
+ role="group"
+ noautofocus="true"
+ hidden="true"
+ overflowpadding="4"
@ -151,11 +154,16 @@ new file mode 100644
+ 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 @@ new file mode 100644
+ </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 @@ new file mode 100644
+
+#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 @@ new file mode 100644
+ <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 @@ new file mode 100644
+
+ <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 @@ new file mode 100644
+#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 @@ new file mode 100644
+#endif
+
+ <tabs id="tabbrowser-tabs"
+ tabbrowser="content"
+ flex="1"
+ setfocus="false"
+ tooltip="tabbrowser-tab-tooltip"
@ -698,7 +708,6 @@ new file mode 100644
+ 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 @@ new file mode 100644
+
+#ifdef XP_MACOSX
+ <hbox class="titlebar-placeholder" type="fullscreen-button"
+ persist="width"
+ skipintoolbarset="true"/>
+#endif
+#endif
@ -777,6 +785,8 @@ new file mode 100644
+ class="chromeclass-location" overflows="false">
+ <textbox id="urlbar" flex="1"
+ placeholder="&urlbar.placeholder2;"
+ defaultPlaceholder="&urlbar.placeholder2;"
+ focused="true"
+ type="autocomplete"
+ autocompletesearch="unifiedcomplete"
+ autocompletesearchparam="enable-actions"
@ -784,8 +794,6 @@ new file mode 100644
+ completeselectedindex="true"
+ shrinkdelay="250"
+ tabscrolling="true"
+ showcommentcolumn="true"
+ showimagecolumn="true"
+ newlines="stripsurroundingwhitespace"
+ ontextentered="this.handleCommand(param);"
+ ontextreverted="return this.handleRevert();"
@ -820,6 +828,10 @@ new file mode 100644
+ 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 +873,10 @@ new file mode 100644
+ 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 +898,7 @@ new file mode 100644
+ </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 +947,20 @@ new file mode 100644
+ 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"
@ -1088,12 +1118,10 @@ new file mode 100644
+ BookmarkingUI.attachPlacesView(event, this);"
+ tooltip="bhTooltip" popupsinherittooltip="true">
+ <menuitem id="BMB_viewBookmarksSidebar"
+ class="subviewbutton"
+ label="&viewBookmarksSidebar2.label;"
+ type="checkbox"
+ oncommand="SidebarUI.toggle('viewBookmarksSidebar');">
+ <observes element="viewBookmarksSidebar" attribute="checked"/>
+ </menuitem>
+ class="menuitem-iconic subviewbutton"
+ label-show="&viewBookmarksSidebar2.label;"
+ label-hide="&hideBookmarksSidebar.label;"
+ oncommand="SidebarUI.toggle('viewBookmarksSidebar');"/>
+ <!-- NB: temporary solution for bug 985024, this should go away soon. -->
+ <menuitem id="BMB_bookmarksShowAllTop"
+ class="menuitem-iconic subviewbutton"
@ -1112,11 +1140,10 @@ new file mode 100644
+ new PlacesMenu(event, 'place:folder=TOOLBAR',
+ PlacesUIUtils.getViewForNode(this.parentNode.parentNode).options);">
+ <menuitem id="BMB_viewBookmarksToolbar"
+ placesanonid="view-toolbar"
+ toolbarId="PersonalToolbar"
+ type="checkbox"
+ oncommand="onViewToolbarCommand(event)"
+ label="&viewBookmarksToolbar.label;"/>
+ class="menuitem-iconic subviewbutton"
+ label-show="&viewBookmarksToolbar.label;"
+ label-hide="&hideBookmarksToolbar.label;"
+ oncommand="BookmarkingUI.toggleBookmarksToolbar();"/>
+ <menuseparator/>
+ <!-- Bookmarks toolbar items -->
+ </menupopup>
@ -1196,13 +1223,28 @@ new file mode 100644
+ <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 +1289,7 @@ new file mode 100644
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 +1371,7 @@ diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/ns
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 +1395,7 @@ diff --git a/browser/components/preferences/in-content/main.js b/browser/compone
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 +1739,7 @@ new file mode 100644
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

View file

@ -7,8 +7,9 @@
# This also means only STABLE upstream releases, NO betas.
# This is a discussed topic. Please, do not flame it again.
%define major 59.0.3
%define major 60.0
%define ff_epoch 0
%define relurl 0
%define rel_url 6b51784853e47e091d213d421a19cb623af718f0
# (tpg) set version HERE !!!
%define realver %{major}
@ -24,7 +25,6 @@
%define nspr_version %(pkg-config --modversion nspr &>/dev/null && pkg-config --modversion nspr 2>/dev/null |sed -e 's!\.0!!' || echo 0)
%define _use_syshunspell 0
%define toolkit_gtk3 1
Summary: Next generation web browser
@ -35,8 +35,11 @@ Release: 1
License: MPLv1+
Group: Networking/WWW
Url: http://www.mozilla.com/firefox/
# https://archive.mozilla.org/pub/firefox/releases/
%if %{relurl}
Source0: https://hg.mozilla.org/releases/mozilla-release/archive/%{rel_url}.tar.bz2?/mozilla-release-%{rel_url}.tar.bz2
%else
Source0: https://archive.mozilla.org/pub/firefox/releases/%{realver}/source/%{name}-%{realver}.source.tar.xz
%endif
Source4: %{name}.desktop
Source7: firefox.cfg
Source9: kde.js
@ -172,7 +175,11 @@ Files and macros mainly for building Firefox extensions.
#---------------------------------------------------------------------
%prep
%if %{relurl}
%setup -qn mozilla-release-%{rel_url}
%else
%setup -q
%endif
## KDE INTEGRATION
%patch11 -p1 -b .kdepatch

View file

@ -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 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
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 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
// 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/python/mozbuild/mozpack/chrome/manifest.py b/python/mozbuild/mozpac
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 @@ diff --git a/toolkit/components/downloads/moz.build b/toolkit/components/downloa
+ '/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 @@ diff --git a/toolkit/content/widgets/dialog-kde.xml b/toolkit/content/widgets/di
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 @@ new file mode 100644
+ 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 @@ new file mode 100644
+ 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 @@ new file mode 100644
+ 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 @@ new file mode 100644
+ <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 @@ new file mode 100644
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 @@ diff --git a/toolkit/mozapps/downloads/nsHelperAppDlg.js b/toolkit/mozapps/downl
},
// 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 @@ diff --git a/toolkit/mozapps/downloads/nsHelperAppDlg.js b/toolkit/mozapps/downl
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 @@ diff --git a/toolkit/mozapps/downloads/nsHelperAppDlg.js b/toolkit/mozapps/downl
// 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 @@ diff --git a/toolkit/mozapps/downloads/nsHelperAppDlg.js b/toolkit/mozapps/downl
+ // 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 @@ diff --git a/toolkit/mozapps/downloads/nsHelperAppDlg.js b/toolkit/mozapps/downl
- // 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 @@ diff --git a/toolkit/mozapps/downloads/nsHelperAppDlg.js b/toolkit/mozapps/downl
+ 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/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
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 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
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 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
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 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
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 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
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 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
}
#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/components/moz.build b/xpcom/components/moz.build
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 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
#include "prmem.h"
#include "plbase64.h"
@@ -1934,59 +1935,74 @@ nsLocalFile::SetPersistentDescriptor(con
@@ -1955,59 +1956,74 @@ nsLocalFile::SetPersistentDescriptor(con
return InitWithNativePath(aPersistentDescriptor);
#endif
}