1
0

- update to Firefox 64.0

* Better recommendations: You may see suggestions in regular browsing
    mode for new and relevant Firefox features, services, and extensions
    based on how you use the web (for US users only)
  * Enhanced tab management: You can now select multiple tabs from the
    tab bar and close, move, bookmark, or pin them quickly and easily
  * Easier performance management: The new Task Manager page found at
    about:performance lets you see how much energy each open tab consumes
    and provides access to close tabs to conserve power
  * Improved performance for Mac and Linux users, by enabling link time
    optimization (Clang LTO).
  * Added option to remove add-ons using the context menu on their
    toolbar buttons
  * RSS feed preview and live bookmarks are available only via add-ons
  * TLS certificates issued by Symantec are no longer trusted by Firefox.
    Website operators are strongly encouraged to replace any remaining
    Symantec TLS certificates as soon as possible
  MFSA 2018-29 (bsc#1119105)
  * CVE-2018-12407 bmo#1505973
    Buffer overflow with ANGLE library when using VertexBuffer11 module
  * CVE-2018-17466 bmo#1488295
    Buffer overflow and out-of-bounds read in ANGLE library with
    TextureStorage11
  * CVE-2018-18492 bmo#1499861
    Use-after-free with select element
  * CVE-2018-18493 bmo#1504452
    Buffer overflow in accelerated 2D canvas with Skia
  * CVE-2018-18494 bmo#1487964
    Same-origin policy violation using location attribute and
    performance.getEntries to steal cross-origin URLs

OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaFirefox?expand=0&rev=699
This commit is contained in:
Wolfgang Rosenauer 2018-12-12 11:35:28 +00:00 committed by Git OBS Bridge
parent d8b75f888e
commit 7d565ee4aa
14 changed files with 268 additions and 25074 deletions

View File

@ -1,3 +1,60 @@
-------------------------------------------------------------------
Tue Dec 11 08:45:56 UTC 2018 - Wolfgang Rosenauer <wr@rosenauer.org>
- update to Firefox 64.0
* Better recommendations: You may see suggestions in regular browsing
mode for new and relevant Firefox features, services, and extensions
based on how you use the web (for US users only)
* Enhanced tab management: You can now select multiple tabs from the
tab bar and close, move, bookmark, or pin them quickly and easily
* Easier performance management: The new Task Manager page found at
about:performance lets you see how much energy each open tab consumes
and provides access to close tabs to conserve power
* Improved performance for Mac and Linux users, by enabling link time
optimization (Clang LTO).
* Added option to remove add-ons using the context menu on their
toolbar buttons
* RSS feed preview and live bookmarks are available only via add-ons
* TLS certificates issued by Symantec are no longer trusted by Firefox.
Website operators are strongly encouraged to replace any remaining
Symantec TLS certificates as soon as possible
MFSA 2018-29 (bsc#1119105)
* CVE-2018-12407 bmo#1505973
Buffer overflow with ANGLE library when using VertexBuffer11 module
* CVE-2018-17466 bmo#1488295
Buffer overflow and out-of-bounds read in ANGLE library with
TextureStorage11
* CVE-2018-18492 bmo#1499861
Use-after-free with select element
* CVE-2018-18493 bmo#1504452
Buffer overflow in accelerated 2D canvas with Skia
* CVE-2018-18494 bmo#1487964
Same-origin policy violation using location attribute and
performance.getEntries to steal cross-origin URLs
* CVE-2018-18495 bmo#1427585
WebExtension content scripts can be loaded in about: pages
* CVE-2018-18496 bmo#1422231 (Windows only)
Embedded feed preview page can be abused for clickjacking
* CVE-2018-18497 bmo#1488180
WebExtensions can load arbitrary URLs through pipe separators
* CVE-2018-18498 bmo#1500011
Integer overflow when calculating buffer sizes for images
* CVE-2018-12406 bmo#1456947 bmo#1475669 bmo#1504816 bmo#1502886
bmo#1500064 bmo#1500310 bmo#1500696 bmo#1498765 bmo#1499198 bmo#1434490
bmo#1481745 bmo#1458129
Memory safety bugs fixed in Firefox 64
* CVE-2018-12405 bmo#1494752 bmo#1503326 bmo#1505181 bmo#1500759
bmo#1504365 bmo#1506640 bmo#1503082 bmo#1502013 bmo#1510471
Memory safety bugs fixed in Firefox 64 and Firefox ESR 60.4
- requires
* rust/cargo >= 1.29
* mozilla-nss >= 3.40.1
* rust-cbindgen >= 0.6.4
- rebased patches
- removed obsolete patch
* mozilla-bmo1491289.patch
- now uses clang primarily for compilation
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Nov 28 11:07:18 UTC 2018 - Guillaume GARDET <guillaume.gardet@opensuse.org> Wed Nov 28 11:07:18 UTC 2018 - Guillaume GARDET <guillaume.gardet@opensuse.org>

View File

@ -18,15 +18,20 @@
# changed with every update # changed with every update
%define major 63 %define major 64
%define mainver %major.0.3 %define mainver %major.0
%define orig_version 63.0.3 %define orig_version 64.0
%define orig_suffix %{nil} %define orig_suffix %{nil}
%define update_channel release %define update_channel release
%define branding 1 %define branding 1
%define releasedate 20181114214635 %define releasedate 20181206201918
%define source_prefix firefox-%{orig_version} %define source_prefix firefox-%{orig_version}
# use clang (upstream default since 64.0)
%if 0%{?suse_version} > 1320
%define clang_build 1
%endif
# PIE, full relro (x86_64 for now) # PIE, full relro (x86_64 for now)
%define build_hardened 1 %define build_hardened 1
@ -66,7 +71,7 @@ BuildRequires: gcc7-c++
%else %else
BuildRequires: gcc-c++ BuildRequires: gcc-c++
%endif %endif
BuildRequires: cargo >= 1.28 BuildRequires: cargo >= 1.29
BuildRequires: libXcomposite-devel BuildRequires: libXcomposite-devel
BuildRequires: libcurl-devel BuildRequires: libcurl-devel
BuildRequires: libidl-devel BuildRequires: libidl-devel
@ -75,13 +80,13 @@ BuildRequires: libnotify-devel
BuildRequires: libproxy-devel BuildRequires: libproxy-devel
BuildRequires: makeinfo BuildRequires: makeinfo
BuildRequires: mozilla-nspr-devel >= 4.20 BuildRequires: mozilla-nspr-devel >= 4.20
BuildRequires: mozilla-nss-devel >= 3.39 BuildRequires: mozilla-nss-devel >= 3.40.1
BuildRequires: nodejs8 >= 8.11 BuildRequires: nodejs8 >= 8.11
BuildRequires: python-devel BuildRequires: python-devel
BuildRequires: python2-xml BuildRequires: python2-xml
BuildRequires: python3 >= 3.5 BuildRequires: python3 >= 3.5
BuildRequires: rust >= 1.28 BuildRequires: rust >= 1.29
BuildRequires: rust-cbindgen >= 0.6.2 BuildRequires: rust-cbindgen >= 0.6.4
BuildRequires: startup-notification-devel BuildRequires: startup-notification-devel
BuildRequires: unzip BuildRequires: unzip
BuildRequires: update-desktop-files BuildRequires: update-desktop-files
@ -160,8 +165,7 @@ Patch6: mozilla-reduce-files-per-UnifiedBindings.patch
Patch7: mozilla-aarch64-startup-crash.patch Patch7: mozilla-aarch64-startup-crash.patch
Patch8: mozilla-bmo256180.patch Patch8: mozilla-bmo256180.patch
Patch9: mozilla-bmo1463035.patch Patch9: mozilla-bmo1463035.patch
Patch10: mozilla-bmo1491289.patch Patch10: mozilla-cubeb-noreturn.patch
Patch11: mozilla-cubeb-noreturn.patch
# Firefox/browser # Firefox/browser
Patch101: firefox-kde.patch Patch101: firefox-kde.patch
Patch102: firefox-branded-icons.patch Patch102: firefox-branded-icons.patch
@ -272,7 +276,6 @@ cd $RPM_BUILD_DIR/%{source_prefix}
%patch8 -p1 %patch8 -p1
%patch9 -p1 %patch9 -p1
%patch10 -p1 %patch10 -p1
%patch11 -p1
# Firefox # Firefox
%patch101 -p1 %patch101 -p1
%patch102 -p1 %patch102 -p1
@ -303,9 +306,11 @@ export CC=gcc-7
%endif %endif
export CFLAGS="%{optflags} -fno-strict-aliasing" export CFLAGS="%{optflags} -fno-strict-aliasing"
# boo#986541: add -fno-delete-null-pointer-checks for gcc6 # boo#986541: add -fno-delete-null-pointer-checks for gcc6
%if 0%{?clang_build} == 0
%if 0%{?suse_version} > 1320 %if 0%{?suse_version} > 1320
export CFLAGS="$CFLAGS -fno-delete-null-pointer-checks" export CFLAGS="$CFLAGS -fno-delete-null-pointer-checks"
%endif %endif
%endif
%ifarch %arm %ix86 %ifarch %arm %ix86
# Limit RAM usage during link # Limit RAM usage during link
export LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory -Wl,--reduce-memory-overheads" export LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
@ -336,8 +341,10 @@ ac_add_options --enable-default-toolkit=cairo-gtk3
ac_add_options --disable-gconf ac_add_options --disable-gconf
%endif %endif
%if 0%{?build_hardened} %if 0%{?build_hardened}
%if 0%{?clang_build} == 0
ac_add_options --enable-pie ac_add_options --enable-pie
%endif %endif
%endif
# gcc7 (boo#104105) # gcc7 (boo#104105)
%if 0%{?suse_version} > 1320 %if 0%{?suse_version} > 1320
ac_add_options --enable-optimize="-g -O2" ac_add_options --enable-optimize="-g -O2"

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:d7aee0b0e97dac740d3ac9468f952b1e8f32a7e8f63a9bfe9bfdf864db431fc6 oid sha256:08c89c246ee082e7b61a333ee0d0a2e6ddf8c9ac12688cbf4ad50dafb0de7ad5
size 28404 size 28388

View File

@ -7,8 +7,8 @@
CHANNEL="release" CHANNEL="release"
BRANCH="releases/mozilla-$CHANNEL" BRANCH="releases/mozilla-$CHANNEL"
RELEASE_TAG="FIREFOX_63.0.3_RELEASE" RELEASE_TAG="8337ebb86a425a1c65467fc68eb7c26b9046159e"
VERSION="63.0.3" VERSION="64.0"
VERSION_SUFFIX="" VERSION_SUFFIX=""
LOCALE_FILE="firefox-$VERSION/browser/locales/l10n-changesets.json" LOCALE_FILE="firefox-$VERSION/browser/locales/l10n-changesets.json"

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:48a834daa9c5773272a30933936ea8a78b217494355749ee68996639451d0931
size 266109244

View File

@ -1,17 +0,0 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.14 (GNU/Linux)
iQIcBAABCAAGBQJb7L81AAoJELu+vbskxvNVQNAQAJDg4T7R4EBE2vt6NK091Uir
lpVsEVYzsnIalHZ3IzbBm0tJvZ2m4LdulH8+l4fy6Oh2/qgBMaWcbb7T4xPDCf5T
Uierlw7LasM8g9Hrfpz0cvuqxXZZ+HYOMstR59FdND+fLi13JEoH+vKy2nuWNOEP
1NeJsu7mjSvugz4QSs+A7C2vxWn2uUkdajex8sT5140iabV1q8YD4J4pQbIdreY4
BciHm5Fo6SBp3rSyiNCUcGo1gfCnnMfruoNe5gg5Wh5aLTrf1ivBfPyLr1T/STp9
LrEYX1qVrWsfSHr8E4jEUWGLFe6g6OT6eTkXiwKf9UChRP7NI+5LDDJ0sWw+V2MQ
MBNrCKXDYm3KojvHKwhEoCFLdxtcglwoZ/Ovhz854xhhertx5JjifA7ZI7YsJP8Q
HMWTtqRc+jtYtXWwrtDmUFXHFh/t++T4FHiGWRgZ0JAcO/ePsWzLC5KJEyDcCxs8
lA+lcicyRVU91NPG9ZwUxb/C9XNx8AHDwagLud4CVrPqfC+2RbLawoV9j9fkfjz6
sEcGRD2nqLKarlNxL8Ks5KIzimhFhLm3Fe63S1gPtHMEvstWw3JsLGzHK7tLhtOK
QOpOT18xY8pf88BFz66uw1bwXL6t9AQfUOEtl662jbX+1inRmepgyJo/oO/lFnV7
u65dm6DmmrO/DoFARj+n
=ipWm
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:da40f2f8f1cbf0ddb3454aa9f65bb1a2b2043ca9b1724aecd016337be77d537f
size 271865888

View File

@ -0,0 +1,17 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.14 (GNU/Linux)
iQIcBAABCAAGBQJcCeLpAAoJELu+vbskxvNVG04QAKA6B6cBMdQIHAjxkIrWS9nQ
rprO4iQlLhI0OHVxc5aKpG2/dhA3QffmQ/PdlZQZ5Y4hKKyJhQYXeQC4I7aaUmND
FzEqEtdAkGLNInkcT4wdTs0qR8pTh5QpuM/wzUWUlpkJz5RKGN4aMCzG6Ls5ciKT
BBE153MHwCuIlE+dnlYfgOu4ljjqW/diHRFcUcg/hPK/twnPXzWszaJwWjjCfHcy
tMYqDKI+GEbUSVRdM9gWy6rEXTBJ9HhCRth2PVfH9WxAesGJFw34Q0sn1EYbkrKM
AiT+GKGJqNr/jbZMhOtiJJM1ORK2gGTnTDJnOHO0CXJKn6lYNQz/mBgrKK7Fr/L7
9Dn27+ub7OM/XctfVsv02VMPKHSzh+81Eh/53ea1W/IK/BKzuXvx9kc3czzDuDHb
+e11gQepxi8RGIRiy+mzLga2mp0Y4ihddbaZXVqJBN9vPMAEm+50wjATOYpTWZya
JBs4XCIthJbzrOSEafqhZY6bJS7u4i2yKFmjscmf1S0AnETTE3v+ykWp3eX4UTcc
IQD8mlOMuV6vq1uEmGObdl9YUzhVA0N14jJwYW5x9MKqI14gg76VbN49mlFq7boq
EKilKGBsgDsdIgOuKjx6e4gkopnhxVwupaj0pNGNjp1qTvdZNqqp9oUUWWfaCM+L
pdlP7yJCMnBYjcU6fncZ
=wngo
-----END PGP SIGNATURE-----

View File

@ -1,11 +1,11 @@
# HG changeset patch # HG changeset patch
# Parent fdf78810e83396d10418791fbe32bed6bfe1558b # Parent f2429084f187d5758508ae547c411943cba60fcf
diff --git a/browser/base/content/browser-kde.xul b/browser/base/content/browser-kde.xul diff --git a/browser/base/content/browser-kde.xul b/browser/base/content/browser-kde.xul
new file mode 100644 new file mode 100644
--- /dev/null --- /dev/null
+++ b/browser/base/content/browser-kde.xul +++ b/browser/base/content/browser-kde.xul
@@ -0,0 +1,1317 @@ @@ -0,0 +1,1384 @@
+#filter substitution +#filter substitution
+<?xml version="1.0"?> +<?xml version="1.0"?>
+# -*- Mode: HTML -*- +# -*- Mode: HTML -*-
@ -19,6 +19,12 @@ new file mode 100644
+ both "content" and "skin" packages, which bug 1385444 will unify later. --> + both "content" and "skin" packages, which bug 1385444 will unify later. -->
+<?xml-stylesheet href="chrome://global/skin/" type="text/css"?> +<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
+ +
+<!-- While these stylesheets are defined in Toolkit, they are only used in the
+ main browser window, so we can load them here. Bug 1474241 is on file to
+ consider moving these widgets to the "browser" folder. -->
+<?xml-stylesheet href="chrome://global/content/tabprompts.css" type="text/css"?>
+<?xml-stylesheet href="chrome://global/skin/tabprompts.css" type="text/css"?>
+
+<?xml-stylesheet href="chrome://browser/content/browser.css" type="text/css"?> +<?xml-stylesheet href="chrome://browser/content/browser.css" type="text/css"?>
+<?xml-stylesheet href="chrome://browser/content/tabbrowser.css" type="text/css"?> +<?xml-stylesheet href="chrome://browser/content/tabbrowser.css" type="text/css"?>
+<?xml-stylesheet href="chrome://browser/content/downloads/downloads.css" type="text/css"?> +<?xml-stylesheet href="chrome://browser/content/downloads/downloads.css" type="text/css"?>
@ -72,7 +78,11 @@ new file mode 100644
+ fullscreenbutton="true" + fullscreenbutton="true"
+ sizemode="normal" + sizemode="normal"
+ retargetdocumentfocus="urlbar" + retargetdocumentfocus="urlbar"
+ persist="screenX screenY width height sizemode"> + persist="screenX screenY width height sizemode"
+#ifdef BROWSER_XHTML
+ hidden="true"
+#endif
+ >
+ +
+# All JS files which are needed by browser.xul and other top level windows to +# 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 +# support MacOS specific features *must* go into the global-scripts.inc file so
@ -90,9 +100,14 @@ new file mode 100644
+ window.onload = gBrowserInit.onLoad.bind(gBrowserInit); + window.onload = gBrowserInit.onLoad.bind(gBrowserInit);
+ window.onunload = gBrowserInit.onUnload.bind(gBrowserInit); + window.onunload = gBrowserInit.onUnload.bind(gBrowserInit);
+ window.onclose = WindowIsClosing; + window.onclose = WindowIsClosing;
+
+#ifdef BROWSER_XHTML +#ifdef BROWSER_XHTML
+ window.addEventListener("DOMContentLoaded", + window.addEventListener("readystatechange", () => {
+ gBrowserInit.onBeforeInitialXULLayout.bind(gBrowserInit), { once: true }); + // We initially hide the window to prevent layouts during parse. This lets us
+ // avoid accidental XBL construction and better match browser.xul (see Bug 1497975).
+ gBrowserInit.onBeforeInitialXULLayout();
+ document.documentElement.removeAttribute("hidden");
+ }, { once: true, capture: true });
+#else +#else
+ window.addEventListener("MozBeforeInitialXULLayout", + window.addEventListener("MozBeforeInitialXULLayout",
+ gBrowserInit.onBeforeInitialXULLayout.bind(gBrowserInit), { once: true }); + gBrowserInit.onBeforeInitialXULLayout.bind(gBrowserInit), { once: true });
@ -116,13 +131,12 @@ new file mode 100644
+ onpopuphidden="if (event.target == this) TabContextMenu.contextTab = null;"> + onpopuphidden="if (event.target == this) TabContextMenu.contextTab = null;">
+ <menuitem id="context_reloadTab" label="&reloadTab.label;" accesskey="&reloadTab.accesskey;" + <menuitem id="context_reloadTab" label="&reloadTab.label;" accesskey="&reloadTab.accesskey;"
+ oncommand="gBrowser.reloadTab(TabContextMenu.contextTab);"/> + oncommand="gBrowser.reloadTab(TabContextMenu.contextTab);"/>
+ <menuitem id="context_reloadSelectedTabs" label="&reloadSelectedTabs.label;" hidden="true" + <menuitem id="context_reloadSelectedTabs" label="&reloadTabs.label;" hidden="true"
+ accesskey="&reloadSelectedTabs.accesskey;" + accesskey="&reloadTabs.accesskey;"
+ oncommand="gBrowser.reloadMultiSelectedTabs();"/> + oncommand="gBrowser.reloadMultiSelectedTabs();"/>
+ <menuitem id="context_toggleMuteTab" oncommand="TabContextMenu.contextTab.toggleMuteAudio();"/> + <menuitem id="context_toggleMuteTab" oncommand="TabContextMenu.contextTab.toggleMuteAudio();"/>
+ <menuitem id="context_toggleMuteSelectedTabs" hidden="true" + <menuitem id="context_toggleMuteSelectedTabs" hidden="true"
+ oncommand="gBrowser.toggleMuteAudioOnMultiSelectedTabs(TabContextMenu.contextTab);"/> + oncommand="gBrowser.toggleMuteAudioOnMultiSelectedTabs(TabContextMenu.contextTab);"/>
+ <menuseparator/>
+ <menuitem id="context_pinTab" label="&pinTab.label;" + <menuitem id="context_pinTab" label="&pinTab.label;"
+ accesskey="&pinTab.accesskey;" + accesskey="&pinTab.accesskey;"
+ oncommand="gBrowser.pinTab(TabContextMenu.contextTab);"/> + oncommand="gBrowser.pinTab(TabContextMenu.contextTab);"/>
@ -138,6 +152,18 @@ new file mode 100644
+ <menuitem id="context_duplicateTab" label="&duplicateTab.label;" + <menuitem id="context_duplicateTab" label="&duplicateTab.label;"
+ accesskey="&duplicateTab.accesskey;" + accesskey="&duplicateTab.accesskey;"
+ oncommand="duplicateTabIn(TabContextMenu.contextTab, 'tab');"/> + oncommand="duplicateTabIn(TabContextMenu.contextTab, 'tab');"/>
+ <menuseparator/>
+ <menuitem id="context_selectAllTabs" label="&selectAllTabs.label;" accesskey="&selectAllTabs.accesskey;"
+ oncommand="gBrowser.selectAllTabs();"/>
+ <menuitem id="context_bookmarkSelectedTabs"
+ hidden="true"
+ label="&bookmarkSelectedTabs.label;"
+ accesskey="&bookmarkSelectedTabs.accesskey;"
+ oncommand="PlacesCommandHook.bookmarkPages(PlacesCommandHook.uniqueSelectedPages);"/>
+ <menuitem id="context_bookmarkTab"
+ label="&bookmarkTab.label;"
+ accesskey="&bookmarkTab.accesskey;"
+ oncommand="PlacesCommandHook.bookmarkPages(PlacesCommandHook.getUniquePages([TabContextMenu.contextTab]));"/>
+ <menu id="context_reopenInContainer" + <menu id="context_reopenInContainer"
+ label="&reopenInContainer.label;" + label="&reopenInContainer.label;"
+ accesskey="&reopenInContainer.accesskey;" + accesskey="&reopenInContainer.accesskey;"
@ -145,43 +171,46 @@ new file mode 100644
+ <menupopup oncommand="TabContextMenu.reopenInContainer(event);" + <menupopup oncommand="TabContextMenu.reopenInContainer(event);"
+ onpopupshowing="TabContextMenu.createReopenInContainerMenu(event);"/> + onpopupshowing="TabContextMenu.createReopenInContainerMenu(event);"/>
+ </menu> + </menu>
+ <menuitem id="context_openTabInWindow" label="&moveToNewWindow.label;" + <menu id="context_moveTabOptions"
+ accesskey="&moveToNewWindow.accesskey;" + multiselectcontextlabel="&moveSelectedTabOptions.label;"
+ tbattr="tabbrowser-multiple" + multiselectcontextaccesskey="&moveSelectedTabOptions.accesskey;"
+ oncommand="gBrowser.replaceTabsWithWindow(TabContextMenu.contextTab);"/> + nonmultiselectcontextlabel="&moveTabOptions.label;"
+ <menuseparator id="context_sendTabToDevice_separator" class="sync-ui-item"/> + nonmultiselectcontextaccesskey="&moveTabOptions.accesskey;">
+ <menu id="context_sendTabToDevice" label="&sendTabToDevice.label;" + <menupopup id="moveTabOptionsMenu">
+ class="sync-ui-item" + <menuitem id="context_moveToStart"
+ accesskey="&sendTabToDevice.accesskey;"> + label="&moveToStart.label;"
+ accesskey="&moveToStart.accesskey;"
+ tbattr="tabbrowser-multiple"
+ oncommand="gBrowser.moveTabsToStart(TabContextMenu.contextTab);"/>
+ <menuitem id="context_moveToEnd"
+ label="&moveToEnd.label;"
+ accesskey="&moveToEnd.accesskey;"
+ tbattr="tabbrowser-multiple"
+ oncommand="gBrowser.moveTabsToEnd(TabContextMenu.contextTab);"/>
+ <menuitem id="context_openTabInWindow" label="&moveToNewWindow.label;"
+ accesskey="&moveToNewWindow.accesskey;"
+ tbattr="tabbrowser-multiple"
+ oncommand="gBrowser.replaceTabsWithWindow(TabContextMenu.contextTab);"/>
+ </menupopup>
+ </menu>
+ <menu id="context_sendTabToDevice"
+ class="sync-ui-item">
+ <menupopup id="context_sendTabToDevicePopupMenu" + <menupopup id="context_sendTabToDevicePopupMenu"
+ onpopupshowing="gSync.populateSendTabToDevicesMenu(event.target, TabContextMenu.contextTab.linkedBrowser.currentURI.spec, TabContextMenu.contextTab.linkedBrowser.contentTitle);"/> + onpopupshowing="gSync.populateSendTabToDevicesMenu(event.target, TabContextMenu.contextTab.linkedBrowser.currentURI.spec, TabContextMenu.contextTab.linkedBrowser.contentTitle, TabContextMenu.contextTab.multiselected);"/>
+ </menu> + </menu>
+ <menuseparator/> + <menuseparator/>
+ <menuitem id="context_reloadAllTabs" label="&reloadAllTabs.label;" accesskey="&reloadAllTabs.accesskey;"
+ tbattr="tabbrowser-multiple-visible"
+ oncommand="gBrowser.reloadAllTabs();"/>
+ <menuitem id="context_bookmarkSelectedTabs"
+ hidden="true"
+ label="&bookmarkSelectedTabs.label;"
+ accesskey="&bookmarkSelectedTabs.accesskey;"
+ oncommand="PlacesCommandHook.bookmarkPages(PlacesCommandHook.uniqueSelectedPages);"/>
+ <menuitem id="context_bookmarkAllTabs"
+ label="&bookmarkAllTabs.label;"
+ accesskey="&bookmarkAllTabs.accesskey;"
+ command="Browser:BookmarkAllTabs"/>
+ <menuitem id="context_closeTabsToTheEnd" label="&closeTabsToTheEnd.label;" accesskey="&closeTabsToTheEnd.accesskey;" + <menuitem id="context_closeTabsToTheEnd" label="&closeTabsToTheEnd.label;" accesskey="&closeTabsToTheEnd.accesskey;"
+ oncommand="gBrowser.removeTabsToTheEndFrom(TabContextMenu.contextTab, {animate: true});"/> + oncommand="gBrowser.removeTabsToTheEndFrom(TabContextMenu.contextTab, {animate: true});"/>
+ <menuitem id="context_closeOtherTabs" label="&closeOtherTabs.label;" accesskey="&closeOtherTabs.accesskey;" + <menuitem id="context_closeOtherTabs" label="&closeOtherTabs.label;" accesskey="&closeOtherTabs.accesskey;"
+ oncommand="gBrowser.removeAllTabsBut(TabContextMenu.contextTab);"/> + oncommand="gBrowser.removeAllTabsBut(TabContextMenu.contextTab);"/>
+ <menuseparator/>
+ <menuitem id="context_undoCloseTab" + <menuitem id="context_undoCloseTab"
+ label="&undoCloseTab.label;" + label="&undoCloseTab.label;"
+ accesskey="&undoCloseTab.accesskey;" + accesskey="&undoCloseTab.accesskey;"
+ observes="History:UndoCloseTab"/> + observes="History:UndoCloseTab"/>
+ <menuitem id="context_closeTab" label="&closeTab.label;" accesskey="&closeTab.accesskey;" + <menuitem id="context_closeTab" label="&closeTab.label;" accesskey="&closeTab.accesskey;"
+ oncommand="gBrowser.removeTab(TabContextMenu.contextTab, { animate: true });"/> + oncommand="gBrowser.removeTab(TabContextMenu.contextTab, { animate: true });"/>
+ <menuitem id="context_closeSelectedTabs" label="&closeSelectedTabs.label;" + <menuitem id="context_closeSelectedTabs" label="&closeTabs.label;"
+ hidden="true" accesskey="&closeSelectedTabs.accesskey;" + hidden="true" accesskey="&closeTabs.accesskey;"
+ oncommand="gBrowser.removeMultiSelectedTabs();"/> + oncommand="gBrowser.removeMultiSelectedTabs();"/>
+ </menupopup> + </menupopup>
+ +
@ -222,6 +251,22 @@ new file mode 100644
+ level="parent" + level="parent"
+ overflowpadding="15" /> + overflowpadding="15" />
+ +
+ <!-- for url bar autocomplete -->
+ <panel id="urlbar-results"
+ role="group"
+ noautofocus="true"
+ hidden="true"
+ flip="none"
+ level="parent">
+ <html:div class="urlbarView-body-outer">
+ <html:div class="urlbarView-body-inner">
+ <!-- TODO: add search suggestions notification -->
+ <html:div class="urlbarView-results"/>
+ <!-- TODO: add footer -->
+ </html:div>
+ </html:div>
+ </panel>
+
+ <!-- for date/time picker. consumeoutsideclicks is set to never, so that + <!-- for date/time picker. consumeoutsideclicks is set to never, so that
+ clicks on the anchored input box are never consumed. --> + clicks on the anchored input box are never consumed. -->
+ <panel id="DateTimePickerPanel" + <panel id="DateTimePickerPanel"
@ -374,19 +419,24 @@ new file mode 100644
+ </panel> + </panel>
+ +
+ <menupopup id="toolbar-context-menu" + <menupopup id="toolbar-context-menu"
+ onpopupshowing="onViewToolbarsPopupShowing(event, document.getElementById('viewToolbarsMenuSeparator')); UpdateDownloadsAutoHide(this); UpdateManageExtension(this)"> + onpopupshowing="onViewToolbarsPopupShowing(event, document.getElementById('viewToolbarsMenuSeparator')); ToolbarContextMenu.updateDownloadsAutoHide(this); ToolbarContextMenu.updateExtension(this)">
+ <menuitem oncommand="openAboutAddonsForContextAction(this.parentElement)" + <menuitem oncommand="ToolbarContextMenu.openAboutAddonsForContextAction(this.parentElement)"
+ accesskey="&customizeMenu.manageExtension.accesskey;" + accesskey="&customizeMenu.manageExtension.accesskey;"
+ label="&customizeMenu.manageExtension.label;" + label="&customizeMenu.manageExtension.label;"
+ contexttype="toolbaritem" + contexttype="toolbaritem"
+ class="customize-context-manageExtension"/> + class="customize-context-manageExtension"/>
+ <menuitem oncommand="ToolbarContextMenu.removeExtensionForContextAction(this.parentElement)"
+ accesskey="&customizeMenu.removeExtension.accesskey;"
+ label="&customizeMenu.removeExtension.label;"
+ contexttype="toolbaritem"
+ class="customize-context-removeExtension"/>
+ <menuseparator/> + <menuseparator/>
+ <menuitem oncommand="gCustomizeMode.addToPanel(document.popupNode)" + <menuitem oncommand="gCustomizeMode.addToPanel(document.popupNode)"
+ accesskey="&customizeMenu.pinToOverflowMenu.accesskey;" + accesskey="&customizeMenu.pinToOverflowMenu.accesskey;"
+ label="&customizeMenu.pinToOverflowMenu.label;" + label="&customizeMenu.pinToOverflowMenu.label;"
+ contexttype="toolbaritem" + contexttype="toolbaritem"
+ class="customize-context-moveToPanel"/> + class="customize-context-moveToPanel"/>
+ <menuitem oncommand="onDownloadsAutoHideChange(event)" + <menuitem oncommand="ToolbarContextMenu.onDownloadsAutoHideChange(event)"
+ type="checkbox" + type="checkbox"
+ accesskey="&customizeMenu.autoHideDownloadsButton.accesskey;" + accesskey="&customizeMenu.autoHideDownloadsButton.accesskey;"
+ label="&customizeMenu.autoHideDownloadsButton.label;" + label="&customizeMenu.autoHideDownloadsButton.label;"
@ -397,18 +447,36 @@ new file mode 100644
+ label="&customizeMenu.removeFromToolbar.label;" + label="&customizeMenu.removeFromToolbar.label;"
+ contexttype="toolbaritem" + contexttype="toolbaritem"
+ class="customize-context-removeFromToolbar"/> + class="customize-context-removeFromToolbar"/>
+ <menuitem id="toolbar-context-reloadAllTabs" + <menuitem id="toolbar-context-reloadSelectedTab"
+ class="toolbaritem-tabsmenu" + class="toolbaritem-tabsmenu"
+ contexttype="tabbar" + contexttype="tabbar"
+ oncommand="gBrowser.reloadAllTabs();" + oncommand="gBrowser.reloadMultiSelectedTabs();"
+ label="&toolbarContextMenu.reloadAllTabs.label;" + label="&toolbarContextMenu.reloadSelectedTab.label;"
+ accesskey="&toolbarContextMenu.reloadAllTabs.accesskey;"/> + accesskey="&toolbarContextMenu.reloadSelectedTab.accesskey;"/>
+ <menuitem id="toolbar-context-bookmarkAllTabs" + <menuitem id="toolbar-context-reloadSelectedTabs"
+ class="toolbaritem-tabsmenu" + class="toolbaritem-tabsmenu"
+ contexttype="tabbar" + contexttype="tabbar"
+ command="Browser:BookmarkAllTabs" + oncommand="gBrowser.reloadMultiSelectedTabs();"
+ label="&toolbarContextMenu.bookmarkAllTabs.label;" + label="&toolbarContextMenu.reloadSelectedTabs.label;"
+ accesskey="&toolbarContextMenu.bookmarkAllTabs.accesskey;"/> + accesskey="&toolbarContextMenu.reloadSelectedTabs.accesskey;"/>
+ <menuitem id="toolbar-context-bookmarkSelectedTab"
+ class="toolbaritem-tabsmenu"
+ contexttype="tabbar"
+ oncommand="PlacesCommandHook.bookmarkPages(PlacesCommandHook.uniqueSelectedPages);"
+ label="&toolbarContextMenu.bookmarkSelectedTab.label;"
+ accesskey="&toolbarContextMenu.bookmarkSelectedTab.accesskey;"/>
+ <menuitem id="toolbar-context-bookmarkSelectedTabs"
+ class="toolbaritem-tabsmenu"
+ contexttype="tabbar"
+ oncommand="PlacesCommandHook.bookmarkPages(PlacesCommandHook.uniqueSelectedPages);"
+ label="&toolbarContextMenu.bookmarkSelectedTabs.label;"
+ accesskey="&toolbarContextMenu.bookmarkSelectedTabs.accesskey;"/>
+ <menuitem id="toolbar-context-selectAllTabs"
+ class="toolbaritem-tabsmenu"
+ contexttype="tabbar"
+ oncommand="gBrowser.selectAllTabs();"
+ label="&toolbarContextMenu.selectAllTabs.label;"
+ accesskey="&toolbarContextMenu.selectAllTabs.accesskey;"/>
+ <menuitem id="toolbar-context-undoCloseTab" + <menuitem id="toolbar-context-undoCloseTab"
+ class="toolbaritem-tabsmenu" + class="toolbaritem-tabsmenu"
+ contexttype="tabbar" + contexttype="tabbar"
@ -496,7 +564,6 @@ new file mode 100644
+ noautofocus="true" + noautofocus="true"
+ copyURL-title="&pageAction.copyLink.label;" + copyURL-title="&pageAction.copyLink.label;"
+ emailLink-title="&emailPageCmd.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;" + shareURL-title="&pageAction.shareUrl.label;"
+ shareMore-label="&pageAction.shareMore.label;"> + shareMore-label="&pageAction.shareMore.label;">
@ -534,10 +601,10 @@ new file mode 100644
+ label="&pageAction.removeFromUrlbar.label;" + label="&pageAction.removeFromUrlbar.label;"
+ oncommand="BrowserPageActions.togglePinningForContextAction();"/> + oncommand="BrowserPageActions.togglePinningForContextAction();"/>
+ <menuitem class="pageActionContextMenuItem extensionUnpinned" + <menuitem class="pageActionContextMenuItem extensionUnpinned"
+ label="&pageAction.allowInUrlbar.label;" + label="&pageAction.addToUrlbar.label;"
+ oncommand="BrowserPageActions.togglePinningForContextAction();"/> + oncommand="BrowserPageActions.togglePinningForContextAction();"/>
+ <menuitem class="pageActionContextMenuItem extensionPinned" + <menuitem class="pageActionContextMenuItem extensionPinned"
+ label="&pageAction.disallowInUrlbar.label;" + label="&pageAction.removeFromUrlbar.label;"
+ oncommand="BrowserPageActions.togglePinningForContextAction();"/> + oncommand="BrowserPageActions.togglePinningForContextAction();"/>
+ <menuseparator class="pageActionContextMenuItem extensionPinned extensionUnpinned"/> + <menuseparator class="pageActionContextMenuItem extensionPinned extensionUnpinned"/>
+ <menuitem class="pageActionContextMenuItem extensionPinned extensionUnpinned" + <menuitem class="pageActionContextMenuItem extensionPinned extensionUnpinned"
@ -550,20 +617,20 @@ new file mode 100644
+ <tooltip id="tabbrowser-tab-tooltip" onpopupshowing="gBrowser.createTooltip(event);"/> + <tooltip id="tabbrowser-tab-tooltip" onpopupshowing="gBrowser.createTooltip(event);"/>
+ +
+ <tooltip id="back-button-tooltip"> + <tooltip id="back-button-tooltip">
+ <label class="tooltip-label" value="&backButton.tooltip;"/> + <description class="tooltip-label" value="&backButton.tooltip;"/>
+#ifdef XP_MACOSX +#ifdef XP_MACOSX
+ <label class="tooltip-label" value="&backForwardButtonMenuMac.tooltip;"/> + <description class="tooltip-label" value="&backForwardButtonMenuMac.tooltip;"/>
+#else +#else
+ <label class="tooltip-label" value="&backForwardButtonMenu.tooltip;"/> + <description class="tooltip-label" value="&backForwardButtonMenu.tooltip;"/>
+#endif +#endif
+ </tooltip> + </tooltip>
+ +
+ <tooltip id="forward-button-tooltip"> + <tooltip id="forward-button-tooltip">
+ <label class="tooltip-label" value="&forwardButton.tooltip;"/> + <description class="tooltip-label" value="&forwardButton.tooltip;"/>
+#ifdef XP_MACOSX +#ifdef XP_MACOSX
+ <label class="tooltip-label" value="&backForwardButtonMenuMac.tooltip;"/> + <description class="tooltip-label" value="&backForwardButtonMenuMac.tooltip;"/>
+#else +#else
+ <label class="tooltip-label" value="&backForwardButtonMenu.tooltip;"/> + <description class="tooltip-label" value="&backForwardButtonMenu.tooltip;"/>
+#endif +#endif
+ </tooltip> + </tooltip>
+ +
@ -817,7 +884,7 @@ new file mode 100644
+ ondrop="homeButtonObserver.onDrop(event)" + ondrop="homeButtonObserver.onDrop(event)"
+ ondragexit="homeButtonObserver.onDragExit(event)" + ondragexit="homeButtonObserver.onDragExit(event)"
+ key="goHome" + key="goHome"
+ onclick="BrowserGoHome(event);" + onclick="BrowserHome(event);"
+ cui-areatype="toolbar" + cui-areatype="toolbar"
+ tooltiptext="&homeButton.defaultPage.tooltip;"/> + tooltiptext="&homeButton.defaultPage.tooltip;"/>
+ <toolbarspring cui-areatype="toolbar" class="chromeclass-toolbar-additional"/> + <toolbarspring cui-areatype="toolbar" class="chromeclass-toolbar-additional"/>
@ -1367,7 +1434,7 @@ diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/ns
#if defined(XP_WIN) #if defined(XP_WIN)
#include "nsIEHistoryEnumerator.h" #include "nsIEHistoryEnumerator.h"
@@ -34,18 +34,16 @@ using namespace mozilla::browser; @@ -33,18 +33,16 @@ using namespace mozilla::browser;
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
@ -1386,11 +1453,11 @@ diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/ns
#if defined(XP_WIN) #if defined(XP_WIN)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsIEHistoryEnumerator) NS_GENERIC_FACTORY_CONSTRUCTOR(nsIEHistoryEnumerator)
@@ -70,17 +68,17 @@ NS_DEFINE_NAMED_CID(NS_SHELLSERVICE_CID) @@ -67,17 +65,17 @@ NS_DEFINE_NAMED_CID(NS_MACATTRIBUTIONSER
NS_DEFINE_NAMED_CID(NS_MACATTRIBUTIONSERVICE_CID);
#endif #endif
static const mozilla::Module::CIDEntry kBrowserCIDs[] = { static const mozilla::Module::CIDEntry kBrowserCIDs[] = {
// clang-format off
{ &kNS_BROWSERDIRECTORYPROVIDER_CID, false, nullptr, DirectoryProviderConstructor }, { &kNS_BROWSERDIRECTORYPROVIDER_CID, false, nullptr, DirectoryProviderConstructor },
#if defined(XP_WIN) #if defined(XP_WIN)
{ &kNS_SHELLSERVICE_CID, false, nullptr, nsWindowsShellServiceConstructor }, { &kNS_SHELLSERVICE_CID, false, nullptr, nsWindowsShellServiceConstructor },
@ -1398,17 +1465,17 @@ diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/ns
- { &kNS_SHELLSERVICE_CID, false, nullptr, nsGNOMEShellServiceConstructor }, - { &kNS_SHELLSERVICE_CID, false, nullptr, nsGNOMEShellServiceConstructor },
+ { &kNS_SHELLSERVICE_CID, false, nullptr, nsUnixShellServiceConstructor }, + { &kNS_SHELLSERVICE_CID, false, nullptr, nsUnixShellServiceConstructor },
#endif #endif
{ &kNS_FEEDSNIFFER_CID, false, nullptr, nsFeedSnifferConstructor },
{ &kNS_BROWSER_ABOUT_REDIRECTOR_CID, false, nullptr, AboutRedirector::Create }, { &kNS_BROWSER_ABOUT_REDIRECTOR_CID, false, nullptr, AboutRedirector::Create },
#if defined(XP_WIN) #if defined(XP_WIN)
{ &kNS_WINIEHISTORYENUMERATOR_CID, false, nullptr, nsIEHistoryEnumeratorConstructor }, { &kNS_WINIEHISTORYENUMERATOR_CID, false, nullptr, nsIEHistoryEnumeratorConstructor },
#elif defined(XP_MACOSX) #elif defined(XP_MACOSX)
{ &kNS_SHELLSERVICE_CID, false, nullptr, nsMacShellServiceConstructor }, { &kNS_SHELLSERVICE_CID, false, nullptr, nsMacShellServiceConstructor },
#endif #endif
#if defined(MOZ_WIDGET_COCOA)
diff --git a/browser/components/preferences/in-content/main.js b/browser/components/preferences/in-content/main.js 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 --- a/browser/components/preferences/in-content/main.js
+++ b/browser/components/preferences/in-content/main.js +++ b/browser/components/preferences/in-content/main.js
@@ -327,16 +327,23 @@ var gMainPane = { @@ -283,16 +283,23 @@ var gMainPane = {
this._backoffIndex++ : backoffTimes.length - 1]); this._backoffIndex++ : backoffTimes.length - 1]);
}; };
@ -1432,7 +1499,7 @@ diff --git a/browser/components/preferences/in-content/main.js b/browser/compone
performanceSettingsLink.setAttribute("href", performanceSettingsUrl); performanceSettingsLink.setAttribute("href", performanceSettingsUrl);
this.updateDefaultPerformanceSettingsPref(); this.updateDefaultPerformanceSettingsPref();
@@ -962,16 +969,27 @@ var gMainPane = { @@ -938,16 +945,27 @@ var gMainPane = {
// Reset exponential backoff delay time in order to do visual update in pollForDefaultBrowser. // Reset exponential backoff delay time in order to do visual update in pollForDefaultBrowser.
this._backoffIndex = 0; this._backoffIndex = 0;
@ -1486,7 +1553,7 @@ diff --git a/browser/components/shell/nsKDEShellService.cpp b/browser/components
new file mode 100644 new file mode 100644
--- /dev/null --- /dev/null
+++ b/browser/components/shell/nsKDEShellService.cpp +++ b/browser/components/shell/nsKDEShellService.cpp
@@ -0,0 +1,204 @@ @@ -0,0 +1,153 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public +/* 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 + * License, v. 2.0. If a copy of the MPL was not distributed with this
@ -1640,57 +1707,6 @@ new file mode 100644
+ return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE; + return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE;
+} +}
+ +
+NS_IMETHODIMP
+nsKDEShellService::GetDefaultFeedReader(nsIFile** _retval)
+{
+ *_retval = nullptr;
+
+ nsCOMPtr<nsIMutableArray> command = do_CreateInstance( NS_ARRAY_CONTRACTID );
+ if( !command )
+ return NS_ERROR_FAILURE;
+
+ nsCOMPtr<nsISupportsCString> str = do_CreateInstance( NS_SUPPORTS_CSTRING_CONTRACTID );
+ if( !str )
+ return NS_ERROR_FAILURE;
+
+ str->SetData( NS_LITERAL_CSTRING( "GETDEFAULTFEEDREADER" ));
+ command->AppendElement( str );
+
+ nsCOMPtr<nsIArray> output;
+ if( !nsKDEUtils::command( command, getter_AddRefs( output ) ) )
+ return NS_ERROR_FAILURE;
+
+ PRUint32 length;
+ output->GetLength( &length );
+ if( length != 1 )
+ return NS_ERROR_FAILURE;
+
+ nsCOMPtr<nsISupportsCString> resstr = do_QueryElementAt( output, 0 );
+ if( !resstr )
+ return NS_ERROR_FAILURE;
+
+ nsAutoCString path;
+ resstr->GetData( path );
+ if (path.IsEmpty())
+ return NS_ERROR_FAILURE;
+
+ nsresult rv;
+ nsCOMPtr<nsIFile> defaultReader =
+ do_CreateInstance("@mozilla.org/file/local;1", &rv);
+ NS_ENSURE_SUCCESS(rv, rv);
+
+ rv = defaultReader->InitWithNativePath(path);
+ NS_ENSURE_SUCCESS(rv, rv);
+
+ bool exists;
+ rv = defaultReader->Exists(&exists);
+ NS_ENSURE_SUCCESS(rv, rv);
+ if (!exists)
+ return NS_ERROR_FAILURE;
+
+ NS_ADDREF(*_retval = defaultReader);
+ return NS_OK;
+}
diff --git a/browser/components/shell/nsKDEShellService.h b/browser/components/shell/nsKDEShellService.h diff --git a/browser/components/shell/nsKDEShellService.h b/browser/components/shell/nsKDEShellService.h
new file mode 100644 new file mode 100644
--- /dev/null --- /dev/null
@ -1776,7 +1792,7 @@ new file mode 100644
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
--- a/browser/installer/package-manifest.in --- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in +++ b/browser/installer/package-manifest.in
@@ -462,16 +462,18 @@ @@ -458,16 +458,18 @@
@RESPATH@/browser/defaults/settings/pinning @RESPATH@/browser/defaults/settings/pinning
@RESPATH@/browser/defaults/settings/main @RESPATH@/browser/defaults/settings/main

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e1340dff49f163b50fb71b4dbf0982757205c3bab19f7a2eeca3494ab280a275
size 48555564

3
l10n-64.0.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0699616acd4ac4a2e664ce27dfa6dbf3bc98c1d9e487f4939313ba76208133d1
size 50361652

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
# HG changeset patch # HG changeset patch
# Parent 06a62125ffbb15e88dacb486169d8e6a9595bd78 # Parent d685597ba96ea004052e40ec0c80f422ea0e365c
Description: Add KDE integration to Firefox (toolkit parts) Description: Add KDE integration to Firefox (toolkit parts)
Author: Wolfgang Rosenauer <wolfgang@rosenauer.org> Author: Wolfgang Rosenauer <wolfgang@rosenauer.org>
Author: Lubos Lunak <lunak@suse.com> Author: Lubos Lunak <lunak@suse.com>
@ -9,7 +9,7 @@ Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=140751
diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
--- a/modules/libpref/Preferences.cpp --- a/modules/libpref/Preferences.cpp
+++ b/modules/libpref/Preferences.cpp +++ b/modules/libpref/Preferences.cpp
@@ -80,16 +80,17 @@ @@ -81,16 +81,17 @@
#include "nsXPCOMCID.h" #include "nsXPCOMCID.h"
#include "nsXPCOM.h" #include "nsXPCOM.h"
#include "nsXULAppAPI.h" #include "nsXULAppAPI.h"
@ -27,7 +27,7 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
#ifdef XP_WIN #ifdef XP_WIN
#include "windows.h" #include "windows.h"
#endif #endif
@@ -4932,25 +4933,37 @@ Preferences::InitInitialObjects(bool aIs @@ -4908,25 +4909,37 @@ Preferences::InitInitialObjects(bool aIs
// application pref files for backwards compatibility. // application pref files for backwards compatibility.
static const char* specialFiles[] = { static const char* specialFiles[] = {
#if defined(XP_MACOSX) #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 // Load jar:$app/omni.jar!/defaults/preferences/*.js
// or jar:$gre/omni.jar!/defaults/preferences/*.js. // or jar:$gre/omni.jar!/defaults/preferences/*.js.
@@ -4999,17 +5012,17 @@ Preferences::InitInitialObjects(bool aIs @@ -4975,17 +4988,17 @@ Preferences::InitInitialObjects(bool aIs
} }
nsCOMPtr<nsIFile> path = do_QueryInterface(elem); nsCOMPtr<nsIFile> path = do_QueryInterface(elem);
@ -171,9 +171,9 @@ diff --git a/toolkit/components/downloads/moz.build b/toolkit/components/downloa
diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
--- a/toolkit/content/jar.mn --- a/toolkit/content/jar.mn
+++ b/toolkit/content/jar.mn +++ b/toolkit/content/jar.mn
@@ -70,16 +70,18 @@ toolkit.jar: @@ -68,16 +68,18 @@ toolkit.jar:
content/global/bindings/calendar.js (widgets/calendar.js)
content/global/bindings/checkbox.xml (widgets/checkbox.xml) content/global/bindings/checkbox.xml (widgets/checkbox.xml)
content/global/bindings/colorpicker.xml (widgets/colorpicker.xml)
content/global/bindings/datekeeper.js (widgets/datekeeper.js) content/global/bindings/datekeeper.js (widgets/datekeeper.js)
content/global/bindings/datepicker.js (widgets/datepicker.js) content/global/bindings/datepicker.js (widgets/datepicker.js)
content/global/bindings/datetimepopup.xml (widgets/datetimepopup.xml) content/global/bindings/datetimepopup.xml (widgets/datetimepopup.xml)
@ -182,7 +182,6 @@ diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
* content/global/bindings/dialog.xml (widgets/dialog.xml) * content/global/bindings/dialog.xml (widgets/dialog.xml)
+* content/global/bindings/dialog-kde.xml (widgets/dialog-kde.xml) +* 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 +% override chrome://global/content/bindings/dialog.xml chrome://global/content/bindings/dialog-kde.xml desktop=kde
* content/global/bindings/findbar.xml (widgets/findbar.xml)
content/global/bindings/general.xml (widgets/general.xml) content/global/bindings/general.xml (widgets/general.xml)
content/global/bindings/groupbox.xml (widgets/groupbox.xml) content/global/bindings/groupbox.xml (widgets/groupbox.xml)
content/global/bindings/menu.xml (widgets/menu.xml) content/global/bindings/menu.xml (widgets/menu.xml)
@ -190,6 +189,7 @@ diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
content/global/bindings/notification.xml (widgets/notification.xml) content/global/bindings/notification.xml (widgets/notification.xml)
content/global/bindings/numberbox.xml (widgets/numberbox.xml) content/global/bindings/numberbox.xml (widgets/numberbox.xml)
content/global/bindings/popup.xml (widgets/popup.xml) content/global/bindings/popup.xml (widgets/popup.xml)
content/global/bindings/radio.xml (widgets/radio.xml)
diff --git a/toolkit/content/widgets/dialog-kde.xml b/toolkit/content/widgets/dialog-kde.xml diff --git a/toolkit/content/widgets/dialog-kde.xml b/toolkit/content/widgets/dialog-kde.xml
new file mode 100644 new file mode 100644
--- /dev/null --- /dev/null
@ -673,7 +673,7 @@ new file mode 100644
diff --git a/toolkit/mozapps/downloads/nsHelperAppDlg.js b/toolkit/mozapps/downloads/nsHelperAppDlg.js diff --git a/toolkit/mozapps/downloads/nsHelperAppDlg.js b/toolkit/mozapps/downloads/nsHelperAppDlg.js
--- a/toolkit/mozapps/downloads/nsHelperAppDlg.js --- a/toolkit/mozapps/downloads/nsHelperAppDlg.js
+++ b/toolkit/mozapps/downloads/nsHelperAppDlg.js +++ b/toolkit/mozapps/downloads/nsHelperAppDlg.js
@@ -1030,30 +1030,60 @@ nsUnknownContentTypeDialog.prototype = { @@ -1031,30 +1031,60 @@ nsUnknownContentTypeDialog.prototype = {
if (params.handlerApp && if (params.handlerApp &&
params.handlerApp.executable && params.handlerApp.executable &&
@ -845,7 +845,7 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build
--- a/toolkit/xre/moz.build --- a/toolkit/xre/moz.build
+++ b/toolkit/xre/moz.build +++ b/toolkit/xre/moz.build
@@ -67,17 +67,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'co @@ -68,17 +68,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'co
'../components/printingui', '../components/printingui',
] ]
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'uikit': elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'uikit':
@ -1688,7 +1688,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
#include "nsIURL.h" #include "nsIURL.h"
#include "nsIFileStreams.h" #include "nsIFileStreams.h"
#include "nsILineInputStream.h" #include "nsILineInputStream.h"
@@ -1125,17 +1125,17 @@ nsOSHelperAppService::GetHandlerAndDescr @@ -1122,17 +1122,17 @@ nsOSHelperAppService::GetHandlerAndDescr
nsresult nsOSHelperAppService::OSProtocolHandlerExists(const char * aProtocolScheme, bool * aHandlerExists) nsresult nsOSHelperAppService::OSProtocolHandlerExists(const char * aProtocolScheme, bool * aHandlerExists)
{ {
@ -1707,7 +1707,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
nsCOMPtr<nsIHandlerService> handlerSvc = do_GetService(NS_HANDLERSERVICE_CONTRACTID, &rv); nsCOMPtr<nsIHandlerService> handlerSvc = do_GetService(NS_HANDLERSERVICE_CONTRACTID, &rv);
if (NS_SUCCEEDED(rv) && handlerSvc) { if (NS_SUCCEEDED(rv) && handlerSvc) {
rv = handlerSvc->ExistsForProtocol(nsCString(aProtocolScheme), aHandlerExists); rv = handlerSvc->ExistsForProtocol(nsCString(aProtocolScheme), aHandlerExists);
@@ -1143,17 +1143,17 @@ nsresult nsOSHelperAppService::OSProtoco @@ -1140,17 +1140,17 @@ nsresult nsOSHelperAppService::OSProtoco
} }
return rv; return rv;
@ -1726,7 +1726,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
nsresult nsOSHelperAppService::GetFileTokenForPath(const char16_t * platformAppPath, nsIFile ** aFile) nsresult nsOSHelperAppService::GetFileTokenForPath(const char16_t * platformAppPath, nsIFile ** aFile)
{ {
@@ -1240,17 +1240,17 @@ nsOSHelperAppService::GetFromExtension(c @@ -1237,17 +1237,17 @@ nsOSHelperAppService::GetFromExtension(c
mime_types_description, mime_types_description,
true); true);
@ -1745,7 +1745,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
rv = LookUpTypeAndDescription(NS_ConvertUTF8toUTF16(aFileExt), rv = LookUpTypeAndDescription(NS_ConvertUTF8toUTF16(aFileExt),
majorType, majorType,
@@ -1361,17 +1361,17 @@ nsOSHelperAppService::GetFromType(const @@ -1358,17 +1358,17 @@ nsOSHelperAppService::GetFromType(const
nsAutoString extensions, mime_types_description; nsAutoString extensions, mime_types_description;
LookUpExtensionsAndDescription(majorType, LookUpExtensionsAndDescription(majorType,
minorType, minorType,
@ -1884,8 +1884,7 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
GtkFileChooserAction action = GetGtkFileChooserAction(mMode); GtkFileChooserAction action = GetGtkFileChooserAction(mMode);
@@ -608,8 +635,233 @@ nsFilePicker::Done(GtkWidget* file_choos @@ -600,16 +627,241 @@ nsFilePicker::Done(void* file_chooser, g
if (mCallback) {
mCallback->Done(result); mCallback->Done(result);
mCallback = nullptr; mCallback = nullptr;
} else { } else {
@ -1893,7 +1892,7 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
} }
NS_RELEASE_THIS(); NS_RELEASE_THIS();
} }
+
+nsCString nsFilePicker::kdeMakeFilter( int index ) +nsCString nsFilePicker::kdeMakeFilter( int index )
+ { + {
+ nsCString buf = mFilters[ index ]; + nsCString buf = mFilters[ index ];
@ -2118,10 +2117,19 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
+ return NS_OK; + return NS_OK;
+ } + }
+ +
+
// All below functions available as of GTK 3.20+
void *
nsFilePicker::GtkFileChooserNew(
const gchar *title, GtkWindow *parent,
GtkFileChooserAction action,
const gchar *accept_label)
{
diff --git a/widget/gtk/nsFilePicker.h b/widget/gtk/nsFilePicker.h diff --git a/widget/gtk/nsFilePicker.h b/widget/gtk/nsFilePicker.h
--- a/widget/gtk/nsFilePicker.h --- a/widget/gtk/nsFilePicker.h
+++ b/widget/gtk/nsFilePicker.h +++ b/widget/gtk/nsFilePicker.h
@@ -69,14 +69,20 @@ protected: @@ -69,16 +69,22 @@ protected:
nsString mDefaultExtension; nsString mDefaultExtension;
nsTArray<nsCString> mFilters; nsTArray<nsCString> mFilters;
@ -2136,12 +2144,14 @@ diff --git a/widget/gtk/nsFilePicker.h b/widget/gtk/nsFilePicker.h
+ NS_IMETHODIMP kdeAppsDialog(PRInt16 *aReturn); + NS_IMETHODIMP kdeAppsDialog(PRInt16 *aReturn);
+ nsCString kdeMakeFilter( int index ); + nsCString kdeMakeFilter( int index );
+ +
#ifdef MOZ_WIDGET_GTK void *GtkFileChooserNew(
GtkFileChooserWidget *mFileChooserDelegate; const gchar *title, GtkWindow *parent,
#endif GtkFileChooserAction action,
}; const gchar *accept_label);
void GtkFileChooserShow(void *file_chooser);
#endif void GtkFileChooserDestroy(void *file_chooser);
void GtkFileChooserSetModal(void *file_chooser, GtkWindow* parent_widget,
gboolean modal);
diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestParser.cpp diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestParser.cpp
--- a/xpcom/components/ManifestParser.cpp --- a/xpcom/components/ManifestParser.cpp
+++ b/xpcom/components/ManifestParser.cpp +++ b/xpcom/components/ManifestParser.cpp
@ -2163,7 +2173,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
const char* directive; const char* directive;
int argc; int argc;
@@ -419,16 +420,17 @@ ParseManifest(NSLocationType aType, File @@ -421,16 +422,17 @@ ParseManifest(NSLocationType aType, File
NS_NAMED_LITERAL_STRING(kRemoteEnabled, "remoteenabled"); NS_NAMED_LITERAL_STRING(kRemoteEnabled, "remoteenabled");
NS_NAMED_LITERAL_STRING(kRemoteRequired, "remoterequired"); NS_NAMED_LITERAL_STRING(kRemoteRequired, "remoterequired");
NS_NAMED_LITERAL_STRING(kApplication, "application"); NS_NAMED_LITERAL_STRING(kApplication, "application");
@ -2181,7 +2191,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
NS_NAMED_LITERAL_STRING(kMain, "main"); NS_NAMED_LITERAL_STRING(kMain, "main");
NS_NAMED_LITERAL_STRING(kContent, "content"); NS_NAMED_LITERAL_STRING(kContent, "content");
@@ -474,44 +476,49 @@ ParseManifest(NSLocationType aType, File @@ -476,44 +478,49 @@ ParseManifest(NSLocationType aType, File
CopyUTF8toUTF16(s, abi); CopyUTF8toUTF16(s, abi);
abi.Insert(char16_t('_'), 0); abi.Insert(char16_t('_'), 0);
abi.Insert(osTarget, 0); abi.Insert(osTarget, 0);
@ -2231,7 +2241,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
process = kMain; process = kMain;
} }
@@ -598,25 +605,27 @@ ParseManifest(NSLocationType aType, File @@ -600,25 +607,27 @@ ParseManifest(NSLocationType aType, File
TriState stOsVersion = eUnspecified; TriState stOsVersion = eUnspecified;
TriState stOs = eUnspecified; TriState stOs = eUnspecified;
TriState stABI = eUnspecified; TriState stABI = eUnspecified;
@ -2259,7 +2269,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
} }
#if defined(MOZ_WIDGET_ANDROID) #if defined(MOZ_WIDGET_ANDROID)
@@ -661,16 +670,17 @@ ParseManifest(NSLocationType aType, File @@ -663,16 +672,17 @@ ParseManifest(NSLocationType aType, File
} }
if (!ok || if (!ok ||

View File

@ -1,2 +1,2 @@
REV=4666a1c322d8 REV=8337ebb86a42
REPO=http://hg.mozilla.org/releases/mozilla-release REPO=http://hg.mozilla.org/releases/mozilla-release