update to 38.0

This commit is contained in:
Tigro 2015-05-12 19:15:30 +03:00
parent efc5d9a36b
commit 17d7247364
4 changed files with 130 additions and 154 deletions

View file

@ -1,3 +1,3 @@
sources: sources:
firefox-searchengines-bing.xml: ccdb7c0cc2d288714f70f8a92f0adfc2766f2b36 firefox-searchengines-bing.xml: ccdb7c0cc2d288714f70f8a92f0adfc2766f2b36
firefox-37.0.2.source.tar.bz2: 6e306d56e4e00ffdc2ddbdfbbabe4cb9fc527071 firefox-38.0.source.tar.bz2: 3812a31287d3a8d9ebb1326e131a944fd27f0f2d

View file

@ -1,11 +1,11 @@
# HG changeset patch # HG changeset patch
# Parent 409c60c5454efb61ebecf0edc8822a0e92f563f3 # Parent a21f91aa3ed60b4e95b47f45715dfda379dab7c8
diff --git a/browser/base/content/browser-kde.xul b/browser/base/content/browser-kde.xul diff --git a/browser/base/content/browser-kde.xul b/browser/base/content/browser-kde.xul
new file mode 100644 new file mode 100644
--- /dev/null --- /dev/null
+++ b/browser/base/content/browser-kde.xul +++ b/browser/base/content/browser-kde.xul
@@ -0,0 +1,1288 @@ @@ -0,0 +1,1302 @@
+#filter substitution +#filter substitution
+<?xml version="1.0"?> +<?xml version="1.0"?>
+# -*- Mode: HTML -*- +# -*- Mode: HTML -*-
@ -154,8 +154,13 @@ new file mode 100644
+ <!-- for url bar autocomplete --> + <!-- for url bar autocomplete -->
+ <panel type="autocomplete-richlistbox" id="PopupAutoCompleteRichResult" noautofocus="true" hidden="true"/> + <panel type="autocomplete-richlistbox" id="PopupAutoCompleteRichResult" noautofocus="true" hidden="true"/>
+ +
+ <!-- for select dropdowns --> + <!-- for select dropdowns. The menupopup is what shows the list of options,
+ <menupopup id="ContentSelectDropdown" rolluponmousewheel="true" hidden="true"/> + 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 --> + <!-- for invalid form error message -->
+ <panel id="invalid-form-popup" type="arrow" orient="vertical" noautofocus="true" hidden="true" level="parent"> + <panel id="invalid-form-popup" type="arrow" orient="vertical" noautofocus="true" hidden="true" level="parent">
@ -248,41 +253,6 @@ new file mode 100644
+ mousethrough="always"> + mousethrough="always">
+ <box id="UITourHighlight"></box> + <box id="UITourHighlight"></box>
+ </panel> + </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" + <panel id="abouthome-search-panel" orient="vertical" type="arrow" hidden="true"
+ onclick="this.hidePopup()"> + onclick="this.hidePopup()">
@ -342,6 +312,26 @@ new file mode 100644
+ orient="horizontal" + orient="horizontal"
+ hidden="true"/> + 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" + <menupopup id="toolbar-context-menu"
+ onpopupshowing="onViewToolbarsPopupShowing(event, document.getElementById('viewToolbarsMenuSeparator'));"> + onpopupshowing="onViewToolbarsPopupShowing(event, document.getElementById('viewToolbarsMenuSeparator'));">
+ <menuitem oncommand="gCustomizeMode.addToPanel(document.popupNode)" + <menuitem oncommand="gCustomizeMode.addToPanel(document.popupNode)"
@ -588,12 +578,12 @@ new file mode 100644
+ +
+ <menupopup id="emeNotificationsPopup"> + <menupopup id="emeNotificationsPopup">
+ <menuitem id="emeNotificationsNotNow" + <menuitem id="emeNotificationsNotNow"
+ label="Not now" + label="&emeNotificationsNotNow.label;"
+ acceskey="N" + acceskey="&emeNotificationsNotNow.accesskey;"
+ oncommand="gEMEHandler.onNotNow(this);"/> + oncommand="gEMEHandler.onNotNow(this);"/>
+ <menuitem id="emeNotificationsDontAskAgain" + <menuitem id="emeNotificationsDontAskAgain"
+ label="Don't ask me again" + label="&emeNotificationsDontAskAgain.label;"
+ acceskey="D" + acceskey="&emeNotificationsDontAskAgain.accesskey;"
+ oncommand="gEMEHandler.onDontAskAgain(this);"/> + oncommand="gEMEHandler.onDontAskAgain(this);"/>
+ </menupopup> + </menupopup>
+ </popupset> + </popupset>
@ -845,6 +835,14 @@ new file mode 100644
+ hidden="true" + hidden="true"
+ tooltiptext="&pageReportIcon.tooltip;" + tooltiptext="&pageReportIcon.tooltip;"
+ onclick="gPopupBlockerObserver.onReportButtonClick(event);"/> + 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> + </hbox>
+ <toolbarbutton id="urlbar-go-button" + <toolbarbutton id="urlbar-go-button"
+ class="chromeclass-toolbar-additional" + class="chromeclass-toolbar-additional"
@ -898,7 +896,7 @@ new file mode 100644
+ class="subviewbutton" + class="subviewbutton"
+ label="&viewBookmarksSidebar2.label;" + label="&viewBookmarksSidebar2.label;"
+ type="checkbox" + type="checkbox"
+ oncommand="toggleSidebar('viewBookmarksSidebar');"> + oncommand="SidebarUI.toggle('viewBookmarksSidebar');">
+ <observes element="viewBookmarksSidebar" attribute="checked"/> + <observes element="viewBookmarksSidebar" attribute="checked"/>
+ </menuitem> + </menuitem>
+ <!-- NB: temporary solution for bug 985024, this should go away soon. --> + <!-- NB: temporary solution for bug 985024, this should go away soon. -->
@ -963,6 +961,22 @@ new file mode 100644
+ new PlacesMenu(event, 'place:folder=UNFILED_BOOKMARKS', + new PlacesMenu(event, 'place:folder=UNFILED_BOOKMARKS',
+ PlacesUIUtils.getViewForNode(this.parentNode.parentNode).options);"/> + PlacesUIUtils.getViewForNode(this.parentNode.parentNode).options);"/>
+ </menu> + </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/> + <menuseparator/>
+ <!-- Bookmarks menu items will go here --> + <!-- Bookmarks menu items will go here -->
+ <menuitem id="BMB_bookmarksShowAll" + <menuitem id="BMB_bookmarksShowAll"
@ -1151,10 +1165,10 @@ new file mode 100644
+ <sidebarheader id="sidebar-header" align="center"> + <sidebarheader id="sidebar-header" align="center">
+ <label id="sidebar-title" persist="value" flex="1" crop="end" control="sidebar"/> + <label id="sidebar-title" persist="value" flex="1" crop="end" control="sidebar"/>
+ <image id="sidebar-throbber"/> + <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> + </sidebarheader>
+ <browser id="sidebar" flex="1" autoscroll="false" disablehistory="true" + <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> + </vbox>
+ +
+ <splitter id="sidebar-splitter" class="chromeclass-extrachrome sidebar-splitter" hidden="true"/> + <splitter id="sidebar-splitter" class="chromeclass-extrachrome sidebar-splitter" hidden="true"/>
@ -1165,7 +1179,7 @@ new file mode 100644
+ tabcontainer="tabbrowser-tabs" + tabcontainer="tabbrowser-tabs"
+ contentcontextmenu="contentAreaContextMenu" + contentcontextmenu="contentAreaContextMenu"
+ autocompletepopup="PopupAutoComplete" + autocompletepopup="PopupAutoComplete"
+ selectpopup="ContentSelectDropdown"/> + selectmenulist="ContentSelectDropdown"/>
+ <chatbar id="pinnedchats" layer="true" mousethrough="always" hidden="true"/> + <chatbar id="pinnedchats" layer="true" mousethrough="always" hidden="true"/>
+ </vbox> + </vbox>
+ <splitter id="social-sidebar-splitter" + <splitter id="social-sidebar-splitter"
@ -1297,7 +1311,7 @@ new file mode 100644
diff --git a/browser/base/content/browser.xul b/browser/base/content/browser.xul diff --git a/browser/base/content/browser.xul b/browser/base/content/browser.xul
--- a/browser/base/content/browser.xul --- a/browser/base/content/browser.xul
+++ b/browser/base/content/browser.xul +++ b/browser/base/content/browser.xul
@@ -174,17 +174,17 @@ @@ -179,17 +179,17 @@
class="editBookmarkPanelHeaderButton" class="editBookmarkPanelHeaderButton"
oncommand="StarUI.removeBookmarkButtonCommand();" oncommand="StarUI.removeBookmarkButtonCommand();"
accesskey="&editBookmark.removeBookmark.accessKey;"/> accesskey="&editBookmark.removeBookmark.accessKey;"/>
@ -1316,7 +1330,7 @@ diff --git a/browser/base/content/browser.xul b/browser/base/content/browser.xul
<button id="editBookmarkPanelDeleteButton" <button id="editBookmarkPanelDeleteButton"
class="editBookmarkPanelBottomButton" class="editBookmarkPanelBottomButton"
label="&editBookmark.cancel.label;" label="&editBookmark.cancel.label;"
@@ -1214,17 +1214,17 @@ @@ -1228,17 +1228,17 @@
<hbox id="full-screen-warning-container" hidden="true" fadeout="true"> <hbox id="full-screen-warning-container" hidden="true" fadeout="true">
<hbox style="width: 100%;" pack="center"> <!-- Inner hbox needed due to bug 579776. --> <hbox style="width: 100%;" pack="center"> <!-- Inner hbox needed due to bug 579776. -->
@ -1338,10 +1352,10 @@ diff --git a/browser/base/content/browser.xul b/browser/base/content/browser.xul
diff --git a/browser/base/jar.mn b/browser/base/jar.mn diff --git a/browser/base/jar.mn b/browser/base/jar.mn
--- a/browser/base/jar.mn --- a/browser/base/jar.mn
+++ b/browser/base/jar.mn +++ b/browser/base/jar.mn
@@ -69,16 +69,18 @@ browser.jar: @@ -70,16 +70,18 @@ browser.jar:
content/browser/aboutRobots-widget-left.png (content/aboutRobots-widget-left.png)
content/browser/aboutSocialError.xhtml (content/aboutSocialError.xhtml) content/browser/aboutSocialError.xhtml (content/aboutSocialError.xhtml)
content/browser/aboutProviderDirectory.xhtml (content/aboutProviderDirectory.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.js (content/aboutTabCrashed.js)
content/browser/aboutTabCrashed.xhtml (content/aboutTabCrashed.xhtml) content/browser/aboutTabCrashed.xhtml (content/aboutTabCrashed.xhtml)
* content/browser/browser.css (content/browser.css) * content/browser/browser.css (content/browser.css)
@ -1349,7 +1363,6 @@ diff --git a/browser/base/jar.mn b/browser/base/jar.mn
* content/browser/browser.xul (content/browser.xul) * content/browser/browser.xul (content/browser.xul)
+* content/browser/browser-kde.xul (content/browser-kde.xul) +* content/browser/browser-kde.xul (content/browser-kde.xul)
+% override chrome://browser/content/browser.xul chrome://browser/content/browser-kde.xul desktop=kde +% 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/browser-tabPreviews.xml (content/browser-tabPreviews.xml)
* content/browser/chatWindow.xul (content/chatWindow.xul) * content/browser/chatWindow.xul (content/chatWindow.xul)
content/browser/content.js (content/content.js) content/browser/content.js (content/content.js)
@ -1357,6 +1370,7 @@ diff --git a/browser/base/jar.mn b/browser/base/jar.mn
content/browser/defaultthemes/1.header.jpg (content/defaultthemes/1.header.jpg) 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.icon.jpg (content/defaultthemes/1.icon.jpg)
content/browser/defaultthemes/1.preview.jpg (content/defaultthemes/1.preview.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 diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/nsModule.cpp
--- a/browser/components/build/nsModule.cpp --- a/browser/components/build/nsModule.cpp
+++ b/browser/components/build/nsModule.cpp +++ b/browser/components/build/nsModule.cpp
@ -1784,7 +1798,7 @@ new file mode 100644
+#include "nsStringAPI.h" +#include "nsStringAPI.h"
+#include "mozilla/Attributes.h" +#include "mozilla/Attributes.h"
+ +
+class nsKDEShellService MOZ_FINAL : public nsIShellService +class nsKDEShellService final : public nsIShellService
+{ +{
+public: +public:
+ nsKDEShellService() : mCheckedThisSession(false) { } + nsKDEShellService() : mCheckedThisSession(false) { }
@ -1911,7 +1925,7 @@ new file mode 100644
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
--- a/browser/installer/package-manifest.in --- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in +++ b/browser/installer/package-manifest.in
@@ -688,19 +688,21 @@ @@ -698,19 +698,21 @@
@RESPATH@/defaults/autoconfig/prefcalls.js @RESPATH@/defaults/autoconfig/prefcalls.js
@RESPATH@/browser/defaults/profile/prefs.js @RESPATH@/browser/defaults/profile/prefs.js

View file

@ -7,7 +7,7 @@
# This also means only STABLE upstream releases, NO betas. # This also means only STABLE upstream releases, NO betas.
# This is a discussed topic. Please, do not flame it again. # This is a discussed topic. Please, do not flame it again.
%define major 37.0.2 %define major 38.0
%define ff_epoch 0 %define ff_epoch 0
# (tpg) set version HERE !!! # (tpg) set version HERE !!!
%define realver %{major} %define realver %{major}
@ -52,8 +52,8 @@ Patch2: firefox-vendor.patch
Patch8: firefox-25.0-disable-check-default-browser.patch Patch8: firefox-25.0-disable-check-default-browser.patch
Patch10: firefox-3.5.3-default-mail-handler.patch Patch10: firefox-3.5.3-default-mail-handler.patch
# Patches for kde integration of FF # Patches for kde integration of FF
Patch11: firefox-37-kde.patch Patch11: firefox-38-kde.patch
Patch12: mozilla-37-kde.patch Patch12: mozilla-38-kde.patch
#Patch13: mozilla-kde-background.patch #Patch13: mozilla-kde-background.patch
Patch34: xulrunner_nojit.patch Patch34: xulrunner_nojit.patch
Patch35: firefox-37-build-with-time-independent-uuids.patch Patch35: firefox-37-build-with-time-independent-uuids.patch

View file

@ -1,5 +1,5 @@
# HG changeset patch # HG changeset patch
# Parent 2b183c17f6e4693372442af1a8ee0be364f8cba0 # Parent 214f99f3ce4f1f8ae9b3d18da44e5d66b3105663
Description: Add KDE integration to Firefox (toolkit parts) Description: Add KDE integration to Firefox (toolkit parts)
Author: Wolfgang Rosenauer <wolfgang@rosenauer.org> Author: Wolfgang Rosenauer <wolfgang@rosenauer.org>
Author: Lubos Lunak <lunak@suse.com> Author: Lubos Lunak <lunak@suse.com>
@ -1836,8 +1836,8 @@ new file mode 100644
+ secMan.isSystemPrincipal(window.opener.document.nodePrincipal)) { + secMan.isSystemPrincipal(window.opener.document.nodePrincipal)) {
+ var psvc = Components.classes["@mozilla.org/preferences-service;1"] + var psvc = Components.classes["@mozilla.org/preferences-service;1"]
+ .getService(Components.interfaces.nsIPrefBranch); + .getService(Components.interfaces.nsIPrefBranch);
+ var instantApply = psvc.getBoolPref("browser.preferences.instantApply"); + var pdocEl = window.opener.document.documentElement;
+ if (instantApply) { + if (pdocEl.instantApply) {
+ var panes = this.preferencePanes; + var panes = this.preferencePanes;
+ for (var i = 0; i < panes.length; ++i) + for (var i = 0; i < panes.length; ++i)
+ panes[i].writePreferences(true); + panes[i].writePreferences(true);
@ -2136,7 +2136,7 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
+#include "nsVoidArray.h" +#include "nsVoidArray.h"
+#include "nsKDEUtils.h" +#include "nsKDEUtils.h"
class nsUnixSystemProxySettings MOZ_FINAL : public nsISystemProxySettings { class nsUnixSystemProxySettings final : public nsISystemProxySettings {
public: public:
NS_DECL_ISUPPORTS NS_DECL_ISUPPORTS
NS_DECL_NSISYSTEMPROXYSETTINGS NS_DECL_NSISYSTEMPROXYSETTINGS
@ -2219,7 +2219,7 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build
--- a/toolkit/xre/moz.build --- a/toolkit/xre/moz.build
+++ b/toolkit/xre/moz.build +++ b/toolkit/xre/moz.build
@@ -43,17 +43,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'qt @@ -45,17 +45,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'qt
GENERATED_SOURCES += [ GENERATED_SOURCES += [
'moc_nsNativeAppSupportQt.cpp', 'moc_nsNativeAppSupportQt.cpp',
] ]
@ -2666,9 +2666,9 @@ diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build
LOCAL_INCLUDES += [ LOCAL_INCLUDES += [
'/dom/base', '/dom/base',
'/dom/ipc', '/dom/ipc',
'/netwerk/base/src', '/netwerk/base',
'/netwerk/protocol/http', '/netwerk/protocol/http',
+ '/toolkit/xre' + '/toolkit/xre',
] ]
if CONFIG['MOZ_ENABLE_DBUS']: if CONFIG['MOZ_ENABLE_DBUS']:
@ -2904,7 +2904,7 @@ new file mode 100644
diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
--- a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp --- a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
+++ b/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp +++ b/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
@@ -7,33 +7,36 @@ @@ -7,32 +7,35 @@
#ifdef MOZ_WIDGET_QT #ifdef MOZ_WIDGET_QT
#if (MOZ_ENABLE_CONTENTACTION) #if (MOZ_ENABLE_CONTENTACTION)
#include <contentaction/contentaction.h> #include <contentaction/contentaction.h>
@ -2918,7 +2918,6 @@ diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler
#include "nsIGIOService.h" #include "nsIGIOService.h"
#include "nsNetCID.h" #include "nsNetCID.h"
#include "nsIIOService.h" #include "nsIIOService.h"
#include "nsIGnomeVFSService.h"
#include "nsAutoPtr.h" #include "nsAutoPtr.h"
#ifdef MOZ_ENABLE_DBUS #ifdef MOZ_ENABLE_DBUS
#include "nsDBusHandlerApp.h" #include "nsDBusHandlerApp.h"
@ -2943,7 +2942,7 @@ diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler
#endif #endif
return rv; 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 // either /etc/mailcap or ${HOME}/.mailcap, in which case we don't want to
// give the GNOME answer. // give the GNOME answer.
if (mDefaultApplication) if (mDefaultApplication)
@ -2971,7 +2970,7 @@ diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler
if (*_retval) if (*_retval)
return NS_OK; return NS_OK;
@@ -98,16 +101,33 @@ nsMIMEInfoUnix::LaunchDefaultWithFile(ns @@ -97,16 +100,33 @@ nsMIMEInfoUnix::LaunchDefaultWithFile(ns
ContentAction::Action::defaultActionForFile(uri, QString(mSchemeOrType.get())); ContentAction::Action::defaultActionForFile(uri, QString(mSchemeOrType.get()));
if (action.isValid()) { if (action.isValid()) {
action.trigger(); action.trigger();
@ -2998,32 +2997,13 @@ diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler
+ } + }
+ +
nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID); nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
nsAutoCString uriSpec; if (!giovfs) {
if (giovfs) { return NS_ERROR_FAILURE;
}
// nsGIOMimeApp->Launch wants a URI string instead of local file // nsGIOMimeApp->Launch wants a URI string instead of local file
nsresult rv; nsresult rv;
nsCOMPtr<nsIIOService> ioservice = do_GetService(NS_IOSERVICE_CONTRACTID, &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 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) {
diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exthandler/unix/nsOSHelperAppService.cpp diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exthandler/unix/nsOSHelperAppService.cpp
--- a/uriloader/exthandler/unix/nsOSHelperAppService.cpp --- a/uriloader/exthandler/unix/nsOSHelperAppService.cpp
+++ b/uriloader/exthandler/unix/nsOSHelperAppService.cpp +++ b/uriloader/exthandler/unix/nsOSHelperAppService.cpp
@ -3054,7 +3034,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
#endif #endif
#ifdef MOZ_WIDGET_GTK #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 = nsGNOMERegistry::HandlerExists(aProtocolScheme);
+ *aHandlerExists = nsCommonRegistry::HandlerExists(aProtocolScheme); + *aHandlerExists = nsCommonRegistry::HandlerExists(aProtocolScheme);
#endif #endif
@ -3094,25 +3074,25 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
rv = LookUpTypeAndDescription(NS_ConvertUTF8toUTF16(aFileExt), rv = LookUpTypeAndDescription(NS_ConvertUTF8toUTF16(aFileExt),
majorType, 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 #ifdef MOZ_WIDGET_GTK
nsRefPtr<nsMIMEInfoBase> gnomeInfo;
if (handler.IsEmpty()) { if (handler.IsEmpty()) {
// No useful data yet. Check the GNOME registry. Unfortunately, newer - nsRefPtr<nsMIMEInfoBase> gnomeInfo = nsGNOMERegistry::GetFromType(aMIMEType);
// GNOME versions no longer have type-to-extension mappings, so we might + nsRefPtr<nsMIMEInfoBase> gnomeInfo = nsCommonRegistry::GetFromType(aMIMEType);
// get back a MIMEInfo without any extensions set. In that case we'll have if (gnomeInfo) {
// to look in our mime.types files for the extensions. LOG(("Got MIMEInfo from GNOME registry without extensions; setting them "
LOG(("Looking in GNOME registry\n")); "to %s\n", NS_LossyConvertUTF16toASCII(extensions).get()));
- gnomeInfo = nsGNOMERegistry::GetFromType(aMIMEType);
+ gnomeInfo = nsCommonRegistry::GetFromType(aMIMEType); NS_ASSERTION(!gnomeInfo->HasExtensions(), "How'd that happen?");
if (gnomeInfo && gnomeInfo->HasExtensions()) { gnomeInfo->SetFileExtensions(NS_ConvertUTF16toUTF8(extensions));
LOG(("Got MIMEInfo from GNOME registry, and it has extensions set\n"));
return gnomeInfo.forget(); return gnomeInfo.forget();
} }
}
#endif
// Now look up our extensions
diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build
--- a/widget/gtk/moz.build --- a/widget/gtk/moz.build
+++ b/widget/gtk/moz.build +++ b/widget/gtk/moz.build
@ -3465,7 +3445,7 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
diff --git a/widget/gtk/nsFilePicker.h b/widget/gtk/nsFilePicker.h diff --git a/widget/gtk/nsFilePicker.h b/widget/gtk/nsFilePicker.h
--- a/widget/gtk/nsFilePicker.h --- a/widget/gtk/nsFilePicker.h
+++ b/widget/gtk/nsFilePicker.h +++ b/widget/gtk/nsFilePicker.h
@@ -66,11 +66,17 @@ protected: @@ -68,11 +68,17 @@ protected:
nsString mDefault; nsString mDefault;
nsString mDefaultExtension; nsString mDefaultExtension;
@ -3504,9 +3484,9 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
#define XPTONLY_MANIFEST nullptr #define XPTONLY_MANIFEST nullptr
#define XPTONLY_XPT nullptr #define XPTONLY_XPT nullptr
#endif #endif
@@ -488,16 +489,17 @@ ParseManifest(NSLocationType aType, File @@ -489,16 +490,17 @@ ParseManifest(NSLocationType aType, File
NS_NAMED_LITERAL_STRING(kPlatform, "platform"); NS_NAMED_LITERAL_STRING(kRemoteEnabled, "remoteenabled");
NS_NAMED_LITERAL_STRING(kContentAccessible, "contentaccessible"); NS_NAMED_LITERAL_STRING(kRemoteRequired, "remoterequired");
NS_NAMED_LITERAL_STRING(kApplication, "application"); NS_NAMED_LITERAL_STRING(kApplication, "application");
NS_NAMED_LITERAL_STRING(kAppVersion, "appversion"); NS_NAMED_LITERAL_STRING(kAppVersion, "appversion");
NS_NAMED_LITERAL_STRING(kGeckoVersion, "platformversion"); NS_NAMED_LITERAL_STRING(kGeckoVersion, "platformversion");
@ -3522,7 +3502,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
NS_NAMED_LITERAL_STRING(kMain, "main"); NS_NAMED_LITERAL_STRING(kMain, "main");
NS_NAMED_LITERAL_STRING(kContent, "content"); NS_NAMED_LITERAL_STRING(kContent, "content");
@@ -548,44 +550,49 @@ ParseManifest(NSLocationType aType, File @@ -549,44 +551,49 @@ ParseManifest(NSLocationType aType, File
CopyUTF8toUTF16(s, abi); CopyUTF8toUTF16(s, abi);
abi.Insert(char16_t('_'), 0); abi.Insert(char16_t('_'), 0);
abi.Insert(osTarget, 0); abi.Insert(osTarget, 0);
@ -3573,14 +3553,14 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
} }
@@ -681,25 +688,27 @@ ParseManifest(NSLocationType aType, File @@ -681,25 +688,27 @@ ParseManifest(NSLocationType aType, File
TriState stOsVersion = eUnspecified;
TriState stOs = eUnspecified; TriState stOs = eUnspecified;
TriState stABI = eUnspecified; TriState stABI = eUnspecified;
TriState stProcess = eUnspecified; TriState stProcess = eUnspecified;
#if defined(MOZ_WIDGET_ANDROID) #if defined(MOZ_WIDGET_ANDROID)
TriState stTablet = eUnspecified; TriState stTablet = eUnspecified;
#endif #endif
bool platform = false; int flags = 0;
bool contentAccessible = false;
+ TriState stDesktop = eUnspecified; + TriState stDesktop = eUnspecified;
while ((token = nsCRT::strtok(whitespace, kWhitespace, &whitespace)) && while ((token = nsCRT::strtok(whitespace, kWhitespace, &whitespace)) &&
@ -3600,7 +3580,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
} }
#if defined(MOZ_WIDGET_ANDROID) #if defined(MOZ_WIDGET_ANDROID)
@@ -731,16 +740,17 @@ ParseManifest(NSLocationType aType, File @@ -749,16 +758,17 @@ ParseManifest(NSLocationType aType, File
} }
if (!ok || if (!ok ||
@ -3638,7 +3618,8 @@ diff --git a/xpcom/components/moz.build b/xpcom/components/moz.build
diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
--- a/xpcom/io/nsLocalFileUnix.cpp --- a/xpcom/io/nsLocalFileUnix.cpp
+++ b/xpcom/io/nsLocalFileUnix.cpp +++ b/xpcom/io/nsLocalFileUnix.cpp
@@ -45,16 +45,17 @@ @@ -44,16 +44,17 @@
#include "prproces.h"
#include "nsIDirectoryEnumerator.h" #include "nsIDirectoryEnumerator.h"
#include "nsISimpleEnumerator.h" #include "nsISimpleEnumerator.h"
#include "private/pprio.h" #include "private/pprio.h"
@ -3646,7 +3627,6 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
#ifdef MOZ_WIDGET_GTK #ifdef MOZ_WIDGET_GTK
#include "nsIGIOService.h" #include "nsIGIOService.h"
#include "nsIGnomeVFSService.h"
+#include "nsKDEUtils.h" +#include "nsKDEUtils.h"
#endif #endif
@ -3656,7 +3636,7 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
#include "prmem.h" #include "prmem.h"
#include "plbase64.h" #include "plbase64.h"
@@ -1965,55 +1966,57 @@ nsLocalFile::SetPersistentDescriptor(con @@ -1964,42 +1965,52 @@ nsLocalFile::SetPersistentDescriptor(con
return InitWithNativePath(aPersistentDescriptor); return InitWithNativePath(aPersistentDescriptor);
#endif #endif
} }
@ -3666,14 +3646,11 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
{ {
#ifdef MOZ_WIDGET_GTK #ifdef MOZ_WIDGET_GTK
- nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID); - nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
- nsCOMPtr<nsIGnomeVFSService> gnomevfs = - if (!giovfs) {
- do_GetService(NS_GNOMEVFSSERVICE_CONTRACTID);
- if (!giovfs && !gnomevfs) {
- return NS_ERROR_FAILURE; - return NS_ERROR_FAILURE;
- } - }
-
+
+ nsAutoCString url; + nsAutoCString url;
bool isDirectory; bool isDirectory;
if (NS_FAILED(IsDirectory(&isDirectory))) { if (NS_FAILED(IsDirectory(&isDirectory))) {
return NS_ERROR_FAILURE; return NS_ERROR_FAILURE;
@ -3681,16 +3658,9 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
+ nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID); + nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
if (isDirectory) { if (isDirectory) {
- if (giovfs) {
- return giovfs->ShowURIForInput(mPath); - return giovfs->ShowURIForInput(mPath);
- } else
- /* Fallback to GnomeVFS */
- {
- return gnomevfs->ShowURIForInput(mPath);
- }
+ url = mPath; + url = mPath;
} else if (giovfs && } else if (NS_SUCCEEDED(giovfs->OrgFreedesktopFileManager1ShowItems(mPath))) {
NS_SUCCEEDED(giovfs->OrgFreedesktopFileManager1ShowItems(mPath))) {
return NS_OK; return NS_OK;
} else { } else {
nsCOMPtr<nsIFile> parentDir; nsCOMPtr<nsIFile> parentDir;
@ -3702,11 +3672,7 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
return NS_ERROR_FAILURE; return NS_ERROR_FAILURE;
} }
- if (giovfs) {
- return giovfs->ShowURIForInput(dirPath); - return giovfs->ShowURIForInput(dirPath);
- } else {
- return gnomevfs->ShowURIForInput(dirPath);
- }
+ url = dirPath; + url = dirPath;
} }
+ +
@ -3717,14 +3683,10 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
+ return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE; + return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE;
+ } + }
+ +
+ nsCOMPtr<nsIGnomeVFSService> gnomevfs = do_GetService(NS_GNOMEVFSSERVICE_CONTRACTID); + if (!giovfs)
+ if (!giovfs && !gnomevfs)
+ return NS_ERROR_FAILURE; + return NS_ERROR_FAILURE;
+ +
+ if (giovfs)
+ return giovfs->ShowURIForInput(url); + return giovfs->ShowURIForInput(url);
+ else
+ return gnomevfs->ShowURIForInput(url);
#elif defined(MOZ_WIDGET_COCOA) #elif defined(MOZ_WIDGET_COCOA)
CFURLRef url; CFURLRef url;
if (NS_SUCCEEDED(GetCFURL(&url))) { if (NS_SUCCEEDED(GetCFURL(&url))) {
@ -3733,7 +3695,7 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
return rv; return rv;
} }
return NS_ERROR_FAILURE; return NS_ERROR_FAILURE;
@@ -2021,16 +2024,22 @@ nsLocalFile::Reveal() @@ -2007,16 +2018,22 @@ nsLocalFile::Reveal()
return NS_ERROR_FAILURE; return NS_ERROR_FAILURE;
#endif #endif
} }
@ -3749,10 +3711,10 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
+ return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE; + return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE;
+ } + }
nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID); nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
nsCOMPtr<nsIGnomeVFSService> gnomevfs = if (!giovfs) {
do_GetService(NS_GNOMEVFSSERVICE_CONTRACTID); return NS_ERROR_FAILURE;
if (giovfs) { }
return giovfs->ShowURIForInput(mPath); return giovfs->ShowURIForInput(mPath);
} else if (gnomevfs) { #elif defined(MOZ_ENABLE_CONTENTACTION)
/* GnomeVFS fallback */ QUrl uri = QUrl::fromLocalFile(QString::fromUtf8(mPath.get()));
return gnomevfs->ShowURIForInput(mPath);