--- a/MozillaFirefox/MozillaFirefox.changes Wed Apr 08 00:59:13 2015 +0200
+++ b/MozillaFirefox/MozillaFirefox.changes Sun May 10 09:05:36 2015 +0200
@@ -1,8 +1,15 @@
-------------------------------------------------------------------
-Tue Apr 7 22:57:36 UTC 2015 - wr@rosenauer.org
-
-- update to Firefox 38.0b2
-- requires NSS 3.18
+Thu Apr 23 06:41:34 UTC 2015 - wr@rosenauer.org
+
+- update to Firefox 38.0b6
+- requires NSS 3.18.1
+
+-------------------------------------------------------------------
+Fri Apr 17 16:39:20 UTC 2015 - wr@rosenauer.org
+
+- update to Firefox 37.0.2 (bnc#928116)
+ * MFSA 2015-45/CVE-2015-2706 (bmo#1141081)
+ Memory corruption during failed plugin initialization
-------------------------------------------------------------------
Fri Apr 3 08:27:24 UTC 2015 - wr@rosenauer.org
--- a/MozillaFirefox/MozillaFirefox.spec Wed Apr 08 00:59:13 2015 +0200
+++ b/MozillaFirefox/MozillaFirefox.spec Sun May 10 09:05:36 2015 +0200
@@ -21,7 +21,7 @@
%define major 37
%define mainver %major.99
%define update_channel beta
-%define releasedate 2015040700
+%define releasedate 2015042200
# general build definitions
%if "%{update_channel}" != "aurora"
@@ -77,7 +77,7 @@
BuildRequires: libproxy-devel
BuildRequires: makeinfo
BuildRequires: mozilla-nspr-devel >= 4.10.8
-BuildRequires: mozilla-nss-devel >= 3.18
+BuildRequires: mozilla-nss-devel >= 3.18.1
BuildRequires: nss-shared-helper-devel
BuildRequires: python-devel
BuildRequires: startup-notification-devel
@@ -144,7 +144,6 @@
Patch10: mozilla-icu-strncat.patch
Patch11: mozilla-arm-disable-edsp.patch
Patch12: mozilla-openaes-decl.patch
-Patch13: mozilla-skia-bmo1136958.patch
Patch14: mozilla-skia-be-le.patch
Patch15: mozilla-bmo1005535.patch
# Firefox/browser
@@ -259,7 +258,6 @@
%patch10 -p1
%patch11 -p1
%patch12 -p1
-%patch13 -p1
%patch14 -p1
%patch15 -p1
# Firefox
@@ -342,8 +340,6 @@
%if 0%{?gstreamer} == 1
ac_add_options --enable-gstreamer=1.0
%endif
-ac_add_options --disable-gnomevfs
-ac_add_options --enable-gio
%if %branding
ac_add_options --enable-official-branding
%endif
--- a/MozillaFirefox/create-tar.sh Wed Apr 08 00:59:13 2015 +0200
+++ b/MozillaFirefox/create-tar.sh Sun May 10 09:05:36 2015 +0200
@@ -2,7 +2,7 @@
CHANNEL="beta"
BRANCH="releases/mozilla-$CHANNEL"
-RELEASE_TAG="FIREFOX_38_0b2_RELEASE"
+RELEASE_TAG="FIREFOX_38_0b6_RELEASE"
VERSION="37.99"
# mozilla
--- a/MozillaFirefox/mozilla-skia-bmo1136958.patch Wed Apr 08 00:59:13 2015 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-../mozilla-skia-bmo1136958.patch
\ No newline at end of file
--- a/firefox-kde.patch Wed Apr 08 00:59:13 2015 +0200
+++ b/firefox-kde.patch Sun May 10 09:05:36 2015 +0200
@@ -1,11 +1,11 @@
# HG changeset patch
-# Parent 409c60c5454efb61ebecf0edc8822a0e92f563f3
+# Parent a21f91aa3ed60b4e95b47f45715dfda379dab7c8
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,1288 @@
+@@ -0,0 +1,1302 @@
+#filter substitution
+<?xml version="1.0"?>
+# -*- Mode: HTML -*-
@@ -154,8 +154,13 @@
+ <!-- for url bar autocomplete -->
+ <panel type="autocomplete-richlistbox" id="PopupAutoCompleteRichResult" noautofocus="true" hidden="true"/>
+
-+ <!-- for select dropdowns -->
-+ <menupopup id="ContentSelectDropdown" rolluponmousewheel="true" hidden="true"/>
++ <!-- for select dropdowns. The menupopup is what shows the list of options,
++ and the popuponly menulist makes things like the menuactive attributes
++ work correctly on the menupopup. ContentSelectDropdown expects the
++ popuponly menulist to be its immediate parent. -->
++ <menulist popuponly="true" id="ContentSelectDropdown" hidden="true">
++ <menupopup rolluponmousewheel="true"/>
++ </menulist>
+
+ <!-- for invalid form error message -->
+ <panel id="invalid-form-popup" type="arrow" orient="vertical" noautofocus="true" hidden="true" level="parent">
@@ -248,41 +253,6 @@
+ mousethrough="always">
+ <box id="UITourHighlight"></box>
+ </panel>
-+ <!-- Used to highlight the new search experience -->
-+ <panel id="SearchHighlight1"
-+ class="SearchHighlight"
-+ type="arrow"
-+ hidden="true"
-+ noautofocus="true"
-+ noautohide="true"
-+ orient="vertical"
-+ align="stretch">
-+ <label class="SearchHighlightTitle">&SearchHighlight1.title;</label>
-+ <description class="SearchHighlightText" flex="1">&SearchHighlight1.text;</description>
-+ <hbox class="SearchHighlightFooter" align="center">
-+ <spacer class="dot filled"/>
-+ <spacer class="dot"/>
-+ <spacer flex="1"/>
-+ <button label="&SearchHighlightNext;"/>
-+ </hbox>
-+ </panel>
-+ <panel id="SearchHighlight2"
-+ class="SearchHighlight"
-+ type="arrow"
-+ hidden="true"
-+ noautofocus="true"
-+ noautohide="true"
-+ orient="vertical"
-+ align="stretch">
-+ <label class="SearchHighlightTitle">&SearchHighlight2.title;</label>
-+ <description class="SearchHighlightText" flex="1">&SearchHighlight2.text;</description>
-+ <hbox class="SearchHighlightFooter" align="center">
-+ <spacer class="dot"/>
-+ <spacer class="dot filled"/>
-+ <spacer flex="1"/>
-+ <button label="&SearchHighlightClose;"/>
-+ </hbox>
-+ </panel>
+
+ <panel id="abouthome-search-panel" orient="vertical" type="arrow" hidden="true"
+ onclick="this.hidePopup()">
@@ -342,6 +312,26 @@
+ orient="horizontal"
+ hidden="true"/>
+
++ <menupopup id="processHangOptions"
++ onpopupshowing="ProcessHangMonitor.refreshMenu(window);">
++ <menuitem id="processHangTerminateScript"
++ oncommand="ProcessHangMonitor.terminateScript(window)"
++ accesskey="&processHang.terminateScript.accessKey;"
++ label="&processHang.terminateScript.label;"/>
++ <menuitem id="processHangDebugScript"
++ oncommand="ProcessHangMonitor.debugScript(window)"
++ accesskey="&processHang.debugScript.accessKey;"
++ label="&processHang.debugScript.label;"/>
++ <menuitem id="processHangTerminatePlugin"
++ oncommand="ProcessHangMonitor.terminatePlugin(window)"
++ accesskey="&processHang.terminatePlugin.accessKey;"
++ label="&processHang.terminatePlugin.label;"/>
++ <menuitem id="processHangTerminateProcess"
++ oncommand="ProcessHangMonitor.terminateProcess(window)"
++ accesskey="&processHang.terminateProcess.accessKey;"
++ label="&processHang.terminateProcess.label;"/>
++ </menupopup>
++
+ <menupopup id="toolbar-context-menu"
+ onpopupshowing="onViewToolbarsPopupShowing(event, document.getElementById('viewToolbarsMenuSeparator'));">
+ <menuitem oncommand="gCustomizeMode.addToPanel(document.popupNode)"
@@ -588,12 +578,12 @@
+
+ <menupopup id="emeNotificationsPopup">
+ <menuitem id="emeNotificationsNotNow"
-+ label="Not now"
-+ acceskey="N"
++ label="&emeNotificationsNotNow.label;"
++ acceskey="&emeNotificationsNotNow.accesskey;"
+ oncommand="gEMEHandler.onNotNow(this);"/>
+ <menuitem id="emeNotificationsDontAskAgain"
-+ label="Don't ask me again"
-+ acceskey="D"
++ label="&emeNotificationsDontAskAgain.label;"
++ acceskey="&emeNotificationsDontAskAgain.accesskey;"
+ oncommand="gEMEHandler.onDontAskAgain(this);"/>
+ </menupopup>
+ </popupset>
@@ -845,6 +835,14 @@
+ hidden="true"
+ tooltiptext="&pageReportIcon.tooltip;"
+ onclick="gPopupBlockerObserver.onReportButtonClick(event);"/>
++ <image id="readinglist-addremove-button"
++ class="urlbar-icon"
++ hidden="true"
++ onclick="ReadingListUI.togglePageByBrowser(gBrowser.selectedBrowser);"/>
++ <image id="reader-mode-button"
++ class="urlbar-icon"
++ hidden="true"
++ onclick="ReaderParent.buttonClick(event);"/>
+ </hbox>
+ <toolbarbutton id="urlbar-go-button"
+ class="chromeclass-toolbar-additional"
@@ -898,7 +896,7 @@
+ class="subviewbutton"
+ label="&viewBookmarksSidebar2.label;"
+ type="checkbox"
-+ oncommand="toggleSidebar('viewBookmarksSidebar');">
++ oncommand="SidebarUI.toggle('viewBookmarksSidebar');">
+ <observes element="viewBookmarksSidebar" attribute="checked"/>
+ </menuitem>
+ <!-- NB: temporary solution for bug 985024, this should go away soon. -->
@@ -963,6 +961,22 @@
+ new PlacesMenu(event, 'place:folder=UNFILED_BOOKMARKS',
+ PlacesUIUtils.getViewForNode(this.parentNode.parentNode).options);"/>
+ </menu>
++ <menuseparator>
++ <observes element="readingListSidebar" attribute="hidden"/>
++ </menuseparator>
++ <menu id="BMB_readingList"
++ class="menu-iconic bookmark-item subviewbutton"
++ label="&readingList.label;"
++ container="true">
++ <observes element="readingListSidebar" attribute="hidden"/>
++ <menupopup id="BMB_readingListPopup"
++ placespopup="true"
++ onpopupshowing="ReadingListUI.onReadingListPopupShowing(this);">
++ <menuitem id="BMB_viewReadingListSidebar" class="subviewbutton"
++ oncommand="SidebarUI.show('readingListSidebar');"
++ label="&readingList.showSidebar.label;"/>
++ </menupopup>
++ </menu>
+ <menuseparator/>
+ <!-- Bookmarks menu items will go here -->
+ <menuitem id="BMB_bookmarksShowAll"
@@ -1151,10 +1165,10 @@
+ <sidebarheader id="sidebar-header" align="center">
+ <label id="sidebar-title" persist="value" flex="1" crop="end" control="sidebar"/>
+ <image id="sidebar-throbber"/>
-+ <toolbarbutton class="close-icon tabbable" tooltiptext="&sidebarCloseButton.tooltip;" oncommand="toggleSidebar();"/>
++ <toolbarbutton class="close-icon tabbable" tooltiptext="&sidebarCloseButton.tooltip;" oncommand="SidebarUI.hide();"/>
+ </sidebarheader>
+ <browser id="sidebar" flex="1" autoscroll="false" disablehistory="true"
-+ style="min-width: 14em; width: 18em; max-width: 36em;"/>
++ style="min-width: 14em; width: 18em; max-width: 36em;" tooltip="aHTMLTooltip"/>
+ </vbox>
+
+ <splitter id="sidebar-splitter" class="chromeclass-extrachrome sidebar-splitter" hidden="true"/>
@@ -1165,7 +1179,7 @@
+ tabcontainer="tabbrowser-tabs"
+ contentcontextmenu="contentAreaContextMenu"
+ autocompletepopup="PopupAutoComplete"
-+ selectpopup="ContentSelectDropdown"/>
++ selectmenulist="ContentSelectDropdown"/>
+ <chatbar id="pinnedchats" layer="true" mousethrough="always" hidden="true"/>
+ </vbox>
+ <splitter id="social-sidebar-splitter"
@@ -1297,7 +1311,7 @@
diff --git a/browser/base/content/browser.xul b/browser/base/content/browser.xul
--- a/browser/base/content/browser.xul
+++ b/browser/base/content/browser.xul
-@@ -174,17 +174,17 @@
+@@ -179,17 +179,17 @@
class="editBookmarkPanelHeaderButton"
oncommand="StarUI.removeBookmarkButtonCommand();"
accesskey="&editBookmark.removeBookmark.accessKey;"/>
@@ -1316,7 +1330,7 @@
<button id="editBookmarkPanelDeleteButton"
class="editBookmarkPanelBottomButton"
label="&editBookmark.cancel.label;"
-@@ -1214,17 +1214,17 @@
+@@ -1228,17 +1228,17 @@
<hbox id="full-screen-warning-container" hidden="true" fadeout="true">
<hbox style="width: 100%;" pack="center"> <!-- Inner hbox needed due to bug 579776. -->
@@ -1338,10 +1352,10 @@
diff --git a/browser/base/jar.mn b/browser/base/jar.mn
--- a/browser/base/jar.mn
+++ b/browser/base/jar.mn
-@@ -69,16 +69,18 @@ browser.jar:
- content/browser/aboutRobots-widget-left.png (content/aboutRobots-widget-left.png)
+@@ -70,16 +70,18 @@ browser.jar:
content/browser/aboutSocialError.xhtml (content/aboutSocialError.xhtml)
content/browser/aboutProviderDirectory.xhtml (content/aboutProviderDirectory.xhtml)
+ content/browser/aboutTabCrashed.css (content/aboutTabCrashed.css)
content/browser/aboutTabCrashed.js (content/aboutTabCrashed.js)
content/browser/aboutTabCrashed.xhtml (content/aboutTabCrashed.xhtml)
* content/browser/browser.css (content/browser.css)
@@ -1349,7 +1363,6 @@
* 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)
@@ -1357,6 +1370,7 @@
content/browser/defaultthemes/1.header.jpg (content/defaultthemes/1.header.jpg)
content/browser/defaultthemes/1.icon.jpg (content/defaultthemes/1.icon.jpg)
content/browser/defaultthemes/1.preview.jpg (content/defaultthemes/1.preview.jpg)
+ content/browser/defaultthemes/2.footer.jpg (content/defaultthemes/2.footer.jpg)
diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/nsModule.cpp
--- a/browser/components/build/nsModule.cpp
+++ b/browser/components/build/nsModule.cpp
@@ -1784,7 +1798,7 @@
+#include "nsStringAPI.h"
+#include "mozilla/Attributes.h"
+
-+class nsKDEShellService MOZ_FINAL : public nsIShellService
++class nsKDEShellService final : public nsIShellService
+{
+public:
+ nsKDEShellService() : mCheckedThisSession(false) { }
@@ -1911,7 +1925,7 @@
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
-@@ -688,19 +688,21 @@
+@@ -698,19 +698,21 @@
@RESPATH@/defaults/autoconfig/prefcalls.js
@RESPATH@/browser/defaults/profile/prefs.js
--- a/firefox-no-default-ualocale.patch Wed Apr 08 00:59:13 2015 +0200
+++ b/firefox-no-default-ualocale.patch Sun May 10 09:05:36 2015 +0200
@@ -1,13 +1,14 @@
# HG changeset patch
# User Wolfgang Rosenauer <wr@rosenauer.org>
# Parent 099312626f5f7c9cb5573a61d0230574ee12a660
+# Parent 9e46107bf33966236739600abba9dc8d97fd9d7f
Do not overwrite the locale dynamic pref from xulrunner's all.js with a wrong default value
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
-@@ -261,17 +261,17 @@ pref("browser.uitour.pinnedTabUrl", "htt
- pref("browser.uitour.url", "https://www.mozilla.org/%LOCALE%/firefox/%VERSION%/tour/");
+@@ -251,17 +251,17 @@ pref("browser.uitour.url", "https://www.
+ pref("browser.uitour.readerViewTrigger", "^https:\/\/www\.mozilla\.org\/[^\/]+\/firefox\/reading\/start");
pref("browser.customizemode.tip0.shown", false);
pref("browser.customizemode.tip0.learnMoreUrl", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/customize");
--- a/mozilla-kde.patch Wed Apr 08 00:59:13 2015 +0200
+++ b/mozilla-kde.patch Sun May 10 09:05:36 2015 +0200
@@ -1,5 +1,5 @@
# HG changeset patch
-# Parent 2b183c17f6e4693372442af1a8ee0be364f8cba0
+# Parent 214f99f3ce4f1f8ae9b3d18da44e5d66b3105663
Description: Add KDE integration to Firefox (toolkit parts)
Author: Wolfgang Rosenauer <wolfgang@rosenauer.org>
Author: Lubos Lunak <lunak@suse.com>
@@ -1836,8 +1836,8 @@
+ secMan.isSystemPrincipal(window.opener.document.nodePrincipal)) {
+ var psvc = Components.classes["@mozilla.org/preferences-service;1"]
+ .getService(Components.interfaces.nsIPrefBranch);
-+ var instantApply = psvc.getBoolPref("browser.preferences.instantApply");
-+ if (instantApply) {
++ var pdocEl = window.opener.document.documentElement;
++ if (pdocEl.instantApply) {
+ var panes = this.preferencePanes;
+ for (var i = 0; i < panes.length; ++i)
+ panes[i].writePreferences(true);
@@ -2136,7 +2136,7 @@
+#include "nsVoidArray.h"
+#include "nsKDEUtils.h"
- class nsUnixSystemProxySettings MOZ_FINAL : public nsISystemProxySettings {
+ class nsUnixSystemProxySettings final : public nsISystemProxySettings {
public:
NS_DECL_ISUPPORTS
NS_DECL_NSISYSTEMPROXYSETTINGS
@@ -2219,7 +2219,7 @@
diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build
--- a/toolkit/xre/moz.build
+++ b/toolkit/xre/moz.build
-@@ -43,17 +43,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'qt
+@@ -45,17 +45,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'qt
GENERATED_SOURCES += [
'moc_nsNativeAppSupportQt.cpp',
]
@@ -2666,9 +2666,9 @@
LOCAL_INCLUDES += [
'/dom/base',
'/dom/ipc',
- '/netwerk/base/src',
+ '/netwerk/base',
'/netwerk/protocol/http',
-+ '/toolkit/xre'
++ '/toolkit/xre',
]
if CONFIG['MOZ_ENABLE_DBUS']:
@@ -2904,7 +2904,7 @@
diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
--- a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
+++ b/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
-@@ -7,33 +7,36 @@
+@@ -7,32 +7,35 @@
#ifdef MOZ_WIDGET_QT
#if (MOZ_ENABLE_CONTENTACTION)
#include <contentaction/contentaction.h>
@@ -2918,7 +2918,6 @@
#include "nsIGIOService.h"
#include "nsNetCID.h"
#include "nsIIOService.h"
- #include "nsIGnomeVFSService.h"
#include "nsAutoPtr.h"
#ifdef MOZ_ENABLE_DBUS
#include "nsDBusHandlerApp.h"
@@ -2943,7 +2942,7 @@
#endif
return rv;
-@@ -46,24 +49,24 @@ nsMIMEInfoUnix::GetHasDefaultHandler(boo
+@@ -45,24 +48,24 @@ nsMIMEInfoUnix::GetHasDefaultHandler(boo
// either /etc/mailcap or ${HOME}/.mailcap, in which case we don't want to
// give the GNOME answer.
if (mDefaultApplication)
@@ -2951,7 +2950,7 @@
*_retval = false;
- if (mClass == eProtocolInfo) {
+ if (mClass == eProtocolInfo) {
- *_retval = nsGNOMERegistry::HandlerExists(mSchemeOrType.get());
+ *_retval = nsCommonRegistry::HandlerExists(mSchemeOrType.get());
} else {
@@ -2971,7 +2970,7 @@
if (*_retval)
return NS_OK;
-@@ -98,16 +101,33 @@ nsMIMEInfoUnix::LaunchDefaultWithFile(ns
+@@ -97,16 +100,33 @@ nsMIMEInfoUnix::LaunchDefaultWithFile(ns
ContentAction::Action::defaultActionForFile(uri, QString(mSchemeOrType.get()));
if (action.isValid()) {
action.trigger();
@@ -2998,32 +2997,13 @@
+ }
+
nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
- nsAutoCString uriSpec;
- if (giovfs) {
- // nsGIOMimeApp->Launch wants a URI string instead of local file
- nsresult rv;
- nsCOMPtr<nsIIOService> ioservice = do_GetService(NS_IOSERVICE_CONTRACTID, &rv);
- NS_ENSURE_SUCCESS(rv, rv);
- nsCOMPtr<nsIURI> uri;
-@@ -125,17 +145,17 @@ nsMIMEInfoUnix::LaunchDefaultWithFile(ns
- /* Fallback to GnomeVFS */
- nsCOMPtr<nsIGnomeVFSMimeApp> app;
- if (NS_SUCCEEDED(gnomevfs->GetAppForMimeType(mSchemeOrType, getter_AddRefs(app))) && app)
- return app->Launch(nativePath);
+ if (!giovfs) {
+ return NS_ERROR_FAILURE;
}
- // If we haven't got an app we try to get a valid one by searching for the
- // extension mapped type
-- nsRefPtr<nsMIMEInfoBase> mimeInfo = nsGNOMERegistry::GetFromExtension(nativePath);
-+ nsRefPtr<nsMIMEInfoBase> mimeInfo = nsCommonRegistry::GetFromExtension(nativePath);
- if (mimeInfo) {
- nsAutoCString type;
- mimeInfo->GetType(type);
- if (giovfs) {
- nsCOMPtr<nsIGIOMimeApp> app;
- if (NS_SUCCEEDED(giovfs->GetAppForMimeType(type, getter_AddRefs(app))) && app)
- return app->Launch(uriSpec);
- } else if (gnomevfs) {
+ // nsGIOMimeApp->Launch wants a URI string instead of local file
+ nsresult rv;
+ nsCOMPtr<nsIIOService> ioservice = do_GetService(NS_IOSERVICE_CONTRACTID, &rv);
diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exthandler/unix/nsOSHelperAppService.cpp
--- a/uriloader/exthandler/unix/nsOSHelperAppService.cpp
+++ b/uriloader/exthandler/unix/nsOSHelperAppService.cpp
@@ -3054,7 +3034,7 @@
#endif
#ifdef MOZ_WIDGET_GTK
- // Check the GConf registry for a protocol handler
+ // Check the GNOME registry for a protocol handler
- *aHandlerExists = nsGNOMERegistry::HandlerExists(aProtocolScheme);
+ *aHandlerExists = nsCommonRegistry::HandlerExists(aProtocolScheme);
#endif
@@ -3094,25 +3074,25 @@
rv = LookUpTypeAndDescription(NS_ConvertUTF8toUTF16(aFileExt),
majorType,
-@@ -1372,17 +1372,17 @@ nsOSHelperAppService::GetFromType(const
+@@ -1373,17 +1373,17 @@ nsOSHelperAppService::GetFromType(const
+ nsAutoString extensions, mime_types_description;
+ LookUpExtensionsAndDescription(majorType,
+ minorType,
+ extensions,
+ mime_types_description);
+
#ifdef MOZ_WIDGET_GTK
- nsRefPtr<nsMIMEInfoBase> gnomeInfo;
if (handler.IsEmpty()) {
- // No useful data yet. Check the GNOME registry. Unfortunately, newer
- // GNOME versions no longer have type-to-extension mappings, so we might
- // get back a MIMEInfo without any extensions set. In that case we'll have
- // to look in our mime.types files for the extensions.
- LOG(("Looking in GNOME registry\n"));
-- gnomeInfo = nsGNOMERegistry::GetFromType(aMIMEType);
-+ gnomeInfo = nsCommonRegistry::GetFromType(aMIMEType);
- if (gnomeInfo && gnomeInfo->HasExtensions()) {
- LOG(("Got MIMEInfo from GNOME registry, and it has extensions set\n"));
+- nsRefPtr<nsMIMEInfoBase> gnomeInfo = nsGNOMERegistry::GetFromType(aMIMEType);
++ nsRefPtr<nsMIMEInfoBase> gnomeInfo = nsCommonRegistry::GetFromType(aMIMEType);
+ if (gnomeInfo) {
+ LOG(("Got MIMEInfo from GNOME registry without extensions; setting them "
+ "to %s\n", NS_LossyConvertUTF16toASCII(extensions).get()));
+
+ NS_ASSERTION(!gnomeInfo->HasExtensions(), "How'd that happen?");
+ gnomeInfo->SetFileExtensions(NS_ConvertUTF16toUTF8(extensions));
return gnomeInfo.forget();
}
- }
- #endif
-
- // Now look up our extensions
diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build
--- a/widget/gtk/moz.build
+++ b/widget/gtk/moz.build
@@ -3465,7 +3445,7 @@
diff --git a/widget/gtk/nsFilePicker.h b/widget/gtk/nsFilePicker.h
--- a/widget/gtk/nsFilePicker.h
+++ b/widget/gtk/nsFilePicker.h
-@@ -66,11 +66,17 @@ protected:
+@@ -68,11 +68,17 @@ protected:
nsString mDefault;
nsString mDefaultExtension;
@@ -3504,9 +3484,9 @@
#define XPTONLY_MANIFEST nullptr
#define XPTONLY_XPT nullptr
#endif
-@@ -488,16 +489,17 @@ ParseManifest(NSLocationType aType, File
- NS_NAMED_LITERAL_STRING(kPlatform, "platform");
- NS_NAMED_LITERAL_STRING(kContentAccessible, "contentaccessible");
+@@ -489,16 +490,17 @@ ParseManifest(NSLocationType aType, File
+ NS_NAMED_LITERAL_STRING(kRemoteEnabled, "remoteenabled");
+ NS_NAMED_LITERAL_STRING(kRemoteRequired, "remoterequired");
NS_NAMED_LITERAL_STRING(kApplication, "application");
NS_NAMED_LITERAL_STRING(kAppVersion, "appversion");
NS_NAMED_LITERAL_STRING(kGeckoVersion, "platformversion");
@@ -3522,7 +3502,7 @@
NS_NAMED_LITERAL_STRING(kMain, "main");
NS_NAMED_LITERAL_STRING(kContent, "content");
-@@ -548,44 +550,49 @@ ParseManifest(NSLocationType aType, File
+@@ -549,44 +551,49 @@ ParseManifest(NSLocationType aType, File
CopyUTF8toUTF16(s, abi);
abi.Insert(char16_t('_'), 0);
abi.Insert(osTarget, 0);
@@ -3573,14 +3553,14 @@
}
@@ -681,25 +688,27 @@ ParseManifest(NSLocationType aType, File
+ TriState stOsVersion = eUnspecified;
TriState stOs = eUnspecified;
TriState stABI = eUnspecified;
TriState stProcess = eUnspecified;
#if defined(MOZ_WIDGET_ANDROID)
TriState stTablet = eUnspecified;
#endif
- bool platform = false;
- bool contentAccessible = false;
+ int flags = 0;
+ TriState stDesktop = eUnspecified;
while ((token = nsCRT::strtok(whitespace, kWhitespace, &whitespace)) &&
@@ -3600,7 +3580,7 @@
}
#if defined(MOZ_WIDGET_ANDROID)
-@@ -731,16 +740,17 @@ ParseManifest(NSLocationType aType, File
+@@ -749,16 +758,17 @@ ParseManifest(NSLocationType aType, File
}
if (!ok ||
@@ -3638,7 +3618,8 @@
diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
--- a/xpcom/io/nsLocalFileUnix.cpp
+++ b/xpcom/io/nsLocalFileUnix.cpp
-@@ -45,16 +45,17 @@
+@@ -44,16 +44,17 @@
+ #include "prproces.h"
#include "nsIDirectoryEnumerator.h"
#include "nsISimpleEnumerator.h"
#include "private/pprio.h"
@@ -3646,7 +3627,6 @@
#ifdef MOZ_WIDGET_GTK
#include "nsIGIOService.h"
- #include "nsIGnomeVFSService.h"
+#include "nsKDEUtils.h"
#endif
@@ -3656,7 +3636,7 @@
#include "prmem.h"
#include "plbase64.h"
-@@ -1965,55 +1966,57 @@ nsLocalFile::SetPersistentDescriptor(con
+@@ -1964,42 +1965,52 @@ nsLocalFile::SetPersistentDescriptor(con
return InitWithNativePath(aPersistentDescriptor);
#endif
}
@@ -3666,14 +3646,11 @@
{
#ifdef MOZ_WIDGET_GTK
- nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
-- nsCOMPtr<nsIGnomeVFSService> gnomevfs =
-- do_GetService(NS_GNOMEVFSSERVICE_CONTRACTID);
-- if (!giovfs && !gnomevfs) {
+- if (!giovfs) {
- return NS_ERROR_FAILURE;
- }
--
-+
+ nsAutoCString url;
+
bool isDirectory;
if (NS_FAILED(IsDirectory(&isDirectory))) {
return NS_ERROR_FAILURE;
@@ -3681,16 +3658,9 @@
+ nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
if (isDirectory) {
-- if (giovfs) {
-- return giovfs->ShowURIForInput(mPath);
-- } else
-- /* Fallback to GnomeVFS */
-- {
-- return gnomevfs->ShowURIForInput(mPath);
-- }
+- return giovfs->ShowURIForInput(mPath);
+ url = mPath;
- } else if (giovfs &&
- NS_SUCCEEDED(giovfs->OrgFreedesktopFileManager1ShowItems(mPath))) {
+ } else if (NS_SUCCEEDED(giovfs->OrgFreedesktopFileManager1ShowItems(mPath))) {
return NS_OK;
} else {
nsCOMPtr<nsIFile> parentDir;
@@ -3702,11 +3672,7 @@
return NS_ERROR_FAILURE;
}
-- if (giovfs) {
-- return giovfs->ShowURIForInput(dirPath);
-- } else {
-- return gnomevfs->ShowURIForInput(dirPath);
-- }
+- return giovfs->ShowURIForInput(dirPath);
+ url = dirPath;
}
+
@@ -3717,14 +3683,10 @@
+ return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE;
+ }
+
-+ nsCOMPtr<nsIGnomeVFSService> gnomevfs = do_GetService(NS_GNOMEVFSSERVICE_CONTRACTID);
-+ if (!giovfs && !gnomevfs)
++ if (!giovfs)
+ return NS_ERROR_FAILURE;
+
-+ if (giovfs)
-+ return giovfs->ShowURIForInput(url);
-+ else
-+ return gnomevfs->ShowURIForInput(url);
++ return giovfs->ShowURIForInput(url);
#elif defined(MOZ_WIDGET_COCOA)
CFURLRef url;
if (NS_SUCCEEDED(GetCFURL(&url))) {
@@ -3733,7 +3695,7 @@
return rv;
}
return NS_ERROR_FAILURE;
-@@ -2021,16 +2024,22 @@ nsLocalFile::Reveal()
+@@ -2007,16 +2018,22 @@ nsLocalFile::Reveal()
return NS_ERROR_FAILURE;
#endif
}
@@ -3749,10 +3711,10 @@
+ return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE;
+ }
nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
- nsCOMPtr<nsIGnomeVFSService> gnomevfs =
- do_GetService(NS_GNOMEVFSSERVICE_CONTRACTID);
- if (giovfs) {
- return giovfs->ShowURIForInput(mPath);
- } else if (gnomevfs) {
- /* GnomeVFS fallback */
- return gnomevfs->ShowURIForInput(mPath);
+ if (!giovfs) {
+ return NS_ERROR_FAILURE;
+ }
+
+ return giovfs->ShowURIForInput(mPath);
+ #elif defined(MOZ_ENABLE_CONTENTACTION)
+ QUrl uri = QUrl::fromLocalFile(QString::fromUtf8(mPath.get()));
--- a/mozilla-repo.patch Wed Apr 08 00:59:13 2015 +0200
+++ b/mozilla-repo.patch Sun May 10 09:05:36 2015 +0200
@@ -1,6 +1,6 @@
# HG changeset patch
# Parent 80b6464bd883864fce57e8748010869af1be69e9
-# Parent d160c6876c5f05d902b391551bf4f684254b3c7d
+# Parent 7f246bc54e416716e50efe50c0edf154b26be658
diff --git a/toolkit/mozapps/installer/package-name.mk b/toolkit/mozapps/installer/package-name.mk
--- a/toolkit/mozapps/installer/package-name.mk
@@ -21,7 +21,7 @@
# bug: 746277 - preserve existing functionality.
# MOZILLA_DIR="": cd $(SPACE); hg # succeeds if ~/.hg exists
###########################################################################
- ifdef MOZILLA_OFFICIAL
+ ifdef MOZ_INCLUDE_SOURCE_INFO
-MOZ_SOURCE_REPO = $(call getSourceRepo,$(MOZILLA_DIR)$(NULL) $(NULL))
+#MOZ_SOURCE_REPO = $(call getSourceRepo,$(MOZILLA_DIR)$(NULL) $(NULL))
endif
--- a/mozilla-skia-bmo1136958.patch Wed Apr 08 00:59:13 2015 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,282 +0,0 @@
-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
-
----
- gfx/layers/basic/BasicCompositor.cpp | 94 +++++++++++++++++++++++++++++++---
- gfx/layers/basic/BasicLayerManager.cpp | 88 +++++++++++++++++++++++++++++--
- 2 files changed, 171 insertions(+), 11 deletions(-)
-
-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
-
- namespace mozilla {
- using namespace mozilla::gfx;
-@@ -168,6 +173,7 @@ DrawSurfaceWithTextureCoords(DrawTarget *aDest,
- mode, aMask, aMaskTransform, &matrix);
- }
-
-+#ifdef MOZ_ENABLE_SKIA
- static SkMatrix
- Matrix3DToSkia(const gfx3DMatrix& aMatrix)
- {
-@@ -186,10 +192,10 @@ Matrix3DToSkia(const gfx3DMatrix& aMatrix)
- }
-
- 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;
-+
-+ 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
-
- 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;
- }
-
-- SkiaTransform(temp, source, new3DTransform, transformBounds.TopLeft());
-+ Transform(temp, source, new3DTransform, transformBounds.TopLeft());
-
- 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;
-
- namespace mozilla {
-@@ -601,6 +606,7 @@ BasicLayerManager::SetRoot(Layer* aLayer)
- mRoot = aLayer;
- }
-
-+#ifdef MOZ_ENABLE_SKIA
- static SkMatrix
- BasicLayerManager_Matrix3DToSkia(const gfx3DMatrix& aMatrix)
- {
-@@ -619,10 +625,10 @@ BasicLayerManager_Matrix3DToSkia(const gfx3DMatrix& aMatrix)
- }
-
- 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 (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
-
--- a/series Wed Apr 08 00:59:13 2015 +0200
+++ b/series Sun May 10 09:05:36 2015 +0200
@@ -13,7 +13,6 @@
mozilla-arm-disable-edsp.patch
mozilla-idldir.patch
mozilla-openaes-decl.patch
-mozilla-skia-bmo1136958.patch
mozilla-skia-be-le.patch
mozilla-bmo1005535.patch