1
0

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:
Dominique Leuenberger 2015-04-07 07:27:50 +00:00 committed by Git OBS Bridge
commit 9bbd9c54af
20 changed files with 620 additions and 493 deletions

View File

@ -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

View File

@ -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

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:414f002f062916b91a593ce98d101f331227b4bbde1ec8da0c8816bebbe46311
size 28428
oid sha256:784dd12e81443ddab028d74976128b76411088f16baef118821c55d684f909c5
size 28432

View File

@ -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

View File

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

View File

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

View File

@ -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

View File

@ -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/

View File

@ -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
View File

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

152
mozilla-bmo1005535.patch Normal file
View 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:

View File

@ -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
-
-}
-}

View File

@ -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

View File

@ -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>

View File

@ -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))

View File

@ -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
View 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 */

View File

@ -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

View File

@ -1,2 +1,2 @@
REV=df45b1c67169
REV=29182ac68a26
REPO=http://hg.mozilla.org/releases/mozilla-release

View File

@ -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: