forked from pool/MozillaFirefox
Accepting request 293906 from mozilla:Factory
- update to Firefox 37.0 (bnc#925368) * Heartbeat user rating system * Yandex set as default search provider for the Turkish locale * Bing search now uses HTTPS for secure searching * Improved protection against site impersonation via OneCRL centralized certificate revocation * Opportunistically encrypt HTTP traffic where the server supports HTTP/2 AltSvc * some more behaviour changes for TLS security fixes: * MFSA 2015-30/CVE-2015-0814/CVE-2015-0815 Miscellaneous memory safety hazards * MFSA 2015-31/CVE-2015-0813 (bmo#1106596)) Use-after-free when using the Fluendo MP3 GStreamer plugin * MFSA 2015-32/CVE-2015-0812 (bmo#1128126) Add-on lightweight theme installation approval bypassed through MITM attack * MFSA 2015-33/CVE-2015-0816 (bmo#1144991) resource:// documents can load privileged pages * MFSA-2015-34/CVE-2015-0811 (bmo#1132468) Out of bounds read in QCMS library * MFSA-2015-35/CVE-2015-0810 (bmo#1125013) Cursor clickjacking with flash and images (OS X only) * MFSA-2015-36/CVE-2015-0808 (bmo#1109552) Incorrect memory management for simple-type arrays in WebRTC * MFSA-2015-37/CVE-2015-0807 (bmo#1111834) CORS requests should not follow 30x redirections after preflight * MFSA-2015-38/CVE-2015-0805/CVE-2015-0806 (bmo#1135511, bmo#1099437) Memory corruption crashes in Off Main Thread Compositing * MFSA-2015-39/CVE-2015-0803/CVE-2015-0804 (bmo#1134560) OBS-URL: https://build.opensuse.org/request/show/293906 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/MozillaFirefox?expand=0&rev=209
This commit is contained in:
commit
9bbd9c54af
@ -1,3 +1,57 @@
|
||||
-------------------------------------------------------------------
|
||||
Sat Mar 28 09:46:48 UTC 2015 - wr@rosenauer.org
|
||||
|
||||
- update to Firefox 37.0 (bnc#925368)
|
||||
* Heartbeat user rating system
|
||||
* Yandex set as default search provider for the Turkish locale
|
||||
* Bing search now uses HTTPS for secure searching
|
||||
* Improved protection against site impersonation via OneCRL
|
||||
centralized certificate revocation
|
||||
* Opportunistically encrypt HTTP traffic where the server supports
|
||||
HTTP/2 AltSvc
|
||||
* some more behaviour changes for TLS
|
||||
security fixes:
|
||||
* MFSA 2015-30/CVE-2015-0814/CVE-2015-0815
|
||||
Miscellaneous memory safety hazards
|
||||
* MFSA 2015-31/CVE-2015-0813 (bmo#1106596))
|
||||
Use-after-free when using the Fluendo MP3 GStreamer plugin
|
||||
* MFSA 2015-32/CVE-2015-0812 (bmo#1128126)
|
||||
Add-on lightweight theme installation approval bypassed through
|
||||
MITM attack
|
||||
* MFSA 2015-33/CVE-2015-0816 (bmo#1144991)
|
||||
resource:// documents can load privileged pages
|
||||
* MFSA-2015-34/CVE-2015-0811 (bmo#1132468)
|
||||
Out of bounds read in QCMS library
|
||||
* MFSA-2015-35/CVE-2015-0810 (bmo#1125013)
|
||||
Cursor clickjacking with flash and images (OS X only)
|
||||
* MFSA-2015-36/CVE-2015-0808 (bmo#1109552)
|
||||
Incorrect memory management for simple-type arrays in WebRTC
|
||||
* MFSA-2015-37/CVE-2015-0807 (bmo#1111834)
|
||||
CORS requests should not follow 30x redirections after preflight
|
||||
* MFSA-2015-38/CVE-2015-0805/CVE-2015-0806 (bmo#1135511, bmo#1099437)
|
||||
Memory corruption crashes in Off Main Thread Compositing
|
||||
* MFSA-2015-39/CVE-2015-0803/CVE-2015-0804 (bmo#1134560)
|
||||
Use-after-free due to type confusion flaws
|
||||
* MFSA-2015-40/CVE-2015-0801 (bmo#1146339)
|
||||
Same-origin bypass through anchor navigation
|
||||
* MFSA-2015-41/CVE-2015-0800/CVE-2012-2808
|
||||
PRNG weakness allows for DNS poisoning on Android (only)
|
||||
* MFSA-2015-42/CVE-2015-0802 (bmo#1124898)
|
||||
Windows can retain access to privileged content on navigation
|
||||
to unprivileged pages
|
||||
- removed obsolete patches
|
||||
* mozilla-bmo1088588.patch
|
||||
* mozilla-bmo1108834.patch
|
||||
- requires NSPR 4.10.8
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 24 15:35:24 UTC 2015 - dvaleev@suse.com
|
||||
|
||||
- Fix builds with skia on Power
|
||||
mozilla-skia-be-le.patch (patch from #bmo1136958)
|
||||
mozilla-bmo1108834.patch
|
||||
mozilla-bmo1005535.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Mar 21 09:03:12 UTC 2015 - wr@rosenauer.org
|
||||
|
||||
|
@ -18,10 +18,10 @@
|
||||
|
||||
|
||||
# changed with every update
|
||||
%define major 36
|
||||
%define mainver %major.0.4
|
||||
%define major 37
|
||||
%define mainver %major.0
|
||||
%define update_channel release
|
||||
%define releasedate 2015032000
|
||||
%define releasedate 2015032800
|
||||
|
||||
# general build definitions
|
||||
%if "%{update_channel}" != "aurora"
|
||||
@ -76,7 +76,7 @@ BuildRequires: libiw-devel
|
||||
BuildRequires: libnotify-devel
|
||||
BuildRequires: libproxy-devel
|
||||
BuildRequires: makeinfo
|
||||
BuildRequires: mozilla-nspr-devel >= 4.10.7
|
||||
BuildRequires: mozilla-nspr-devel >= 4.10.8
|
||||
BuildRequires: mozilla-nss-devel >= 3.17.4
|
||||
BuildRequires: nss-shared-helper-devel
|
||||
BuildRequires: python-devel
|
||||
@ -143,9 +143,10 @@ Patch8: mozilla-ntlm-full-path.patch
|
||||
Patch9: mozilla-repo.patch
|
||||
Patch10: mozilla-icu-strncat.patch
|
||||
Patch11: mozilla-arm-disable-edsp.patch
|
||||
Patch12: mozilla-bmo1088588.patch
|
||||
Patch13: mozilla-openaes-decl.patch
|
||||
Patch14: mozilla-skia-bmo1136958.patch
|
||||
Patch12: mozilla-openaes-decl.patch
|
||||
Patch13: mozilla-skia-bmo1136958.patch
|
||||
Patch14: mozilla-skia-be-le.patch
|
||||
Patch15: mozilla-bmo1005535.patch
|
||||
# Firefox/browser
|
||||
Patch101: firefox-kde.patch
|
||||
Patch102: firefox-no-default-ualocale.patch
|
||||
@ -199,7 +200,7 @@ of %{appname}.
|
||||
%package translations-other
|
||||
Summary: Extra translations for %{appname}
|
||||
Group: System/Localization
|
||||
Provides: locale(%{name}:ach;af;ak;as;ast;be;bg;bn_BD;bn_IN;br;bs;csb;cy;en_ZA;eo;es_MX;et;eu;fa;ff;fy_NL;ga_IE;gd;gl;gu_IN;he;hi_IN;hr;hy_AM;id;is;kk;km;kn;ku;lg;lij;lt;lv;mai;mk;ml;mr;nn_NO;nso;or;pa_IN;rm;ro;si;sk;sl;son;sq;sr;ta;ta_LK;te;th;tr;uk;vi;zu)
|
||||
Provides: locale(%{name}:ach;af;ak;as;ast;be;bg;bn_BD;bn_IN;br;bs;csb;cy;en_ZA;eo;es_MX;et;eu;fa;ff;fy_NL;ga_IE;gd;gl;gu_IN;he;hi_IN;hr;hy_AM;id;is;kk;km;kn;ku;lg;lij;lt;lv;mai;mk;ml;mr;nn_NO;nso;or;pa_IN;rm;ro;si;sk;sl;son;sq;sr;ta;ta_LK;te;th;tr;uk;uz;vi;zu)
|
||||
Requires: %{name} = %{version}
|
||||
Obsoletes: %{name}-translations < %{version}-%{release}
|
||||
|
||||
@ -260,6 +261,7 @@ cd $RPM_BUILD_DIR/mozilla
|
||||
%patch12 -p1
|
||||
%patch13 -p1
|
||||
%patch14 -p1
|
||||
%patch15 -p1
|
||||
# Firefox
|
||||
%patch101 -p1
|
||||
%patch102 -p1
|
||||
|
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:414f002f062916b91a593ce98d101f331227b4bbde1ec8da0c8816bebbe46311
|
||||
size 28428
|
||||
oid sha256:784dd12e81443ddab028d74976128b76411088f16baef118821c55d684f909c5
|
||||
size 28432
|
||||
|
@ -2,8 +2,8 @@
|
||||
|
||||
CHANNEL="release"
|
||||
BRANCH="releases/mozilla-$CHANNEL"
|
||||
RELEASE_TAG="FIREFOX_36_0_4_RELEASE"
|
||||
VERSION="36.0.4"
|
||||
RELEASE_TAG="FIREFOX_37_0_RELEASE"
|
||||
VERSION="37.0"
|
||||
|
||||
# mozilla
|
||||
if [ -d mozilla ]; then
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e40a708f6581a6504445ca139cc6c32e21a4a0c38f30d15176312f059b30107c
|
||||
size 153777592
|
3
firefox-37.0-source.tar.xz
Normal file
3
firefox-37.0-source.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6cf7f659459c92aed536c80096044dfeb845b0e16372a0d9258e187851ecb325
|
||||
size 152773908
|
@ -1,11 +1,11 @@
|
||||
# HG changeset patch
|
||||
# Parent ae5fa7b97ee57df54434bebc6dbda400b7525340
|
||||
# Parent 409c60c5454efb61ebecf0edc8822a0e92f563f3
|
||||
|
||||
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,1272 @@
|
||||
@@ -0,0 +1,1288 @@
|
||||
+#filter substitution
|
||||
+<?xml version="1.0"?>
|
||||
+# -*- Mode: HTML -*-
|
||||
@ -295,17 +295,22 @@ new file mode 100644
|
||||
+ <panel id="social-share-panel"
|
||||
+ class="social-panel"
|
||||
+ type="arrow"
|
||||
+ orient="horizontal"
|
||||
+ orient="vertical"
|
||||
+ onpopupshowing="SocialShare.onShowing()"
|
||||
+ onpopuphidden="SocialShare.onHidden()"
|
||||
+ hidden="true">
|
||||
+ <vbox class="social-share-toolbar">
|
||||
+ <arrowscrollbox id="social-share-provider-buttons" orient="vertical" flex="1">
|
||||
+ <hbox class="social-share-toolbar">
|
||||
+ <toolbarbutton id="manage-share-providers" class="toolbarbutton share-provider-button"
|
||||
+ tooltiptext="&social.addons.label;"
|
||||
+ oncommand="BrowserOpenAddonsMgr('addons://list/service');
|
||||
+ this.parentNode.parentNode.hidePopup();"/>
|
||||
+ <arrowscrollbox id="social-share-provider-buttons" orient="horizontal" flex="1" pack="end">
|
||||
+ <toolbarbutton id="add-share-provider" class="toolbarbutton share-provider-button" type="radio"
|
||||
+ group="share-providers" tooltiptext="&findShareServices.label;"
|
||||
+ oncommand="SocialShare.showDirectory()"/>
|
||||
+ </arrowscrollbox>
|
||||
+ </vbox>
|
||||
+ </hbox>
|
||||
+ <hbox id="share-container" flex="1"/>
|
||||
+ </panel>
|
||||
+
|
||||
+ <panel id="social-notification-panel"
|
||||
@ -580,6 +585,17 @@ new file mode 100644
|
||||
+
|
||||
+ <tooltip id="dynamic-shortcut-tooltip"
|
||||
+ onpopupshowing="UpdateDynamicShortcutTooltipText(this);"/>
|
||||
+
|
||||
+ <menupopup id="emeNotificationsPopup">
|
||||
+ <menuitem id="emeNotificationsNotNow"
|
||||
+ label="Not now"
|
||||
+ acceskey="N"
|
||||
+ oncommand="gEMEHandler.onNotNow(this);"/>
|
||||
+ <menuitem id="emeNotificationsDontAskAgain"
|
||||
+ label="Don't ask me again"
|
||||
+ acceskey="D"
|
||||
+ oncommand="gEMEHandler.onDontAskAgain(this);"/>
|
||||
+ </menupopup>
|
||||
+ </popupset>
|
||||
+
|
||||
+#ifdef CAN_DRAW_IN_TITLEBAR
|
||||
@ -642,7 +658,6 @@ new file mode 100644
|
||||
+ </toolbar>
|
||||
+
|
||||
+ <toolbar id="TabsToolbar"
|
||||
+ class="toolbar-primary"
|
||||
+ fullscreentoolbar="true"
|
||||
+ customizable="true"
|
||||
+ mode="icons"
|
||||
@ -728,7 +743,7 @@ new file mode 100644
|
||||
+ to the default placements of buttons in CustomizableUI.jsm, so the
|
||||
+ customization code doesn't get confused.
|
||||
+ -->
|
||||
+ <toolbar id="nav-bar" class="toolbar-primary chromeclass-toolbar"
|
||||
+ <toolbar id="nav-bar"
|
||||
+ aria-label="&navbarCmd.label;"
|
||||
+ fullscreentoolbar="true" mode="icons" customizable="true"
|
||||
+ iconsize="small"
|
||||
@ -801,6 +816,7 @@ new file mode 100644
|
||||
+ <image id="servicesInstall-notification-icon" class="notification-anchor-icon" role="button"/>
|
||||
+ <image id="translate-notification-icon" class="notification-anchor-icon" role="button"/>
|
||||
+ <image id="translated-notification-icon" class="notification-anchor-icon" role="button"/>
|
||||
+ <image id="eme-notification-icon" class="notification-anchor-icon" role="button"/>
|
||||
+ </box>
|
||||
+ <!-- Use onclick instead of normal popup= syntax since the popup
|
||||
+ code fires onmousedown, and hence eats our favicon drag events.
|
||||
@ -1300,7 +1316,7 @@ diff --git a/browser/base/content/browser.xul b/browser/base/content/browser.xul
|
||||
<button id="editBookmarkPanelDeleteButton"
|
||||
class="editBookmarkPanelBottomButton"
|
||||
label="&editBookmark.cancel.label;"
|
||||
@@ -1198,17 +1198,17 @@
|
||||
@@ -1214,17 +1214,17 @@
|
||||
|
||||
<hbox id="full-screen-warning-container" hidden="true" fadeout="true">
|
||||
<hbox style="width: 100%;" pack="center"> <!-- Inner hbox needed due to bug 579776. -->
|
||||
@ -1333,10 +1349,10 @@ diff --git a/browser/base/jar.mn b/browser/base/jar.mn
|
||||
* content/browser/browser.xul (content/browser.xul)
|
||||
+* content/browser/browser-kde.xul (content/browser-kde.xul)
|
||||
+% override chrome://browser/content/browser.xul chrome://browser/content/browser-kde.xul desktop=kde
|
||||
* content/browser/browser-eme.properties (content/browser-eme.properties)
|
||||
* content/browser/browser-tabPreviews.xml (content/browser-tabPreviews.xml)
|
||||
* content/browser/chatWindow.xul (content/chatWindow.xul)
|
||||
content/browser/content.js (content/content.js)
|
||||
content/browser/content-UITour.js (content/content-UITour.js)
|
||||
content/browser/defaultthemes/1.footer.jpg (content/defaultthemes/1.footer.jpg)
|
||||
content/browser/defaultthemes/1.header.jpg (content/defaultthemes/1.header.jpg)
|
||||
content/browser/defaultthemes/1.icon.jpg (content/defaultthemes/1.icon.jpg)
|
||||
@ -1427,7 +1443,7 @@ diff --git a/browser/components/preferences/main.js b/browser/components/prefere
|
||||
// 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.
|
||||
@@ -572,16 +578,27 @@ var gMainPane = {
|
||||
@@ -549,16 +555,27 @@ var gMainPane = {
|
||||
*/
|
||||
setDefaultBrowser: function()
|
||||
{
|
||||
@ -1895,7 +1911,7 @@ new file mode 100644
|
||||
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
|
||||
--- a/browser/installer/package-manifest.in
|
||||
+++ b/browser/installer/package-manifest.in
|
||||
@@ -689,19 +689,21 @@
|
||||
@@ -688,19 +688,21 @@
|
||||
@RESPATH@/defaults/autoconfig/prefcalls.js
|
||||
@RESPATH@/browser/defaults/profile/prefs.js
|
||||
|
||||
|
@ -1,12 +1,13 @@
|
||||
# HG changeset patch
|
||||
# Parent 16846914f968944f991c8b12fdc38ce8fc099d73
|
||||
# User Wolfgang Rosenauer <wr@rosenauer.org>
|
||||
# Parent c0a406c7a6cc5edc8fb34549428866ff39ad878f
|
||||
Add searchplugins to chrome packaging for proper localization
|
||||
|
||||
diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js
|
||||
--- a/browser/app/profile/firefox.js
|
||||
+++ b/browser/app/profile/firefox.js
|
||||
@@ -389,16 +389,20 @@ pref("browser.helperApps.deleteTempFileO
|
||||
@@ -378,16 +378,20 @@ pref("browser.helperApps.deleteTempFileO
|
||||
#endif
|
||||
|
||||
// search engines URL
|
||||
@ -19,18 +20,18 @@ diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js
|
||||
+pref("browser.search.loadFromJars", true);
|
||||
+pref("browser.search.jarURIs", "chrome://browser/locale/searchplugins/");
|
||||
+
|
||||
// disable logging for the search service by default
|
||||
pref("browser.search.log", false);
|
||||
|
||||
// Ordering of Search Engines in the Engine list.
|
||||
pref("browser.search.order.1", "chrome://browser-region/locale/region.properties");
|
||||
pref("browser.search.order.2", "chrome://browser-region/locale/region.properties");
|
||||
pref("browser.search.order.3", "chrome://browser-region/locale/region.properties");
|
||||
|
||||
// Market-specific search defaults (US market only)
|
||||
pref("browser.search.geoSpecificDefaults", true);
|
||||
pref("browser.search.defaultenginename.US", "data:text/plain,browser.search.defaultenginename.US=Yahoo");
|
||||
diff --git a/browser/locales/Makefile.in b/browser/locales/Makefile.in
|
||||
--- a/browser/locales/Makefile.in
|
||||
+++ b/browser/locales/Makefile.in
|
||||
@@ -66,24 +66,27 @@ STUB_HOOK = $(NSINSTALL) -D '$(_ABS_DIST
|
||||
@@ -66,27 +66,30 @@ STUB_HOOK = $(NSINSTALL) -D '$(_ABS_DIST
|
||||
cp ../installer/windows/l10ngen/stub.exe '$(_ABS_DIST)/$(PKG_INST_PATH)$(PKG_STUB_BASENAME).exe'; \
|
||||
chmod 0755 '$(_ABS_DIST)/$(PKG_INST_PATH)$(PKG_STUB_BASENAME).exe'; \
|
||||
$(NULL)
|
||||
@ -41,17 +42,20 @@ diff --git a/browser/locales/Makefile.in b/browser/locales/Makefile.in
|
||||
else
|
||||
-SEARCHPLUGINS_NAMES = $(shell cat $(call MERGE_FILE,/searchplugins/list.txt)) ddg
|
||||
+SEARCHPLUGINS_NAMES = $(shell cat \
|
||||
+ $(firstword $(wildcard $(LOCALE_SRCDIR)/searchplugins/list.txt) \
|
||||
+ @srcdir@/en-US/searchplugins/list.txt ) ) ddg
|
||||
+ $(firstword $(wildcard $(LOCALE_SRCDIR)/searchplugins/list.txt) \
|
||||
+ @srcdir@/en-US/searchplugins/list.txt ) ) ddg
|
||||
endif
|
||||
SEARCHPLUGINS_PATH := $(FINAL_TARGET)/searchplugins
|
||||
# metro build call a searchplugins target for search engine plugins
|
||||
.PHONY: searchplugins
|
||||
SEARCHPLUGINS_TARGET := libs searchplugins
|
||||
-SEARCHPLUGINS := $(foreach plugin,$(addsuffix .xml,$(SEARCHPLUGINS_NAMES)),$(or $(wildcard $(call MERGE_FILE,searchplugins/$(plugin))),$(info Missing searchplugin: $(plugin))))
|
||||
-PP_TARGETS += SEARCHPLUGINS
|
||||
+#SEARCHPLUGINS := $(foreach plugin,$(addsuffix .xml,$(SEARCHPLUGINS_NAMES)),$(or $(wildcard $(call MERGE_FILE,searchplugins/$(plugin))),$(info Missing searchplugin: $(plugin))))
|
||||
-SEARCHPLUGINS := $(foreach plugin,$(addsuffix .xml,$(SEARCHPLUGINS_NAMES)),$(or $(wildcard $(call EN_US_OR_L10N_FILE,searchplugins/$(plugin))),$(info Missing searchplugin: $(plugin))))
|
||||
+#SEARCHPLUGINS := $(foreach plugin,$(addsuffix .xml,$(SEARCHPLUGINS_NAMES)),$(or $(wildcard $(call EN_US_OR_L10N_FILE,searchplugins/$(plugin))),$(info Missing searchplugin: $(plugin))))
|
||||
+SEARCHPLUGINS := $(addsuffix .xml,$(SEARCHPLUGINS_NAMES))
|
||||
# Some locale-specific search plugins may have preprocessor directives, but the
|
||||
# default en-US ones do not.
|
||||
SEARCHPLUGINS_FLAGS := --silence-missing-directive-warnings
|
||||
-PP_TARGETS += SEARCHPLUGINS
|
||||
+#PP_TARGETS += SEARCHPLUGINS
|
||||
|
||||
# Required for l10n.mk - defines a list of app sub dirs that should
|
||||
@ -61,7 +65,7 @@ diff --git a/browser/locales/Makefile.in b/browser/locales/Makefile.in
|
||||
DIST_SUBDIRS = browser metro
|
||||
else
|
||||
DIST_SUBDIRS = $(DIST_SUBDIR)
|
||||
@@ -117,16 +120,39 @@ NO_JA_JP_MAC_AB_CD := $(if $(filter ja-J
|
||||
@@ -120,16 +123,39 @@ NO_JA_JP_MAC_AB_CD := $(if $(filter ja-J
|
||||
libs:: $(FINAL_TARGET)/defaults/profile/bookmarks.html ;
|
||||
|
||||
libs:: $(addprefix generic/profile/,$(PROFILE_FILES))
|
||||
@ -104,7 +108,7 @@ diff --git a/browser/locales/Makefile.in b/browser/locales/Makefile.in
|
||||
diff --git a/browser/locales/jar.mn b/browser/locales/jar.mn
|
||||
--- a/browser/locales/jar.mn
|
||||
+++ b/browser/locales/jar.mn
|
||||
@@ -141,14 +141,15 @@
|
||||
@@ -146,14 +146,15 @@
|
||||
locale/browser/syncQuota.properties (%chrome/browser/syncQuota.properties)
|
||||
#endif
|
||||
% locale browser-region @AB_CD@ %locale/browser-region/
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b740a3e35919eb10c154e1be9ad8a0b8ed84fcfe7c72ac7e5e56be3dd99b1939
|
||||
size 41685172
|
3
l10n-37.0.tar.xz
Normal file
3
l10n-37.0.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:602f7c7a37a73ff1c9e4b1a84031313e41c37548a8d4266c709478e275f26a09
|
||||
size 41698496
|
152
mozilla-bmo1005535.patch
Normal file
152
mozilla-bmo1005535.patch
Normal file
@ -0,0 +1,152 @@
|
||||
# HG changeset patch
|
||||
# Parent b7eb1ce0237d6125b75bc8ff1cb3afc328d6e78c
|
||||
# User Steve Singer <steve@ssinger.info>
|
||||
# Parent d7af74fb513bcca581012f17ea248b1692db5d97
|
||||
Bug 1005535 - Get skia GPU building on big endian.
|
||||
|
||||
diff --git a/configure.in b/configure.in
|
||||
--- a/configure.in
|
||||
+++ b/configure.in
|
||||
@@ -8198,21 +8198,21 @@ dnl Skia
|
||||
dnl ========================================================
|
||||
if test "$MOZ_ENABLE_SKIA"; then
|
||||
AC_DEFINE(MOZ_ENABLE_SKIA)
|
||||
AC_DEFINE(USE_SKIA)
|
||||
if test "${MOZ_WIDGET_TOOLKIT}" = "android" -o x"$MOZ_WIDGET_TOOLKIT" = x"gonk"; then
|
||||
AC_DEFINE(SK_BUILD_FOR_ANDROID_NDK)
|
||||
fi
|
||||
|
||||
- if test "${CPU_ARCH}" != "ppc" -a "${CPU_ARCH}" != "ppc64" -a "${CPU_ARCH}" != "sparc" -a -z "$MOZ_DISABLE_SKIA_GPU" ; then
|
||||
+ #if test "${CPU_ARCH}" != "ppc" -a "${CPU_ARCH}" != "ppc64" -a "${CPU_ARCH}" != "sparc" -a -z "$MOZ_DISABLE_SKIA_GPU" ; then
|
||||
MOZ_ENABLE_SKIA_GPU=1
|
||||
AC_DEFINE(USE_SKIA_GPU)
|
||||
AC_SUBST(MOZ_ENABLE_SKIA_GPU)
|
||||
- fi
|
||||
+ #fi
|
||||
fi
|
||||
AC_SUBST(MOZ_ENABLE_SKIA)
|
||||
|
||||
dnl ========================================================
|
||||
dnl Check for nss-shared-helper
|
||||
dnl ========================================================
|
||||
|
||||
PKG_CHECK_MODULES(NSSHELPER, nss-shared-helper,
|
||||
diff --git a/gfx/skia/trunk/include/config/SkUserConfig.h b/gfx/skia/trunk/include/config/SkUserConfig.h
|
||||
--- a/gfx/skia/trunk/include/config/SkUserConfig.h
|
||||
+++ b/gfx/skia/trunk/include/config/SkUserConfig.h
|
||||
@@ -192,16 +192,17 @@
|
||||
|
||||
#if defined(SK_CPU_ARM32) || defined(SK_CPU_ARM64)
|
||||
# define SK_BARRIERS_PLATFORM_H "skia/SkBarriers_arm.h"
|
||||
#else
|
||||
# define SK_BARRIERS_PLATFORM_H "skia/SkBarriers_x86.h"
|
||||
#endif
|
||||
|
||||
// On all platforms we have this byte order
|
||||
+
|
||||
#define SK_A32_SHIFT 24
|
||||
#define SK_R32_SHIFT 16
|
||||
#define SK_G32_SHIFT 8
|
||||
#define SK_B32_SHIFT 0
|
||||
|
||||
#define SK_ALLOW_STATIC_GLOBAL_INITIALIZERS 0
|
||||
|
||||
#define SK_SUPPORT_LEGACY_GETDEVICE
|
||||
diff --git a/gfx/skia/trunk/include/core/SkColorPriv.h b/gfx/skia/trunk/include/core/SkColorPriv.h
|
||||
--- a/gfx/skia/trunk/include/core/SkColorPriv.h
|
||||
+++ b/gfx/skia/trunk/include/core/SkColorPriv.h
|
||||
@@ -27,37 +27,27 @@
|
||||
* For easier compatibility with Skia's GPU backend, we further restrict these
|
||||
* to either (in memory-byte-order) RGBA or BGRA. Note that this "order" does
|
||||
* not directly correspond to the same shift-order, since we have to take endianess
|
||||
* into account.
|
||||
*
|
||||
* Here we enforce this constraint.
|
||||
*/
|
||||
|
||||
-#ifdef SK_CPU_BENDIAN
|
||||
- #define SK_RGBA_R32_SHIFT 24
|
||||
- #define SK_RGBA_G32_SHIFT 16
|
||||
- #define SK_RGBA_B32_SHIFT 8
|
||||
- #define SK_RGBA_A32_SHIFT 0
|
||||
|
||||
- #define SK_BGRA_B32_SHIFT 24
|
||||
- #define SK_BGRA_G32_SHIFT 16
|
||||
- #define SK_BGRA_R32_SHIFT 8
|
||||
- #define SK_BGRA_A32_SHIFT 0
|
||||
-#else
|
||||
#define SK_RGBA_R32_SHIFT 0
|
||||
#define SK_RGBA_G32_SHIFT 8
|
||||
#define SK_RGBA_B32_SHIFT 16
|
||||
#define SK_RGBA_A32_SHIFT 24
|
||||
|
||||
#define SK_BGRA_B32_SHIFT 0
|
||||
#define SK_BGRA_G32_SHIFT 8
|
||||
#define SK_BGRA_R32_SHIFT 16
|
||||
#define SK_BGRA_A32_SHIFT 24
|
||||
-#endif
|
||||
+
|
||||
|
||||
#if defined(SK_PMCOLOR_IS_RGBA) && defined(SK_PMCOLOR_IS_BGRA)
|
||||
#error "can't define PMCOLOR to be RGBA and BGRA"
|
||||
#endif
|
||||
|
||||
#define LOCAL_PMCOLOR_SHIFTS_EQUIVALENT_TO_RGBA \
|
||||
(SK_A32_SHIFT == SK_RGBA_A32_SHIFT && \
|
||||
SK_R32_SHIFT == SK_RGBA_R32_SHIFT && \
|
||||
diff --git a/gfx/skia/trunk/include/core/SkImageInfo.h b/gfx/skia/trunk/include/core/SkImageInfo.h
|
||||
--- a/gfx/skia/trunk/include/core/SkImageInfo.h
|
||||
+++ b/gfx/skia/trunk/include/core/SkImageInfo.h
|
||||
@@ -83,19 +83,20 @@ enum SkColorType {
|
||||
|
||||
kLastEnum_SkColorType = kIndex_8_SkColorType,
|
||||
|
||||
#if SK_PMCOLOR_BYTE_ORDER(B,G,R,A)
|
||||
kN32_SkColorType = kBGRA_8888_SkColorType,
|
||||
#elif SK_PMCOLOR_BYTE_ORDER(R,G,B,A)
|
||||
kN32_SkColorType = kRGBA_8888_SkColorType,
|
||||
#else
|
||||
-#error "SK_*32_SHFIT values must correspond to BGRA or RGBA byte order"
|
||||
+ kN32_SkColorType = kBGRA_8888_SkColorType
|
||||
#endif
|
||||
|
||||
+
|
||||
#ifdef SK_SUPPORT_LEGACY_N32_NAME
|
||||
kPMColor_SkColorType = kN32_SkColorType
|
||||
#endif
|
||||
};
|
||||
|
||||
static int SkColorTypeBytesPerPixel(SkColorType ct) {
|
||||
static const uint8_t gSize[] = {
|
||||
0, // Unknown
|
||||
diff --git a/gfx/skia/trunk/include/gpu/GrTypes.h b/gfx/skia/trunk/include/gpu/GrTypes.h
|
||||
--- a/gfx/skia/trunk/include/gpu/GrTypes.h
|
||||
+++ b/gfx/skia/trunk/include/gpu/GrTypes.h
|
||||
@@ -304,25 +304,23 @@ enum GrPixelConfig {
|
||||
* Byte order is r, g, b, a. This color format is 32 bits per channel
|
||||
*/
|
||||
kRGBA_float_GrPixelConfig,
|
||||
kLast_GrPixelConfig = kRGBA_float_GrPixelConfig
|
||||
};
|
||||
static const int kGrPixelConfigCnt = kLast_GrPixelConfig + 1;
|
||||
|
||||
// Aliases for pixel configs that match skia's byte order.
|
||||
-#ifndef SK_CPU_LENDIAN
|
||||
- #error "Skia gpu currently assumes little endian"
|
||||
-#endif
|
||||
+
|
||||
#if SK_PMCOLOR_BYTE_ORDER(B,G,R,A)
|
||||
static const GrPixelConfig kSkia8888_GrPixelConfig = kBGRA_8888_GrPixelConfig;
|
||||
#elif SK_PMCOLOR_BYTE_ORDER(R,G,B,A)
|
||||
static const GrPixelConfig kSkia8888_GrPixelConfig = kRGBA_8888_GrPixelConfig;
|
||||
#else
|
||||
- #error "SK_*32_SHIFT values must correspond to GL_BGRA or GL_RGBA format."
|
||||
+ static const GrPixelConfig kSkia8888_GrPixelConfig = kBGRA_8888_GrPixelConfig;
|
||||
#endif
|
||||
|
||||
// Returns true if the pixel config is a GPU-specific compressed format
|
||||
// representation.
|
||||
static inline bool GrPixelConfigIsCompressed(GrPixelConfig config) {
|
||||
switch (config) {
|
||||
case kETC1_GrPixelConfig:
|
||||
case kLATC_GrPixelConfig:
|
@ -1,29 +0,0 @@
|
||||
# HG changeset patch
|
||||
# User Dirk Mueller <dmueller@suse.com>
|
||||
# Date 1414618964 0
|
||||
# Wed Oct 29 21:42:44 2014 +0000
|
||||
# Node ID 8e3825b2d12a9f295b6ff9a972340b9d84fce068
|
||||
# Parent 262e4847ad6cca40d7375e40a0d6ebe8b372e3d3
|
||||
Bug 1088588 - fix ifdef in X11TextureSourceOGL.cpp, r?nical
|
||||
|
||||
diff --git a/gfx/layers/opengl/X11TextureSourceOGL.cpp b/gfx/layers/opengl/X11TextureSourceOGL.cpp
|
||||
--- a/gfx/layers/opengl/X11TextureSourceOGL.cpp
|
||||
+++ b/gfx/layers/opengl/X11TextureSourceOGL.cpp
|
||||
@@ -94,14 +94,14 @@ X11TextureSourceOGL::ContentTypeToSurfac
|
||||
switch (aType) {
|
||||
case gfxContentType::COLOR:
|
||||
return SurfaceFormat::R8G8B8X8;
|
||||
case gfxContentType::COLOR_ALPHA:
|
||||
return SurfaceFormat::R8G8B8A8;
|
||||
default:
|
||||
return SurfaceFormat::UNKNOWN;
|
||||
}
|
||||
}
|
||||
|
||||
+}
|
||||
+}
|
||||
+
|
||||
#endif
|
||||
-
|
||||
-}
|
||||
-}
|
@ -1,5 +1,5 @@
|
||||
# HG changeset patch
|
||||
# Parent aba9432d1fd32a118ba24e92c6b6e99ddb0b9bdc
|
||||
# Parent 2b183c17f6e4693372442af1a8ee0be364f8cba0
|
||||
Description: Add KDE integration to Firefox (toolkit parts)
|
||||
Author: Wolfgang Rosenauer <wolfgang@rosenauer.org>
|
||||
Author: Lubos Lunak <lunak@suse.com>
|
||||
@ -46,7 +46,7 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
|
||||
#include "prefread.h"
|
||||
#include "prefapi_private_data.h"
|
||||
|
||||
@@ -1172,16 +1173,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char
|
||||
@@ -1165,16 +1166,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char
|
||||
|
||||
static nsresult pref_LoadPrefsInDirList(const char *listId)
|
||||
{
|
||||
@ -81,7 +81,7 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
|
||||
return NS_OK;
|
||||
|
||||
bool hasMore;
|
||||
@@ -1197,17 +1216,17 @@ static nsresult pref_LoadPrefsInDirList(
|
||||
@@ -1190,17 +1209,17 @@ static nsresult pref_LoadPrefsInDirList(
|
||||
|
||||
nsAutoCString leaf;
|
||||
path->GetNativeLeafName(leaf);
|
||||
@ -100,7 +100,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);
|
||||
@@ -1301,26 +1320,38 @@ static nsresult pref_InitInitialObjects(
|
||||
@@ -1294,26 +1313,38 @@ 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)
|
||||
@ -223,9 +223,9 @@ diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/compon
|
||||
|
||||
#ifdef MOZ_WIDGET_ANDROID
|
||||
#include "AndroidBridge.h"
|
||||
using namespace mozilla::widget::android;
|
||||
#endif
|
||||
@@ -2717,16 +2721,25 @@ nsDownload::SetState(DownloadState aStat
|
||||
|
||||
@@ -2716,16 +2720,25 @@ nsDownload::SetState(DownloadState aStat
|
||||
nsCOMPtr<nsIPrefBranch> pref(do_GetService(NS_PREFSERVICE_CONTRACTID));
|
||||
|
||||
// Master pref to control this function.
|
||||
@ -251,12 +251,12 @@ diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/compon
|
||||
int64_t goat = PR_Now() - mStartTime;
|
||||
showTaskbarAlert = goat > alertIntervalUSec;
|
||||
|
||||
@@ -2757,16 +2770,17 @@ nsDownload::SetState(DownloadState aStat
|
||||
@@ -2756,16 +2769,17 @@ nsDownload::SetState(DownloadState aStat
|
||||
NS_LITERAL_STRING(DOWNLOAD_MANAGER_ALERT_ICON), title,
|
||||
message, !removeWhenDone,
|
||||
mPrivate ? NS_LITERAL_STRING("private") : NS_LITERAL_STRING("non-private"),
|
||||
mDownloadManager, EmptyString(), NS_LITERAL_STRING("auto"),
|
||||
EmptyString(), EmptyString(), nullptr);
|
||||
EmptyString(), EmptyString(), nullptr, mPrivate);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -3137,13 +3137,13 @@ diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build
|
||||
diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
|
||||
--- a/widget/gtk/nsFilePicker.cpp
|
||||
+++ b/widget/gtk/nsFilePicker.cpp
|
||||
@@ -1,32 +1,34 @@
|
||||
/* -*- 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
|
||||
@@ -4,32 +4,34 @@
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#include "mozilla/Types.h"
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
+#include <gdk/gdkx.h>
|
||||
@ -3172,7 +3172,7 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
|
||||
nsIFile *nsFilePicker::mPrevDisplayDirectory = nullptr;
|
||||
|
||||
void
|
||||
@@ -224,17 +226,19 @@ nsFilePicker::AppendFilters(int32_t aFil
|
||||
@@ -238,17 +240,19 @@ nsFilePicker::AppendFilters(int32_t aFil
|
||||
return nsBaseFilePicker::AppendFilters(aFilterMask);
|
||||
}
|
||||
|
||||
@ -3193,7 +3193,7 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
|
||||
|
||||
mFilters.AppendElement(filter);
|
||||
mFilterNames.AppendElement(name);
|
||||
@@ -349,16 +353,32 @@ nsFilePicker::Show(int16_t *aReturn)
|
||||
@@ -363,16 +367,32 @@ nsFilePicker::Show(int16_t *aReturn)
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsFilePicker::Open(nsIFilePickerShownCallback *aCallback)
|
||||
@ -3226,7 +3226,7 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
|
||||
|
||||
GtkFileChooserAction action = GetGtkFileChooserAction(mMode);
|
||||
const gchar *accept_button = (action == GTK_FILE_CHOOSER_ACTION_SAVE)
|
||||
@@ -537,8 +557,235 @@ nsFilePicker::Done(GtkWidget* file_choos
|
||||
@@ -551,8 +571,235 @@ nsFilePicker::Done(GtkWidget* file_choos
|
||||
if (mCallback) {
|
||||
mCallback->Done(result);
|
||||
mCallback = nullptr;
|
||||
@ -3561,7 +3561,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
|
||||
mozilla::AndroidBridge::Bridge()->GetStaticStringField("android/os/Build$VERSION",
|
||||
"RELEASE",
|
||||
osVersion);
|
||||
isTablet = mozilla::widget::android::GeckoAppShell::IsTablet();
|
||||
isTablet = mozilla::widget::GeckoAppShell::IsTablet();
|
||||
}
|
||||
+ desktop = NS_LITERAL_STRING("android");
|
||||
#endif
|
||||
|
@ -1,17 +1,18 @@
|
||||
# HG changeset patch
|
||||
# Parent 33024abb3c58dab7239e32388df58e14f99defd5
|
||||
# User Wolfgang Rosenauer <wr@rosenauer.org>
|
||||
# Parent 12305a99d90ce098f8f11f5609571cd709b6e2de
|
||||
|
||||
diff --git a/media/gmp-clearkey/0.1/openaes/oaes_lib.c b/media/gmp-clearkey/0.1/openaes/oaes_lib.c
|
||||
--- a/media/gmp-clearkey/0.1/openaes/oaes_lib.c
|
||||
+++ b/media/gmp-clearkey/0.1/openaes/oaes_lib.c
|
||||
@@ -27,16 +27,17 @@
|
||||
@@ -24,16 +24,17 @@
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
* ---------------------------------------------------------------------------
|
||||
*/
|
||||
static const char _NR[] = {
|
||||
0x4e,0x61,0x62,0x69,0x6c,0x20,0x53,0x2e,0x20,
|
||||
0x41,0x6c,0x20,0x52,0x61,0x6d,0x6c,0x69,0x00 };
|
||||
|
||||
#include <stdlib.h>
|
||||
+#include <stdio.h>
|
||||
|
@ -1,5 +1,6 @@
|
||||
# HG changeset patch
|
||||
# Parent 80b6464bd883864fce57e8748010869af1be69e9
|
||||
# Parent d160c6876c5f05d902b391551bf4f684254b3c7d
|
||||
|
||||
diff --git a/toolkit/mozapps/installer/package-name.mk b/toolkit/mozapps/installer/package-name.mk
|
||||
--- a/toolkit/mozapps/installer/package-name.mk
|
||||
@ -10,7 +11,7 @@ diff --git a/toolkit/mozapps/installer/package-name.mk b/toolkit/mozapps/install
|
||||
|
||||
ifndef INCLUDED_RCS_MK
|
||||
USE_RCS_MK := 1
|
||||
include $(topsrcdir)/config/makefiles/makeutils.mk
|
||||
include $(MOZILLA_DIR)/config/makefiles/makeutils.mk
|
||||
endif
|
||||
|
||||
-MOZ_SOURCE_STAMP = $(firstword $(shell hg -R $(MOZILLA_DIR) parent --template="{node|short}\n" 2>/dev/null))
|
||||
|
@ -7,7 +7,7 @@ References:
|
||||
diff --git a/configure.in b/configure.in
|
||||
--- a/configure.in
|
||||
+++ b/configure.in
|
||||
@@ -8268,16 +8268,31 @@ if test "$MOZ_ENABLE_SKIA"; then
|
||||
@@ -8207,16 +8207,31 @@ if test "$MOZ_ENABLE_SKIA"; then
|
||||
MOZ_ENABLE_SKIA_GPU=1
|
||||
AC_DEFINE(USE_SKIA_GPU)
|
||||
AC_SUBST(MOZ_ENABLE_SKIA_GPU)
|
||||
@ -84,10 +84,10 @@ diff --git a/security/manager/ssl/src/nsNSSComponent.cpp b/security/manager/ssl/
|
||||
#include "ExtendedValidation.h"
|
||||
#include "NSSCertDBTrustDomain.h"
|
||||
#include "mozilla/Telemetry.h"
|
||||
#include "nsAppDirectoryServiceDefs.h"
|
||||
#include "nsCertVerificationThread.h"
|
||||
#include "nsAppDirectoryServiceDefs.h"
|
||||
#include "nsComponentManagerUtils.h"
|
||||
@@ -986,17 +993,31 @@ nsNSSComponent::InitializeNSS()
|
||||
@@ -996,17 +1003,31 @@ nsNSSComponent::InitializeNSS()
|
||||
if (NS_FAILED(rv)) {
|
||||
nsPSMInitPanic::SetPanic();
|
||||
return NS_ERROR_NOT_AVAILABLE;
|
||||
|
54
mozilla-skia-be-le.patch
Normal file
54
mozilla-skia-be-le.patch
Normal file
@ -0,0 +1,54 @@
|
||||
# HG changeset patch
|
||||
# Parent c5d7373760d7abbd34f89cb60d4a45cba2c05379
|
||||
Part 2 of
|
||||
Bug 1136958 - gfx/layers/basic/BasicCompositor.cpp:20:56: fatal error: skia/SkCanvas.h: No such file or directory when skia is disabled
|
||||
|
||||
diff --git a/gfx/skia/trunk/include/core/SkPreConfig.h b/gfx/skia/trunk/include/core/SkPreConfig.h
|
||||
--- a/gfx/skia/trunk/include/core/SkPreConfig.h
|
||||
+++ b/gfx/skia/trunk/include/core/SkPreConfig.h
|
||||
@@ -87,16 +87,24 @@
|
||||
|
||||
#if !defined(SK_WARN_UNUSED_RESULT)
|
||||
#define SK_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
|
||||
#endif
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
#if !defined(SK_CPU_BENDIAN) && !defined(SK_CPU_LENDIAN)
|
||||
+ #if defined(__BIG_ENDIAN__)
|
||||
+ #define SK_CPU_BENDIAN
|
||||
+ #elif defined(__LITTLE_ENDIAN__)
|
||||
+ #define SK_CPU_LENDIAN
|
||||
+ #endif
|
||||
+#endif
|
||||
+
|
||||
+#if !defined(SK_CPU_BENDIAN) && !defined(SK_CPU_LENDIAN)
|
||||
#if defined(__sparc) || defined(__sparc__) || \
|
||||
defined(_POWER) || defined(__powerpc__) || \
|
||||
defined(__ppc__) || defined(__hppa) || \
|
||||
defined(__PPC__) || defined(__PPC64__) || \
|
||||
defined(_MIPSEB) || defined(__ARMEB__) || \
|
||||
defined(__s390__) || \
|
||||
(defined(__sh__) && defined(__BIG_ENDIAN__)) || \
|
||||
(defined(__ia64) && defined(__BIG_ENDIAN__))
|
||||
diff --git a/js/src/jsdtoa.cpp b/js/src/jsdtoa.cpp
|
||||
--- a/js/src/jsdtoa.cpp
|
||||
+++ b/js/src/jsdtoa.cpp
|
||||
@@ -47,16 +47,17 @@ using namespace js;
|
||||
static inline void* dtoa_malloc(size_t size) { return js_malloc(size); }
|
||||
static inline void dtoa_free(void* p) { return js_free(p); }
|
||||
|
||||
#define NO_GLOBAL_STATE
|
||||
#define NO_ERRNO
|
||||
#define MALLOC dtoa_malloc
|
||||
#define FREE dtoa_free
|
||||
#include "dtoa.c"
|
||||
+#undef CONST
|
||||
|
||||
/* Mapping of JSDToStrMode -> js_dtoa mode */
|
||||
static const uint8_t dtoaModes[] = {
|
||||
0, /* DTOSTR_STANDARD */
|
||||
0, /* DTOSTR_STANDARD_EXPONENTIAL, */
|
||||
3, /* DTOSTR_FIXED, */
|
||||
2, /* DTOSTR_EXPONENTIAL, */
|
||||
2}; /* DTOSTR_PRECISION */
|
@ -1,410 +1,282 @@
|
||||
From 8dc9e73b80ec33fe1a1c855829ef1438301a5de1 Mon Sep 17 00:00:00 2001
|
||||
From: Mike Hommey <mh+mozilla@glandium.org>
|
||||
Date: Thu, 26 Feb 2015 14:14:02 +0900
|
||||
Subject: [PATCH 1/2] Bug 1136958 - Remove duplicate
|
||||
SkDiscardableMemory_none.cpp from gfx/skia/moz.build
|
||||
From a8ab3ec3542469c1d4e0741121eb1be17cc0acb0 Mon Sep 17 00:00:00 2001
|
||||
From: Mike Hommey <mh@glandium.org>
|
||||
Date: Mon, 9 Mar 2015 08:42:19 +0900
|
||||
Subject: [PATCH] Bug 1136958 - Reintroduce pixman code path removed in bug
|
||||
1097776 for --disable-skia builds
|
||||
|
||||
And to do so, cleanup gfx/skia/generate_mozbuild.py a little.
|
||||
---
|
||||
gfx/skia/generate_mozbuild.py | 53 ++++++++++++++++---------------------------
|
||||
gfx/skia/moz.build | 1 -
|
||||
2 files changed, 20 insertions(+), 34 deletions(-)
|
||||
gfx/layers/basic/BasicCompositor.cpp | 94 +++++++++++++++++++++++++++++++---
|
||||
gfx/layers/basic/BasicLayerManager.cpp | 88 +++++++++++++++++++++++++++++--
|
||||
2 files changed, 171 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/configure.in b/configure.in
|
||||
--- a/configure.in
|
||||
+++ b/configure.in
|
||||
@@ -7997,39 +7997,16 @@ dnl ====================================
|
||||
diff --git a/gfx/layers/basic/BasicCompositor.cpp b/gfx/layers/basic/BasicCompositor.cpp
|
||||
index 0bef076..000b591 100644
|
||||
--- a/gfx/layers/basic/BasicCompositor.cpp
|
||||
+++ b/gfx/layers/basic/BasicCompositor.cpp
|
||||
@@ -17,8 +17,13 @@
|
||||
#include <algorithm>
|
||||
#include "ImageContainer.h"
|
||||
#include "gfxPrefs.h"
|
||||
+#ifdef MOZ_ENABLE_SKIA
|
||||
#include "skia/SkCanvas.h" // for SkCanvas
|
||||
#include "skia/SkBitmapDevice.h" // for SkBitmapDevice
|
||||
+#else
|
||||
+#define PIXMAN_DONT_DEFINE_STDINT
|
||||
+#include "pixman.h" // for pixman_f_transform, etc
|
||||
+#endif
|
||||
|
||||
if test "${OS_TARGET}" = "WINNT"; then
|
||||
if $PERL -e "exit($MOZ_WINSDK_MAXVER < 0x06020000)"; then
|
||||
MOZ_ENABLE_DIRECT2D1_1=1
|
||||
AC_SUBST(MOZ_ENABLE_DIRECT2D1_1)
|
||||
fi
|
||||
fi
|
||||
namespace mozilla {
|
||||
using namespace mozilla::gfx;
|
||||
@@ -168,6 +173,7 @@ DrawSurfaceWithTextureCoords(DrawTarget *aDest,
|
||||
mode, aMask, aMaskTransform, &matrix);
|
||||
}
|
||||
|
||||
-if test "${OS_TARGET}" = "WINNT" -o \
|
||||
- "${OS_ARCH}" = "Darwin" -o \
|
||||
- "${MOZ_WIDGET_TOOLKIT}" = "android" -o \
|
||||
- "${MOZ_WIDGET_TOOLKIT}" = "gonk" -o \
|
||||
- "${MOZ_WIDGET_TOOLKIT}" = "gtk2" -o \
|
||||
- "${MOZ_WIDGET_TOOLKIT}" = "gtk3"; then
|
||||
- case "${target_cpu}" in
|
||||
- i*86*|x86_64|arm)
|
||||
- MOZ_ENABLE_SKIA=1
|
||||
- ;;
|
||||
- *)
|
||||
- MOZ_ENABLE_SKIA=
|
||||
- ;;
|
||||
- esac
|
||||
-else
|
||||
-MOZ_ENABLE_SKIA=
|
||||
-fi
|
||||
-
|
||||
-MOZ_ARG_ENABLE_BOOL(skia,
|
||||
-[ --enable-skia Enable use of Skia],
|
||||
-MOZ_ENABLE_SKIA=1,
|
||||
-MOZ_ENABLE_SKIA=)
|
||||
-
|
||||
MOZ_ARG_DISABLE_BOOL(skia-gpu,
|
||||
[ --disable-skia-gpu Disable use of Skia-GPU],
|
||||
MOZ_DISABLE_SKIA_GPU=1,
|
||||
MOZ_DISABLE_SKIA_GPU=)
|
||||
+#ifdef MOZ_ENABLE_SKIA
|
||||
static SkMatrix
|
||||
Matrix3DToSkia(const gfx3DMatrix& aMatrix)
|
||||
{
|
||||
@@ -186,10 +192,10 @@ Matrix3DToSkia(const gfx3DMatrix& aMatrix)
|
||||
}
|
||||
|
||||
if test "$USE_FC_FREETYPE"; then
|
||||
if test "$COMPILE_ENVIRONMENT"; then
|
||||
dnl ========================================================
|
||||
@@ -8252,30 +8229,26 @@ 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 Skia
|
||||
dnl ========================================================
|
||||
-if test "$MOZ_ENABLE_SKIA"; then
|
||||
- AC_DEFINE(MOZ_ENABLE_SKIA)
|
||||
- AC_DEFINE(USE_SKIA)
|
||||
- if test "${MOZ_WIDGET_TOOLKIT}" = "android" -o x"$MOZ_WIDGET_TOOLKIT" = x"gonk"; then
|
||||
- AC_DEFINE(SK_BUILD_FOR_ANDROID_NDK)
|
||||
- fi
|
||||
-
|
||||
- if test "${CPU_ARCH}" != "ppc" -a "${CPU_ARCH}" != "ppc64" -a "${CPU_ARCH}" != "sparc" -a -z "$MOZ_DISABLE_SKIA_GPU" ; then
|
||||
- MOZ_ENABLE_SKIA_GPU=1
|
||||
- AC_DEFINE(USE_SKIA_GPU)
|
||||
- AC_SUBST(MOZ_ENABLE_SKIA_GPU)
|
||||
- fi
|
||||
-fi
|
||||
-AC_SUBST(MOZ_ENABLE_SKIA)
|
||||
+AC_DEFINE(USE_SKIA)
|
||||
+if test "${MOZ_WIDGET_TOOLKIT}" = "android" -o x"$MOZ_WIDGET_TOOLKIT" = x"gonk"; then
|
||||
+ AC_DEFINE(SK_BUILD_FOR_ANDROID_NDK)
|
||||
+fi
|
||||
static void
|
||||
-SkiaTransform(DataSourceSurface* aDest,
|
||||
- DataSourceSurface* aSource,
|
||||
- const gfx3DMatrix& aTransform,
|
||||
- const Point& aDestOffset)
|
||||
+Transform(DataSourceSurface* aDest,
|
||||
+ DataSourceSurface* aSource,
|
||||
+ const gfx3DMatrix& aTransform,
|
||||
+ const Point& aDestOffset)
|
||||
{
|
||||
if (aTransform.IsSingular()) {
|
||||
return;
|
||||
@@ -225,6 +231,78 @@ SkiaTransform(DataSourceSurface* aDest,
|
||||
SkRect destRect = SkRect::MakeXYWH(0, 0, srcSize.width, srcSize.height);
|
||||
destCanvas.drawBitmapRectToRect(src, nullptr, destRect, &paint);
|
||||
}
|
||||
+#else
|
||||
+static pixman_transform
|
||||
+Matrix3DToPixman(const gfx3DMatrix& aMatrix)
|
||||
+{
|
||||
+ pixman_f_transform transform;
|
||||
+
|
||||
+if test "${CPU_ARCH}" != "ppc" -a "${CPU_ARCH}" != "ppc64" -a "${CPU_ARCH}" != "sparc" -a -z "$MOZ_DISABLE_SKIA_GPU" ; then
|
||||
+ MOZ_ENABLE_SKIA_GPU=1
|
||||
+ AC_DEFINE(USE_SKIA_GPU)
|
||||
+ AC_SUBST(MOZ_ENABLE_SKIA_GPU)
|
||||
+fi
|
||||
+ transform.m[0][0] = aMatrix._11;
|
||||
+ transform.m[0][1] = aMatrix._21;
|
||||
+ transform.m[0][2] = aMatrix._41;
|
||||
+ transform.m[1][0] = aMatrix._12;
|
||||
+ transform.m[1][1] = aMatrix._22;
|
||||
+ transform.m[1][2] = aMatrix._42;
|
||||
+ transform.m[2][0] = aMatrix._14;
|
||||
+ transform.m[2][1] = aMatrix._24;
|
||||
+ transform.m[2][2] = aMatrix._44;
|
||||
+
|
||||
+ pixman_transform result;
|
||||
+ pixman_transform_from_pixman_f_transform(&result, &transform);
|
||||
+
|
||||
+ return result;
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+Transform(DataSourceSurface* aDest,
|
||||
+ DataSourceSurface* aSource,
|
||||
+ const gfx3DMatrix& aTransform,
|
||||
+ const Point& aDestOffset)
|
||||
+{
|
||||
+ IntSize destSize = aDest->GetSize();
|
||||
+ pixman_image_t* dest = pixman_image_create_bits(PIXMAN_a8r8g8b8,
|
||||
+ destSize.width,
|
||||
+ destSize.height,
|
||||
+ (uint32_t*)aDest->GetData(),
|
||||
+ aDest->Stride());
|
||||
+
|
||||
+ IntSize srcSize = aSource->GetSize();
|
||||
+ pixman_image_t* src = pixman_image_create_bits(PIXMAN_a8r8g8b8,
|
||||
+ srcSize.width,
|
||||
+ srcSize.height,
|
||||
+ (uint32_t*)aSource->GetData(),
|
||||
+ aSource->Stride());
|
||||
+
|
||||
+ NS_ABORT_IF_FALSE(src && dest, "Failed to create pixman images?");
|
||||
+
|
||||
+ pixman_transform pixTransform = Matrix3DToPixman(aTransform);
|
||||
+ pixman_transform pixTransformInverted;
|
||||
+
|
||||
+ // If the transform is singular then nothing would be drawn anyway, return here
|
||||
+ if (!pixman_transform_invert(&pixTransformInverted, &pixTransform)) {
|
||||
+ pixman_image_unref(dest);
|
||||
+ pixman_image_unref(src);
|
||||
+ return;
|
||||
+ }
|
||||
+ pixman_image_set_transform(src, &pixTransformInverted);
|
||||
+
|
||||
+ pixman_image_composite32(PIXMAN_OP_SRC,
|
||||
+ src,
|
||||
+ nullptr,
|
||||
+ dest,
|
||||
+ aDestOffset.x,
|
||||
+ aDestOffset.y,
|
||||
+ 0,
|
||||
+ 0,
|
||||
+ 0,
|
||||
+ 0,
|
||||
+ destSize.width,
|
||||
+ destSize.height);
|
||||
+
|
||||
+ pixman_image_unref(dest);
|
||||
+ pixman_image_unref(src);
|
||||
+}
|
||||
+#endif
|
||||
|
||||
dnl ========================================================
|
||||
dnl Check for nss-shared-helper
|
||||
dnl ========================================================
|
||||
|
||||
PKG_CHECK_MODULES(NSSHELPER, nss-shared-helper,
|
||||
[MOZ_ENABLE_NSSHELPER=1],
|
||||
[MOZ_ENABLE_NSSHELPER=])
|
||||
diff --git a/gfx/2d/moz.build b/gfx/2d/moz.build
|
||||
--- a/gfx/2d/moz.build
|
||||
+++ b/gfx/2d/moz.build
|
||||
@@ -64,51 +64,46 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'wi
|
||||
SOURCES += [
|
||||
'DrawTargetD2D1.cpp',
|
||||
'FilterNodeD2D1.cpp',
|
||||
'RadialGradientEffectD2D1.cpp',
|
||||
'SourceSurfaceD2D1.cpp'
|
||||
]
|
||||
DEFINES['USE_D2D1_1'] = True
|
||||
|
||||
-if CONFIG['MOZ_ENABLE_SKIA']:
|
||||
- UNIFIED_SOURCES += [
|
||||
- 'convolver.cpp',
|
||||
- 'DrawTargetSkia.cpp',
|
||||
- 'PathSkia.cpp',
|
||||
- 'SourceSurfaceSkia.cpp',
|
||||
- ]
|
||||
- SOURCES += [
|
||||
- 'image_operations.cpp', # Uses _USE_MATH_DEFINES
|
||||
- ]
|
||||
- EXPORTS.mozilla.gfx += [
|
||||
- 'HelpersSkia.h',
|
||||
- ]
|
||||
+UNIFIED_SOURCES += [
|
||||
+ 'convolver.cpp',
|
||||
+ 'DrawTargetSkia.cpp',
|
||||
+ 'PathSkia.cpp',
|
||||
+ 'SourceSurfaceSkia.cpp',
|
||||
+]
|
||||
+SOURCES += [
|
||||
+ 'image_operations.cpp', # Uses _USE_MATH_DEFINES
|
||||
+]
|
||||
+EXPORTS.mozilla.gfx += [
|
||||
+ 'HelpersSkia.h',
|
||||
+]
|
||||
|
||||
# Are we targeting x86 or x64? If so, build SSE2 files.
|
||||
if CONFIG['INTEL_ARCHITECTURE']:
|
||||
# VC2005 doesn't support _mm_castsi128_ps, so SSE2 is turned off
|
||||
if CONFIG['_MSC_VER'] != '1400':
|
||||
SOURCES += [
|
||||
'BlurSSE2.cpp',
|
||||
+ 'convolverSSE2.cpp',
|
||||
'FilterProcessingSSE2.cpp',
|
||||
'ImageScalingSSE2.cpp',
|
||||
]
|
||||
- if CONFIG['MOZ_ENABLE_SKIA']:
|
||||
- SOURCES += [
|
||||
- 'convolverSSE2.cpp',
|
||||
- ]
|
||||
DEFINES['USE_SSE2'] = True
|
||||
# The file uses SSE2 intrinsics, so it needs special compile flags on some
|
||||
# compilers.
|
||||
SOURCES['BlurSSE2.cpp'].flags += CONFIG['SSE2_FLAGS']
|
||||
SOURCES['FilterProcessingSSE2.cpp'].flags += CONFIG['SSE2_FLAGS']
|
||||
SOURCES['ImageScalingSSE2.cpp'].flags += CONFIG['SSE2_FLAGS']
|
||||
- if CONFIG['MOZ_ENABLE_SKIA']:
|
||||
- SOURCES['convolverSSE2.cpp'].flags += CONFIG['SSE2_FLAGS']
|
||||
+ SOURCES['convolverSSE2.cpp'].flags += CONFIG['SSE2_FLAGS']
|
||||
|
||||
UNIFIED_SOURCES += [
|
||||
'Blur.cpp',
|
||||
'DataSourceSurface.cpp',
|
||||
'DataSurfaceHelpers.cpp',
|
||||
'DrawEventRecorder.cpp',
|
||||
'DrawTarget.cpp',
|
||||
'DrawTargetCairo.cpp',
|
||||
diff --git a/gfx/moz.build b/gfx/moz.build
|
||||
--- a/gfx/moz.build
|
||||
+++ b/gfx/moz.build
|
||||
@@ -17,16 +17,15 @@ DIRS += [
|
||||
'layers',
|
||||
'graphite2/src',
|
||||
'harfbuzz/src',
|
||||
'ots/src',
|
||||
'thebes',
|
||||
'ipc',
|
||||
]
|
||||
|
||||
-if CONFIG['MOZ_ENABLE_SKIA']:
|
||||
- DIRS += ['skia']
|
||||
+DIRS += ['skia']
|
||||
|
||||
if CONFIG['ENABLE_TESTS']:
|
||||
DIRS += ['tests/gtest']
|
||||
|
||||
TEST_DIRS += ['tests']
|
||||
|
||||
diff --git a/gfx/skia/generate_mozbuild.py b/gfx/skia/generate_mozbuild.py
|
||||
--- a/gfx/skia/generate_mozbuild.py
|
||||
+++ b/gfx/skia/generate_mozbuild.py
|
||||
@@ -1,13 +1,14 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
import os
|
||||
|
||||
import locale
|
||||
+from collections import defaultdict
|
||||
locale.setlocale(locale.LC_ALL, 'en_US.UTF-8')
|
||||
|
||||
header = """
|
||||
#
|
||||
# ##### ####### # # # # # #
|
||||
# ## # # # # # # # # # # # #
|
||||
# ## # # # # # # # # # # #
|
||||
# ## #### # # # # # # # # # #
|
||||
@@ -187,17 +188,17 @@ def generate_platform_sources():
|
||||
|
||||
for plat in platforms:
|
||||
if os.system("cd trunk && GYP_GENERATORS=dump_mozbuild ./gyp_skia -D OS=%s gyp/skia_lib.gyp" % plat) != 0:
|
||||
print 'Failed to generate sources for ' + plat
|
||||
continue
|
||||
|
||||
|
||||
f = open('trunk/sources.json');
|
||||
- sources[plat] = set(json.load(f));
|
||||
+ sources[plat] = set(v.replace('../', 'trunk/') for v in json.load(f));
|
||||
f.close()
|
||||
|
||||
return dict(sources.items() + generate_opt_sources().items())
|
||||
|
||||
|
||||
def generate_separated_sources(platform_sources):
|
||||
blacklist = [
|
||||
'ChromeUtils',
|
||||
@@ -232,17 +233,17 @@ def generate_separated_sources(platform_
|
||||
|
||||
def isblacklisted(value):
|
||||
for item in blacklist:
|
||||
if value.find(item) >= 0:
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
- separated = {
|
||||
+ separated = defaultdict(set, {
|
||||
'common': {
|
||||
#'trunk/src/effects/gradients/SkGradientTileProc.cpp',
|
||||
'trunk/src/gpu/gl/GrGLCreateNativeInterface_none.cpp',
|
||||
'trunk/src/ports/SkDiscardableMemory_none.cpp',
|
||||
'trunk/src/ports/SkImageDecoder_empty.cpp',
|
||||
'trunk/src/ports/SkMemory_mozalloc.cpp',
|
||||
# 'trunk/src/images/SkImages.cpp',
|
||||
# 'trunk/src/images/SkImageRef.cpp',
|
||||
@@ -277,69 +278,55 @@ def generate_separated_sources(platform_
|
||||
'trunk/src/core/SkUtilsArm.cpp',
|
||||
},
|
||||
'neon': {
|
||||
'trunk/src/opts/SkBitmapProcState_arm_neon.cpp',
|
||||
},
|
||||
'none': {
|
||||
'trunk/src/opts/SkUtils_opts_none.cpp',
|
||||
static inline IntRect
|
||||
RoundOut(Rect r)
|
||||
@@ -364,12 +442,16 @@ BasicCompositor::DrawQuad(const gfx::Rect& aRect,
|
||||
RefPtr<SourceSurface> snapshot = dest->Snapshot();
|
||||
RefPtr<DataSourceSurface> source = snapshot->GetDataSurface();
|
||||
RefPtr<DataSourceSurface> temp =
|
||||
- Factory::CreateDataSourceSurface(RoundOut(transformBounds).Size(), SurfaceFormat::B8G8R8A8, true);
|
||||
+ Factory::CreateDataSourceSurface(RoundOut(transformBounds).Size(), SurfaceFormat::B8G8R8A8
|
||||
+#ifdef MOZ_ENABLE_SKIA
|
||||
+ , true
|
||||
+#endif
|
||||
+ );
|
||||
if (NS_WARN_IF(!temp)) {
|
||||
return;
|
||||
}
|
||||
- }
|
||||
+ })
|
||||
|
||||
for plat in platform_sources.keys():
|
||||
- if not separated.has_key(plat):
|
||||
- separated[plat] = set()
|
||||
-
|
||||
for value in platform_sources[plat]:
|
||||
if isblacklisted(value):
|
||||
continue
|
||||
- SkiaTransform(temp, source, new3DTransform, transformBounds.TopLeft());
|
||||
+ Transform(temp, source, new3DTransform, transformBounds.TopLeft());
|
||||
|
||||
- if value.find('_SSE') > 0 or value.find('_SSSE') > 0 or value.find('_SSE4') > 0 : #lol
|
||||
- separated['intel'].add(value)
|
||||
+ if value in separated['common']:
|
||||
continue
|
||||
transformBounds.MoveTo(0, 0);
|
||||
buffer->DrawSurface(temp, transformBounds, transformBounds);
|
||||
diff --git a/gfx/layers/basic/BasicLayerManager.cpp b/gfx/layers/basic/BasicLayerManager.cpp
|
||||
index f4ec9e4..c849c27 100644
|
||||
--- a/gfx/layers/basic/BasicLayerManager.cpp
|
||||
+++ b/gfx/layers/basic/BasicLayerManager.cpp
|
||||
@@ -46,8 +46,13 @@
|
||||
#include "nsRect.h" // for nsIntRect
|
||||
#include "nsRegion.h" // for nsIntRegion, etc
|
||||
#include "nsTArray.h" // for nsAutoTArray
|
||||
+#ifdef MOZ_ENABLE_SKIA
|
||||
#include "skia/SkCanvas.h" // for SkCanvas
|
||||
#include "skia/SkBitmapDevice.h" // for SkBitmapDevice
|
||||
+#else
|
||||
+#define PIXMAN_DONT_DEFINE_STDINT
|
||||
+#include "pixman.h" // for pixman_f_transform, etc
|
||||
+#endif
|
||||
class nsIWidget;
|
||||
|
||||
- if value.find('_neon') > 0:
|
||||
- separated['neon'].add(value)
|
||||
- continue
|
||||
+ key = plat
|
||||
|
||||
- if value.find('_arm') > 0:
|
||||
- separated['arm'].add(value)
|
||||
- continue
|
||||
+ if '_SSE' in value or '_SSSE' in value:
|
||||
+ key = 'intel'
|
||||
+ elif '_neon' in value:
|
||||
+ key = 'neon'
|
||||
+ elif '_arm' in value:
|
||||
+ key = 'arm'
|
||||
+ elif '_none' in value:
|
||||
+ key = 'none'
|
||||
+ elif all(value in platform_sources.get(p, {})
|
||||
+ for p in platforms if p != plat):
|
||||
+ key = 'common'
|
||||
|
||||
- if value.find('_none') > 0:
|
||||
- separated['none'].add(value)
|
||||
- continue
|
||||
-
|
||||
- found = True
|
||||
- for other in platforms:
|
||||
- if other == plat or not platform_sources.has_key(other):
|
||||
- continue
|
||||
-
|
||||
- if not value in platform_sources[other]:
|
||||
- found = False
|
||||
- break;
|
||||
-
|
||||
- if found:
|
||||
- separated['common'].add(value)
|
||||
- else:
|
||||
- separated[plat].add(value)
|
||||
+ separated[key].add(value)
|
||||
|
||||
return separated
|
||||
|
||||
def uniq(seq):
|
||||
seen = set()
|
||||
seen_add = seen.add
|
||||
return [ x for x in seq if x not in seen and not seen_add(x)]
|
||||
|
||||
def write_cflags(f, values, subsearch, cflag, indent):
|
||||
def write_indent(indent):
|
||||
for _ in range(indent):
|
||||
f.write(' ')
|
||||
|
||||
- val_list = uniq(sorted(map(lambda val: val.replace('../', 'trunk/'), values), key=lambda x: x.lower()))
|
||||
+ val_list = uniq(sorted(values, key=lambda x: x.lower()))
|
||||
|
||||
if len(val_list) == 0:
|
||||
return
|
||||
|
||||
for val in val_list:
|
||||
if val.find(subsearch) > 0:
|
||||
write_indent(indent)
|
||||
f.write("SOURCES[\'" + val + "\'].flags += [\'" + cflag + "\']\n")
|
||||
@@ -391,17 +378,17 @@ def write_sources(f, values, indent):
|
||||
write_list(f, "UNIFIED_SOURCES", sources['unified'], indent)
|
||||
write_list(f, "SOURCES", sources['nonunified'], indent)
|
||||
|
||||
def write_list(f, name, values, indent):
|
||||
def write_indent(indent):
|
||||
for _ in range(indent):
|
||||
f.write(' ')
|
||||
|
||||
- val_list = uniq(sorted(map(lambda val: val.replace('../', 'trunk/'), values), key=lambda x: x.lower()))
|
||||
+ val_list = uniq(sorted(values, key=lambda x: x.lower()))
|
||||
|
||||
if len(val_list) == 0:
|
||||
return
|
||||
|
||||
write_indent(indent)
|
||||
f.write(name + ' += [\n')
|
||||
for val in val_list:
|
||||
write_indent(indent + 4)
|
||||
diff --git a/gfx/skia/moz.build b/gfx/skia/moz.build
|
||||
--- a/gfx/skia/moz.build
|
||||
+++ b/gfx/skia/moz.build
|
||||
@@ -847,17 +847,16 @@ else:
|
||||
'trunk/src/opts/SkBitmapProcState_opts_none.cpp',
|
||||
'trunk/src/opts/SkBlitMask_opts_none.cpp',
|
||||
'trunk/src/opts/SkBlitRow_opts_none.cpp',
|
||||
'trunk/src/opts/SkBlurImage_opts_none.cpp',
|
||||
'trunk/src/opts/SkMorphology_opts_none.cpp',
|
||||
'trunk/src/opts/SkTextureCompression_opts_none.cpp',
|
||||
'trunk/src/opts/SkUtils_opts_none.cpp',
|
||||
'trunk/src/opts/SkXfermode_opts_none.cpp',
|
||||
- 'trunk/src/ports/SkDiscardableMemory_none.cpp',
|
||||
]
|
||||
|
||||
|
||||
# can we find a better way of dealing with asm sources?
|
||||
|
||||
# left out of UNIFIED_SOURCES for now; that's not C++ anyway, nothing else to unify it with
|
||||
if not CONFIG['INTEL_ARCHITECTURE'] and CONFIG['CPU_ARCH'] == 'arm' and CONFIG['GNU_CC']:
|
||||
SOURCES += [
|
||||
diff --git a/image/src/RasterImage.cpp b/image/src/RasterImage.cpp
|
||||
--- a/image/src/RasterImage.cpp
|
||||
+++ b/image/src/RasterImage.cpp
|
||||
@@ -2090,20 +2090,16 @@ RasterImage::RecoverFromLossOfFrames()
|
||||
RequestDecodeCore(ASYNCHRONOUS);
|
||||
namespace mozilla {
|
||||
@@ -601,6 +606,7 @@ BasicLayerManager::SetRoot(Layer* aLayer)
|
||||
mRoot = aLayer;
|
||||
}
|
||||
|
||||
bool
|
||||
RasterImage::CanScale(GraphicsFilter aFilter,
|
||||
const nsIntSize& aSize,
|
||||
uint32_t aFlags)
|
||||
+#ifdef MOZ_ENABLE_SKIA
|
||||
static SkMatrix
|
||||
BasicLayerManager_Matrix3DToSkia(const gfx3DMatrix& aMatrix)
|
||||
{
|
||||
-#ifndef MOZ_ENABLE_SKIA
|
||||
- // The high-quality scaler requires Skia.
|
||||
- return false;
|
||||
-#else
|
||||
// Check basic requirements: HQ downscaling is enabled, we're decoded, the
|
||||
// flags allow us to do it, and a 'good' filter is being used. The flags may
|
||||
// ask us not to scale because the caller isn't drawing to the window. If
|
||||
// we're drawing to something else (e.g. a canvas) we usually have no way of
|
||||
// updating what we've drawn, so HQ scaling is useless.
|
||||
if (!gfxPrefs::ImageHQDownscalingEnabled() || !mDecoded ||
|
||||
!(aFlags & imgIContainer::FLAG_HIGH_QUALITY_SCALING) ||
|
||||
aFilter != GraphicsFilter::FILTER_GOOD) {
|
||||
@@ -2137,17 +2133,16 @@ RasterImage::CanScale(GraphicsFilter aFi
|
||||
// XXX(seth): It's not clear what this check buys us over
|
||||
// gfxPrefs::ImageHQUpscalingMaxSize().
|
||||
// The default value of this pref is 1000, which means that we never upscale.
|
||||
// If that's all it's getting us, I'd rather we just forbid that explicitly.
|
||||
gfx::Size scale(double(aSize.width) / mSize.width,
|
||||
double(aSize.height) / mSize.height);
|
||||
gfxFloat minFactor = gfxPrefs::ImageHQDownscalingMinFactor() / 1000.0;
|
||||
return (scale.width < minFactor || scale.height < minFactor);
|
||||
-#endif
|
||||
@@ -619,10 +625,10 @@ BasicLayerManager_Matrix3DToSkia(const gfx3DMatrix& aMatrix)
|
||||
}
|
||||
|
||||
void
|
||||
RasterImage::NotifyNewScaledFrame()
|
||||
static void
|
||||
-SkiaTransform(const gfxImageSurface* aDest,
|
||||
- RefPtr<DataSourceSurface> aSrc,
|
||||
- const gfx3DMatrix& aTransform,
|
||||
- gfxPoint aDestOffset)
|
||||
+Transform(const gfxImageSurface* aDest,
|
||||
+ RefPtr<DataSourceSurface> aSrc,
|
||||
+ const gfx3DMatrix& aTransform,
|
||||
+ gfxPoint aDestOffset)
|
||||
{
|
||||
if (mProgressTracker) {
|
||||
// Send an invalidation so observers will repaint and can take advantage of
|
||||
// the new scaled frame if possible.
|
||||
if (aTransform.IsSingular()) {
|
||||
return;
|
||||
@@ -658,6 +664,78 @@ SkiaTransform(const gfxImageSurface* aDest,
|
||||
SkRect destRect = SkRect::MakeXYWH(0, 0, srcSize.width, srcSize.height);
|
||||
destCanvas.drawBitmapRectToRect(src, nullptr, destRect, &paint);
|
||||
}
|
||||
+#else
|
||||
+static pixman_transform
|
||||
+BasicLayerManager_Matrix3DToPixman(const gfx3DMatrix& aMatrix)
|
||||
+{
|
||||
+ pixman_f_transform transform;
|
||||
+
|
||||
+ transform.m[0][0] = aMatrix._11;
|
||||
+ transform.m[0][1] = aMatrix._21;
|
||||
+ transform.m[0][2] = aMatrix._41;
|
||||
+ transform.m[1][0] = aMatrix._12;
|
||||
+ transform.m[1][1] = aMatrix._22;
|
||||
+ transform.m[1][2] = aMatrix._42;
|
||||
+ transform.m[2][0] = aMatrix._14;
|
||||
+ transform.m[2][1] = aMatrix._24;
|
||||
+ transform.m[2][2] = aMatrix._44;
|
||||
+
|
||||
+ pixman_transform result;
|
||||
+ pixman_transform_from_pixman_f_transform(&result, &transform);
|
||||
+
|
||||
+ return result;
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+Transform(const gfxImageSurface* aDest,
|
||||
+ RefPtr<DataSourceSurface> aSrc,
|
||||
+ const gfx3DMatrix& aTransform,
|
||||
+ gfxPoint aDestOffset)
|
||||
+{
|
||||
+ IntSize destSize = ToIntSize(aDest->GetSize());
|
||||
+ pixman_image_t* dest = pixman_image_create_bits(aDest->Format() == gfxImageFormat::ARGB32 ? PIXMAN_a8r8g8b8 : PIXMAN_x8r8g8b8,
|
||||
+ destSize.width,
|
||||
+ destSize.height,
|
||||
+ (uint32_t*)aDest->Data(),
|
||||
+ aDest->Stride());
|
||||
+
|
||||
+ IntSize srcSize = aSrc->GetSize();
|
||||
+ pixman_image_t* src = pixman_image_create_bits(aSrc->GetFormat() == SurfaceFormat::B8G8R8A8 ? PIXMAN_a8r8g8b8 : PIXMAN_x8r8g8b8,
|
||||
+ srcSize.width,
|
||||
+ srcSize.height,
|
||||
+ (uint32_t*)aSrc->GetData(),
|
||||
+ aSrc->Stride());
|
||||
+
|
||||
+ NS_ABORT_IF_FALSE(src && dest, "Failed to create pixman images?");
|
||||
+
|
||||
+ pixman_transform pixTransform = BasicLayerManager_Matrix3DToPixman(aTransform);
|
||||
+ pixman_transform pixTransformInverted;
|
||||
+
|
||||
+ // If the transform is singular then nothing would be drawn anyway, return here
|
||||
+ if (!pixman_transform_invert(&pixTransformInverted, &pixTransform)) {
|
||||
+ pixman_image_unref(dest);
|
||||
+ pixman_image_unref(src);
|
||||
+ return;
|
||||
+ }
|
||||
+ pixman_image_set_transform(src, &pixTransformInverted);
|
||||
+
|
||||
+ pixman_image_composite32(PIXMAN_OP_SRC,
|
||||
+ src,
|
||||
+ nullptr,
|
||||
+ dest,
|
||||
+ aDestOffset.x,
|
||||
+ aDestOffset.y,
|
||||
+ 0,
|
||||
+ 0,
|
||||
+ 0,
|
||||
+ 0,
|
||||
+ destSize.width,
|
||||
+ destSize.height);
|
||||
+
|
||||
+ pixman_image_unref(dest);
|
||||
+ pixman_image_unref(src);
|
||||
+}
|
||||
+#endif
|
||||
|
||||
/**
|
||||
* Transform a surface using a gfx3DMatrix and blit to the destination if
|
||||
@@ -699,7 +777,7 @@ Transform3D(RefPtr<SourceSurface> aSource,
|
||||
gfx3DMatrix translation = gfx3DMatrix::Translation(aBounds.x, aBounds.y, 0);
|
||||
|
||||
// Transform the content and offset it such that the content begins at the origin.
|
||||
- SkiaTransform(destImage, aSource->GetDataSurface(), translation * aTransform, offset);
|
||||
+ Transform(destImage, aSource->GetDataSurface(), translation * aTransform, offset);
|
||||
|
||||
// If we haven't actually drawn to aDest then return our temporary image so
|
||||
// that the caller can do this.
|
||||
--
|
||||
2.3.0.4.g34b1174
|
||||
|
||||
|
@ -1,2 +1,2 @@
|
||||
REV=df45b1c67169
|
||||
REV=29182ac68a26
|
||||
REPO=http://hg.mozilla.org/releases/mozilla-release
|
||||
|
@ -6,7 +6,7 @@ https://bugzilla.novell.com/show_bug.cgi?id=501724
|
||||
diff --git a/browser/components/preferences/main.js b/browser/components/preferences/main.js
|
||||
--- a/browser/components/preferences/main.js
|
||||
+++ b/browser/components/preferences/main.js
|
||||
@@ -290,17 +290,17 @@ var gMainPane = {
|
||||
@@ -408,17 +408,17 @@ var gMainPane = {
|
||||
// and was available as an option in the 1.5 drop down. On XP this
|
||||
// was in My Documents, on OSX it was in User Docs. In 2.0, we did
|
||||
// away with the drop down option, although the special label was
|
||||
@ -17,18 +17,18 @@ diff --git a/browser/components/preferences/main.js b/browser/components/prefere
|
||||
// folder. See nsDownloadManager for details.
|
||||
- downloadFolder.label = bundlePreferences.getString("downloadsFolderName");
|
||||
+ downloadFolder.label = "Downloads";
|
||||
iconUrlSpec = fph.getURLSpecFromFile(this._indexToFolder(1));
|
||||
iconUrlSpec = fph.getURLSpecFromFile(yield this._indexToFolder(1));
|
||||
} else {
|
||||
// 'Desktop'
|
||||
downloadFolder.label = bundlePreferences.getString("desktopFolderName");
|
||||
iconUrlSpec = fph.getURLSpecFromFile(this._getDownloadsFolder("Desktop"));
|
||||
iconUrlSpec = fph.getURLSpecFromFile(yield this._getDownloadsFolder("Desktop"));
|
||||
}
|
||||
downloadFolder.image = "moz-icon://" + iconUrlSpec + "?size=16";
|
||||
|
||||
}),
|
||||
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
|
||||
@@ -1365,18 +1365,20 @@ nsDownloadManager::GetDefaultDownloadsDi
|
||||
@@ -1361,18 +1361,20 @@ nsDownloadManager::GetDefaultDownloadsDi
|
||||
// Vista:
|
||||
// Downloads
|
||||
// XP/2K:
|
||||
|
Loading…
Reference in New Issue
Block a user