forked from pool/MozillaFirefox
- update to Firefox 55.0.3
* Fix an issue with addons when using a path containing non-ascii characters (bmo#1389160) * Fix file uploads to some websites, including YouTube (bmo#1383518) - fix Google API key build integration - add mozilla-ucontext.patch to fix Tumbleweed build - do not enable XINPUT2 for now (boo#1053959) - update to Firefox 55.0.1 * Fix a regression the tab restoration process (bmo#1388160) * Fix a problem causing What's new pages not to be displayed (bmo#1386224) * Fix a rendering issue with some PKCS#11 libraries (bmo#1388370) * Disable the predictor prefetch (bmo#1388160) - update to Firefox 55.0 (boo#1052829) * Browsing sessions with a high number of tabs are now restored in an instant * Sidebar (bookmarks, history, synced tabs) can now be moved to the right edge of the window * Fine-tune your browser performance from the Preferences/Options page. * Make screenshots of webpages, and save them locally or upload them to the cloud. This feature will undergo A/B testing and will not be visible for some users. * Added Belarusian (be) locale * Simplify print jobs from within print preview * Use virtual reality devices with the web with the introduction of WebVR * Search suggestions are now enabled by default for users who haven't explicitly opted-out * Search with any installed search engine directly from the OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaFirefox?expand=0&rev=601
This commit is contained in:
parent
00cbc455c9
commit
f0b77e0133
@ -1,19 +1,66 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 9 09:47:39 UTC 2017 - schwab@suse.de
|
||||
Mon Sep 4 18:27:44 UTC 2017 - wr@rosenauer.org
|
||||
|
||||
- mozilla-ucontext.patch: use ucontext_t instead of struct ucontext
|
||||
- update to Firefox 55.0.3
|
||||
* Fix an issue with addons when using a path containing non-ascii
|
||||
characters (bmo#1389160)
|
||||
* Fix file uploads to some websites, including YouTube (bmo#1383518)
|
||||
- fix Google API key build integration
|
||||
- add mozilla-ucontext.patch to fix Tumbleweed build
|
||||
- do not enable XINPUT2 for now (boo#1053959)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Aug 8 18:13:34 UTC 2017 - wr@rosenauer.org
|
||||
Fri Aug 11 08:32:30 UTC 2017 - wr@rosenauer.org
|
||||
|
||||
- update to Firefox 52.3esr (boo#1052829)
|
||||
MFSA 2017-19
|
||||
- update to Firefox 55.0.1
|
||||
* Fix a regression the tab restoration process (bmo#1388160)
|
||||
* Fix a problem causing What's new pages not to be displayed (bmo#1386224)
|
||||
* Fix a rendering issue with some PKCS#11 libraries (bmo#1388370)
|
||||
* Disable the predictor prefetch (bmo#1388160)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Aug 5 13:22:16 UTC 2017 - wr@rosenauer.org
|
||||
|
||||
- update to Firefox 55.0 (boo#1052829)
|
||||
* Browsing sessions with a high number of tabs are now restored
|
||||
in an instant
|
||||
* Sidebar (bookmarks, history, synced tabs) can now be moved to
|
||||
the right edge of the window
|
||||
* Fine-tune your browser performance from the Preferences/Options page.
|
||||
* Make screenshots of webpages, and save them locally or upload
|
||||
them to the cloud. This feature will undergo A/B testing and
|
||||
will not be visible for some users.
|
||||
* Added Belarusian (be) locale
|
||||
* Simplify print jobs from within print preview
|
||||
* Use virtual reality devices with the web with the introduction
|
||||
of WebVR
|
||||
* Search suggestions are now enabled by default for users who
|
||||
haven't explicitly opted-out
|
||||
* Search with any installed search engine directly from the
|
||||
location bar
|
||||
* IMPORTANT: Breaking profile changes - do not downgrade Firefox
|
||||
and use a profile that has been opened with Firefox 55+.
|
||||
* The Adobe Flash plugin is now click-to-activate by default and
|
||||
only allowed on http:// and https:// URL schemes. This change
|
||||
will be rolled out progressively and so will not be visible to
|
||||
all users immediately. For more information see the Firefox
|
||||
plugin roadmap
|
||||
* Modernized application update UI to be less intrusive and more
|
||||
aligned with the rest of the browser. Only users who have not
|
||||
restarted their browser 8 days after downloading an update or
|
||||
users who opted out of automatic updates will see this change.
|
||||
* Insecure sites can no longer access the Geolocation APIs to get
|
||||
access to your physical location
|
||||
* requires NSPR 4.15 and NSS 3.31
|
||||
MFSA 2017-18
|
||||
* CVE-2017-7798 (bmo#1371586, bmo#1372112)
|
||||
XUL injection in the style editor in devtools
|
||||
* CVE-2017-7800 (bmo#1374047)
|
||||
Use-after-free in WebSockets during disconnection
|
||||
* CVE-2017-7801 (bmo#1371259)
|
||||
Use-after-free with marquee during window resizing
|
||||
* CVE-2017-7809 (bmo#1380284)
|
||||
Use-after-free while deleting attached editor DOM node
|
||||
* CVE-2017-7784 (bmo#1376087)
|
||||
Use-after-free with image observers
|
||||
* CVE-2017-7802 (bmo#1378147)
|
||||
@ -22,6 +69,8 @@ Tue Aug 8 18:13:34 UTC 2017 - wr@rosenauer.org
|
||||
Buffer overflow manipulating ARIA attributes in DOM
|
||||
* CVE-2017-7786 (bmo#1365189)
|
||||
Buffer overflow while painting non-displayable SVG
|
||||
* CVE-2017-7806 (bmo#1378113)
|
||||
Use-after-free in layer manager with SVG
|
||||
* CVE-2017-7753 (bmo#1353312)
|
||||
Out-of-bounds read with cached style data and pseudo-elements#
|
||||
* CVE-2017-7787 (bmo#1322896)
|
||||
@ -34,88 +83,75 @@ Tue Aug 8 18:13:34 UTC 2017 - wr@rosenauer.org
|
||||
Memory protection bypass through WindowsDllDetourPatcher
|
||||
* CVE-2017-7791 (bmo#1365875)
|
||||
Spoofing following page navigation with data: protocol and modal alerts
|
||||
* CVE-2017-7808 (bmo#1367531)
|
||||
CSP information leak with frame-ancestors containing paths
|
||||
* CVE-2017-7782 (bmo#1344034)
|
||||
WindowsDllDetourPatcher allocates memory without DEP protections
|
||||
* CVE-2017-7781 (bmo#1352039)
|
||||
Elliptic curve point addition error when using mixed Jacobian-affine coordinates
|
||||
* CVE-2017-7794 (bmo#1374281)
|
||||
Linux file truncation via sandbox broker
|
||||
* CVE-2017-7803 (bmo#1377426)
|
||||
CSP containing 'sandbox' improperly applied
|
||||
* CVE-2017-7799 (bmo#1372509)
|
||||
Self-XSS XUL injection in about:webrtc
|
||||
* CVE-2017-7783 (bmo#1360842)
|
||||
DOS attack through long username in URL
|
||||
* CVE-2017-7788 (bmo#1073952)
|
||||
Sandboxed about:srcdoc iframes do not inherit CSP directives
|
||||
* CVE-2017-7789 (bmo#1074642)
|
||||
Failure to enable HSTS when two STS headers are sent for a connection
|
||||
* CVE-2017-7790 (bmo#1350460) (Windows-only)
|
||||
Windows crash reporter reads extra memory for some non-null-terminated registry values
|
||||
* CVE-2017-7796 (bmo#1234401) (Windows-only)
|
||||
Windows updater can delete any file named update.log
|
||||
* CVE-2017-7797 (bmo#1334776)
|
||||
Response header name interning leaks across origins
|
||||
* CVE-2017-7780
|
||||
Memory safety bugs fixed in Firefox 55
|
||||
* CVE-2017-7779
|
||||
Memory safety bugs fixed in Firefox 55 and Firefox ESR 52.3
|
||||
- updated mozilla-kde.patch:
|
||||
* removed "downloadfinished" alert as Firefox reimplemented the
|
||||
whole thing (TODO: check if there is another function we should
|
||||
hook in)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jul 5 07:26:32 UTC 2017 - astieger@suse.com
|
||||
Tue Jul 4 20:08:47 UTC 2017 - wr@rosenauer.org
|
||||
|
||||
- Mozilla Firefox 52.2.1esr:
|
||||
* Printing text does not work on Windows when Direct2D is
|
||||
disabled (bmo#1318845)
|
||||
- update to Firefox 54.0.1
|
||||
* Fix a display issue of tab title (bmo#1357656)
|
||||
* Fix a display issue of opening new tab (bmo#1371995)
|
||||
* Fix a display issue when opening multiple tabs (bmo#1371962)
|
||||
* Fix a tab display issue when downloading files (bmo#1373109)
|
||||
* Fix a PDF printing issue (bmo#1366744)
|
||||
* Fix a Netflix issue on Linux (bmo#1375708)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 14 07:08:29 UTC 2017 - wr@rosenauer.org
|
||||
Thu Jun 15 13:56:05 UTC 2017 - wr@rosenauer.org
|
||||
|
||||
- update to Firefox 52.2esr (boo#1043960)
|
||||
MFSA 2017-16
|
||||
* CVE-2017-5472 (bmo#1365602)
|
||||
Use-after-free using destroyed node when regenerating trees
|
||||
* CVE-2017-7749 (bmo#1355039)
|
||||
Use-after-free during docshell reloading
|
||||
* CVE-2017-7750 (bmo#1356558)
|
||||
Use-after-free with track elements
|
||||
* CVE-2017-7751 (bmo#1363396)
|
||||
Use-after-free with content viewer listeners
|
||||
* CVE-2017-7752 (bmo#1359547)
|
||||
Use-after-free with IME input
|
||||
* CVE-2017-7754 (bmo#1357090)
|
||||
Out-of-bounds read in WebGL with ImageInfo object
|
||||
* CVE-2017-7755 (bmo#1361326)
|
||||
Privilege escalation through Firefox Installer with same
|
||||
directory DLL files (Windows only)
|
||||
* CVE-2017-7756 (bmo#1366595)
|
||||
Use-after-free and use-after-scope logging XHR header errors
|
||||
* CVE-2017-7757 (bmo#1356824)
|
||||
Use-after-free in IndexedDB
|
||||
* CVE-2017-7778, CVE-2017-7778, CVE-2017-7771, CVE-2017-7772,
|
||||
CVE-2017-7773, CVE-2017-7774, CVE-2017-7775, CVE-2017-7776,
|
||||
CVE-2017-7777
|
||||
Vulnerabilities in the Graphite 2 library
|
||||
* CVE-2017-7758 (bmo#1368490)
|
||||
Out-of-bounds read in Opus encoder
|
||||
* CVE-2017-7760 (bmo#1348645)
|
||||
File manipulation and privilege escalation via callback parameter
|
||||
in Mozilla Windows Updater and Maintenance Service (Windows only)
|
||||
* CVE-2017-7761 (bmo#1215648)
|
||||
File deletion and privilege escalation through Mozilla Maintenance
|
||||
Service helper.exe application (Windows only)
|
||||
* CVE-2017-7764 (bmo#1364283)
|
||||
Domain spoofing with combination of Canadian Syllabics and other
|
||||
unicode blocks
|
||||
* CVE-2017-7765 (bmo#1273265)
|
||||
Mark of the Web bypass when saving executable files (Windows only)
|
||||
* CVE-2017-7766 (bmo#1342742)
|
||||
File execution and privilege escalation through updater.ini,
|
||||
Mozilla Windows Updater, and Mozilla Maintenance Service
|
||||
(Windows only)
|
||||
* CVE-2017-7767 (bmo#1336964)
|
||||
Privilege escalation and arbitrary file overwrites through Mozilla
|
||||
Windows Updater and Mozilla Maintenance Service (Windows only)
|
||||
* CVE-2017-7768 (bmo#1336979)
|
||||
32 byte arbitrary file read through Mozilla Maintenance Service
|
||||
(Windows only)
|
||||
* CVE-2017-5470
|
||||
Memory safety bugs fixed in Firefox 54 and Firefox ESR 52.2
|
||||
- requires NSS 3.28.5
|
||||
- update to Firefox 54.0
|
||||
* Clearer and more detailed information for download items in the
|
||||
download panel
|
||||
* Added Burmese (my) locale
|
||||
* Bookmarks created on mobile devices are now shown in
|
||||
"Mobile Bookmarks” folder in the drop down list from the toolbar
|
||||
and Bookmarks option in the menu bar in Desktop Firefox
|
||||
* added support for multiple content processes (e10s-multi)
|
||||
- requires NSPR 4.14 and NSS 3.30.2
|
||||
- requires rust 1.15.1
|
||||
- removed mozilla-shared-nss-db.patch as it seems to be a rather
|
||||
unused feature
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 23 14:00:40 UTC 2017 - wr@rosenauer.org
|
||||
Thu Jun 1 04:25:05 UTC 2017 - kah0922@gmail.com
|
||||
|
||||
- remove -fno-inline-small-functions and explicitely optimize with
|
||||
-O2 for openSUSE > 13.2/Leap 42 to work with gcc7 (boo#1040105)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon May 8 08:28:17 UTC 2017 - wr@rosenauer.org
|
||||
Wed Apr 26 12:37:38 UTC 2017 - wr@rosenauer.org
|
||||
|
||||
- update to Firefox 52.1.1
|
||||
MFSA 2017-14
|
||||
* CVE-2017-5031: Use after free in ANGLE (bmo#1328762)
|
||||
(Windows only, Linux not affected)
|
||||
- switch to Mozilla's geolocation service (boo#1026989)
|
||||
- removed mozilla-preferences.patch obsoleted by overriding via
|
||||
firefox.js
|
||||
@ -123,10 +159,27 @@ Mon May 8 08:28:17 UTC 2017 - wr@rosenauer.org
|
||||
(boo#1015998)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Apr 12 21:43:16 UTC 2017 - wr@rosenauer.org
|
||||
Mon Apr 17 12:52:10 UTC 2017 - wr@rosenauer.org
|
||||
|
||||
- update to Firefox 52.1.0esr (boo#1035082)
|
||||
MFSA 2017-12
|
||||
- update to Firefox 53.0
|
||||
* requires NSS 3.29.5
|
||||
* Lightweight themes are now applied in private browsing windows
|
||||
* Reader Mode now displays estimated reading time for the page
|
||||
* Two new 'compact' themes available in Firefox, dark and light,
|
||||
based on the Firefox Developer Edition theme
|
||||
* Ended Firefox Linux support for processors older than Pentium 4
|
||||
and AMD Opteron
|
||||
* Refresh of the media controls user interface
|
||||
* Shortened titles on tabs are faded out instead of using ellipsis
|
||||
for improved readability
|
||||
* Media playback on new tabs is blocked until the tab is visible
|
||||
* Permission notifications have a cleaner design and cannot be
|
||||
easily missed
|
||||
MFSA 2017-10
|
||||
* CVE-2017-5456 (bmo#1344415)
|
||||
Sandbox escape allowing local file system access
|
||||
* CVE-2017-5442 (bmo#1347979)
|
||||
Use-after-free during style changes
|
||||
* CVE-2017-5443 (bmo#1342661)
|
||||
Out-of-bounds write during BinHex decoding
|
||||
* CVE-2017-5429 (bmo#1341096, bmo#1342823, bmo#1343261, bmo#1348894,
|
||||
@ -158,8 +211,8 @@ Wed Apr 12 21:43:16 UTC 2017 - wr@rosenauer.org
|
||||
* CVE-2017-5445 (bmo#1344467)
|
||||
Uninitialized values used while parsing application/http-index-format
|
||||
content
|
||||
* CVE-2017-5442 (bmo#1347979)
|
||||
Use-after-free during style changes
|
||||
* CVE-2017-5468 (bmo#1329521)
|
||||
Incorrect ownership model for Private Browsing information
|
||||
* CVE-2017-5469 (bmo#1292534)
|
||||
Potential Buffer overflow in flex-generated code
|
||||
* CVE-2017-5440 (bmo#1336832)
|
||||
@ -183,36 +236,33 @@ Wed Apr 12 21:43:16 UTC 2017 - wr@rosenauer.org
|
||||
* CVE-2017-5432 (bmo#1346654)
|
||||
Use-after-free in text input selection
|
||||
* CVE-2017-5430 (bmo#1329796, bmo#1337418, bmo#1339722, bmo#1340482,
|
||||
bmo#1342101, bmo#1344081, bmo#1344305, bmo#1344686, bmo#1346140,
|
||||
bmo#1346419, bmo#1348143, bmo#1349621, bmo#1349719, bmo#1353476)
|
||||
bmo#1342101, bmo#1344081, bmo#1344305, bmo#1344686,
|
||||
bmo#1346140, bmo#1346419, bmo#1348143, bmo#1349621,
|
||||
bmo#1349719, bmo#1353476)
|
||||
Memory safety bugs fixed in Firefox 53 and Firefox ESR 52.1
|
||||
* CVE-2017-5459 (bmo#1333858)
|
||||
Buffer overflow in WebGL
|
||||
* CVE-2017-5462 (bmo#1345089)
|
||||
DRBG flaw in NSS
|
||||
* CVE-2017-5458 (bmo#1229426)
|
||||
Drag and drop of javascript: URLs can allow for self-XSS
|
||||
* CVE-2017-5455 (bmo#1341191)
|
||||
Sandbox escape through internal feed reader APIs
|
||||
* CVE-2017-5454 (bmo#1349276)
|
||||
Sandbox escape allowing file system read access through file
|
||||
picker
|
||||
* CVE-2017-5456 (bmo#1344415)
|
||||
Sandbox escape allowing local file system access
|
||||
Sandbox escape allowing file system read access through file picker
|
||||
* CVE-2017-5451 (bmo#1273537)
|
||||
Addressbar spoofing with onblur event
|
||||
- requires NSS 3.28.4
|
||||
- rebased patches
|
||||
* CVE-2017-5453 (bmo#1321247)
|
||||
HTML injection into RSS Reader feed preview page through
|
||||
TITLE element
|
||||
* CVE-2017-5462 (bmo#1345089)
|
||||
DRBG flaw in NSS
|
||||
- removed browser(npapi) provides as these plugins are deprecated
|
||||
- switch used compiler to gcc5 (FF requires gcc >= 4.9 now) for
|
||||
Leap 42
|
||||
- Gtk2 is not longer an option; switched to Gtk3
|
||||
- apply MOZ_USE_XINPUT2=1 for better touchpad and touchscreen support
|
||||
(boo#1032003)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Apr 3 06:28:34 UTC 2017 - wr@rosenauer.org
|
||||
|
||||
- switch package to use ESR52 branch
|
||||
* enables plugin support by default
|
||||
* service workers are disabled by default
|
||||
* push notifications are disabled by default
|
||||
* WebAssembly (wasm) is disabled
|
||||
* Less use of multiprocess architecture Electrolysis (e10s)
|
||||
|
||||
+-------------------------------------------------------------------
|
||||
Mon Apr 3 06:16:26 UTC 2017 - wr@rosenauer.org
|
||||
|
||||
- update to Firefox 52.0.2
|
||||
|
@ -18,31 +18,26 @@
|
||||
|
||||
|
||||
# changed with every update
|
||||
%define major 52
|
||||
%define mainver %major.3.0
|
||||
%define update_channel esr52
|
||||
%define releasedate 20170807000000
|
||||
%define major 55
|
||||
%define mainver %major.0.3
|
||||
%define update_channel release
|
||||
%define branding 1
|
||||
%define releasedate 20170824000000
|
||||
|
||||
# PIE, full relro (x86_64 for now)
|
||||
%define build_hardened 1
|
||||
|
||||
%if 0%{?suse_version} > 1320
|
||||
%define firefox_use_gtk3 1
|
||||
%ifarch %ix86 x86_64
|
||||
%define firefox_use_rust 0
|
||||
%endif
|
||||
# Firefox only supports i686
|
||||
%ifarch %ix86
|
||||
ExclusiveArch: i586 i686
|
||||
BuildArch: i686
|
||||
%{expand:%%global optflags %(echo "%optflags"|sed -e s/i586/i686/) -march=i686 -mtune=generic}
|
||||
%endif
|
||||
|
||||
# general build definitions
|
||||
%if "%{update_channel}" != "aurora"
|
||||
%define progname firefox
|
||||
%define pkgname MozillaFirefox
|
||||
%define appname Firefox
|
||||
%else
|
||||
%define progname firefox-dev
|
||||
%define pkgname firefox-dev-edition
|
||||
%define appname Firefox Developer Edition
|
||||
%endif
|
||||
%define progdir %{_prefix}/%_lib/%{progname}
|
||||
%define gnome_dir %{_prefix}
|
||||
%define desktop_file_name %{progname}
|
||||
@ -51,15 +46,6 @@
|
||||
%define __find_requires sh %{SOURCE4}
|
||||
%global provfind sh -c "grep -v '.so' | %__find_provides"
|
||||
%global __find_provides %provfind
|
||||
# Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys
|
||||
# Note: these are for the openSUSE Firefox builds ONLY. For your own distribution,
|
||||
# please get your own set of keys.
|
||||
%define _google_api_key AIzaSyD1hTe85_a14kr1Ks8T3Ce75rvbR1_Dx7Q
|
||||
%if %update_channel == "aurora"
|
||||
%define branding 0
|
||||
%else
|
||||
%define branding 1
|
||||
%endif
|
||||
%define localize 1
|
||||
%ifarch %ix86 x86_64
|
||||
%define crashreporter 1
|
||||
@ -72,7 +58,12 @@ BuildRequires: Mesa-devel
|
||||
BuildRequires: autoconf213
|
||||
BuildRequires: dbus-1-glib-devel
|
||||
BuildRequires: fdupes
|
||||
%if 0%{?suse_version} <= 1320
|
||||
BuildRequires: gcc5-c++
|
||||
%else
|
||||
BuildRequires: gcc-c++
|
||||
%endif
|
||||
BuildRequires: cargo
|
||||
BuildRequires: libXcomposite-devel
|
||||
BuildRequires: libcurl-devel
|
||||
BuildRequires: libgnomeui-devel
|
||||
@ -81,29 +72,23 @@ BuildRequires: libiw-devel
|
||||
BuildRequires: libnotify-devel
|
||||
BuildRequires: libproxy-devel
|
||||
BuildRequires: makeinfo
|
||||
BuildRequires: mozilla-nspr-devel >= 4.13.1
|
||||
BuildRequires: mozilla-nss-devel >= 3.28.5
|
||||
BuildRequires: nss-shared-helper-devel
|
||||
BuildRequires: mozilla-nspr-devel >= 4.15
|
||||
BuildRequires: mozilla-nss-devel >= 3.31
|
||||
BuildRequires: python-devel
|
||||
BuildRequires: rust >= 1.15.1
|
||||
BuildRequires: rust-std
|
||||
BuildRequires: startup-notification-devel
|
||||
BuildRequires: unzip
|
||||
BuildRequires: update-desktop-files
|
||||
BuildRequires: xorg-x11-libXt-devel
|
||||
BuildRequires: yasm
|
||||
BuildRequires: zip
|
||||
BuildRequires: pkgconfig(libffi)
|
||||
BuildRequires: pkgconfig(libpulse)
|
||||
%if 0%{?firefox_use_gtk3}
|
||||
BuildRequires: pkgconfig(glib-2.0)
|
||||
BuildRequires: pkgconfig(gobject-2.0)
|
||||
BuildRequires: pkgconfig(gtk+-3.0) >= 3.4.0
|
||||
BuildRequires: pkgconfig(gtk+-unix-print-3.0)
|
||||
%endif
|
||||
%if 0%{?firefox_use_rust}
|
||||
BuildRequires: cargo
|
||||
BuildRequires: rust >= 1.10
|
||||
BuildRequires: rust-std
|
||||
%endif
|
||||
BuildRequires: pkgconfig(libffi)
|
||||
BuildRequires: pkgconfig(libpulse)
|
||||
# libavcodec is required for H.264 support but the
|
||||
# openSUSE version is currently not able to play H.264
|
||||
# therefore the Packman version is required
|
||||
@ -116,11 +101,8 @@ Provides: firefox = %{mainver}
|
||||
Provides: firefox = %{version}-%{release}
|
||||
%endif
|
||||
Provides: web_browser
|
||||
Provides: browser(npapi)
|
||||
%if "%{update_channel}" != "aurora"
|
||||
Provides: appdata()
|
||||
Provides: appdata(firefox.appdata.xml)
|
||||
%endif
|
||||
# this is needed to match this package with the kde4 helper package without the main package
|
||||
# having a hard requirement on the kde4 package
|
||||
%define kde_helper_version 6
|
||||
@ -147,10 +129,13 @@ Source14: create-tar.sh
|
||||
Source15: firefox-appdata.xml
|
||||
Source16: MozillaFirefox.changes
|
||||
Source17: l10n_changesets.txt
|
||||
# Set up API keys, see http://www.chromium.org/developers/how-tos/api-keys
|
||||
# Note: these are for the openSUSE Firefox builds ONLY. For your own distribution,
|
||||
# please get your own set of keys.
|
||||
Source18: mozilla-api-key
|
||||
Source19: google-api-key
|
||||
# Gecko/Toolkit
|
||||
Patch1: mozilla-nongnome-proxies.patch
|
||||
Patch2: mozilla-shared-nss-db.patch
|
||||
Patch3: mozilla-kde.patch
|
||||
Patch5: mozilla-language.patch
|
||||
Patch6: mozilla-ntlm-full-path.patch
|
||||
@ -180,6 +165,7 @@ Obsoletes: tracker-miner-firefox < 0.15
|
||||
%if 0%{?suse_version} < 1220
|
||||
Obsoletes: libproxy1-pacrunner-mozjs <= 0.4.7
|
||||
%endif
|
||||
##BuildArch: i686 x86_64 aarch64 ppc64le
|
||||
|
||||
%description
|
||||
Mozilla Firefox is a standalone web browser, designed for standards
|
||||
@ -260,13 +246,14 @@ symbols meant for upload to Mozilla's crash collector database.
|
||||
%endif
|
||||
cd $RPM_BUILD_DIR/mozilla
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch5 -p1
|
||||
%patch6 -p1
|
||||
%patch7 -p1
|
||||
%patch8 -p1
|
||||
%ifarch %ix86
|
||||
%patch9 -p1
|
||||
%endif
|
||||
%patch10 -p1
|
||||
%patch11 -p1
|
||||
# Firefox
|
||||
@ -295,7 +282,9 @@ export MOZ_BUILD_DATE=%{releasedate}
|
||||
export MOZILLA_OFFICIAL=1
|
||||
export BUILD_OFFICIAL=1
|
||||
export MOZ_TELEMETRY_REPORTING=1
|
||||
export MOZ_GOOGLE_API_KEY=%{_google_api_key}
|
||||
%if 0%{?suse_version} <= 1320
|
||||
export CC=gcc-5
|
||||
%endif
|
||||
export CFLAGS="%{optflags} -fno-strict-aliasing"
|
||||
# boo#986541: add -fno-delete-null-pointer-checks for gcc6
|
||||
%if 0%{?suse_version} > 1320
|
||||
@ -328,14 +317,7 @@ ac_add_options --prefix=%{_prefix}
|
||||
ac_add_options --libdir=%{_libdir}
|
||||
ac_add_options --includedir=%{_includedir}
|
||||
ac_add_options --enable-release
|
||||
%if 0%{?firefox_use_rust}
|
||||
ac_add_options --enable-rust
|
||||
%endif
|
||||
%if 0%{?firefox_use_gtk3}
|
||||
ac_add_options --enable-default-toolkit=cairo-gtk3
|
||||
%else
|
||||
ac_add_options --enable-default-toolkit=cairo-gtk2
|
||||
%endif
|
||||
%if 0%{?build_hardened}
|
||||
ac_add_options --enable-pie
|
||||
%endif
|
||||
@ -367,6 +349,7 @@ ac_add_options --enable-startup-notification
|
||||
#ac_add_options --enable-chrome-format=jar
|
||||
ac_add_options --enable-update-channel=%{update_channel}
|
||||
ac_add_options --with-mozilla-api-keyfile=%{SOURCE18}
|
||||
ac_add_options --with-google-api-keyfile=%{SOURCE19}
|
||||
%if %branding
|
||||
ac_add_options --enable-official-branding
|
||||
%endif
|
||||
@ -471,10 +454,8 @@ s:%%ICON:%{progname}:g" \
|
||||
mkdir -p %{buildroot}%{_datadir}/mime/packages
|
||||
cp %{SOURCE8} %{buildroot}%{_datadir}/mime/packages/%{progname}.xml
|
||||
# appdata
|
||||
%if "%{update_channel}" != "aurora"
|
||||
mkdir -p %{buildroot}%{_datadir}/appdata
|
||||
cp %{SOURCE15} %{buildroot}%{_datadir}/appdata/%{desktop_file_name}.appdata.xml
|
||||
%endif
|
||||
# install man-page
|
||||
mkdir -p %{buildroot}%{_mandir}/man1/
|
||||
cp %{SOURCE11} %{buildroot}%{_mandir}/man1/%{progname}.1
|
||||
@ -585,10 +566,8 @@ exit 0
|
||||
%{progdir}/distribution/extensions/
|
||||
%{progdir}/defaults/
|
||||
%{progdir}/dictionaries/
|
||||
%if 0%{?firefox_use_gtk3}
|
||||
%dir %{progdir}/gtk2
|
||||
%{progdir}/gtk2/libmozgtk.so
|
||||
%endif
|
||||
%{progdir}/gmp-clearkey/
|
||||
%attr(755,root,root) %{progdir}/%{progname}.sh
|
||||
%{progdir}/firefox
|
||||
@ -600,6 +579,7 @@ exit 0
|
||||
%{progdir}/*.so
|
||||
%{progdir}/omni.ja
|
||||
%{progdir}/fonts/
|
||||
%{progdir}/pingsender
|
||||
%{progdir}/platform.ini
|
||||
%{progdir}/plugin-container
|
||||
%if %crashreporter
|
||||
@ -621,9 +601,7 @@ exit 0
|
||||
%{gnome_dir}/share/icons/hicolor/
|
||||
%{_bindir}/%{progname}
|
||||
%doc %{_mandir}/man1/%{progname}.1.gz
|
||||
%if "%{update_channel}" != "aurora"
|
||||
%{_datadir}/appdata/
|
||||
%endif
|
||||
|
||||
%files devel
|
||||
%defattr(-,root,root)
|
||||
|
@ -2,10 +2,10 @@
|
||||
<constraints>
|
||||
<hardware>
|
||||
<disk>
|
||||
<size unit="G">13</size>
|
||||
<size unit="G">18</size>
|
||||
</disk>
|
||||
<memory>
|
||||
<size unit="M">6000</size>
|
||||
<size unit="M">7000</size>
|
||||
</memory>
|
||||
</hardware>
|
||||
<overwrite>
|
||||
|
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0c012241138a66dea1995518f245898791d94cb31d11b2472c889dbe464418bb
|
||||
size 28392
|
||||
oid sha256:8ab1d8d34c78ec2a2acae648582d499c8d2c80b496c6e33016c51acf1dfb25e3
|
||||
size 28364
|
||||
|
@ -5,10 +5,10 @@
|
||||
# "moz_source_stamp": "c1de04f39fa956cfce83f6065b0e709369215ed5"
|
||||
# http://ftp.mozilla.org/pub/firefox/candidates/48.0-candidates/build2/l10n_changesets.txt
|
||||
|
||||
CHANNEL="esr52"
|
||||
CHANNEL="release"
|
||||
BRANCH="releases/mozilla-$CHANNEL"
|
||||
RELEASE_TAG="FIREFOX_52_3_0esr_RELEASE"
|
||||
VERSION="52.3.0"
|
||||
RELEASE_TAG="FIREFOX_55_0_3_RELEASE" # 55.0.3 build2
|
||||
VERSION="55.0.3"
|
||||
|
||||
# mozilla
|
||||
if [ -d mozilla ]; then
|
||||
@ -62,7 +62,7 @@ for locale in $(awk '{ print $1; }' mozilla/browser/locales/shipped-locales); do
|
||||
echo "reading changeset information for $locale"
|
||||
_changeset=$(grep ^$locale l10n_changesets.txt | awk '{ print $2; }')
|
||||
echo "fetching $locale changeset $_changeset ..."
|
||||
hg clone http://hg.mozilla.org/releases/l10n/mozilla-release/$locale l10n/$locale
|
||||
hg clone http://hg.mozilla.org/releases/l10n/mozilla-$CHANNEL/$locale l10n/$locale
|
||||
[ "$RELEASE_TAG" == "default" ] || hg -R l10n/$locale up -C -r $_changeset
|
||||
;;
|
||||
esac
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:81cda681a593c1737ff6a448e73288beab6e1499f638002f5cfaa6726896420b
|
||||
size 223189032
|
3
firefox-55.0.3-source.tar.xz
Normal file
3
firefox-55.0.3-source.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:3f128780884d758bc065642534ae736a7200bcec5913794505b32e5ebcc80608
|
||||
size 249204976
|
@ -1,11 +1,11 @@
|
||||
# HG changeset patch
|
||||
# Parent e0751ad74e835e80041a61ea00c2a63bf6fbe2de
|
||||
# Parent 2bffb52e07b587a6c755d67c6fc971fed6509783
|
||||
# Parent 6309c3625e39216f9cf5a7a35cbf6932adfabc1d
|
||||
|
||||
diff --git a/browser/branding/branding-common.mozbuild b/browser/branding/branding-common.mozbuild
|
||||
--- a/browser/branding/branding-common.mozbuild
|
||||
+++ b/browser/branding/branding-common.mozbuild
|
||||
@@ -34,18 +34,24 @@ def FirefoxBranding():
|
||||
@@ -41,18 +41,24 @@ def FirefoxBranding():
|
||||
'disk.icns',
|
||||
'document.icns',
|
||||
'dsstore',
|
||||
@ -33,8 +33,8 @@ diff --git a/browser/branding/branding-common.mozbuild b/browser/branding/brandi
|
||||
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
|
||||
@@ -650,18 +650,21 @@
|
||||
@RESPATH@/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/icon.png
|
||||
@@ -599,18 +599,21 @@
|
||||
@RESPATH@/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/chrome.manifest
|
||||
@RESPATH@/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/install.rdf
|
||||
@RESPATH@/chrome/toolkit@JAREXT@
|
||||
@RESPATH@/chrome/toolkit.manifest
|
||||
|
@ -1,11 +1,11 @@
|
||||
# HG changeset patch
|
||||
# Parent 1c4e33861cfcffe5a189802cf97957b0701260db
|
||||
# Parent 9ccba8e6b5fad738ce924ff40b4c5aa6f4bc12dd
|
||||
|
||||
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,1134 @@
|
||||
@@ -0,0 +1,1306 @@
|
||||
+#filter substitution
|
||||
+<?xml version="1.0"?>
|
||||
+# -*- Mode: HTML -*-
|
||||
@ -17,11 +17,9 @@ new file mode 100644
|
||||
+<?xml-stylesheet href="chrome://browser/content/browser.css" type="text/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://devtools/skin/devtools-browser.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/" type="text/css"?>
|
||||
+<?xml-stylesheet href="chrome://browser/skin/browser-lightweightTheme.css" type="text/css"?>
|
||||
+
|
||||
+<?xul-overlay href="chrome://global/content/editMenuOverlay.xul"?>
|
||||
+<?xul-overlay href="chrome://browser/content/baseMenuOverlay.xul"?>
|
||||
@ -35,6 +33,7 @@ new file mode 100644
|
||||
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
+ xmlns:svg="http://www.w3.org/2000/svg"
|
||||
+ xmlns:html="http://www.w3.org/1999/xhtml"
|
||||
+ xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
+ xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
+ onload="gBrowserInit.onLoad()" onunload="gBrowserInit.onUnload()" onclose="return WindowIsClosing();"
|
||||
+ title="&mainWindow.title;"
|
||||
@ -61,7 +60,6 @@ new file mode 100644
|
||||
+#endif
|
||||
+ titlemenuseparator="&mainWindow.titlemodifiermenuseparator;"
|
||||
+ lightweightthemes="true"
|
||||
+ lightweightthemesfooter="browser-bottombox"
|
||||
+ windowtype="navigator:browser"
|
||||
+ macanimationtype="document"
|
||||
+ screenX="4" screenY="4"
|
||||
@ -116,7 +114,7 @@ new file mode 100644
|
||||
+ <menu id="context_sendTabToDevice" label="&sendTabToDevice.label;"
|
||||
+ accesskey="&sendTabToDevice.accesskey;" hidden="true">
|
||||
+ <menupopup id="context_sendTabToDevicePopupMenu"
|
||||
+ onpopupshowing="gFxAccounts.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);"/>
|
||||
+ </menu>
|
||||
+ <menuseparator/>
|
||||
+ <menuitem id="context_reloadAllTabs" label="&reloadAllTabs.label;" accesskey="&reloadAllTabs.accesskey;"
|
||||
@ -155,7 +153,8 @@ new file mode 100644
|
||||
+ noautofocus="true"
|
||||
+ hidden="true"
|
||||
+ overflowpadding="4"
|
||||
+ norolluponanchor="true" />
|
||||
+ norolluponanchor="true"
|
||||
+ nomaxresults="true" />
|
||||
+
|
||||
+ <!-- for search with one-off buttons -->
|
||||
+ <panel type="autocomplete" id="PopupSearchAutoComplete" noautofocus="true" hidden="true"/>
|
||||
@ -174,9 +173,10 @@ new file mode 100644
|
||||
+ hidden="true"
|
||||
+ orient="vertical"
|
||||
+ noautofocus="true"
|
||||
+ noautohide="true"
|
||||
+ consumeoutsideclicks="false"
|
||||
+ level="parent">
|
||||
+ <iframe id="dateTimePopupFrame"/>
|
||||
+ level="parent"
|
||||
+ tabspecific="true">
|
||||
+ </panel>
|
||||
+
|
||||
+ <!-- for select dropdowns. The menupopup is what shows the list of options,
|
||||
@ -186,6 +186,7 @@ new file mode 100644
|
||||
+ <menulist popuponly="true" id="ContentSelectDropdown" hidden="true">
|
||||
+ <menupopup rolluponmousewheel="true"
|
||||
+ activateontab="true" position="after_start"
|
||||
+ level="parent"
|
||||
+#ifdef XP_WIN
|
||||
+ consumeoutsideclicks="false" ignorekeys="shortcuts"
|
||||
+#endif
|
||||
@ -296,10 +297,53 @@ new file mode 100644
|
||||
+ </hbox>
|
||||
+ <hbox id="share-container" flex="1"/>
|
||||
+ </panel>
|
||||
+ <panel id="sidebarMenu-popup"
|
||||
+ class="cui-widget-panel"
|
||||
+ role="group"
|
||||
+ type="arrow"
|
||||
+ hidden="true"
|
||||
+ flip="slide"
|
||||
+ orient="vertical"
|
||||
+ position="bottomcenter topleft">
|
||||
+ <toolbarbutton id="sidebar-switcher-bookmarks"
|
||||
+ class="subviewbutton subviewbutton-iconic"
|
||||
+ key="viewBookmarksSidebarKb"
|
||||
+ observes="viewBookmarksSidebar"
|
||||
+ oncommand="SidebarUI.show('viewBookmarksSidebar');">
|
||||
+ <observes element="viewBookmarksSidebar" attribute="checked"/>
|
||||
+ </toolbarbutton>
|
||||
+ <toolbarbutton id="sidebar-switcher-history"
|
||||
+ label="&historyButton.label;"
|
||||
+ class="subviewbutton subviewbutton-iconic"
|
||||
+ key="key_gotoHistory"
|
||||
+ observes="viewHistorySidebar"
|
||||
+ oncommand="SidebarUI.show('viewHistorySidebar');">
|
||||
+ <observes element="viewHistorySidebar" attribute="checked"/>
|
||||
+ </toolbarbutton>
|
||||
+ <toolbarbutton id="sidebar-switcher-tabs"
|
||||
+ label="&syncedTabs.sidebar.label;"
|
||||
+ class="subviewbutton subviewbutton-iconic"
|
||||
+ observes="viewTabsSidebar"
|
||||
+ oncommand="SidebarUI.show('viewTabsSidebar');">
|
||||
+ <observes element="viewTabsSidebar" attribute="checked"/>
|
||||
+ </toolbarbutton>
|
||||
+ <toolbarseparator/>
|
||||
+ <vbox id="sidebar-extensions"></vbox>
|
||||
+ <toolbarseparator/>
|
||||
+ <toolbarbutton id="sidebar-reverse-position"
|
||||
+ class="subviewbutton"
|
||||
+ oncommand="SidebarUI.reversePosition()"/>
|
||||
+ <toolbarseparator/>
|
||||
+ <toolbarbutton label="&sidebarMenuClose.label;"
|
||||
+ class="subviewbutton"
|
||||
+ oncommand="SidebarUI.hide()"/>
|
||||
+ </panel>
|
||||
+
|
||||
+ <menupopup id="toolbar-context-menu"
|
||||
+ onpopupshowing="onViewToolbarsPopupShowing(event, document.getElementById('viewToolbarsMenuSeparator'));">
|
||||
+ <menuitem oncommand="gCustomizeMode.addToPanel(document.popupNode)"
|
||||
+ photonaccesskey="&customizeMenu.pinToOverflowMenu.accesskey;"
|
||||
+ photonlabel="&customizeMenu.pinToOverflowMenu.label;"
|
||||
+ accesskey="&customizeMenu.moveToPanel.accesskey;"
|
||||
+ label="&customizeMenu.moveToPanel.label;"
|
||||
+ contexttype="toolbaritem"
|
||||
@ -411,6 +455,58 @@ new file mode 100644
|
||||
+ </hbox>
|
||||
+ </panel>
|
||||
+
|
||||
+ <panel id="page-action-panel"
|
||||
+ class="cui-widget-panel"
|
||||
+ role="group"
|
||||
+ type="arrow"
|
||||
+ hidden="true"
|
||||
+ flip="slide"
|
||||
+ position="bottomcenter topright"
|
||||
+ noautofocus="true">
|
||||
+ <photonpanelmultiview id="page-action-multiView"
|
||||
+ mainViewId="page-action-mainView">
|
||||
+ <panelview id="page-action-mainView"
|
||||
+ class="PanelUI-subView">
|
||||
+ <vbox class="panel-subview-body">
|
||||
+ <toolbarbutton id="page-action-bookmark-button"
|
||||
+ class="subviewbutton subviewbutton-iconic"
|
||||
+ observes="bookmarkThisPageBroadcaster"
|
||||
+ command="Browser:AddBookmarkAs"
|
||||
+ onclick="gPageActionButton.panel.hidePopup();"/>
|
||||
+ <toolbarseparator/>
|
||||
+ <toolbarbutton id="page-action-copy-url-button"
|
||||
+ class="subviewbutton subviewbutton-iconic"
|
||||
+ label="©URLCmd.label;"
|
||||
+ command="PageAction:copyURL"/>
|
||||
+ <toolbarbutton id="page-action-email-link-button"
|
||||
+ class="subviewbutton subviewbutton-iconic"
|
||||
+ label="&emailPageCmd.label;"
|
||||
+ command="PageAction:emailLink"/>
|
||||
+ <toolbarbutton id="page-action-send-to-device-button"
|
||||
+ class="subviewbutton subviewbutton-iconic subviewbutton-nav"
|
||||
+ label="&sendToDevice.label;"
|
||||
+ closemenu="none"
|
||||
+ oncommand="gPageActionButton.showSendToDeviceView(this);"/>
|
||||
+ </vbox>
|
||||
+ </panelview>
|
||||
+ <panelview id="page-action-sendToDeviceView"
|
||||
+ class="PanelUI-subView"
|
||||
+ title="&sendToDevice.viewTitle;">
|
||||
+ <vbox id="page-action-sendToDeviceView-body" class="panel-subview-body">
|
||||
+ <toolbarbutton id="page-action-sendToDevice-fxa-button"
|
||||
+ class="subviewbutton subviewbutton-iconic"
|
||||
+ label="&syncBrand.fxAccount.label;"
|
||||
+ shortcut="&sendToDevice.fxaRequired.label;"
|
||||
+ oncommand="gPageActionButton.fxaButtonClicked();"/>
|
||||
+ <toolbarbutton id="page-action-no-devices-button"
|
||||
+ class="subviewbutton"
|
||||
+ label="&sendToDevice.noDevices.label;"
|
||||
+ disabled="true"/>
|
||||
+ </vbox>
|
||||
+ </panelview>
|
||||
+ </photonpanelmultiview>
|
||||
+ </panel>
|
||||
+
|
||||
+ <!-- Bookmarks and history tooltip -->
|
||||
+ <tooltip id="bhTooltip"/>
|
||||
+
|
||||
@ -483,6 +579,13 @@ new file mode 100644
|
||||
+ accesskey="&syncedTabs.context.copy.accesskey;"
|
||||
+ id="syncedTabsCopySelected"/>
|
||||
+ <menuseparator/>
|
||||
+ <menuitem label="&syncedTabs.context.openAllInTabs.label;"
|
||||
+ accesskey="&syncedTabs.context.openAllInTabs.accesskey;"
|
||||
+ id="syncedTabsOpenAllInTabs"/>
|
||||
+ <menuitem label="&syncedTabs.context.managedevices.label;"
|
||||
+ accesskey="&syncedTabs.context.managedevices.accesskey;"
|
||||
+ id="syncedTabsManageDevices"
|
||||
+ oncommand="gSync.openDevicesManagementPage('syncedtabs-sidebar');"/>
|
||||
+ <menuitem label="&syncSyncNowItem.label;"
|
||||
+ accesskey="&syncSyncNowItem.accesskey;"
|
||||
+ id="syncedTabsRefresh"/>
|
||||
@ -515,6 +618,7 @@ new file mode 100644
|
||||
+ id="syncedTabsRefreshFilter"/>
|
||||
+ </menupopup>
|
||||
+ </popupset>
|
||||
+ <box id="appMenu-viewCache" hidden="true"/>
|
||||
+
|
||||
+#ifdef CAN_DRAW_IN_TITLEBAR
|
||||
+<vbox id="titlebar">
|
||||
@ -554,10 +658,8 @@ new file mode 100644
|
||||
+#ifdef MENUBAR_CAN_AUTOHIDE
|
||||
+ toolbarname="&menubarCmd.label;"
|
||||
+ accesskey="&menubarCmd.accesskey;"
|
||||
+#if defined(MOZ_WIDGET_GTK)
|
||||
+ autohide="true"
|
||||
+#endif
|
||||
+#endif
|
||||
+ context="toolbar-context-menu">
|
||||
+ <toolbaritem id="menubar-items" align="center">
|
||||
+# The entire main menubar is placed into browser-menubar.inc, so that it can be shared by
|
||||
@ -620,7 +722,6 @@ new file mode 100644
|
||||
+ <menupopup id="alltabs-popup"
|
||||
+ position="after_end">
|
||||
+ <menuitem id="alltabs_undoCloseTab"
|
||||
+ class="menuitem-iconic"
|
||||
+ key="key_undoCloseTab"
|
||||
+ label="&undoCloseTab.label;"
|
||||
+ observes="History:UndoCloseTab"/>
|
||||
@ -668,18 +769,43 @@ new file mode 100644
|
||||
+ removable="false"
|
||||
+ class="chromeclass-location" overflows="false">
|
||||
+ <toolbarbutton id="back-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
|
||||
+ removable="false" overflows="false"
|
||||
+ label="&backCmd.label;"
|
||||
+ command="Browser:BackOrBackDuplicate"
|
||||
+ onclick="checkForMiddleClick(this, event);"
|
||||
+ tooltip="back-button-tooltip"
|
||||
+ context="backForwardMenu"/>
|
||||
+#ifdef MOZ_PHOTON_THEME
|
||||
+ <toolbarbutton id="forward-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
|
||||
+ removable="false" overflows="false"
|
||||
+ label="&forwardCmd.label;"
|
||||
+ command="Browser:ForwardOrForwardDuplicate"
|
||||
+ onclick="checkForMiddleClick(this, event);"
|
||||
+ tooltip="forward-button-tooltip"
|
||||
+ context="backForwardMenu"/>
|
||||
+ <toolbaritem id="stop-reload-button"
|
||||
+ removable="false" overflows="false"
|
||||
+ class="chromeclass-toolbar-additional">
|
||||
+ <toolbarbutton id="reload-button"
|
||||
+ class="toolbarbutton-1"
|
||||
+ command="Browser:ReloadOrDuplicate"
|
||||
+ onclick="checkForMiddleClick(this, event);"
|
||||
+ tooltip="dynamic-shortcut-tooltip"/>
|
||||
+ <toolbarbutton id="stop-button"
|
||||
+ class="toolbarbutton-1"
|
||||
+ command="Browser:Stop"
|
||||
+ tooltip="dynamic-shortcut-tooltip"/>
|
||||
+ </toolbaritem>
|
||||
+#endif
|
||||
+ <hbox id="urlbar-wrapper" flex="1">
|
||||
+#ifndef MOZ_PHOTON_THEME
|
||||
+ <toolbarbutton id="forward-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
|
||||
+ label="&forwardCmd.label;"
|
||||
+ command="Browser:ForwardOrForwardDuplicate"
|
||||
+ onclick="checkForMiddleClick(this, event);"
|
||||
+ tooltip="forward-button-tooltip"
|
||||
+ context="backForwardMenu"/>
|
||||
+#endif
|
||||
+ <textbox id="urlbar" flex="1"
|
||||
+ placeholder="&urlbar.placeholder2;"
|
||||
+ type="autocomplete"
|
||||
@ -709,6 +835,7 @@ new file mode 100644
|
||||
+ consumeanchor="identity-box"
|
||||
+ onclick="PageProxyClickHandler(event);"/>
|
||||
+ <image id="sharing-icon" mousethrough="always"/>
|
||||
+ <image id="tracking-protection-icon"/>
|
||||
+ <box id="blocked-permissions-container" align="center">
|
||||
+ <image data-permission-id="geo" class="blocked-permission-icon geo-icon" role="button"
|
||||
+ tooltiptext="&urlbar.geolocationBlocked.tooltip;"/>
|
||||
@ -722,6 +849,8 @@ new file mode 100644
|
||||
+ tooltiptext="&urlbar.microphoneBlocked.tooltip;"/>
|
||||
+ <image data-permission-id="screen" class="blocked-permission-icon screen-icon" role="button"
|
||||
+ tooltiptext="&urlbar.screenBlocked.tooltip;"/>
|
||||
+ <image data-permission-id="persistent-storage" class="blocked-permission-icon persistent-storage-icon" role="button"
|
||||
+ tooltiptext="&urlbar.persistentStorageBlocked.tooltip;"/>
|
||||
+ </box>
|
||||
+ <box id="notification-popup-box"
|
||||
+ hidden="true"
|
||||
@ -738,8 +867,11 @@ new file mode 100644
|
||||
+ tooltiptext="&urlbar.indexedDBNotificationAnchor.tooltip;"/>
|
||||
+ <image id="password-notification-icon" class="notification-anchor-icon login-icon" role="button"
|
||||
+ tooltiptext="&urlbar.passwordNotificationAnchor.tooltip;"/>
|
||||
+ <image id="plugins-notification-icon" class="notification-anchor-icon plugin-icon" role="button"
|
||||
+ tooltiptext="&urlbar.pluginsNotificationAnchor.tooltip;"/>
|
||||
+ <stack id="plugins-notification-icon" class="notification-anchor-icon" role="button" align="center"
|
||||
+ tooltiptext="&urlbar.pluginsNotificationAnchor.tooltip;">
|
||||
+ <image class="plugin-icon" />
|
||||
+ <image id="plugin-icon-badge" />
|
||||
+ </stack>
|
||||
+ <image id="web-notifications-notification-icon" class="notification-anchor-icon desktop-notification-icon" role="button"
|
||||
+ tooltiptext="&urlbar.webNotificationAnchor.tooltip;"/>
|
||||
+ <image id="webRTC-shareDevices-notification-icon" class="notification-anchor-icon camera-icon" role="button"
|
||||
@ -756,9 +888,13 @@ new file mode 100644
|
||||
+ tooltiptext="&urlbar.translatedNotificationAnchor.tooltip;"/>
|
||||
+ <image id="eme-notification-icon" class="notification-anchor-icon drm-icon" role="button"
|
||||
+ tooltiptext="&urlbar.emeNotificationAnchor.tooltip;"/>
|
||||
+ <image id="persistent-storage-notification-icon" class="notification-anchor-icon persistent-storage-icon" role="button"
|
||||
+ tooltiptext="&urlbar.persistentStorageNotificationAnchor.tooltip;"/>
|
||||
+ </box>
|
||||
+ <image id="tracking-protection-icon"/>
|
||||
+ <image id="connection-icon"/>
|
||||
+ <image id="extension-icon"/>
|
||||
+ <image id="remote-control-icon"
|
||||
+ tooltiptext="&urlbar.remoteControlNotificationAnchor.tooltip;"/>
|
||||
+ <hbox id="identity-icon-labels">
|
||||
+ <label id="identity-icon-label" class="plain" flex="1"/>
|
||||
+ <label id="identity-icon-country-label" class="plain"/>
|
||||
@ -780,26 +916,33 @@ new file mode 100644
|
||||
+ onclick="ReaderParent.buttonClick(event);"/>
|
||||
+ <toolbarbutton id="urlbar-zoom-button"
|
||||
+ onclick="FullZoom.reset();"
|
||||
+ tooltiptext="&urlbar.zoomReset.tooltip;"
|
||||
+ tooltip="dynamic-shortcut-tooltip"
|
||||
+ hidden="true"/>
|
||||
+ </hbox>
|
||||
+ <hbox id="userContext-icons" hidden="true">
|
||||
+ <label id="userContext-label"/>
|
||||
+ <image id="userContext-indicator"/>
|
||||
+ </hbox>
|
||||
+#ifndef MOZ_PHOTON_THEME
|
||||
+ <toolbarbutton id="urlbar-go-button"
|
||||
+ class="chromeclass-toolbar-additional"
|
||||
+ onclick="gURLBar.handleCommand(event);"
|
||||
+ tooltiptext="&goEndCap.tooltip;"/>
|
||||
+ <toolbarbutton id="urlbar-reload-button"
|
||||
+ <toolbarbutton id="reload-button"
|
||||
+ class="chromeclass-toolbar-additional"
|
||||
+ command="Browser:ReloadOrDuplicate"
|
||||
+ onclick="checkForMiddleClick(this, event);"
|
||||
+ tooltiptext="&reloadButton.tooltip;"/>
|
||||
+ <toolbarbutton id="urlbar-stop-button"
|
||||
+ tooltip="dynamic-shortcut-tooltip"/>
|
||||
+ <toolbarbutton id="stop-button"
|
||||
+ class="chromeclass-toolbar-additional"
|
||||
+ command="Browser:Stop"
|
||||
+ tooltiptext="&stopButton.tooltip;"/>
|
||||
+ tooltip="dynamic-shortcut-tooltip"/>
|
||||
+#else
|
||||
+ <toolbarbutton id="urlbar-page-action-button"
|
||||
+ class="chromeclass-toolbar-additional"
|
||||
+ tooltiptext="&pageActionButton.tooltip;"
|
||||
+ onclick="gPageActionButton.onEvent(event);"/>
|
||||
+#endif
|
||||
+ </textbox>
|
||||
+ </hbox>
|
||||
+ </toolbaritem>
|
||||
@ -886,6 +1029,19 @@ new file mode 100644
|
||||
+ new PlacesMenu(event, 'place:folder=UNFILED_BOOKMARKS',
|
||||
+ PlacesUIUtils.getViewForNode(this.parentNode.parentNode).options);"/>
|
||||
+ </menu>
|
||||
+ <menu id="BMB_mobileBookmarks"
|
||||
+ class="menu-iconic bookmark-item subviewbutton"
|
||||
+ label="&bookmarksMenuButton.mobile.label;"
|
||||
+ hidden="true"
|
||||
+ container="true">
|
||||
+ <menupopup id="BMB_mobileBookmarksPopup"
|
||||
+ placespopup="true"
|
||||
+ context="placesContext"
|
||||
+ onpopupshowing="if (!this.parentNode._placesView)
|
||||
+ new PlacesMenu(event, 'place:folder=MOBILE_BOOKMARKS',
|
||||
+ PlacesUIUtils.getViewForNode(this.parentNode.parentNode).options);"/>
|
||||
+ </menu>
|
||||
+
|
||||
+ <menuseparator/>
|
||||
+ <!-- Bookmarks menu items will go here -->
|
||||
+ <menuitem id="BMB_bookmarksShowAll"
|
||||
@ -1037,7 +1193,7 @@ new file mode 100644
|
||||
+
|
||||
+ <toolbarbutton id="new-window-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
|
||||
+ label="&newNavigatorCmd.label;"
|
||||
+ command="key_newNavigator"
|
||||
+ command="cmd_newNavigator"
|
||||
+ tooltip="dynamic-shortcut-tooltip"
|
||||
+ ondrop="newWindowButtonObserver.onDrop(event)"
|
||||
+ ondragover="newWindowButtonObserver.onDragOver(event)"
|
||||
@ -1049,6 +1205,11 @@ new file mode 100644
|
||||
+ type="checkbox"
|
||||
+ label="&fullScreenCmd.label;"
|
||||
+ tooltip="dynamic-shortcut-tooltip"/>
|
||||
+#ifdef MOZ_PHOTON_THEME
|
||||
+ <toolbarbutton id="library-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
|
||||
+ oncommand="PanelUI.showSubView('appMenu-libraryView', this, null, true);"
|
||||
+ label="&places.library.title;"/>
|
||||
+#endif
|
||||
+ </toolbarpalette>
|
||||
+ </toolbox>
|
||||
+
|
||||
@ -1059,9 +1220,18 @@ new file mode 100644
|
||||
+ <vbox id="browser-border-start" hidden="true" layer="true"/>
|
||||
+ <vbox id="sidebar-box" hidden="true" class="chromeclass-extrachrome">
|
||||
+ <sidebarheader id="sidebar-header" align="center">
|
||||
+ <label id="sidebar-title" persist="value" flex="1" crop="end" control="sidebar"/>
|
||||
+ <toolbarbutton id="sidebar-switcher-target" flex="1" class="tabbable">
|
||||
+ <image id="sidebar-icon" consumeanchor="sidebar-switcher-target"/>
|
||||
+ <label id="sidebar-title" persist="value" crop="end" flex="1" control="sidebar"/>
|
||||
+ <image id="sidebar-switcher-arrow"/>
|
||||
+ </toolbarbutton>
|
||||
+ <image id="sidebar-throbber"/>
|
||||
+ <toolbarbutton class="close-icon tabbable" tooltiptext="&sidebarCloseButton.tooltip;" oncommand="SidebarUI.hide();"/>
|
||||
+# To ensure the button label's intrinsic width doesn't expand the sidebar
|
||||
+# if the label is long, the button needs flex=1.
|
||||
+# To ensure the button doesn't expand unnecessarily for short labels, the
|
||||
+# spacer should significantly out-flex the button.
|
||||
+ <spacer flex="1000"/>
|
||||
+ <toolbarbutton id="sidebar-close" class="tabbable" tooltiptext="&sidebarCloseButton.tooltip;" oncommand="SidebarUI.hide();"/>
|
||||
+ </sidebarheader>
|
||||
+ <browser id="sidebar" flex="1" autoscroll="false" disablehistory="true" disablefullscreen="true"
|
||||
+ style="min-width: 14em; width: 18em; max-width: 36em;" tooltip="aHTMLTooltip"/>
|
||||
@ -1119,6 +1289,7 @@ new file mode 100644
|
||||
+
|
||||
+ <svg:svg height="0">
|
||||
+#include tab-shape.inc.svg
|
||||
+#ifndef MOZ_PHOTON_THEME
|
||||
+ <svg:clipPath id="urlbar-back-button-clip-path">
|
||||
+#ifndef XP_MACOSX
|
||||
+ <svg:path d="M -9,-4 l 0,1 a 15 15 0 0,1 0,30 l 0,1 l 10000,0 l 0,-32 l -10000,0 z" />
|
||||
@ -1131,6 +1302,7 @@ new file mode 100644
|
||||
+ <svg:path d="M -6,-2 l 0,1 a 15 15 0 0,1 0,30 l 0,1 l 10000,0 l 0,-32 l -10000,0 z" />
|
||||
+ </svg:clipPath>
|
||||
+#endif
|
||||
+#endif
|
||||
+ </svg:svg>
|
||||
+
|
||||
+</vbox>
|
||||
@ -1143,7 +1315,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
|
||||
@@ -66,16 +66,18 @@ browser.jar:
|
||||
@@ -58,16 +58,18 @@ browser.jar:
|
||||
content/browser/aboutSocialError.xhtml (content/aboutSocialError.xhtml)
|
||||
content/browser/aboutProviderDirectory.xhtml (content/aboutProviderDirectory.xhtml)
|
||||
content/browser/aboutTabCrashed.css (content/aboutTabCrashed.css)
|
||||
@ -1159,7 +1331,7 @@ diff --git a/browser/base/jar.mn b/browser/base/jar.mn
|
||||
content/browser/browser-ctrlTab.js (content/browser-ctrlTab.js)
|
||||
content/browser/browser-customization.js (content/browser-customization.js)
|
||||
content/browser/browser-data-submission-info-bar.js (content/browser-data-submission-info-bar.js)
|
||||
content/browser/browser-devedition.js (content/browser-devedition.js)
|
||||
content/browser/browser-compacttheme.js (content/browser-compacttheme.js)
|
||||
content/browser/browser-feeds.js (content/browser-feeds.js)
|
||||
content/browser/browser-fullScreenAndPointerLock.js (content/browser-fullScreenAndPointerLock.js)
|
||||
diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/nsModule.cpp
|
||||
@ -1225,30 +1397,31 @@ 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
|
||||
@@ -33,16 +33,22 @@ var gMainPane = {
|
||||
if (AppConstants.platform == "win") {
|
||||
// In Windows 8 we launch the control panel since it's the only
|
||||
@@ -39,16 +39,23 @@ var gMainPane = {
|
||||
// way to get all file type association prefs. So we don't know
|
||||
// when the user will select the default. We refresh here periodically
|
||||
// in case the default changes. On other Windows OS's defaults can also
|
||||
// be set while the prefs are open.
|
||||
window.setInterval(this.updateSetDefaultBrowser.bind(this), 1000);
|
||||
}
|
||||
+
|
||||
+ var env = Components.classes["@mozilla.org/process/environment;1"]
|
||||
+ .getService(Components.interfaces.nsIEnvironment);
|
||||
+ var kde_session = 0;
|
||||
+ if (env.get('KDE_FULL_SESSION') == "true")
|
||||
+ kde_session = 1;
|
||||
}
|
||||
|
||||
// set up the "use current page" label-changing listener
|
||||
this._updateUseCurrentButton();
|
||||
window.addEventListener("focus", this._updateUseCurrentButton.bind(this), false);
|
||||
+ var env = Components.classes["@mozilla.org/process/environment;1"]
|
||||
+ .getService(Components.interfaces.nsIEnvironment);
|
||||
+ var kde_session = 0;
|
||||
+ if (env.get('KDE_FULL_SESSION') == "true") {
|
||||
+ kde_session = 1;
|
||||
+ }
|
||||
+
|
||||
this.buildContentProcessCountMenuList();
|
||||
this.updateDefaultPerformanceSettingsPref();
|
||||
|
||||
this.updateBrowserStartupLastSession();
|
||||
|
||||
@@ -704,16 +710,27 @@ var gMainPane = {
|
||||
let defaultPerformancePref =
|
||||
document.getElementById("browser.preferences.defaultPerformanceSettings.enabled");
|
||||
defaultPerformancePref.addEventListener("change", () => {
|
||||
this.updatePerformanceSettingsBox({duringChangeEvent: true});
|
||||
});
|
||||
@@ -780,16 +787,27 @@ var gMainPane = {
|
||||
let alwaysCheckPref = document.getElementById("browser.shell.checkDefaultBrowser");
|
||||
alwaysCheckPref.value = true;
|
||||
|
||||
@ -1279,7 +1452,7 @@ diff --git a/browser/components/preferences/in-content/main.js b/browser/compone
|
||||
diff --git a/browser/components/shell/moz.build b/browser/components/shell/moz.build
|
||||
--- a/browser/components/shell/moz.build
|
||||
+++ b/browser/components/shell/moz.build
|
||||
@@ -34,16 +34,18 @@ if CONFIG['OS_ARCH'] == 'WINNT':
|
||||
@@ -37,16 +37,18 @@ if CONFIG['OS_ARCH'] == 'WINNT':
|
||||
]
|
||||
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
|
||||
SOURCES += [
|
||||
@ -1561,7 +1734,7 @@ new file mode 100644
|
||||
+NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsGNOMEShellService, Init)
|
||||
+NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsKDEShellService, Init)
|
||||
+
|
||||
+NS_METHOD
|
||||
+NS_IMETHODIMP
|
||||
+nsUnixShellServiceConstructor(nsISupports *aOuter, REFNSIID aIID, void **aResult)
|
||||
+{
|
||||
+ if( nsKDEUtils::kdeSupport())
|
||||
@ -1584,28 +1757,29 @@ new file mode 100644
|
||||
+
|
||||
+#include "nsIGNOMEShellService.h"
|
||||
+
|
||||
+NS_METHOD
|
||||
+NS_IMETHODIMP
|
||||
+nsUnixShellServiceConstructor(nsISupports *aOuter, REFNSIID aIID, void **aResult);
|
||||
+
|
||||
+#endif // nsunixshellservice_h____
|
||||
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
|
||||
@@ -652,16 +652,17 @@
|
||||
@RESPATH@/greprefs.js
|
||||
@RESPATH@/defaults/autoconfig/prefcalls.js
|
||||
@RESPATH@/browser/defaults/permissions
|
||||
@@ -662,16 +662,18 @@
|
||||
@RESPATH@/browser/defaults/blocklists
|
||||
@RESPATH@/browser/defaults/pinning
|
||||
|
||||
; Warning: changing the path to channel-prefs.js can cause bugs (Bug 756325)
|
||||
; Technically this is an app pref file, but we are keeping it in the original
|
||||
; gre location for now.
|
||||
@RESPATH@/defaults/pref/channel-prefs.js
|
||||
|
||||
+@BINPATH@/defaults/pref/kde.js
|
||||
+
|
||||
; Remote control protocol prefs
|
||||
; defined in ../../testing/marionette/prefs/marionette.js
|
||||
@RESPATH@/defaults/pref/marionette.js
|
||||
|
||||
; Services (gre) prefs
|
||||
@RESPATH@/defaults/pref/services-sync.js
|
||||
|
||||
; [Layout Engine Resources]
|
||||
; Style Sheets, Graphics and other Resources used by the layout engine.
|
||||
@RESPATH@/res/EditorOverride.css
|
||||
@RESPATH@/res/contenteditable.css
|
||||
|
1
google-api-key
Normal file
1
google-api-key
Normal file
@ -0,0 +1 @@
|
||||
AIzaSyD1hTe85_a14kr1Ks8T3Ce75rvbR1_Dx7Q
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:20761eb9dd53c5880410fa1a94574f14b75e443b5bc8efe383d27c40a3e241c9
|
||||
size 45075116
|
3
l10n-55.0.3.tar.xz
Normal file
3
l10n-55.0.3.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:9fbaebedf8a157d402467a75b015868951567deb369b68b5e8c4fc823ce2ec79
|
||||
size 46655584
|
@ -1,93 +1,96 @@
|
||||
ach 34c236a22596
|
||||
af 90f7ccd90de4
|
||||
an 10f71571821e
|
||||
ar 0edb7b32133a
|
||||
as ee642d74fde9
|
||||
ast 80b866a98b5a
|
||||
az 07778ef756d4
|
||||
bg f86aa012265d
|
||||
bn-BD 6182802acd04
|
||||
bn-IN 0775fc62a38e
|
||||
br 88938f2eb7e2
|
||||
bs afe1158833f4
|
||||
ca c49b6bb37779
|
||||
cak 30c024aa79ef
|
||||
cs 392a1ff68cfd
|
||||
cy e9cc2975266f
|
||||
da cb1423eac811
|
||||
de 6535fbec1846
|
||||
dsb bbdbee2ecc9f
|
||||
el 4232653d09a7
|
||||
en-GB 3b1783bdb6fd
|
||||
en-ZA 86f98526de2f
|
||||
eo 6af9eb3bb290
|
||||
es-AR adc3a9f3054e
|
||||
es-CL 8ce5a00c2709
|
||||
es-ES 3debdad3d876
|
||||
es-MX c2d80c000c8c
|
||||
et 5ce460a1227b
|
||||
eu 55202a38f74c
|
||||
fa de4daf555606
|
||||
ff 98974e0270a8
|
||||
fi 903b0416494a
|
||||
fr 7e9efb5f39b1
|
||||
fy-NL 551f14553b31
|
||||
ga-IE 94a750872504
|
||||
gd b2e4e78a85cf
|
||||
gl 79eda21c5b0b
|
||||
gn 8448413afd01
|
||||
gu-IN ef0d3c1d041a
|
||||
he 31df213cf89d
|
||||
hi-IN 6578b433d66e
|
||||
hr 77f103c07be0
|
||||
hsb 99f7c592ff8c
|
||||
hu 7ec46b30e96d
|
||||
hy-AM ee9609100a98
|
||||
id 584289a98164
|
||||
is 0de2039f0ead
|
||||
it 81a6b9f3a701
|
||||
ja 289cc8d9b658
|
||||
ja-JP-mac 1dc42d8f8c6b
|
||||
ka fd11643d032b
|
||||
kab 89a29ca718ef
|
||||
kk bbde07088662
|
||||
km 1d78cae948e2
|
||||
kn ceb699bfc19e
|
||||
ko ab9bc02a8c39
|
||||
lij 221601dc2320
|
||||
lt 1c563aa726f8
|
||||
lv 33dd8fbeb14e
|
||||
mai 4974d9967e3a
|
||||
mk 85557d511a18
|
||||
ml 3ac6473b90b8
|
||||
mr 9c8106a513fd
|
||||
ms f5ed710c8534
|
||||
nb-NO c84b8fb6b939
|
||||
nl b3c2ab953068
|
||||
nn-NO bc795ce8885a
|
||||
or ad0d79e1df34
|
||||
pa-IN 7a7d721c7f47
|
||||
pl 42ea1da43a3b
|
||||
pt-BR e9eaef0caba5
|
||||
pt-PT 5deb6216933d
|
||||
rm 4981325b9462
|
||||
ro 952587a63617
|
||||
ru 3d319dcf82c7
|
||||
si ea8510d62e56
|
||||
sk 968ee9fbd8ba
|
||||
sl e398e25297bc
|
||||
son a071d439a5f3
|
||||
sq ab626a887267
|
||||
sr 3fb1197cc3f3
|
||||
sv-SE 2d93a3f0c284
|
||||
ta e5fbcf49496f
|
||||
te d4cabe943952
|
||||
th e66a11b8da51
|
||||
tr 2ec45f681bb0
|
||||
uk d3ccc79b70b2
|
||||
uz 53122cc7d6ad
|
||||
vi e4f8d820bef2
|
||||
xh 6ba5a5671721
|
||||
zh-CN 02ca4c1400c1
|
||||
zh-TW d17da9c45a93
|
||||
ach f26087a6a6fd
|
||||
af eeac1ca62457
|
||||
an a4f5fb57979d
|
||||
ar 2f0c4d6a3863
|
||||
as ecbc1fafe3fb
|
||||
ast 5b37651ec44d
|
||||
az d3d47516000e
|
||||
be 8c4022c8401a
|
||||
bg 0ed29af471d6
|
||||
bn-BD d318bfc6fe59
|
||||
bn-IN cd84ee209b9c
|
||||
br 2be494f41cb3
|
||||
bs 18b79a52d6d3
|
||||
ca 806e39b4de56
|
||||
cak dad0ddc1d964
|
||||
cs 61f3b8744fd4
|
||||
cy 32cf6d9aa756
|
||||
da 554288f1d152
|
||||
de bcb514eb5627
|
||||
dsb f076d4d42002
|
||||
el 13ee5cd21a66
|
||||
en-GB 0b2996f2530f
|
||||
en-ZA 7e04b235c4f3
|
||||
eo bdb64d29938d
|
||||
es-AR ce262833fb6c
|
||||
es-CL b0a5fe0dd439
|
||||
es-ES 0d6629322408
|
||||
es-MX 1f8e97ae724d
|
||||
et 52df77b40a67
|
||||
eu 4a7550dc8250
|
||||
fa 45ef3a098c22
|
||||
ff 8025b165aead
|
||||
fi a9b647644be7
|
||||
fr b8b7c09d3f1f
|
||||
fy-NL bc875e89b956
|
||||
ga-IE 3e543d62ad63
|
||||
gd f937bddd78eb
|
||||
gl df4a43546115
|
||||
gn fdc6b354f3a4
|
||||
gu-IN 408c035790bb
|
||||
he 0c53c3756f7d
|
||||
hi-IN 8db91f7f5793
|
||||
hr d317c15ea672
|
||||
hsb 4fac422aa702
|
||||
hu 5671194f7ec1
|
||||
hy-AM e86992a0c0ee
|
||||
id 00395930bb83
|
||||
is f8474352b98d
|
||||
it 5698ddc38e5e
|
||||
ja 0701d1112fe5
|
||||
ja-JP-mac 35cc3be4ea6c
|
||||
ka b2f753a8a642
|
||||
kab c79bbdfb6e57
|
||||
kk 34777b3d0e58
|
||||
km 3bf31b0b6d9e
|
||||
kn 085cc4cfccad
|
||||
ko 2a8956fc58a2
|
||||
lij 217da84c31d3
|
||||
lt f8beb0ee9ef4
|
||||
lv a2d7fa888232
|
||||
mai b78d319868ff
|
||||
mk 26b755e4f87b
|
||||
ml 818f2d7fc3b1
|
||||
mr b84d162a2888
|
||||
ms e5b008cb44eb
|
||||
my 4a0dc350bdec
|
||||
nb-NO d50a43efc007
|
||||
nl a8f7ad7a0e39
|
||||
nn-NO e00fbf3066c1
|
||||
or 11e8e75808ae
|
||||
pa-IN f01bcb8c13a2
|
||||
pl d76f3ba7ebd5
|
||||
pt-BR 7cf0629777d1
|
||||
pt-PT a762c23994b3
|
||||
rm f16da0c1a769
|
||||
ro 6538d74548a9
|
||||
ru 4feb4e4200f5
|
||||
si d91975c0b4d8
|
||||
sk 0b32ca1321b2
|
||||
sl ad8ee6b5e9eb
|
||||
son abb58457c998
|
||||
sq 4374d5e275dd
|
||||
sr baec6e6f600d
|
||||
sv-SE bf5faf4c09d4
|
||||
ta 8de385a48ec1
|
||||
te 0064b2051ea7
|
||||
th 52f4abb2b927
|
||||
tr d9f5398e98f8
|
||||
uk a95815527227
|
||||
ur a8390b38a5dc
|
||||
uz 6a7dac5f89c9
|
||||
vi d931c17a2ff7
|
||||
xh c2ac7c43e358
|
||||
zh-CN e61f2d1a43f5
|
||||
zh-TW 75d29bef92f2
|
||||
|
||||
|
@ -1,14 +1,15 @@
|
||||
# HG changeset patch
|
||||
# Parent a5cfa3aa11a9d3391df49de6fc5a0e5232c12c10
|
||||
# Parent d36d722c028f553ac3fb2f3655fb2c0ca745050c
|
||||
Bug 991344 - Rpi3: Firefox crashes after a few seconds of usage
|
||||
|
||||
diff --git a/netwerk/base/nsIOService.cpp b/netwerk/base/nsIOService.cpp
|
||||
--- a/netwerk/base/nsIOService.cpp
|
||||
+++ b/netwerk/base/nsIOService.cpp
|
||||
@@ -830,17 +830,23 @@ nsIOService::NewChannelFromURIWithProxyF
|
||||
consoleService->LogStringMessage(NS_LITERAL_STRING(
|
||||
"Http channel implementation doesn't support nsIUploadChannel2. An extension has supplied a non-functional http protocol handler. This will break behavior and in future releases not work at all."
|
||||
).get());
|
||||
@@ -874,17 +874,23 @@ nsIOService::NewChannelFromURIWithProxyF
|
||||
"doesn't support nsIUploadChannel2. An extension has "
|
||||
"supplied a non-functional http protocol handler. This will "
|
||||
"break behavior and in future releases not work at all.");
|
||||
}
|
||||
gHasWarnedUploadChannel2 = true;
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
# HG changeset patch
|
||||
# Parent aff14a54f25dc3146ba7a64408ceb9f486a832db
|
||||
# Parent 172cd661ceed38b3161c6246f6729f4d8370dce3
|
||||
Description: Add KDE integration to Firefox (toolkit parts)
|
||||
Author: Wolfgang Rosenauer <wolfgang@rosenauer.org>
|
||||
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
|
||||
--- a/modules/libpref/Preferences.cpp
|
||||
+++ b/modules/libpref/Preferences.cpp
|
||||
@@ -31,16 +31,17 @@
|
||||
@@ -32,16 +32,17 @@
|
||||
#include "nsIZipReader.h"
|
||||
#include "nsPrefBranch.h"
|
||||
#include "nsXPIDLString.h"
|
||||
@ -27,7 +27,7 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
|
||||
#include "prefread.h"
|
||||
#include "prefapi_private_data.h"
|
||||
|
||||
@@ -1174,16 +1175,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char
|
||||
@@ -1219,16 +1220,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char
|
||||
|
||||
static nsresult pref_LoadPrefsInDirList(const char *listId)
|
||||
{
|
||||
@ -62,7 +62,7 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
|
||||
return NS_OK;
|
||||
|
||||
bool hasMore;
|
||||
@@ -1199,17 +1218,17 @@ static nsresult pref_LoadPrefsInDirList(
|
||||
@@ -1244,17 +1263,17 @@ static nsresult pref_LoadPrefsInDirList(
|
||||
|
||||
nsAutoCString leaf;
|
||||
path->GetNativeLeafName(leaf);
|
||||
@ -81,7 +81,7 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
|
||||
{
|
||||
nsZipItemPtr<char> manifest(jarReader, name, true);
|
||||
NS_ENSURE_TRUE(manifest.Buffer(), NS_ERROR_NOT_AVAILABLE);
|
||||
@@ -1303,24 +1322,36 @@ static nsresult pref_InitInitialObjects(
|
||||
@@ -1348,24 +1367,36 @@ static nsresult pref_InitInitialObjects(
|
||||
/* these pref file names should not be used: we process them after all other application pref files for backwards compatibility */
|
||||
static const char* specialFiles[] = {
|
||||
#if defined(XP_MACOSX)
|
||||
@ -121,17 +121,17 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
|
||||
diff --git a/modules/libpref/moz.build b/modules/libpref/moz.build
|
||||
--- a/modules/libpref/moz.build
|
||||
+++ b/modules/libpref/moz.build
|
||||
@@ -31,16 +31,20 @@ UNIFIED_SOURCES += [
|
||||
@@ -33,16 +33,20 @@ EXPORTS.mozilla += [
|
||||
UNIFIED_SOURCES += [
|
||||
'nsPrefBranch.cpp',
|
||||
'nsPrefsFactory.cpp',
|
||||
'prefapi.cpp',
|
||||
'Preferences.cpp',
|
||||
'prefread.cpp',
|
||||
]
|
||||
|
||||
# prefapi.cpp cannot be built in unified mode because it uses plarena.h
|
||||
SOURCES += [
|
||||
'prefapi.cpp',
|
||||
]
|
||||
|
||||
+LOCAL_INCLUDES += [
|
||||
+ '/toolkit/xre'
|
||||
+ '/toolkit/xre'
|
||||
+]
|
||||
+
|
||||
include('/ipc/chromium/chromium-config.mozbuild')
|
||||
@ -140,12 +140,12 @@ diff --git a/modules/libpref/moz.build b/modules/libpref/moz.build
|
||||
|
||||
DEFINES['OS_ARCH'] = CONFIG['OS_ARCH']
|
||||
DEFINES['MOZ_WIDGET_TOOLKIT'] = CONFIG['MOZ_WIDGET_TOOLKIT']
|
||||
|
||||
FINAL_TARGET_PP_FILES += [
|
||||
if CONFIG['MOZ_ENABLE_WEBRENDER']:
|
||||
DEFINES['MOZ_ENABLE_WEBRENDER'] = True
|
||||
diff --git a/python/mozbuild/mozpack/chrome/flags.py b/python/mozbuild/mozpack/chrome/flags.py
|
||||
--- a/python/mozbuild/mozpack/chrome/flags.py
|
||||
+++ b/python/mozbuild/mozpack/chrome/flags.py
|
||||
@@ -211,16 +211,17 @@ class Flags(OrderedDict):
|
||||
@@ -220,16 +220,17 @@ class Flags(OrderedDict):
|
||||
'contentaccessible': Flag,
|
||||
'os': StringFlag,
|
||||
'osversion': VersionFlag,
|
||||
@ -187,9 +187,9 @@ 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
|
||||
@@ -57,16 +57,17 @@ if not CONFIG['MOZ_SUITE']:
|
||||
'nsDownloadManagerUI.manifest',
|
||||
]
|
||||
@@ -37,16 +37,17 @@ UNIFIED_SOURCES += [
|
||||
'nsDownloadManager.cpp'
|
||||
]
|
||||
|
||||
FINAL_LIBRARY = 'xul'
|
||||
|
||||
@ -205,81 +205,13 @@ diff --git a/toolkit/components/downloads/moz.build b/toolkit/components/downloa
|
||||
|
||||
CXXFLAGS += CONFIG['TK_CFLAGS']
|
||||
|
||||
diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/components/downloads/nsDownloadManager.cpp
|
||||
--- a/toolkit/components/downloads/nsDownloadManager.cpp
|
||||
+++ b/toolkit/components/downloads/nsDownloadManager.cpp
|
||||
@@ -52,16 +52,20 @@
|
||||
#ifdef XP_WIN
|
||||
#include <shlobj.h>
|
||||
#include "nsWindowsHelpers.h"
|
||||
#ifdef DOWNLOAD_SCANNER
|
||||
#include "nsDownloadScanner.h"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
+#if defined(XP_UNIX) && !defined(XP_MACOSX)
|
||||
+#include "nsKDEUtils.h"
|
||||
+#endif
|
||||
+
|
||||
#ifdef XP_MACOSX
|
||||
#include <CoreFoundation/CoreFoundation.h>
|
||||
#endif
|
||||
|
||||
#ifdef MOZ_WIDGET_ANDROID
|
||||
#include "FennecJNIWrappers.h"
|
||||
#endif
|
||||
|
||||
@@ -2723,16 +2727,25 @@ nsDownload::SetState(DownloadState aStat
|
||||
nsCOMPtr<nsIPrefBranch> pref(do_GetService(NS_PREFSERVICE_CONTRACTID));
|
||||
|
||||
// Master pref to control this function.
|
||||
bool showTaskbarAlert = true;
|
||||
if (pref)
|
||||
pref->GetBoolPref(PREF_BDM_SHOWALERTONCOMPLETE, &showTaskbarAlert);
|
||||
|
||||
if (showTaskbarAlert) {
|
||||
+ if( nsKDEUtils::kdeSupport()) {
|
||||
+ nsTArray<nsCString> command;
|
||||
+ command.AppendElement( NS_LITERAL_CSTRING( "DOWNLOADFINISHED" ));
|
||||
+ nsAutoString displayName;
|
||||
+ GetDisplayName( displayName );
|
||||
+ command.AppendElement( nsAutoCString( ToNewUTF8String( displayName )));
|
||||
+ nsKDEUtils::command( command );
|
||||
+ } else {
|
||||
+ // begin non-KDE block
|
||||
int32_t alertInterval = 2000;
|
||||
if (pref)
|
||||
pref->GetIntPref(PREF_BDM_SHOWALERTINTERVAL, &alertInterval);
|
||||
|
||||
int64_t alertIntervalUSec = alertInterval * PR_USEC_PER_MSEC;
|
||||
int64_t goat = PR_Now() - mStartTime;
|
||||
showTaskbarAlert = goat > alertIntervalUSec;
|
||||
|
||||
@@ -2764,16 +2777,17 @@ nsDownload::SetState(DownloadState aStat
|
||||
message, !removeWhenDone,
|
||||
mPrivate ? NS_LITERAL_STRING("private") : NS_LITERAL_STRING("non-private"),
|
||||
mDownloadManager, EmptyString(), NS_LITERAL_STRING("auto"),
|
||||
EmptyString(), EmptyString(), nullptr, mPrivate,
|
||||
false /* requireInteraction */);
|
||||
}
|
||||
}
|
||||
}
|
||||
+ }
|
||||
|
||||
#if defined(XP_WIN) || defined(XP_MACOSX) || defined(MOZ_WIDGET_ANDROID) || defined(MOZ_WIDGET_GTK)
|
||||
nsCOMPtr<nsIFileURL> fileURL = do_QueryInterface(mTarget);
|
||||
nsCOMPtr<nsIFile> file;
|
||||
nsAutoString path;
|
||||
|
||||
if (fileURL &&
|
||||
NS_SUCCEEDED(fileURL->GetFile(getter_AddRefs(file))) &&
|
||||
diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
|
||||
--- a/toolkit/content/jar.mn
|
||||
+++ b/toolkit/content/jar.mn
|
||||
@@ -70,29 +70,33 @@ toolkit.jar:
|
||||
content/global/bindings/button.xml (widgets/button.xml)
|
||||
content/global/bindings/checkbox.xml (widgets/checkbox.xml)
|
||||
@@ -75,29 +75,33 @@ toolkit.jar:
|
||||
content/global/bindings/colorpicker.xml (widgets/colorpicker.xml)
|
||||
content/global/bindings/datekeeper.js (widgets/datekeeper.js)
|
||||
content/global/bindings/datepicker.js (widgets/datepicker.js)
|
||||
content/global/bindings/datetimepicker.xml (widgets/datetimepicker.xml)
|
||||
content/global/bindings/datetimepopup.xml (widgets/datetimepopup.xml)
|
||||
content/global/bindings/datetimebox.xml (widgets/datetimebox.xml)
|
||||
@ -314,7 +246,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,457 @@
|
||||
@@ -0,0 +1,455 @@
|
||||
+<?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
|
||||
@ -459,8 +391,8 @@ new file mode 100644
|
||||
+ <method name="centerWindowOnScreen">
|
||||
+ <body>
|
||||
+ <![CDATA[
|
||||
+ var xOffset = screen.availWidth/2 - window.outerWidth/2;
|
||||
+ var yOffset = screen.availHeight/2 - window.outerHeight/2;
|
||||
+ var xOffset = screen.availWidth / 2 - window.outerWidth / 2;
|
||||
+ var yOffset = screen.availHeight / 2 - window.outerHeight / 2;
|
||||
+
|
||||
+ xOffset = xOffset > 0 ? xOffset : 0;
|
||||
+ yOffset = yOffset > 0 ? yOffset : 0;
|
||||
@ -474,10 +406,10 @@ new file mode 100644
|
||||
+ this._configureButtons(this.buttons);
|
||||
+
|
||||
+ // listen for when window is closed via native close buttons
|
||||
+ window.addEventListener("close", this._closeHandler, false);
|
||||
+ window.addEventListener("close", this._closeHandler);
|
||||
+
|
||||
+ // for things that we need to initialize after onload fires
|
||||
+ window.addEventListener("load", this.postLoadInit, false);
|
||||
+ window.addEventListener("load", this.postLoadInit);
|
||||
+
|
||||
+ window.moveToAlertPosition = this.moveToAlertPosition;
|
||||
+ window.centerWindowOnScreen = this.centerWindowOnScreen;
|
||||
@ -512,9 +444,8 @@ new file mode 100644
|
||||
+ // so return focus to the tab itself
|
||||
+ initialFocusedElt.focus();
|
||||
+ }
|
||||
+ }
|
||||
+ else if (!/Mac/.test(navigator.platform) &&
|
||||
+ focusedElt.hasAttribute("dlgtype") && focusedElt != defaultButton) {
|
||||
+ } else if (!/Mac/.test(navigator.platform) &&
|
||||
+ focusedElt.hasAttribute("dlgtype") && focusedElt != defaultButton) {
|
||||
+ defaultButton.focus();
|
||||
+ }
|
||||
+ }
|
||||
@ -578,13 +509,13 @@ new file mode 100644
|
||||
+ // don't override custom labels with pre-defined labels on explicit buttons
|
||||
+ if (!button.hasAttribute("label")) {
|
||||
+ // dialog attributes override the default labels in dialog.properties
|
||||
+ if (this.hasAttribute("buttonlabel"+dlgtype)) {
|
||||
+ button.setAttribute("label", this.getAttribute("buttonlabel"+dlgtype));
|
||||
+ if (this.hasAttribute("buttonaccesskey"+dlgtype))
|
||||
+ button.setAttribute("accesskey", this.getAttribute("buttonaccesskey"+dlgtype));
|
||||
+ if (this.hasAttribute("buttonlabel" + dlgtype)) {
|
||||
+ button.setAttribute("label", this.getAttribute("buttonlabel" + dlgtype));
|
||||
+ if (this.hasAttribute("buttonaccesskey" + dlgtype))
|
||||
+ button.setAttribute("accesskey", this.getAttribute("buttonaccesskey" + dlgtype));
|
||||
+ } else if (dlgtype != "extra1" && dlgtype != "extra2") {
|
||||
+ button.setAttribute("label", this.mStrBundle.GetStringFromName("button-"+dlgtype));
|
||||
+ var accessKey = this.mStrBundle.GetStringFromName("accesskey-"+dlgtype);
|
||||
+ button.setAttribute("label", this.mStrBundle.GetStringFromName("button-" + dlgtype));
|
||||
+ var accessKey = this.mStrBundle.GetStringFromName("accesskey-" + dlgtype);
|
||||
+ if (accessKey)
|
||||
+ button.setAttribute("accesskey", accessKey);
|
||||
+ }
|
||||
@ -592,8 +523,8 @@ new file mode 100644
|
||||
+ // allow specifying alternate icons in the dialog header
|
||||
+ if (!button.hasAttribute("icon")) {
|
||||
+ // if there's an icon specified, use that
|
||||
+ if (this.hasAttribute("buttonicon"+dlgtype))
|
||||
+ button.setAttribute("icon", this.getAttribute("buttonicon"+dlgtype));
|
||||
+ if (this.hasAttribute("buttonicon" + dlgtype))
|
||||
+ button.setAttribute("icon", this.getAttribute("buttonicon" + dlgtype));
|
||||
+ // otherwise set defaults
|
||||
+ else
|
||||
+ switch (dlgtype) {
|
||||
@ -637,7 +568,7 @@ new file mode 100644
|
||||
+ if (/Win/.test(navigator.platform)) {
|
||||
+ var spacer = document.getAnonymousElementByAttribute(this, "anonid", "spacer");
|
||||
+ spacer.removeAttribute("hidden");
|
||||
+ spacer.setAttribute("flex", shown["extra2"]?"1":"0");
|
||||
+ spacer.setAttribute("flex", shown["extra2"] ? "1" : "0");
|
||||
+ }
|
||||
+ }
|
||||
+ ]]>
|
||||
@ -657,11 +588,10 @@ new file mode 100644
|
||||
+ if (newDefaultButton) {
|
||||
+ this.setAttribute("defaultButton", aNewDefault);
|
||||
+ newDefaultButton.setAttribute("default", "true");
|
||||
+ }
|
||||
+ else {
|
||||
+ } else {
|
||||
+ this.setAttribute("defaultButton", "none");
|
||||
+ if (aNewDefault != "none")
|
||||
+ dump("invalid new default button: " + aNewDefault + ", assuming: none\n");
|
||||
+ dump("invalid new default button: " + aNewDefault + ", assuming: none\n");
|
||||
+ }
|
||||
+ ]]>
|
||||
+ </body>
|
||||
@ -706,13 +636,13 @@ new file mode 100644
|
||||
+ <body>
|
||||
+ <![CDATA[
|
||||
+ var event = document.createEvent("Events");
|
||||
+ event.initEvent("dialog"+aDlgType, true, true);
|
||||
+ event.initEvent("dialog" + aDlgType, true, true);
|
||||
+
|
||||
+ // handle dom event handlers
|
||||
+ var noCancel = this.dispatchEvent(event);
|
||||
+
|
||||
+ // handle any xml attribute event handlers
|
||||
+ var handler = this.getAttribute("ondialog"+aDlgType);
|
||||
+ var handler = this.getAttribute("ondialog" + aDlgType);
|
||||
+ if (handler != "") {
|
||||
+ var fn = new Function("event", handler);
|
||||
+ var returned = fn(event);
|
||||
@ -776,7 +706,7 @@ diff --git a/toolkit/content/widgets/preferences-kde.xml b/toolkit/content/widge
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/toolkit/content/widgets/preferences-kde.xml
|
||||
@@ -0,0 +1,1411 @@
|
||||
@@ -0,0 +1,1380 @@
|
||||
+<?xml version="1.0"?>
|
||||
+
|
||||
+<!DOCTYPE bindings [
|
||||
@ -853,8 +783,7 @@ new file mode 100644
|
||||
+ var event = document.createEvent("Events");
|
||||
+ event.initEvent("change", true, true);
|
||||
+ aPreference.dispatchEvent(event);
|
||||
+ }
|
||||
+ catch (e) {
|
||||
+ } catch (e) {
|
||||
+ Components.utils.reportError(e);
|
||||
+ }
|
||||
+ ]]>
|
||||
@ -907,7 +836,7 @@ new file mode 100644
|
||||
+ return;
|
||||
+
|
||||
+ this.preferences.rootBranchInternal
|
||||
+ .addObserver(this.name, this.preferences, false);
|
||||
+ .addObserver(this.name, this.preferences);
|
||||
+ // In non-instant apply mode, we must try and use the last saved state
|
||||
+ // from any previous opens of a child dialog instead of the value from
|
||||
+ // preferences, to pick up any edits a user may have made.
|
||||
@ -933,8 +862,7 @@ new file mode 100644
|
||||
+
|
||||
+ // Don't use the value setter here, we don't want updateElements to be prematurely fired.
|
||||
+ this._value = preference ? preference.value : this.valueFromPreferences;
|
||||
+ }
|
||||
+ else
|
||||
+ } else
|
||||
+ this._value = this.valueFromPreferences;
|
||||
+ this.preferences._constructAfterChildren();
|
||||
+ ]]>
|
||||
@ -960,9 +888,9 @@ new file mode 100644
|
||||
+
|
||||
+ this.preferences.rootBranchInternal
|
||||
+ .removeObserver(this.name, this.preferences);
|
||||
+ this.setAttribute('name', val);
|
||||
+ this.setAttribute("name", val);
|
||||
+ this.preferences.rootBranchInternal
|
||||
+ .addObserver(val, this.preferences, false);
|
||||
+ .addObserver(val, this.preferences);
|
||||
+
|
||||
+ return val;
|
||||
+ </setter>
|
||||
@ -1118,13 +1046,9 @@ new file mode 100644
|
||||
+ .data;
|
||||
+ case "string":
|
||||
+ case "unichar":
|
||||
+ return this._branch
|
||||
+ .getComplexValue(this.name, Components.interfaces.nsISupportsString)
|
||||
+ .data;
|
||||
+ return this._branch.getStringPref(this.name);
|
||||
+ case "fontname":
|
||||
+ var family = this._branch
|
||||
+ .getComplexValue(this.name, Components.interfaces.nsISupportsString)
|
||||
+ .data;
|
||||
+ var family = this._branch.getStringPref(this.name);
|
||||
+ var fontEnumerator = Components.classes["@mozilla.org/gfx/fontenumerator;1"]
|
||||
+ .createInstance(Components.interfaces.nsIFontEnumerator);
|
||||
+ return fontEnumerator.getStandardFamilyName(family);
|
||||
@ -1135,8 +1059,7 @@ new file mode 100644
|
||||
+ default:
|
||||
+ this._reportUnknownType();
|
||||
+ }
|
||||
+ }
|
||||
+ catch (e) { }
|
||||
+ } catch (e) { }
|
||||
+ return null;
|
||||
+ ]]>
|
||||
+ </getter>
|
||||
@ -1170,11 +1093,7 @@ new file mode 100644
|
||||
+ case "string":
|
||||
+ case "unichar":
|
||||
+ case "fontname":
|
||||
+ var iss = Components.classes["@mozilla.org/supports-string;1"]
|
||||
+ .createInstance(Components.interfaces.nsISupportsString);
|
||||
+ iss.data = val;
|
||||
+ this.preferences.rootBranch
|
||||
+ .setComplexValue(this.name, Components.interfaces.nsISupportsString, iss);
|
||||
+ this.preferences.rootBranch.setStringPref(this.name, val);
|
||||
+ break;
|
||||
+ case "file":
|
||||
+ var lf;
|
||||
@ -1184,8 +1103,7 @@ new file mode 100644
|
||||
+ lf.persistentDescriptor = val;
|
||||
+ if (!lf.exists())
|
||||
+ lf.initWithPath(val);
|
||||
+ }
|
||||
+ else
|
||||
+ } else
|
||||
+ lf = val.QueryInterface(Components.interfaces.nsILocalFile);
|
||||
+ this.preferences.rootBranch
|
||||
+ .setComplexValue(this.name, Components.interfaces.nsILocalFile, lf);
|
||||
@ -1216,11 +1134,10 @@ new file mode 100644
|
||||
+ try {
|
||||
+ var event = document.createEvent("Events");
|
||||
+ event.initEvent("syncfrompreference", true, true);
|
||||
+ var f = new Function ("event",
|
||||
+ aElement.getAttribute("onsyncfrompreference"));
|
||||
+ var f = new Function("event",
|
||||
+ aElement.getAttribute("onsyncfrompreference"));
|
||||
+ rv = f.call(aElement, event);
|
||||
+ }
|
||||
+ catch (e) {
|
||||
+ } catch (e) {
|
||||
+ Components.utils.reportError(e);
|
||||
+ }
|
||||
+ }
|
||||
@ -1255,8 +1172,7 @@ new file mode 100644
|
||||
+ // of the input event handler.
|
||||
+ if (aElement.value !== val)
|
||||
+ setValue(aElement, "value", val);
|
||||
+ }
|
||||
+ else
|
||||
+ } else
|
||||
+ setValue(aElement, "value", val);
|
||||
+ ]]>
|
||||
+ </body>
|
||||
@ -1271,13 +1187,12 @@ new file mode 100644
|
||||
+ try {
|
||||
+ var event = document.createEvent("Events");
|
||||
+ event.initEvent("synctopreference", true, true);
|
||||
+ var f = new Function ("event",
|
||||
+ aElement.getAttribute("onsynctopreference"));
|
||||
+ var f = new Function("event",
|
||||
+ aElement.getAttribute("onsynctopreference"));
|
||||
+ var rv = f.call(aElement, event);
|
||||
+ if (rv !== undefined)
|
||||
+ return rv;
|
||||
+ }
|
||||
+ catch (e) {
|
||||
+ } catch (e) {
|
||||
+ Components.utils.reportError(e);
|
||||
+ }
|
||||
+ }
|
||||
@ -1423,7 +1338,7 @@ new file mode 100644
|
||||
+ acceptButton.disabled = true;
|
||||
+ } else {
|
||||
+ // morph the Cancel button into the Close button
|
||||
+ cancelButton.setAttribute ("icon", "close");
|
||||
+ cancelButton.setAttribute("icon", "close");
|
||||
+ cancelButton.label = docElt.getAttribute("closebuttonlabel");
|
||||
+ cancelButton.accesskey = docElt.getAttribute("closebuttonaccesskey");
|
||||
+ }
|
||||
@ -1444,8 +1359,7 @@ new file mode 100644
|
||||
+ if ("arguments" in window && window.arguments[0] && document.getElementById(window.arguments[0]) && document.getElementById(window.arguments[0]).nodeName == "prefpane") {
|
||||
+ paneToLoad = document.getElementById(window.arguments[0]);
|
||||
+ this.lastSelected = paneToLoad.id;
|
||||
+ }
|
||||
+ else if (lastPane)
|
||||
+ } else if (lastPane)
|
||||
+ paneToLoad = lastPane;
|
||||
+ else
|
||||
+ paneToLoad = panes[0];
|
||||
@ -1542,14 +1456,12 @@ new file mode 100644
|
||||
+
|
||||
+ this._selector.selectedItem = document.getAnonymousElementByAttribute(this, "pane", aPaneElement.id);
|
||||
+ if (!aPaneElement.loaded) {
|
||||
+ let OverlayLoadObserver = function(aPane)
|
||||
+ {
|
||||
+ let OverlayLoadObserver = function(aPane) {
|
||||
+ this._pane = aPane;
|
||||
+ }
|
||||
+ OverlayLoadObserver.prototype = {
|
||||
+ _outer: this,
|
||||
+ observe: function (aSubject, aTopic, aData)
|
||||
+ {
|
||||
+ observe(aSubject, aTopic, aData) {
|
||||
+ this._pane.loaded = true;
|
||||
+ this._outer._fireEvent("paneload", this._pane);
|
||||
+ this._outer._selectPane(this._pane);
|
||||
@ -1558,8 +1470,7 @@ new file mode 100644
|
||||
+
|
||||
+ var obs = new OverlayLoadObserver(aPaneElement);
|
||||
+ document.loadOverlay(aPaneElement.src, obs);
|
||||
+ }
|
||||
+ else
|
||||
+ } else
|
||||
+ this._selectPane(aPaneElement);
|
||||
+ ]]>
|
||||
+ </body>
|
||||
@ -1576,14 +1487,13 @@ new file mode 100644
|
||||
+ event.initEvent(aEventName, true, true);
|
||||
+ var cancel = !aTarget.dispatchEvent(event);
|
||||
+ if (aTarget.hasAttribute("on" + aEventName)) {
|
||||
+ var fn = new Function ("event", aTarget.getAttribute("on" + aEventName));
|
||||
+ var fn = new Function("event", aTarget.getAttribute("on" + aEventName));
|
||||
+ var rv = fn.call(aTarget, event);
|
||||
+ if (rv == false)
|
||||
+ cancel = true;
|
||||
+ }
|
||||
+ return !cancel;
|
||||
+ }
|
||||
+ catch (e) {
|
||||
+ } catch (e) {
|
||||
+ Components.utils.reportError(e);
|
||||
+ }
|
||||
+ return false;
|
||||
@ -1637,11 +1547,10 @@ new file mode 100644
|
||||
+ if (this._shouldAnimate && oldPane.id != aPaneElement.id) {
|
||||
+ aPaneElement.style.opacity = 0.0;
|
||||
+ this.animate(oldPane, aPaneElement);
|
||||
+ }
|
||||
+ else if (!this._shouldAnimate && prefpanes.length > 1) {
|
||||
+ var targetHeight = parseInt(window.getComputedStyle(this._paneDeckContainer, "").height);
|
||||
+ var verticalPadding = parseInt(window.getComputedStyle(aPaneElement, "").paddingTop);
|
||||
+ verticalPadding += parseInt(window.getComputedStyle(aPaneElement, "").paddingBottom);
|
||||
+ } else if (!this._shouldAnimate && prefpanes.length > 1) {
|
||||
+ var targetHeight = parseInt(window.getComputedStyle(this._paneDeckContainer).height);
|
||||
+ var verticalPadding = parseInt(window.getComputedStyle(aPaneElement).paddingTop);
|
||||
+ verticalPadding += parseInt(window.getComputedStyle(aPaneElement).paddingBottom);
|
||||
+ if (aPaneElement.contentHeight > targetHeight - verticalPadding) {
|
||||
+ // To workaround the bottom border of a groupbox from being
|
||||
+ // cutoff an hbox with a class of bottomBox may enclose it.
|
||||
@ -1650,7 +1559,7 @@ new file mode 100644
|
||||
+ var bottomPadding = 0;
|
||||
+ var bottomBox = aPaneElement.getElementsByAttribute("class", "bottomBox")[0];
|
||||
+ if (bottomBox)
|
||||
+ bottomPadding = parseInt(window.getComputedStyle(bottomBox, "").paddingBottom);
|
||||
+ bottomPadding = parseInt(window.getComputedStyle(bottomBox).paddingBottom);
|
||||
+ window.innerHeight += bottomPadding + verticalPadding + aPaneElement.contentHeight - targetHeight;
|
||||
+ }
|
||||
+
|
||||
@ -1672,12 +1581,8 @@ new file mode 100644
|
||||
+ <![CDATA[
|
||||
+ var psvc = Components.classes["@mozilla.org/preferences-service;1"]
|
||||
+ .getService(Components.interfaces.nsIPrefBranch);
|
||||
+ var animate = /Mac/.test(navigator.platform);
|
||||
+ try {
|
||||
+ animate = psvc.getBoolPref("browser.preferences.animateFadeIn");
|
||||
+ }
|
||||
+ catch (e) { }
|
||||
+ return animate;
|
||||
+ return psvc.getBoolPref("browser.preferences.animateFadeIn",
|
||||
+ /Mac/.test(navigator.platform));
|
||||
+ ]]>
|
||||
+ </getter>
|
||||
+ </property>
|
||||
@ -1729,14 +1634,13 @@ new file mode 100644
|
||||
+ if (increment != 0) {
|
||||
+ window.innerHeight += increment;
|
||||
+ this._currentHeight += increment;
|
||||
+ }
|
||||
+ else {
|
||||
+ } else {
|
||||
+ aTimer.cancel();
|
||||
+ this._setUpFadeTimer();
|
||||
+ }
|
||||
+ } else if (aTimer == this._fadeTimer) {
|
||||
+ var elt = document.getElementById(this.lastSelected);
|
||||
+ var newOpacity = parseFloat(window.getComputedStyle(elt, "").opacity) + this._fadeIncrement;
|
||||
+ var newOpacity = parseFloat(window.getComputedStyle(elt).opacity) + this._fadeIncrement;
|
||||
+ if (newOpacity < 1.0)
|
||||
+ elt.style.opacity = newOpacity;
|
||||
+ else {
|
||||
@ -1825,8 +1729,7 @@ new file mode 100644
|
||||
+ if ("initWithParams" in win)
|
||||
+ win.initWithParams(aParams);
|
||||
+ win.focus();
|
||||
+ }
|
||||
+ else {
|
||||
+ } else {
|
||||
+ var features = "resizable,dialog=no,centerscreen" + (aFeatures != "" ? ("," + aFeatures) : "");
|
||||
+ var parentWindow = (this.instantApply || !window.opener || window.opener.closed) ? window : window.opener;
|
||||
+ win = parentWindow.openDialog(aURL, "_blank", features, aParams);
|
||||
@ -1847,15 +1750,12 @@ new file mode 100644
|
||||
+ .getService(Components.interfaces.nsIScriptSecurityManager);
|
||||
+ if (this.type == "child" && window.opener &&
|
||||
+ secMan.isSystemPrincipal(window.opener.document.nodePrincipal)) {
|
||||
+ let psvc = Components.classes["@mozilla.org/preferences-service;1"]
|
||||
+ .getService(Components.interfaces.nsIPrefBranch);
|
||||
+ var pdocEl = window.opener.document.documentElement;
|
||||
+ if (pdocEl.instantApply) {
|
||||
+ let panes = this.preferencePanes;
|
||||
+ for (let i = 0; i < panes.length; ++i)
|
||||
+ panes[i].writePreferences(true);
|
||||
+ }
|
||||
+ else {
|
||||
+ } else {
|
||||
+ // Clone all the preferences elements from the child document and
|
||||
+ // insert them into the pane collection of the parent.
|
||||
+ var pdoc = window.opener.document;
|
||||
@ -1898,8 +1798,7 @@ new file mode 100644
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ else {
|
||||
+ } else {
|
||||
+ let panes = this.preferencePanes;
|
||||
+ for (var i = 0; i < panes.length; ++i)
|
||||
+ panes[i].writePreferences(false);
|
||||
@ -2037,7 +1936,8 @@ new file mode 100644
|
||||
+ while (temp && temp.nodeType == Node.ELEMENT_NODE &&
|
||||
+ !temp.hasAttribute("preference"))
|
||||
+ temp = temp.parentNode;
|
||||
+ return temp.nodeType == Node.ELEMENT_NODE ? temp : aStartElement;
|
||||
+ return temp && temp.nodeType == Node.ELEMENT_NODE ?
|
||||
+ temp : aStartElement;
|
||||
+ ]]>
|
||||
+ </body>
|
||||
+ </method>
|
||||
@ -2108,9 +2008,9 @@ new file mode 100644
|
||||
+
|
||||
+ <property name="contentHeight">
|
||||
+ <getter>
|
||||
+ var targetHeight = parseInt(window.getComputedStyle(this._content, "").height);
|
||||
+ targetHeight += parseInt(window.getComputedStyle(this._content, "").marginTop);
|
||||
+ targetHeight += parseInt(window.getComputedStyle(this._content, "").marginBottom);
|
||||
+ var targetHeight = parseInt(window.getComputedStyle(this._content).height);
|
||||
+ targetHeight += parseInt(window.getComputedStyle(this._content).marginTop);
|
||||
+ targetHeight += parseInt(window.getComputedStyle(this._content).marginBottom);
|
||||
+ return targetHeight;
|
||||
+ </getter>
|
||||
+ </property>
|
||||
@ -2150,8 +2050,7 @@ new file mode 100644
|
||||
+ try {
|
||||
+ var preference = this.preferenceForElement(elements[i]);
|
||||
+ preference.setElementValue(elements[i]);
|
||||
+ }
|
||||
+ catch (e) {
|
||||
+ } catch (e) {
|
||||
+ dump("*** No preference found for " + elements[i].getAttribute("preference") + "\n");
|
||||
+ }
|
||||
+ }
|
||||
@ -2191,7 +2090,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
|
||||
@@ -627,17 +627,17 @@ nsUnknownContentTypeDialog.prototype = {
|
||||
@@ -625,17 +625,17 @@ nsUnknownContentTypeDialog.prototype = {
|
||||
else
|
||||
typeString = mimeInfo.MIMEType;
|
||||
}
|
||||
@ -2210,7 +2109,7 @@ diff --git a/toolkit/mozapps/downloads/nsHelperAppDlg.js b/toolkit/mozapps/downl
|
||||
},
|
||||
|
||||
// Returns true if opening the default application makes sense.
|
||||
@@ -801,17 +801,17 @@ nsUnknownContentTypeDialog.prototype = {
|
||||
@@ -799,17 +799,17 @@ nsUnknownContentTypeDialog.prototype = {
|
||||
switch (this.dialogElement("openHandler").selectedIndex) {
|
||||
case 0:
|
||||
// No app need be specified in this case.
|
||||
@ -2229,7 +2128,7 @@ diff --git a/toolkit/mozapps/downloads/nsHelperAppDlg.js b/toolkit/mozapps/downl
|
||||
this.mDialog.document.documentElement.getButton("accept").disabled = !ok;
|
||||
},
|
||||
|
||||
@@ -1068,30 +1068,56 @@ nsUnknownContentTypeDialog.prototype = {
|
||||
@@ -1066,30 +1066,56 @@ nsUnknownContentTypeDialog.prototype = {
|
||||
params.handlerApp.executable &&
|
||||
params.handlerApp.executable.isFile()) {
|
||||
// Remember the file they chose to run.
|
||||
@ -2396,8 +2295,8 @@ 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
|
||||
@@ -40,17 +40,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'co
|
||||
'updaterfileutils_osx.mm',
|
||||
@@ -61,17 +61,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'co
|
||||
'../components/printingui/mac',
|
||||
]
|
||||
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'uikit':
|
||||
UNIFIED_SOURCES += [
|
||||
@ -2841,7 +2740,7 @@ diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build
|
||||
'android/nsExternalSharingAppService.cpp',
|
||||
'android/nsExternalURLHandlerService.cpp',
|
||||
'android/nsMIMEInfoAndroid.cpp',
|
||||
@@ -123,16 +125,17 @@ include('/ipc/chromium/chromium-config.m
|
||||
@@ -125,16 +127,17 @@ include('/ipc/chromium/chromium-config.m
|
||||
|
||||
FINAL_LIBRARY = 'xul'
|
||||
|
||||
@ -3200,7 +3099,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
|
||||
#include "nsXPIDLString.h"
|
||||
#include "nsIURL.h"
|
||||
#include "nsIFileStreams.h"
|
||||
@@ -1146,26 +1146,26 @@ nsresult nsOSHelperAppService::OSProtoco
|
||||
@@ -1143,26 +1143,26 @@ nsresult nsOSHelperAppService::OSProtoco
|
||||
ContentAction::Action::defaultActionForScheme(QString(aProtocolScheme) + ':');
|
||||
|
||||
if (action.isValid())
|
||||
@ -3229,7 +3128,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
|
||||
|
||||
nsresult nsOSHelperAppService::GetFileTokenForPath(const char16_t * platformAppPath, nsIFile ** aFile)
|
||||
{
|
||||
@@ -1252,17 +1252,17 @@ nsOSHelperAppService::GetFromExtension(c
|
||||
@@ -1249,17 +1249,17 @@ nsOSHelperAppService::GetFromExtension(c
|
||||
mime_types_description,
|
||||
true);
|
||||
|
||||
@ -3248,7 +3147,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
|
||||
|
||||
rv = LookUpTypeAndDescription(NS_ConvertUTF8toUTF16(aFileExt),
|
||||
majorType,
|
||||
@@ -1373,17 +1373,17 @@ nsOSHelperAppService::GetFromType(const
|
||||
@@ -1370,17 +1370,17 @@ nsOSHelperAppService::GetFromType(const
|
||||
nsAutoString extensions, mime_types_description;
|
||||
LookUpExtensionsAndDescription(majorType,
|
||||
minorType,
|
||||
@ -3270,7 +3169,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
|
||||
diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build
|
||||
--- a/widget/gtk/moz.build
|
||||
+++ b/widget/gtk/moz.build
|
||||
@@ -101,16 +101,17 @@ else:
|
||||
@@ -109,16 +109,17 @@ else:
|
||||
include('/ipc/chromium/chromium-config.mozbuild')
|
||||
|
||||
FINAL_LIBRARY = 'xul'
|
||||
@ -3281,13 +3180,13 @@ diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build
|
||||
'/other-licenses/atk-1.0',
|
||||
+ '/toolkit/xre',
|
||||
'/widget',
|
||||
'/widget/headless',
|
||||
]
|
||||
|
||||
if CONFIG['MOZ_X11']:
|
||||
LOCAL_INCLUDES += [
|
||||
'/widget/x11',
|
||||
]
|
||||
|
||||
diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
|
||||
--- a/widget/gtk/nsFilePicker.cpp
|
||||
+++ b/widget/gtk/nsFilePicker.cpp
|
||||
@ -3645,7 +3544,7 @@ diff --git a/widget/gtk/nsFilePicker.h b/widget/gtk/nsFilePicker.h
|
||||
diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestParser.cpp
|
||||
--- a/xpcom/components/ManifestParser.cpp
|
||||
+++ b/xpcom/components/ManifestParser.cpp
|
||||
@@ -32,16 +32,17 @@
|
||||
@@ -33,16 +33,17 @@
|
||||
#include "nsTextFormatter.h"
|
||||
#include "nsVersionComparator.h"
|
||||
#include "nsXPCOMCIDInternal.h"
|
||||
@ -3663,7 +3562,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
|
||||
const char* directive;
|
||||
int argc;
|
||||
|
||||
@@ -472,16 +473,17 @@ ParseManifest(NSLocationType aType, File
|
||||
@@ -466,16 +467,17 @@ ParseManifest(NSLocationType aType, File
|
||||
NS_NAMED_LITERAL_STRING(kRemoteEnabled, "remoteenabled");
|
||||
NS_NAMED_LITERAL_STRING(kRemoteRequired, "remoterequired");
|
||||
NS_NAMED_LITERAL_STRING(kApplication, "application");
|
||||
@ -3681,7 +3580,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
|
||||
NS_NAMED_LITERAL_STRING(kMain, "main");
|
||||
NS_NAMED_LITERAL_STRING(kContent, "content");
|
||||
|
||||
@@ -532,44 +534,49 @@ ParseManifest(NSLocationType aType, File
|
||||
@@ -526,44 +528,49 @@ ParseManifest(NSLocationType aType, File
|
||||
CopyUTF8toUTF16(s, abi);
|
||||
abi.Insert(char16_t('_'), 0);
|
||||
abi.Insert(osTarget, 0);
|
||||
@ -3731,7 +3630,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
|
||||
process = kMain;
|
||||
}
|
||||
|
||||
@@ -672,25 +679,27 @@ ParseManifest(NSLocationType aType, File
|
||||
@@ -666,25 +673,27 @@ ParseManifest(NSLocationType aType, File
|
||||
TriState stOsVersion = eUnspecified;
|
||||
TriState stOs = eUnspecified;
|
||||
TriState stABI = eUnspecified;
|
||||
@ -3748,7 +3647,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
|
||||
NS_ConvertASCIItoUTF16 wtoken(token);
|
||||
|
||||
if (CheckStringFlag(kApplication, wtoken, appID, stApp) ||
|
||||
CheckStringFlag(kOs, wtoken, osTarget, stOs) ||
|
||||
CheckOsFlag(kOs, wtoken, osTarget, stOs) ||
|
||||
CheckStringFlag(kABI, wtoken, abi, stABI) ||
|
||||
+ CheckStringFlag(kDesktop, wtoken, desktop, stDesktop) ||
|
||||
CheckStringFlag(kProcess, wtoken, process, stProcess) ||
|
||||
@ -3759,7 +3658,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
|
||||
}
|
||||
|
||||
#if defined(MOZ_WIDGET_ANDROID)
|
||||
@@ -740,16 +749,17 @@ ParseManifest(NSLocationType aType, File
|
||||
@@ -729,16 +738,17 @@ ParseManifest(NSLocationType aType, File
|
||||
}
|
||||
|
||||
if (!ok ||
|
||||
@ -3815,7 +3714,7 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
|
||||
#include "prmem.h"
|
||||
#include "plbase64.h"
|
||||
|
||||
@@ -1948,42 +1949,52 @@ nsLocalFile::SetPersistentDescriptor(con
|
||||
@@ -1941,59 +1942,74 @@ nsLocalFile::SetPersistentDescriptor(con
|
||||
return InitWithNativePath(aPersistentDescriptor);
|
||||
#endif
|
||||
}
|
||||
@ -3839,22 +3738,32 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
|
||||
if (isDirectory) {
|
||||
- return giovfs->ShowURIForInput(mPath);
|
||||
+ url = mPath;
|
||||
} else if (NS_SUCCEEDED(giovfs->OrgFreedesktopFileManager1ShowItems(mPath))) {
|
||||
return NS_OK;
|
||||
} else {
|
||||
nsCOMPtr<nsIFile> parentDir;
|
||||
nsAutoCString dirPath;
|
||||
if (NS_FAILED(GetParent(getter_AddRefs(parentDir)))) {
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
if (NS_FAILED(parentDir->GetNativePath(dirPath))) {
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
- return giovfs->ShowURIForInput(dirPath);
|
||||
+ url = dirPath;
|
||||
}
|
||||
+
|
||||
if (NS_SUCCEEDED(giovfs->OrgFreedesktopFileManager1ShowItems(mPath))) {
|
||||
return NS_OK;
|
||||
}
|
||||
nsCOMPtr<nsIFile> parentDir;
|
||||
nsAutoCString dirPath;
|
||||
if (NS_FAILED(GetParent(getter_AddRefs(parentDir)))) {
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
if (NS_FAILED(parentDir->GetNativePath(dirPath))) {
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
- return giovfs->ShowURIForInput(dirPath);
|
||||
+ url = dirPath;
|
||||
#elif defined(MOZ_WIDGET_COCOA)
|
||||
CFURLRef url;
|
||||
if (NS_SUCCEEDED(GetCFURL(&url))) {
|
||||
nsresult rv = CocoaFileUtils::RevealFileInFinder(url);
|
||||
::CFRelease(url);
|
||||
return rv;
|
||||
}
|
||||
return NS_ERROR_FAILURE;
|
||||
#else
|
||||
return NS_ERROR_FAILURE;
|
||||
#endif
|
||||
+ if(nsKDEUtils::kdeSupport()) {
|
||||
+ nsTArray<nsCString> command;
|
||||
+ command.AppendElement( NS_LITERAL_CSTRING("REVEAL") );
|
||||
@ -3866,17 +3775,6 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
|
||||
+ return NS_ERROR_FAILURE;
|
||||
+
|
||||
+ return giovfs->ShowURIForInput(url);
|
||||
#elif defined(MOZ_WIDGET_COCOA)
|
||||
CFURLRef url;
|
||||
if (NS_SUCCEEDED(GetCFURL(&url))) {
|
||||
nsresult rv = CocoaFileUtils::RevealFileInFinder(url);
|
||||
::CFRelease(url);
|
||||
return rv;
|
||||
}
|
||||
return NS_ERROR_FAILURE;
|
||||
@@ -1991,16 +2002,22 @@ nsLocalFile::Reveal()
|
||||
return NS_ERROR_FAILURE;
|
||||
#endif
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
|
@ -1,143 +0,0 @@
|
||||
From: Hans Petter Jansson <hpj@copyleft.no>
|
||||
Wolfgang Rosenauer <wr@rosenauer.org>
|
||||
Subject: use libnsssharedhelper if available at compile time
|
||||
(can be disabled by exporting MOZ_XRE_NO_NSSHELPER=1)
|
||||
References:
|
||||
|
||||
diff --git a/old-configure.in b/old-configure.in
|
||||
--- a/old-configure.in
|
||||
+++ b/old-configure.in
|
||||
@@ -5358,16 +5358,31 @@ esac
|
||||
|
||||
AC_SUBST(MOZ_TREE_CAIRO)
|
||||
AC_SUBST_LIST(MOZ_CAIRO_CFLAGS)
|
||||
AC_SUBST_LIST(MOZ_CAIRO_LIBS)
|
||||
AC_SUBST_LIST(MOZ_CAIRO_OSLIBS)
|
||||
AC_SUBST(MOZ_TREE_PIXMAN)
|
||||
|
||||
dnl ========================================================
|
||||
+dnl Check for nss-shared-helper
|
||||
+dnl ========================================================
|
||||
+
|
||||
+ PKG_CHECK_MODULES(NSSHELPER, nss-shared-helper,
|
||||
+ [MOZ_ENABLE_NSSHELPER=1],
|
||||
+ [MOZ_ENABLE_NSSHELPER=])
|
||||
+
|
||||
+if test "$MOZ_ENABLE_NSSHELPER"; then
|
||||
+ AC_DEFINE(MOZ_ENABLE_NSSHELPER)
|
||||
+fi
|
||||
+AC_SUBST(MOZ_ENABLE_NSSHELPER)
|
||||
+AC_SUBST_LIST(NSSHELPER_CFLAGS)
|
||||
+AC_SUBST_LIST(NSSHELPER_LIBS)
|
||||
+
|
||||
+dnl ========================================================
|
||||
dnl disable xul
|
||||
dnl ========================================================
|
||||
MOZ_ARG_DISABLE_BOOL(xul,
|
||||
[ --disable-xul Disable XUL],
|
||||
MOZ_XUL= )
|
||||
if test "$MOZ_XUL"; then
|
||||
AC_DEFINE(MOZ_XUL)
|
||||
else
|
||||
diff --git a/security/manager/ssl/moz.build b/security/manager/ssl/moz.build
|
||||
--- a/security/manager/ssl/moz.build
|
||||
+++ b/security/manager/ssl/moz.build
|
||||
@@ -160,16 +160,19 @@ if CONFIG['MOZ_XUL']:
|
||||
]
|
||||
|
||||
UNIFIED_SOURCES += [
|
||||
'md4.c',
|
||||
]
|
||||
|
||||
FINAL_LIBRARY = 'xul'
|
||||
|
||||
+CXXFLAGS += sorted(CONFIG['NSSHELPER_CFLAGS'])
|
||||
+OS_LIBS += sorted(CONFIG['NSSHELPER_LIBS'])
|
||||
+
|
||||
LOCAL_INCLUDES += [
|
||||
'/dom/base',
|
||||
'/dom/crypto',
|
||||
'/security/certverifier',
|
||||
'/security/pkix/include',
|
||||
]
|
||||
|
||||
LOCAL_INCLUDES += [
|
||||
diff --git a/security/manager/ssl/nsNSSComponent.cpp b/security/manager/ssl/nsNSSComponent.cpp
|
||||
--- a/security/manager/ssl/nsNSSComponent.cpp
|
||||
+++ b/security/manager/ssl/nsNSSComponent.cpp
|
||||
@@ -1,14 +1,21 @@
|
||||
/* -*- 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
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
+#ifdef MOZ_ENABLE_NSSHELPER
|
||||
+#pragma GCC visibility push(default)
|
||||
+#include <nss-shared-helper.h>
|
||||
+#pragma GCC visibility pop
|
||||
+#include "prenv.h"
|
||||
+#endif
|
||||
+
|
||||
#include "nsNSSComponent.h"
|
||||
|
||||
#include "ExtendedValidation.h"
|
||||
#include "NSSCertDBTrustDomain.h"
|
||||
#include "ScopedNSSTypes.h"
|
||||
#include "SharedSSLState.h"
|
||||
#include "cert.h"
|
||||
#include "certdb.h"
|
||||
@@ -1702,17 +1709,31 @@ nsNSSComponent::InitializeNSS()
|
||||
return rv;
|
||||
}
|
||||
}
|
||||
MOZ_LOG(gPIPNSSLog, LogLevel::Debug, ("inSafeMode: %u\n", inSafeMode));
|
||||
|
||||
if (!nocertdb && !profileStr.IsEmpty()) {
|
||||
// First try to initialize the NSS DB in read/write mode.
|
||||
// Only load PKCS11 modules if we're not in safe mode.
|
||||
+#ifdef MOZ_ENABLE_NSSHELPER
|
||||
+ if (PR_GetEnv("MOZ_XRE_NO_NSSHELPER")) {
|
||||
+ init_rv = ::mozilla::psm::InitializeNSS(profileStr.get(), false, !inSafeMode);
|
||||
+ } else {
|
||||
+ uint32_t flags = NSS_INIT_NOROOTINIT | NSS_INIT_OPTIMIZESPACE;
|
||||
+ init_rv = ::nsshelp_open_db ("Firefox", profileStr.get(), flags);
|
||||
+
|
||||
+ if (init_rv != SECSuccess) {
|
||||
+ MOZ_LOG(gPIPNSSLog, LogLevel::Debug, ("can not init NSS using nsshelp_open_db in %s\n", profileStr.get()));
|
||||
+ init_rv = ::mozilla::psm::InitializeNSS(profileStr.get(), false, !inSafeMode);
|
||||
+ }
|
||||
+ }
|
||||
+#else
|
||||
init_rv = ::mozilla::psm::InitializeNSS(profileStr.get(), false, !inSafeMode);
|
||||
+#endif
|
||||
// If that fails, attempt read-only mode.
|
||||
if (init_rv != SECSuccess) {
|
||||
MOZ_LOG(gPIPNSSLog, LogLevel::Debug, ("could not init NSS r/w in %s\n", profileStr.get()));
|
||||
init_rv = ::mozilla::psm::InitializeNSS(profileStr.get(), true, !inSafeMode);
|
||||
}
|
||||
if (init_rv != SECSuccess) {
|
||||
MOZ_LOG(gPIPNSSLog, LogLevel::Debug, ("could not init in r/o either\n"));
|
||||
}
|
||||
diff --git a/toolkit/library/moz.build b/toolkit/library/moz.build
|
||||
--- a/toolkit/library/moz.build
|
||||
+++ b/toolkit/library/moz.build
|
||||
@@ -220,16 +220,18 @@ OS_LIBS += CONFIG['MOZ_CAIRO_OSLIBS']
|
||||
OS_LIBS += CONFIG['MOZ_WEBRTC_X11_LIBS']
|
||||
|
||||
if CONFIG['SERVO_TARGET_DIR']:
|
||||
if CONFIG['_MSC_VER']:
|
||||
OS_LIBS += ['%s/geckoservo' % CONFIG['SERVO_TARGET_DIR']]
|
||||
else:
|
||||
OS_LIBS += ['-L%s' % CONFIG['SERVO_TARGET_DIR'], '-lgeckoservo']
|
||||
|
||||
+OS_LIBS += sorted(CONFIG['NSSHELPER_LIBS'])
|
||||
+
|
||||
if CONFIG['MOZ_SYSTEM_JPEG']:
|
||||
OS_LIBS += CONFIG['MOZ_JPEG_LIBS']
|
||||
|
||||
if CONFIG['MOZ_SYSTEM_PNG']:
|
||||
OS_LIBS += CONFIG['MOZ_PNG_LIBS']
|
||||
|
||||
if CONFIG['MOZ_SYSTEM_HUNSPELL']:
|
||||
OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
|
@ -1,8 +1,17 @@
|
||||
Index: mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
|
||||
===================================================================
|
||||
--- mozilla.orig/toolkit/crashreporter/google-breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
|
||||
+++ mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
|
||||
@@ -40,15 +40,15 @@ namespace google_breakpad {
|
||||
# HG changeset patch
|
||||
# User Wolfgang Rosenauer <wr@rosenauer.org>
|
||||
# Parent f6b8a48d89d77c7a3eb13fef234c618943306c2b
|
||||
Replace struct ucontext with ucontext_t
|
||||
|
||||
diff --git a/toolkit/crashreporter/breakpad-client/linux/dump_writer_common/ucontext_reader.cc b/toolkit/crashreporter/breakpad-client/linux/dump_writer_common/ucontext_reader.cc
|
||||
--- a/toolkit/crashreporter/breakpad-client/linux/dump_writer_common/ucontext_reader.cc
|
||||
+++ b/toolkit/crashreporter/breakpad-client/linux/dump_writer_common/ucontext_reader.cc
|
||||
@@ -35,25 +35,25 @@
|
||||
namespace google_breakpad {
|
||||
|
||||
// Minidump defines register structures which are different from the raw
|
||||
// structures which we get from the kernel. These are platform specific
|
||||
// functions to juggle the ucontext and user structures into minidump format.
|
||||
|
||||
#if defined(__i386__)
|
||||
|
||||
@ -21,7 +30,17 @@ Index: mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/dump_write
|
||||
const struct _libc_fpstate* fp) {
|
||||
const greg_t* regs = uc->uc_mcontext.gregs;
|
||||
|
||||
@@ -88,15 +88,15 @@ void UContextReader::FillCPUContext(RawC
|
||||
out->context_flags = MD_CONTEXT_X86_FULL |
|
||||
MD_CONTEXT_X86_FLOATING_POINT;
|
||||
|
||||
out->gs = regs[REG_GS];
|
||||
out->fs = regs[REG_FS];
|
||||
@@ -83,25 +83,25 @@ void UContextReader::FillCPUContext(RawC
|
||||
out->float_save.data_selector = fp->datasel;
|
||||
|
||||
// 8 registers * 10 bytes per register.
|
||||
my_memcpy(out->float_save.register_area, fp->_st, 10 * 8);
|
||||
}
|
||||
|
||||
#elif defined(__x86_64)
|
||||
|
||||
@ -40,7 +59,17 @@ Index: mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/dump_write
|
||||
const struct _libc_fpstate* fpregs) {
|
||||
const greg_t* regs = uc->uc_mcontext.gregs;
|
||||
|
||||
@@ -145,15 +145,15 @@ void UContextReader::FillCPUContext(RawC
|
||||
out->context_flags = MD_CONTEXT_AMD64_FULL;
|
||||
|
||||
out->cs = regs[REG_CSGSFS] & 0xffff;
|
||||
|
||||
out->fs = (regs[REG_CSGSFS] >> 32) & 0xffff;
|
||||
@@ -140,25 +140,25 @@ void UContextReader::FillCPUContext(RawC
|
||||
out->flt_save.mx_csr = fpregs->mxcsr;
|
||||
out->flt_save.mx_csr_mask = fpregs->mxcr_mask;
|
||||
my_memcpy(&out->flt_save.float_registers, &fpregs->_st, 8 * 16);
|
||||
my_memcpy(&out->flt_save.xmm_registers, &fpregs->_xmm, 16 * 16);
|
||||
}
|
||||
|
||||
#elif defined(__ARM_EABI__)
|
||||
|
||||
@ -59,7 +88,17 @@ Index: mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/dump_write
|
||||
out->context_flags = MD_CONTEXT_ARM_FULL;
|
||||
|
||||
out->iregs[0] = uc->uc_mcontext.arm_r0;
|
||||
@@ -184,15 +184,15 @@ void UContextReader::FillCPUContext(RawC
|
||||
out->iregs[1] = uc->uc_mcontext.arm_r1;
|
||||
out->iregs[2] = uc->uc_mcontext.arm_r2;
|
||||
out->iregs[3] = uc->uc_mcontext.arm_r3;
|
||||
out->iregs[4] = uc->uc_mcontext.arm_r4;
|
||||
out->iregs[5] = uc->uc_mcontext.arm_r5;
|
||||
@@ -179,25 +179,25 @@ void UContextReader::FillCPUContext(RawC
|
||||
// TODO: fix this after fixing ExceptionHandler
|
||||
out->float_save.fpscr = 0;
|
||||
my_memset(&out->float_save.regs, 0, sizeof(out->float_save.regs));
|
||||
my_memset(&out->float_save.extra, 0, sizeof(out->float_save.extra));
|
||||
}
|
||||
|
||||
#elif defined(__aarch64__)
|
||||
|
||||
@ -78,7 +117,17 @@ Index: mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/dump_write
|
||||
const struct fpsimd_context* fpregs) {
|
||||
out->context_flags = MD_CONTEXT_ARM64_FULL;
|
||||
|
||||
@@ -210,15 +210,15 @@ void UContextReader::FillCPUContext(RawC
|
||||
out->cpsr = static_cast<uint32_t>(uc->uc_mcontext.pstate);
|
||||
for (int i = 0; i < MD_CONTEXT_ARM64_REG_SP; ++i)
|
||||
out->iregs[i] = uc->uc_mcontext.regs[i];
|
||||
out->iregs[MD_CONTEXT_ARM64_REG_SP] = uc->uc_mcontext.sp;
|
||||
out->iregs[MD_CONTEXT_ARM64_REG_PC] = uc->uc_mcontext.pc;
|
||||
@@ -205,25 +205,25 @@ void UContextReader::FillCPUContext(RawC
|
||||
out->float_save.fpsr = fpregs->fpsr;
|
||||
out->float_save.fpcr = fpregs->fpcr;
|
||||
my_memcpy(&out->float_save.regs, &fpregs->vregs,
|
||||
MD_FLOATINGSAVEAREA_ARM64_FPR_COUNT * 16);
|
||||
}
|
||||
|
||||
#elif defined(__mips__)
|
||||
|
||||
@ -97,11 +146,20 @@ Index: mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/dump_write
|
||||
#if _MIPS_SIM == _ABI64
|
||||
out->context_flags = MD_CONTEXT_MIPS64_FULL;
|
||||
#elif _MIPS_SIM == _ABIO32
|
||||
Index: mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
|
||||
===================================================================
|
||||
--- mozilla.orig/toolkit/crashreporter/google-breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
|
||||
+++ mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
|
||||
@@ -41,21 +41,21 @@ namespace google_breakpad {
|
||||
out->context_flags = MD_CONTEXT_MIPS_FULL;
|
||||
#else
|
||||
#error "This mips ABI is currently not supported (n32)"
|
||||
#endif
|
||||
|
||||
diff --git a/toolkit/crashreporter/breakpad-client/linux/dump_writer_common/ucontext_reader.h b/toolkit/crashreporter/breakpad-client/linux/dump_writer_common/ucontext_reader.h
|
||||
--- a/toolkit/crashreporter/breakpad-client/linux/dump_writer_common/ucontext_reader.h
|
||||
+++ b/toolkit/crashreporter/breakpad-client/linux/dump_writer_common/ucontext_reader.h
|
||||
@@ -36,29 +36,29 @@
|
||||
#include "linux/dump_writer_common/raw_context_cpu.h"
|
||||
#include "common/memory.h"
|
||||
#include "google_breakpad/common/minidump_format.h"
|
||||
|
||||
namespace google_breakpad {
|
||||
|
||||
// Wraps platform-dependent implementations of accessors to ucontext structs.
|
||||
struct UContextReader {
|
||||
@ -128,11 +186,18 @@ Index: mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/dump_write
|
||||
#endif
|
||||
};
|
||||
|
||||
Index: mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/handler/exception_handler.cc
|
||||
===================================================================
|
||||
--- mozilla.orig/toolkit/crashreporter/google-breakpad/src/client/linux/handler/exception_handler.cc
|
||||
+++ mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/handler/exception_handler.cc
|
||||
@@ -439,9 +439,9 @@ bool ExceptionHandler::HandleSignal(int
|
||||
} // namespace google_breakpad
|
||||
|
||||
#endif // CLIENT_LINUX_DUMP_WRITER_COMMON_UCONTEXT_READER_H
|
||||
diff --git a/toolkit/crashreporter/breakpad-client/linux/handler/exception_handler.cc b/toolkit/crashreporter/breakpad-client/linux/handler/exception_handler.cc
|
||||
--- a/toolkit/crashreporter/breakpad-client/linux/handler/exception_handler.cc
|
||||
+++ b/toolkit/crashreporter/breakpad-client/linux/handler/exception_handler.cc
|
||||
@@ -434,30 +434,30 @@ bool ExceptionHandler::HandleSignal(int
|
||||
info->si_code == SI_TKILL;
|
||||
if (signal_trusted || (signal_pid_trusted && info->si_pid == getpid())) {
|
||||
sys_prctl(PR_SET_DUMPABLE, 1, 0, 0, 0);
|
||||
}
|
||||
|
||||
// Fill in all the holes in the struct to make Valgrind happy.
|
||||
memset(&g_crash_context_, 0, sizeof(g_crash_context_));
|
||||
memcpy(&g_crash_context_.siginfo, info, sizeof(siginfo_t));
|
||||
@ -144,7 +209,10 @@ Index: mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/handler/ex
|
||||
struct fpsimd_context* fp_ptr =
|
||||
(struct fpsimd_context*)&uc_ptr->uc_mcontext.__reserved;
|
||||
if (fp_ptr->head.magic == FPSIMD_MAGIC) {
|
||||
@@ -452,7 +452,7 @@ bool ExceptionHandler::HandleSignal(int
|
||||
memcpy(&g_crash_context_.float_state, fp_ptr,
|
||||
sizeof(g_crash_context_.float_state));
|
||||
}
|
||||
#elif !defined(__ARM_EABI__) && !defined(__mips__)
|
||||
// FP state is not part of user ABI on ARM Linux.
|
||||
// In case of MIPS Linux FP state is already part of struct ucontext
|
||||
// and 'float_state' is not a member of CrashContext.
|
||||
@ -153,7 +221,17 @@ Index: mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/handler/ex
|
||||
if (uc_ptr->uc_mcontext.fpregs) {
|
||||
memcpy(&g_crash_context_.float_state, uc_ptr->uc_mcontext.fpregs,
|
||||
sizeof(g_crash_context_.float_state));
|
||||
@@ -476,7 +476,7 @@ bool ExceptionHandler::SimulateSignalDel
|
||||
}
|
||||
#endif
|
||||
g_crash_context_.tid = syscall(__NR_gettid);
|
||||
if (crash_handler_ != NULL) {
|
||||
if (crash_handler_(&g_crash_context_, sizeof(g_crash_context_),
|
||||
@@ -471,17 +471,17 @@ bool ExceptionHandler::HandleSignal(int
|
||||
// This is a public interface to HandleSignal that allows the client to
|
||||
// generate a crash dump. This function may run in a compromised context.
|
||||
bool ExceptionHandler::SimulateSignalDelivery(int sig) {
|
||||
siginfo_t siginfo = {};
|
||||
// Mimic a trusted signal to allow tracing the process (see
|
||||
// ExceptionHandler::HandleSignal().
|
||||
siginfo.si_code = SI_USER;
|
||||
siginfo.si_pid = getpid();
|
||||
@ -162,11 +240,20 @@ Index: mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/handler/ex
|
||||
getcontext(&context);
|
||||
return HandleSignal(sig, &siginfo, &context);
|
||||
}
|
||||
Index: mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/handler/exception_handler.h
|
||||
===================================================================
|
||||
--- mozilla.orig/toolkit/crashreporter/google-breakpad/src/client/linux/handler/exception_handler.h
|
||||
+++ mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/handler/exception_handler.h
|
||||
@@ -191,7 +191,7 @@ class ExceptionHandler {
|
||||
|
||||
// This function may run in a compromised context: see the top of the file.
|
||||
bool ExceptionHandler::GenerateDump(CrashContext *context) {
|
||||
if (IsOutOfProcess())
|
||||
return crash_generation_client_->RequestDump(context, sizeof(*context));
|
||||
diff --git a/toolkit/crashreporter/breakpad-client/linux/handler/exception_handler.h b/toolkit/crashreporter/breakpad-client/linux/handler/exception_handler.h
|
||||
--- a/toolkit/crashreporter/breakpad-client/linux/handler/exception_handler.h
|
||||
+++ b/toolkit/crashreporter/breakpad-client/linux/handler/exception_handler.h
|
||||
@@ -186,17 +186,17 @@ class ExceptionHandler {
|
||||
MinidumpCallback callback,
|
||||
void* callback_context);
|
||||
|
||||
// This structure is passed to minidump_writer.h:WriteMinidump via an opaque
|
||||
// blob. It shouldn't be needed in any user code.
|
||||
struct CrashContext {
|
||||
siginfo_t siginfo;
|
||||
pid_t tid; // the crashing thread.
|
||||
@ -175,11 +262,20 @@ Index: mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/handler/ex
|
||||
#if !defined(__ARM_EABI__) && !defined(__mips__)
|
||||
// #ifdef this out because FP state is not part of user ABI for Linux ARM.
|
||||
// In case of MIPS Linux FP state is already part of struct
|
||||
Index: mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/microdump_writer/microdump_writer.cc
|
||||
===================================================================
|
||||
--- mozilla.orig/toolkit/crashreporter/google-breakpad/src/client/linux/microdump_writer/microdump_writer.cc
|
||||
+++ mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/microdump_writer/microdump_writer.cc
|
||||
@@ -571,7 +571,7 @@ class MicrodumpWriter {
|
||||
// ucontext so 'float_state' is not required.
|
||||
fpstate_t float_state;
|
||||
#endif
|
||||
};
|
||||
|
||||
diff --git a/toolkit/crashreporter/breakpad-client/linux/microdump_writer/microdump_writer.cc b/toolkit/crashreporter/breakpad-client/linux/microdump_writer/microdump_writer.cc
|
||||
--- a/toolkit/crashreporter/breakpad-client/linux/microdump_writer/microdump_writer.cc
|
||||
+++ b/toolkit/crashreporter/breakpad-client/linux/microdump_writer/microdump_writer.cc
|
||||
@@ -566,17 +566,17 @@ class MicrodumpWriter {
|
||||
++iter) {
|
||||
DumpModule(iter->first, false, 0, iter->second);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void* Alloc(unsigned bytes) { return dumper_->allocator()->Alloc(bytes); }
|
||||
|
||||
@ -188,11 +284,20 @@ Index: mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/microdump_
|
||||
#if !defined(__ARM_EABI__) && !defined(__mips__)
|
||||
const google_breakpad::fpstate_t* const float_state_;
|
||||
#endif
|
||||
Index: mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/minidump_writer/minidump_writer.cc
|
||||
===================================================================
|
||||
--- mozilla.orig/toolkit/crashreporter/google-breakpad/src/client/linux/minidump_writer/minidump_writer.cc
|
||||
+++ mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/minidump_writer/minidump_writer.cc
|
||||
@@ -1247,7 +1247,7 @@ class MinidumpWriter {
|
||||
LinuxDumper* dumper_;
|
||||
const MappingList& mapping_list_;
|
||||
const MicrodumpExtraInfo microdump_extra_info_;
|
||||
char* log_line_;
|
||||
};
|
||||
diff --git a/toolkit/crashreporter/breakpad-client/linux/minidump_writer/minidump_writer.cc b/toolkit/crashreporter/breakpad-client/linux/minidump_writer/minidump_writer.cc
|
||||
--- a/toolkit/crashreporter/breakpad-client/linux/minidump_writer/minidump_writer.cc
|
||||
+++ b/toolkit/crashreporter/breakpad-client/linux/minidump_writer/minidump_writer.cc
|
||||
@@ -1242,17 +1242,17 @@ class MinidumpWriter {
|
||||
return false;
|
||||
return WriteFile(result, buf);
|
||||
}
|
||||
|
||||
// Only one of the 2 member variables below should be set to a valid value.
|
||||
const int fd_; // File descriptor where the minidum should be written.
|
||||
const char* path_; // Path to the file where the minidum should be written.
|
||||
|
||||
@ -201,3 +306,8 @@ Index: mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/minidump_w
|
||||
#if !defined(__ARM_EABI__) && !defined(__mips__)
|
||||
const google_breakpad::fpstate_t* const float_state_; // ditto
|
||||
#endif
|
||||
LinuxDumper* dumper_;
|
||||
MinidumpFileWriter minidump_writer_;
|
||||
off_t minidump_size_limit_;
|
||||
MDLocationDescriptor crashing_thread_context_;
|
||||
// Blocks of memory written to the dump. These are all currently
|
||||
|
@ -102,6 +102,10 @@ fi
|
||||
# disable Gnome crash dialog (doesn't make sense anyway)
|
||||
export GNOME_DISABLE_CRASH_DIALOG=1
|
||||
|
||||
# enable xinput2 (boo#1032003)
|
||||
# breaks too many things right now (boo#1053959)
|
||||
#export MOZ_USE_XINPUT2=1
|
||||
|
||||
moz_debug=0
|
||||
script_args=""
|
||||
pass_arg_count=0
|
||||
|
@ -1,2 +1,2 @@
|
||||
REV=20a1a6ad46d5
|
||||
REPO=http://hg.mozilla.org/releases/mozilla-esr52
|
||||
REV=10a244c0f835
|
||||
REPO=http://hg.mozilla.org/releases/mozilla-release
|
||||
|
Loading…
Reference in New Issue
Block a user