Accepting request 58061 from mozilla:Factory
Accepted submit request 58061 from user wrosenauer OBS-URL: https://build.opensuse.org/request/show/58061 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/MozillaFirefox?expand=0&rev=99
This commit is contained in:
commit
ac6f811c4d
@ -1,3 +1,18 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jan 11 06:13:40 UTC 2011 - wr@rosenauer.org
|
||||||
|
|
||||||
|
- update to version 4.0b9
|
||||||
|
- added x-scheme-handler for http and https to desktop file for
|
||||||
|
newer Gnome environments
|
||||||
|
- fixed default browser check/set for GIO (bmo#611953)
|
||||||
|
(mozilla-shellservice.patch)
|
||||||
|
- removed obsolete firefox-appname.patch (integrated into
|
||||||
|
shellservice patch)
|
||||||
|
- renamed desktop file to firefox.desktop for 11.4 and newer
|
||||||
|
(bnc#664211)
|
||||||
|
- removed support for 10.3 and older from the spec file
|
||||||
|
- removed obsolete "Ximian" categories from desktop file
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Jan 3 17:35:46 CET 2011 - meissner@suse.de
|
Mon Jan 3 17:35:46 CET 2011 - meissner@suse.de
|
||||||
|
|
||||||
|
@ -8,5 +8,5 @@ Exec=firefox %u
|
|||||||
Icon=firefox
|
Icon=firefox
|
||||||
Terminal=false
|
Terminal=false
|
||||||
StartupNotify=true
|
StartupNotify=true
|
||||||
MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;application/x-xpinstall;
|
MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;application/x-xpinstall;x-scheme-handler/http;x-scheme-handler/https;
|
||||||
Type=Application
|
Type=Application
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
#
|
#
|
||||||
# spec file for package MozillaFirefox (Version 4.0b)
|
# spec file for package MozillaFirefox (Version 4.0b9)
|
||||||
#
|
#
|
||||||
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||||
# 2006-2010 Wolfgang Rosenauer
|
# 2006-2011 Wolfgang Rosenauer
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -22,21 +22,21 @@
|
|||||||
Name: MozillaFirefox
|
Name: MozillaFirefox
|
||||||
%define use_xulrunner 1
|
%define use_xulrunner 1
|
||||||
%define xulrunner mozilla-xulrunner20
|
%define xulrunner mozilla-xulrunner20
|
||||||
BuildRequires: Mesa-devel autoconf213 fdupes gcc-c++ libcurl-devel libgnomeui-devel libidl-devel libnotify-devel python unzip update-desktop-files yasm zip
|
BuildRequires: autoconf213 gcc-c++ libcurl-devel libgnomeui-devel libidl-devel libnotify-devel python unzip update-desktop-files zip fdupes Mesa-devel yasm
|
||||||
%if %suse_version > 1110
|
%if %suse_version > 1110
|
||||||
BuildRequires: libiw-devel
|
BuildRequires: libiw-devel
|
||||||
%else
|
%else
|
||||||
BuildRequires: wireless-tools
|
BuildRequires: wireless-tools
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?use_xulrunner}
|
%if 0%{?use_xulrunner}
|
||||||
BuildRequires: %{xulrunner}-devel = 2.0b
|
BuildRequires: %{xulrunner}-devel = 2.0b9
|
||||||
%endif
|
%endif
|
||||||
License: GPLv2+ ; LGPLv2.1+ ; MPLv1.1+
|
License: GPLv2+ ; LGPLv2.1+ ; MPLv1.1+
|
||||||
Version: 4.0b
|
Version: 4.0b9
|
||||||
Release: 3
|
|
||||||
Provides: web_browser
|
Provides: web_browser
|
||||||
Provides: firefox = %{version}
|
Provides: firefox = %{version}
|
||||||
%define releasedate 2010121400
|
Release: 1
|
||||||
|
%define releasedate 2011011000
|
||||||
Summary: Mozilla Firefox Web Browser
|
Summary: Mozilla Firefox Web Browser
|
||||||
Url: http://www.mozilla.org/
|
Url: http://www.mozilla.org/
|
||||||
Group: Productivity/Networking/Web/Browsers
|
Group: Productivity/Networking/Web/Browsers
|
||||||
@ -52,18 +52,18 @@ Source8: firefox-mimeinfo.xml
|
|||||||
Source9: firefox-lockdown.js
|
Source9: firefox-lockdown.js
|
||||||
Source10: compare-locales.tar.bz2
|
Source10: compare-locales.tar.bz2
|
||||||
Source11: firefox.1
|
Source11: firefox.1
|
||||||
Patch0: mozilla-firefox-sync.patch
|
|
||||||
Patch1: toolkit-download-folder.patch
|
Patch1: toolkit-download-folder.patch
|
||||||
Patch2: firefox-linkorder.patch
|
Patch2: firefox-linkorder.patch
|
||||||
Patch3: firefox-browser-css.patch
|
Patch3: firefox-browser-css.patch
|
||||||
Patch4: firefox-cross-desktop.patch
|
Patch4: firefox-cross-desktop.patch
|
||||||
Patch5: firefox-appname.patch
|
Patch5: firefox-kde.patch
|
||||||
Patch6: firefox-kde.patch
|
Patch6: firefox-ui-lockdown.patch
|
||||||
Patch7: firefox-ui-lockdown.patch
|
Patch7: firefox-no-sync-l10n.patch
|
||||||
Patch8: firefox-no-sync-l10n.patch
|
Patch8: firefox-libxulsdk-locales.patch
|
||||||
Patch9: firefox-libxulsdk-locales.patch
|
Patch9: firefox-no-default-ualocale.patch
|
||||||
Patch10: firefox-no-default-ualocale.patch
|
Patch10: firefox-multilocale-chrome.patch
|
||||||
Patch11: firefox-multilocale-chrome.patch
|
Patch11: firefox-shell-bmo624267.patch
|
||||||
|
Patch12: firefox-shellservice.patch
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
Requires(post): coreutils shared-mime-info desktop-file-utils
|
Requires(post): coreutils shared-mime-info desktop-file-utils
|
||||||
Requires(postun): shared-mime-info desktop-file-utils
|
Requires(postun): shared-mime-info desktop-file-utils
|
||||||
@ -83,6 +83,11 @@ Requires: %{name}-branding >= 4.0
|
|||||||
%define progname firefox
|
%define progname firefox
|
||||||
%define progdir %{_prefix}/%_lib/%{progname}
|
%define progdir %{_prefix}/%_lib/%{progname}
|
||||||
%define gnome_dir %{_prefix}
|
%define gnome_dir %{_prefix}
|
||||||
|
%if %suse_version > 1130
|
||||||
|
%define desktop_file_name firefox
|
||||||
|
%else
|
||||||
|
%define desktop_file_name %{name}
|
||||||
|
%endif
|
||||||
### build options
|
### build options
|
||||||
%define branding 1
|
%define branding 1
|
||||||
%define localize 1
|
%define localize 1
|
||||||
@ -100,7 +105,6 @@ plethora of extensions.
|
|||||||
|
|
||||||
|
|
||||||
%if %localize
|
%if %localize
|
||||||
|
|
||||||
%package translations-common
|
%package translations-common
|
||||||
Summary: Common translations for MozillaFirefox
|
Summary: Common translations for MozillaFirefox
|
||||||
License: GPLv2+ ; LGPLv2.1+ ; MPLv1.1+
|
License: GPLv2+ ; LGPLv2.1+ ; MPLv1.1+
|
||||||
@ -153,22 +157,22 @@ This package provides upstream look and feel for MozillaFirefox.
|
|||||||
%prep
|
%prep
|
||||||
%setup -q -n mozilla -b 7 -b 10
|
%setup -q -n mozilla -b 7 -b 10
|
||||||
cd $RPM_BUILD_DIR/mozilla
|
cd $RPM_BUILD_DIR/mozilla
|
||||||
%patch0 -p1
|
|
||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
%patch2 -p1
|
%patch2 -p1
|
||||||
%patch3 -p1
|
%patch3 -p1
|
||||||
%patch4 -p1
|
%patch4 -p1
|
||||||
%patch5 -p1
|
|
||||||
%if %suse_version >= 1110
|
%if %suse_version >= 1110
|
||||||
%patch6 -p1
|
%patch5 -p1
|
||||||
# install kde.js
|
# install kde.js
|
||||||
install -m 644 %{SOURCE6} browser/app/profile/kde.js
|
install -m 644 %{SOURCE6} browser/app/profile/kde.js
|
||||||
%endif
|
%endif
|
||||||
#%patch7 -p1
|
#%patch6 -p1
|
||||||
|
%patch7 -p1
|
||||||
%patch8 -p1
|
%patch8 -p1
|
||||||
%patch9 -p1
|
%patch9 -p1
|
||||||
%patch10 -p1
|
%patch10 -p1
|
||||||
%patch11 -p1
|
%patch11 -p1
|
||||||
|
%patch12 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
export MOZ_BUILD_DATE=%{releasedate}
|
export MOZ_BUILD_DATE=%{releasedate}
|
||||||
@ -227,7 +231,10 @@ rm dist/bin/defaults/preferences/firefox-l10n.js
|
|||||||
make -C browser/installer STRIP=/bin/true
|
make -C browser/installer STRIP=/bin/true
|
||||||
# copy tree into RPM_BUILD_ROOT
|
# copy tree into RPM_BUILD_ROOT
|
||||||
mkdir -p $RPM_BUILD_ROOT/%{progdir}
|
mkdir -p $RPM_BUILD_ROOT/%{progdir}
|
||||||
cp -rf $RPM_BUILD_DIR/obj/dist/firefox/* $RPM_BUILD_ROOT/%{progdir}
|
cp -rf $RPM_BUILD_DIR/obj/dist/firefox/* $RPM_BUILD_ROOT%{progdir}
|
||||||
|
# remove some executable permissions
|
||||||
|
find $RPM_BUILD_ROOT%{progdir} \
|
||||||
|
-name "*.js" -o -name "*.jsm" -o -name "*.rdf" | xargs chmod a-x
|
||||||
mkdir -p $RPM_BUILD_ROOT%{progdir}/searchplugins
|
mkdir -p $RPM_BUILD_ROOT%{progdir}/searchplugins
|
||||||
# install additional locales
|
# install additional locales
|
||||||
%if %localize
|
%if %localize
|
||||||
@ -272,7 +279,7 @@ ln -sf ../..%{progdir}/%{progname}.sh $RPM_BUILD_ROOT%{_bindir}/%{progname}
|
|||||||
# desktop definition
|
# desktop definition
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications
|
mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications
|
||||||
install -m 644 %{SOURCE1} \
|
install -m 644 %{SOURCE1} \
|
||||||
$RPM_BUILD_ROOT%{_datadir}/applications/%{name}.desktop
|
$RPM_BUILD_ROOT%{_datadir}/applications/%{desktop_file_name}.desktop
|
||||||
# additional mime-types
|
# additional mime-types
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_datadir}/mime/packages
|
mkdir -p $RPM_BUILD_ROOT%{_datadir}/mime/packages
|
||||||
cp %{SOURCE8} $RPM_BUILD_ROOT%{_datadir}/mime/packages/%{progname}.xml
|
cp %{SOURCE8} $RPM_BUILD_ROOT%{_datadir}/mime/packages/%{progname}.xml
|
||||||
@ -292,7 +299,7 @@ for size in 16 32 48; do
|
|||||||
$RPM_BUILD_ROOT%{gnome_dir}/share/icons/hicolor/${size}x${size}/apps/%{progname}.png
|
$RPM_BUILD_ROOT%{gnome_dir}/share/icons/hicolor/${size}x${size}/apps/%{progname}.png
|
||||||
done
|
done
|
||||||
%endif
|
%endif
|
||||||
%suse_update_desktop_file %{name} Network WebBrowser X-Ximian-Main X-Ximian-Toplevel GTK
|
%suse_update_desktop_file %{desktop_file_name} Network WebBrowser GTK
|
||||||
# excludes
|
# excludes
|
||||||
rm -f $RPM_BUILD_ROOT%{progdir}/updater.ini
|
rm -f $RPM_BUILD_ROOT%{progdir}/updater.ini
|
||||||
rm -f $RPM_BUILD_ROOT%{progdir}/removed-files
|
rm -f $RPM_BUILD_ROOT%{progdir}/removed-files
|
||||||
@ -315,38 +322,18 @@ rm -rf %{_tmppath}/translations.*
|
|||||||
if [ -f usr/bin/update-mime-database ] ; then
|
if [ -f usr/bin/update-mime-database ] ; then
|
||||||
usr/bin/update-mime-database %{_datadir}/mime > /dev/null || :
|
usr/bin/update-mime-database %{_datadir}/mime > /dev/null || :
|
||||||
fi
|
fi
|
||||||
%if %suse_version >= 1030
|
|
||||||
if [ -f usr/bin/update-desktop-database ] ; then
|
if [ -f usr/bin/update-desktop-database ] ; then
|
||||||
usr/bin/update-desktop-database > /dev/null || :
|
usr/bin/update-desktop-database > /dev/null || :
|
||||||
fi
|
fi
|
||||||
%else
|
|
||||||
if [ -f opt/gnome/bin/update-mime-database ] ; then
|
|
||||||
opt/gnome/bin/update-mime-database > /dev/null || :
|
|
||||||
fi
|
|
||||||
%endif
|
|
||||||
# move plugins to new location
|
|
||||||
if [ "$1" = "2" ]; then
|
|
||||||
if [ -d /opt/MozillaFirefox/%{_lib}/plugins ]; then
|
|
||||||
rm -rf /opt/MozillaFirefox/%{_lib}/plugins/libnullplugin.so
|
|
||||||
cp -fud /opt/MozillaFirefox/%{_lib}/plugins/* %{progdir}/plugins
|
|
||||||
rm -rf /opt/MozillaFirefox/%{_lib}/plugins
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|
||||||
%postun
|
%postun
|
||||||
if [ -f usr/bin/update-mime-database ] ; then
|
if [ -f usr/bin/update-mime-database ] ; then
|
||||||
usr/bin/update-mime-database %{_datadir}/mime > /dev/null || :
|
usr/bin/update-mime-database %{_datadir}/mime > /dev/null || :
|
||||||
fi
|
fi
|
||||||
%if %suse_version >= 1030
|
|
||||||
if [ -f usr/bin/update-desktop-database ] ; then
|
if [ -f usr/bin/update-desktop-database ] ; then
|
||||||
usr/bin/update-desktop-database > /dev/null || :
|
usr/bin/update-desktop-database > /dev/null || :
|
||||||
fi
|
fi
|
||||||
%else
|
|
||||||
if [ -f opt/gnome/bin/update-mime-database ] ; then
|
|
||||||
opt/gnome/bin/update-mime-database > /dev/null || :
|
|
||||||
fi
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
@ -374,7 +361,7 @@ fi
|
|||||||
%{progdir}/crashreporter-override.ini
|
%{progdir}/crashreporter-override.ini
|
||||||
%endif
|
%endif
|
||||||
%{progdir}/chrome.manifest
|
%{progdir}/chrome.manifest
|
||||||
%{_datadir}/applications/%{name}.desktop
|
%{_datadir}/applications/%{desktop_file_name}.desktop
|
||||||
%{_datadir}/mime/packages/%{progname}.xml
|
%{_datadir}/mime/packages/%{progname}.xml
|
||||||
%{_datadir}/pixmaps/firefox*
|
%{_datadir}/pixmaps/firefox*
|
||||||
%if %branding
|
%if %branding
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:47a1baf950c41532733eb79e0d375a6e5b9936498ce88cc2fd0d8edaa92db465
|
oid sha256:ac0cc69db526ffba2445d7d75927641e3be89667d1d8f5cd7d6966406d1fb6e1
|
||||||
size 23407
|
size 23421
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:4ab65679521bb96e45bb0f21916a3fa9cc41df4e44c4c85d7f3f833242d8ba64
|
|
||||||
size 63741253
|
|
3
firefox-4.0b9-source.tar.bz2
Normal file
3
firefox-4.0b9-source.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:5aeed5bfa6bcb4743d69d1ffc7efa511840df819b8106df39b914c8e7ba961f8
|
||||||
|
size 63999667
|
@ -1,36 +0,0 @@
|
|||||||
From: Wolfgang Rosenauer <wr@rosenauer.org>
|
|
||||||
Subject: Hardcode app starter for default check
|
|
||||||
|
|
||||||
diff --git a/browser/components/shell/src/nsGNOMEShellService.cpp b/browser/components/shell/src/nsGNOMEShellService.cpp
|
|
||||||
--- a/browser/components/shell/src/nsGNOMEShellService.cpp
|
|
||||||
+++ b/browser/components/shell/src/nsGNOMEShellService.cpp
|
|
||||||
@@ -105,22 +105,26 @@ nsresult
|
|
||||||
nsGNOMEShellService::Init()
|
|
||||||
{
|
|
||||||
nsresult rv;
|
|
||||||
|
|
||||||
// GConf _must_ be available, or we do not allow
|
|
||||||
// CreateInstance to succeed.
|
|
||||||
|
|
||||||
nsCOMPtr<nsIGConfService> gconf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
|
|
||||||
+ if (!gconf)
|
|
||||||
+ return NS_ERROR_NOT_AVAILABLE;
|
|
||||||
+
|
|
||||||
+ /* This path to firefox is hardcoded for the default path setting */
|
|
||||||
+ mAppPath.Assign("/usr/bin/firefox");
|
|
||||||
+ return NS_OK;
|
|
||||||
+
|
|
||||||
nsCOMPtr<nsIGIOService> giovfs =
|
|
||||||
do_GetService(NS_GIOSERVICE_CONTRACTID);
|
|
||||||
|
|
||||||
- if (!gconf)
|
|
||||||
- return NS_ERROR_NOT_AVAILABLE;
|
|
||||||
-
|
|
||||||
// Check G_BROKEN_FILENAMES. If it's set, then filenames in glib use
|
|
||||||
// the locale encoding. If it's not set, they use UTF-8.
|
|
||||||
mUseLocaleFilenames = PR_GetEnv("G_BROKEN_FILENAMES") != nsnull;
|
|
||||||
|
|
||||||
nsCOMPtr<nsIProperties> dirSvc
|
|
||||||
(do_GetService("@mozilla.org/file/directory_service;1"));
|
|
||||||
NS_ENSURE_TRUE(dirSvc, NS_ERROR_NOT_AVAILABLE);
|
|
||||||
|
|
@ -23,7 +23,7 @@ diff --git a/browser/base/content/browser-kde.xul b/browser/base/content/browser
|
|||||||
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,1042 @@
|
@@ -0,0 +1,1058 @@
|
||||||
+#filter substitution
|
+#filter substitution
|
||||||
+<?xml version="1.0"?>
|
+<?xml version="1.0"?>
|
||||||
+# -*- Mode: HTML -*-
|
+# -*- Mode: HTML -*-
|
||||||
@ -329,7 +329,8 @@ new file mode 100644
|
|||||||
+ </menupopup>
|
+ </menupopup>
|
||||||
+
|
+
|
||||||
+ <menupopup id="blockedPopupOptions"
|
+ <menupopup id="blockedPopupOptions"
|
||||||
+ onpopupshowing="gPopupBlockerObserver.fillPopupList(event);">
|
+ onpopupshowing="gPopupBlockerObserver.fillPopupList(event);"
|
||||||
|
+ onpopuphiding="gPopupBlockerObserver.onPopupHiding(event);">
|
||||||
+ <menuitem observes="blockedPopupAllowSite"/>
|
+ <menuitem observes="blockedPopupAllowSite"/>
|
||||||
+ <menuitem observes="blockedPopupEditSettings"/>
|
+ <menuitem observes="blockedPopupEditSettings"/>
|
||||||
+ <menuitem observes="blockedPopupDontShowMessage"/>
|
+ <menuitem observes="blockedPopupDontShowMessage"/>
|
||||||
@ -398,7 +399,7 @@ new file mode 100644
|
|||||||
+ class="identity-popup-description"/>
|
+ class="identity-popup-description"/>
|
||||||
+ </hbox>
|
+ </hbox>
|
||||||
+ <!-- Footer button to open security page info -->
|
+ <!-- Footer button to open security page info -->
|
||||||
+ <hbox pack="end">
|
+ <hbox id="identity-popup-button-container" pack="end">
|
||||||
+ <button id="identity-popup-more-info-button"
|
+ <button id="identity-popup-more-info-button"
|
||||||
+ label="&identity.moreInfoLinkText;"
|
+ label="&identity.moreInfoLinkText;"
|
||||||
+ onblur="gIdentityHandler.hideIdentityPopup();"
|
+ onblur="gIdentityHandler.hideIdentityPopup();"
|
||||||
@ -510,6 +511,11 @@ new file mode 100644
|
|||||||
+# hiddenWindow.xul.
|
+# hiddenWindow.xul.
|
||||||
+#include browser-menubar.inc
|
+#include browser-menubar.inc
|
||||||
+ </toolbaritem>
|
+ </toolbaritem>
|
||||||
|
+
|
||||||
|
+#ifdef CAN_DRAW_IN_TITLEBAR
|
||||||
|
+ <hbox class="titlebar-placeholder" type="appmenu-button" ordinal="0"/>
|
||||||
|
+ <hbox class="titlebar-placeholder" type="caption-buttons" ordinal="1000"/>
|
||||||
|
+#endif
|
||||||
+ </toolbar>
|
+ </toolbar>
|
||||||
+
|
+
|
||||||
+ <toolbar id="nav-bar" class="toolbar-primary chromeclass-toolbar"
|
+ <toolbar id="nav-bar" class="toolbar-primary chromeclass-toolbar"
|
||||||
@ -592,6 +598,12 @@ new file mode 100644
|
|||||||
+ </box>
|
+ </box>
|
||||||
+ <label id="urlbar-display" value="&urlbar.switchToTab.label;"/>
|
+ <label id="urlbar-display" value="&urlbar.switchToTab.label;"/>
|
||||||
+ <hbox id="urlbar-icons">
|
+ <hbox id="urlbar-icons">
|
||||||
|
+ <image id="page-report-button"
|
||||||
|
+ class="urlbar-icon"
|
||||||
|
+ hidden="true"
|
||||||
|
+ tooltiptext="&pageReportIcon.tooltip;"
|
||||||
|
+ onclick="gPopupBlockerObserver.onReportButtonClick(event);"/>
|
||||||
|
+
|
||||||
+ <image id="star-button"
|
+ <image id="star-button"
|
||||||
+ class="urlbar-icon"
|
+ class="urlbar-icon"
|
||||||
+ onclick="PlacesStarButton.onClick(event);"/>
|
+ onclick="PlacesStarButton.onClick(event);"/>
|
||||||
@ -869,6 +881,10 @@ new file mode 100644
|
|||||||
+ label="&closeTab.label;"
|
+ label="&closeTab.label;"
|
||||||
+ tooltiptext="&closeTab.label;"/>
|
+ tooltiptext="&closeTab.label;"/>
|
||||||
+
|
+
|
||||||
|
+#ifdef CAN_DRAW_IN_TITLEBAR
|
||||||
|
+ <hbox class="titlebar-placeholder" type="appmenu-button" ordinal="0"/>
|
||||||
|
+ <hbox class="titlebar-placeholder" type="caption-buttons" ordinal="1000"/>
|
||||||
|
+#endif
|
||||||
+ </toolbar>
|
+ </toolbar>
|
||||||
+
|
+
|
||||||
+ <toolbarpalette id="BrowserToolbarPalette">
|
+ <toolbarpalette id="BrowserToolbarPalette">
|
||||||
@ -1543,7 +1559,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
|
||||||
@@ -441,16 +441,17 @@
|
@@ -442,16 +442,17 @@
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
82
firefox-shell-bmo624267.patch
Normal file
82
firefox-shell-bmo624267.patch
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
# HG changeset patch
|
||||||
|
# Parent 6c4a0e0acb3a071dbfde60e975f68f18c85bbff8
|
||||||
|
# User timeless@mozdev.org
|
||||||
|
Bug 624267 Crash on Ubuntu [@ nsGNOMEShellService::SetDefaultBrowser ]
|
||||||
|
r=roc
|
||||||
|
|
||||||
|
diff --git a/browser/components/shell/src/nsGNOMEShellService.cpp b/browser/components/shell/src/nsGNOMEShellService.cpp
|
||||||
|
--- a/browser/components/shell/src/nsGNOMEShellService.cpp
|
||||||
|
+++ b/browser/components/shell/src/nsGNOMEShellService.cpp
|
||||||
|
@@ -214,30 +214,31 @@ nsGNOMEShellService::SetDefaultBrowser(P
|
||||||
|
#endif
|
||||||
|
|
||||||
|
nsCOMPtr<nsIGConfService> gconf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
|
||||||
|
-
|
||||||
|
- nsCAutoString appKeyValue(mAppPath);
|
||||||
|
- appKeyValue.Append(" \"%s\"");
|
||||||
|
- unsigned int i;
|
||||||
|
-
|
||||||
|
- for (i = 0; i < NS_ARRAY_LENGTH(appProtocols); ++i) {
|
||||||
|
- if (appProtocols[i].essential || aClaimAllTypes) {
|
||||||
|
- gconf->SetAppForProtocol(nsDependentCString(appProtocols[i].name),
|
||||||
|
- appKeyValue);
|
||||||
|
+ if (gconf) {
|
||||||
|
+ nsCAutoString appKeyValue(mAppPath);
|
||||||
|
+ appKeyValue.Append(" \"%s\"");
|
||||||
|
+ for (unsigned int i = 0; i < NS_ARRAY_LENGTH(appProtocols); ++i) {
|
||||||
|
+ if (appProtocols[i].essential || aClaimAllTypes) {
|
||||||
|
+ gconf->SetAppForProtocol(nsDependentCString(appProtocols[i].name),
|
||||||
|
+ appKeyValue);
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// set handler for .html and xhtml files and MIME types:
|
||||||
|
if (aClaimAllTypes) {
|
||||||
|
+ nsresult rv;
|
||||||
|
nsCOMPtr<nsIGIOService> giovfs =
|
||||||
|
- do_GetService(NS_GIOSERVICE_CONTRACTID);
|
||||||
|
+ do_GetService(NS_GIOSERVICE_CONTRACTID, &rv);
|
||||||
|
+ NS_ENSURE_SUCCESS(rv, rv);
|
||||||
|
|
||||||
|
nsCOMPtr<nsIStringBundleService> bundleService =
|
||||||
|
- do_GetService(NS_STRINGBUNDLE_CONTRACTID);
|
||||||
|
- NS_ENSURE_TRUE(bundleService, NS_ERROR_OUT_OF_MEMORY);
|
||||||
|
+ do_GetService(NS_STRINGBUNDLE_CONTRACTID, &rv);
|
||||||
|
+ NS_ENSURE_SUCCESS(rv, rv);
|
||||||
|
|
||||||
|
nsCOMPtr<nsIStringBundle> brandBundle;
|
||||||
|
- bundleService->CreateBundle(BRAND_PROPERTIES, getter_AddRefs(brandBundle));
|
||||||
|
- NS_ENSURE_TRUE(brandBundle, NS_ERROR_FAILURE);
|
||||||
|
+ rv = bundleService->CreateBundle(BRAND_PROPERTIES, getter_AddRefs(brandBundle));
|
||||||
|
+ NS_ENSURE_SUCCESS(rv, rv);
|
||||||
|
|
||||||
|
nsString brandShortName, brandFullName;
|
||||||
|
brandBundle->GetStringFromName(NS_LITERAL_STRING("brandShortName").get(),
|
||||||
|
@@ -247,17 +248,16 @@ nsGNOMEShellService::SetDefaultBrowser(P
|
||||||
|
|
||||||
|
// use brandShortName as the application id.
|
||||||
|
NS_ConvertUTF16toUTF8 id(brandShortName);
|
||||||
|
- if (giovfs) {
|
||||||
|
- nsCOMPtr<nsIGIOMimeApp> appInfo;
|
||||||
|
- giovfs->CreateAppFromCommand(mAppPath,
|
||||||
|
- id,
|
||||||
|
- getter_AddRefs(appInfo));
|
||||||
|
+ nsCOMPtr<nsIGIOMimeApp> appInfo;
|
||||||
|
+ rv = giovfs->CreateAppFromCommand(mAppPath,
|
||||||
|
+ id,
|
||||||
|
+ getter_AddRefs(appInfo));
|
||||||
|
+ NS_ENSURE_SUCCESS(rv, rv);
|
||||||
|
|
||||||
|
- // Add mime types for html, xhtml extension and set app to just created appinfo.
|
||||||
|
- for (i = 0; i < NS_ARRAY_LENGTH(appTypes); ++i) {
|
||||||
|
- appInfo->SetAsDefaultForMimeType(nsDependentCString(appTypes[i].mimeType));
|
||||||
|
- appInfo->SetAsDefaultForFileExtensions(nsDependentCString(appTypes[i].extensions));
|
||||||
|
- }
|
||||||
|
+ // Add mime types for html, xhtml extension and set app to just created appinfo.
|
||||||
|
+ for (unsigned int i = 0; i < NS_ARRAY_LENGTH(appTypes); ++i) {
|
||||||
|
+ appInfo->SetAsDefaultForMimeType(nsDependentCString(appTypes[i].mimeType));
|
||||||
|
+ appInfo->SetAsDefaultForFileExtensions(nsDependentCString(appTypes[i].extensions));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
325
firefox-shellservice.patch
Normal file
325
firefox-shellservice.patch
Normal file
@ -0,0 +1,325 @@
|
|||||||
|
# HG changeset patch
|
||||||
|
# Parent 7530e890ad6ed214783244371ec1ef816d24083e
|
||||||
|
|
||||||
|
diff --git a/browser/components/shell/src/nsGNOMEShellService.cpp b/browser/components/shell/src/nsGNOMEShellService.cpp
|
||||||
|
--- a/browser/components/shell/src/nsGNOMEShellService.cpp
|
||||||
|
+++ b/browser/components/shell/src/nsGNOMEShellService.cpp
|
||||||
|
@@ -101,30 +101,33 @@ static const char kDesktopOptionsKey[] =
|
||||||
|
static const char kDesktopDrawBGKey[] = DG_BACKGROUND "/draw_background";
|
||||||
|
static const char kDesktopColorKey[] = DG_BACKGROUND "/primary_color";
|
||||||
|
|
||||||
|
nsresult
|
||||||
|
nsGNOMEShellService::Init()
|
||||||
|
{
|
||||||
|
nsresult rv;
|
||||||
|
|
||||||
|
- // GConf _must_ be available, or we do not allow
|
||||||
|
+ // GConf or GIO _must_ be available, or we do not allow
|
||||||
|
// CreateInstance to succeed.
|
||||||
|
|
||||||
|
nsCOMPtr<nsIGConfService> gconf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
|
||||||
|
nsCOMPtr<nsIGIOService> giovfs =
|
||||||
|
do_GetService(NS_GIOSERVICE_CONTRACTID);
|
||||||
|
|
||||||
|
- if (!gconf)
|
||||||
|
+ if (!gconf && !giovfs)
|
||||||
|
return NS_ERROR_NOT_AVAILABLE;
|
||||||
|
|
||||||
|
// Check G_BROKEN_FILENAMES. If it's set, then filenames in glib use
|
||||||
|
// the locale encoding. If it's not set, they use UTF-8.
|
||||||
|
mUseLocaleFilenames = PR_GetEnv("G_BROKEN_FILENAMES") != nsnull;
|
||||||
|
|
||||||
|
+ if (GetAppPathFromLauncher())
|
||||||
|
+ return NS_OK;
|
||||||
|
+
|
||||||
|
nsCOMPtr<nsIProperties> dirSvc
|
||||||
|
(do_GetService("@mozilla.org/file/directory_service;1"));
|
||||||
|
NS_ENSURE_TRUE(dirSvc, NS_ERROR_NOT_AVAILABLE);
|
||||||
|
|
||||||
|
nsCOMPtr<nsILocalFile> appPath;
|
||||||
|
rv = dirSvc->Get(NS_XPCOM_CURRENT_PROCESS_DIR, NS_GET_IID(nsILocalFile),
|
||||||
|
getter_AddRefs(appPath));
|
||||||
|
NS_ENSURE_SUCCESS(rv, rv);
|
||||||
|
@@ -133,16 +136,44 @@ nsGNOMEShellService::Init()
|
||||||
|
NS_ENSURE_SUCCESS(rv, rv);
|
||||||
|
|
||||||
|
return appPath->GetNativePath(mAppPath);
|
||||||
|
}
|
||||||
|
|
||||||
|
NS_IMPL_ISUPPORTS1(nsGNOMEShellService, nsIShellService)
|
||||||
|
|
||||||
|
PRBool
|
||||||
|
+nsGNOMEShellService::GetAppPathFromLauncher()
|
||||||
|
+{
|
||||||
|
+ gchar *tmp;
|
||||||
|
+
|
||||||
|
+ const char *launcher = PR_GetEnv("MOZ_APP_LAUNCHER");
|
||||||
|
+ if (!launcher)
|
||||||
|
+ return PR_FALSE;
|
||||||
|
+
|
||||||
|
+ if (g_path_is_absolute(launcher)) {
|
||||||
|
+ mAppPath = launcher;
|
||||||
|
+ tmp = g_path_get_basename(launcher);
|
||||||
|
+ gchar *fullpath = g_find_program_in_path(tmp);
|
||||||
|
+ if (fullpath && mAppPath.Equals(fullpath))
|
||||||
|
+ mAppIsInPath = PR_TRUE;
|
||||||
|
+ g_free(fullpath);
|
||||||
|
+ } else {
|
||||||
|
+ tmp = g_find_program_in_path(launcher);
|
||||||
|
+ if (!tmp)
|
||||||
|
+ return PR_FALSE;
|
||||||
|
+ mAppPath = tmp;
|
||||||
|
+ mAppIsInPath = PR_TRUE;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ g_free(tmp);
|
||||||
|
+ return PR_TRUE;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+PRBool
|
||||||
|
nsGNOMEShellService::KeyMatchesAppName(const char *aKeyValue) const
|
||||||
|
{
|
||||||
|
|
||||||
|
gchar *commandPath;
|
||||||
|
if (mUseLocaleFilenames) {
|
||||||
|
gchar *nativePath = g_filename_from_utf8(aKeyValue, -1, NULL, NULL, NULL);
|
||||||
|
if (!nativePath) {
|
||||||
|
NS_ERROR("Error converting path to filesystem encoding");
|
||||||
|
@@ -158,84 +189,119 @@ nsGNOMEShellService::KeyMatchesAppName(c
|
||||||
|
if (!commandPath)
|
||||||
|
return PR_FALSE;
|
||||||
|
|
||||||
|
PRBool matches = mAppPath.Equals(commandPath);
|
||||||
|
g_free(commandPath);
|
||||||
|
return matches;
|
||||||
|
}
|
||||||
|
|
||||||
|
+PRBool
|
||||||
|
+nsGNOMEShellService::CheckHandlerMatchesAppName(const nsACString &handler) const
|
||||||
|
+{
|
||||||
|
+ gint argc;
|
||||||
|
+ gchar **argv;
|
||||||
|
+ nsCAutoString command(handler);
|
||||||
|
+
|
||||||
|
+ // The string will be something of the form: [/path/to/]browser "%s"
|
||||||
|
+ // We want to remove all of the parameters and get just the binary name.
|
||||||
|
+ if (g_shell_parse_argv(command.get(), &argc, &argv, NULL) && argc > 0) {
|
||||||
|
+ command.Assign(argv[0]);
|
||||||
|
+ g_strfreev(argv);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (!KeyMatchesAppName(command.get()))
|
||||||
|
+ return PR_FALSE; // the handler is disabled or set to another app
|
||||||
|
+
|
||||||
|
+ return PR_TRUE;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
NS_IMETHODIMP
|
||||||
|
nsGNOMEShellService::IsDefaultBrowser(PRBool aStartupCheck,
|
||||||
|
PRBool* aIsDefaultBrowser)
|
||||||
|
{
|
||||||
|
*aIsDefaultBrowser = PR_FALSE;
|
||||||
|
if (aStartupCheck)
|
||||||
|
mCheckedThisSession = PR_TRUE;
|
||||||
|
|
||||||
|
nsCOMPtr<nsIGConfService> gconf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
|
||||||
|
+ nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
|
||||||
|
|
||||||
|
PRBool enabled;
|
||||||
|
nsCAutoString handler;
|
||||||
|
+ nsCOMPtr<nsIGIOMimeApp> gioApp;
|
||||||
|
|
||||||
|
for (unsigned int i = 0; i < NS_ARRAY_LENGTH(appProtocols); ++i) {
|
||||||
|
if (!appProtocols[i].essential)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
- handler.Truncate();
|
||||||
|
- gconf->GetAppForProtocol(nsDependentCString(appProtocols[i].name),
|
||||||
|
- &enabled, handler);
|
||||||
|
+ if (gconf) {
|
||||||
|
+ handler.Truncate();
|
||||||
|
+ gconf->GetAppForProtocol(nsDependentCString(appProtocols[i].name),
|
||||||
|
+ &enabled, handler);
|
||||||
|
|
||||||
|
- // The string will be something of the form: [/path/to/]browser "%s"
|
||||||
|
- // We want to remove all of the parameters and get just the binary name.
|
||||||
|
-
|
||||||
|
- gint argc;
|
||||||
|
- gchar **argv;
|
||||||
|
-
|
||||||
|
- if (g_shell_parse_argv(handler.get(), &argc, &argv, NULL) && argc > 0) {
|
||||||
|
- handler.Assign(argv[0]);
|
||||||
|
- g_strfreev(argv);
|
||||||
|
+ if (!CheckHandlerMatchesAppName(handler) || !enabled)
|
||||||
|
+ return NS_OK; // the handler is disabled or set to another app
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (!KeyMatchesAppName(handler.get()) || !enabled)
|
||||||
|
- return NS_OK; // the handler is disabled or set to another app
|
||||||
|
+ if (giovfs) {
|
||||||
|
+ handler.Truncate();
|
||||||
|
+ giovfs->GetAppForURIScheme(nsDependentCString(appProtocols[i].name),
|
||||||
|
+ getter_AddRefs(gioApp));
|
||||||
|
+ if (!gioApp)
|
||||||
|
+ return NS_OK;
|
||||||
|
+
|
||||||
|
+ gioApp->GetCommand(handler);
|
||||||
|
+
|
||||||
|
+ if (!CheckHandlerMatchesAppName(handler))
|
||||||
|
+ return NS_OK; // the handler is set to another app
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
*aIsDefaultBrowser = PR_TRUE;
|
||||||
|
|
||||||
|
return NS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
NS_IMETHODIMP
|
||||||
|
nsGNOMEShellService::SetDefaultBrowser(PRBool aClaimAllTypes,
|
||||||
|
PRBool aForAllUsers)
|
||||||
|
{
|
||||||
|
#ifdef DEBUG
|
||||||
|
if (aForAllUsers)
|
||||||
|
NS_WARNING("Setting the default browser for all users is not yet supported");
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+ nsCAutoString appKeyValue;
|
||||||
|
nsCOMPtr<nsIGConfService> gconf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
|
||||||
|
+ nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
|
||||||
|
+
|
||||||
|
+ if (mAppIsInPath) {
|
||||||
|
+ // mAppPath is in the users path, so use only the basename as the
|
||||||
|
+ // launcher
|
||||||
|
+ gchar *tmp = g_path_get_basename(mAppPath.get());
|
||||||
|
+ appKeyValue = tmp;
|
||||||
|
+ g_free(tmp);
|
||||||
|
+ } else {
|
||||||
|
+ appKeyValue = mAppPath;
|
||||||
|
+ }
|
||||||
|
+ appKeyValue.AppendLiteral(" %s");
|
||||||
|
+
|
||||||
|
if (gconf) {
|
||||||
|
- nsCAutoString appKeyValue(mAppPath);
|
||||||
|
- appKeyValue.Append(" \"%s\"");
|
||||||
|
for (unsigned int i = 0; i < NS_ARRAY_LENGTH(appProtocols); ++i) {
|
||||||
|
if (appProtocols[i].essential || aClaimAllTypes) {
|
||||||
|
gconf->SetAppForProtocol(nsDependentCString(appProtocols[i].name),
|
||||||
|
appKeyValue);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- // set handler for .html and xhtml files and MIME types:
|
||||||
|
- if (aClaimAllTypes) {
|
||||||
|
+ if (giovfs) {
|
||||||
|
nsresult rv;
|
||||||
|
- nsCOMPtr<nsIGIOService> giovfs =
|
||||||
|
- do_GetService(NS_GIOSERVICE_CONTRACTID, &rv);
|
||||||
|
- NS_ENSURE_SUCCESS(rv, rv);
|
||||||
|
+ unsigned int i;
|
||||||
|
|
||||||
|
nsCOMPtr<nsIStringBundleService> bundleService =
|
||||||
|
do_GetService(NS_STRINGBUNDLE_CONTRACTID, &rv);
|
||||||
|
NS_ENSURE_SUCCESS(rv, rv);
|
||||||
|
|
||||||
|
nsCOMPtr<nsIStringBundle> brandBundle;
|
||||||
|
rv = bundleService->CreateBundle(BRAND_PROPERTIES, getter_AddRefs(brandBundle));
|
||||||
|
NS_ENSURE_SUCCESS(rv, rv);
|
||||||
|
@@ -249,20 +315,30 @@ nsGNOMEShellService::SetDefaultBrowser(P
|
||||||
|
// use brandShortName as the application id.
|
||||||
|
NS_ConvertUTF16toUTF8 id(brandShortName);
|
||||||
|
nsCOMPtr<nsIGIOMimeApp> appInfo;
|
||||||
|
rv = giovfs->CreateAppFromCommand(mAppPath,
|
||||||
|
id,
|
||||||
|
getter_AddRefs(appInfo));
|
||||||
|
NS_ENSURE_SUCCESS(rv, rv);
|
||||||
|
|
||||||
|
- // Add mime types for html, xhtml extension and set app to just created appinfo.
|
||||||
|
- for (unsigned int i = 0; i < NS_ARRAY_LENGTH(appTypes); ++i) {
|
||||||
|
- appInfo->SetAsDefaultForMimeType(nsDependentCString(appTypes[i].mimeType));
|
||||||
|
- appInfo->SetAsDefaultForFileExtensions(nsDependentCString(appTypes[i].extensions));
|
||||||
|
+ // set handler for the protocols
|
||||||
|
+ for (i = 0; i < NS_ARRAY_LENGTH(appProtocols); ++i) {
|
||||||
|
+ if (appProtocols[i].essential || aClaimAllTypes) {
|
||||||
|
+ appInfo->SetAsDefaultForURIScheme(nsDependentCString(appProtocols[i].name));
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ // set handler for .html and xhtml files and MIME types:
|
||||||
|
+ if (aClaimAllTypes) {
|
||||||
|
+ // Add mime types for html, xhtml extension and set app to just created appinfo.
|
||||||
|
+ for (i = 0; i < NS_ARRAY_LENGTH(appTypes); ++i) {
|
||||||
|
+ appInfo->SetAsDefaultForMimeType(nsDependentCString(appTypes[i].mimeType));
|
||||||
|
+ appInfo->SetAsDefaultForFileExtensions(nsDependentCString(appTypes[i].extensions));
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return NS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
NS_IMETHODIMP
|
||||||
|
nsGNOMEShellService::GetShouldCheckDefaultBrowser(PRBool* aResult)
|
||||||
|
@@ -451,17 +527,27 @@ nsGNOMEShellService::OpenApplication(PRI
|
||||||
|
nsCAutoString scheme;
|
||||||
|
if (aApplication == APPLICATION_MAIL)
|
||||||
|
scheme.Assign("mailto");
|
||||||
|
else if (aApplication == APPLICATION_NEWS)
|
||||||
|
scheme.Assign("news");
|
||||||
|
else
|
||||||
|
return NS_ERROR_NOT_AVAILABLE;
|
||||||
|
|
||||||
|
+ nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
|
||||||
|
+ if (giovfs) {
|
||||||
|
+ nsCOMPtr<nsIGIOMimeApp> gioApp;
|
||||||
|
+ giovfs->GetAppForURIScheme(scheme, getter_AddRefs(gioApp));
|
||||||
|
+ if (gioApp)
|
||||||
|
+ return gioApp->Launch(EmptyCString());
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
nsCOMPtr<nsIGConfService> gconf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
|
||||||
|
+ if (!gconf)
|
||||||
|
+ return NS_ERROR_FAILURE;
|
||||||
|
|
||||||
|
PRBool enabled;
|
||||||
|
nsCAutoString appCommand;
|
||||||
|
gconf->GetAppForProtocol(scheme, &enabled, appCommand);
|
||||||
|
|
||||||
|
if (!enabled)
|
||||||
|
return NS_ERROR_FAILURE;
|
||||||
|
|
||||||
|
diff --git a/browser/components/shell/src/nsGNOMEShellService.h b/browser/components/shell/src/nsGNOMEShellService.h
|
||||||
|
--- a/browser/components/shell/src/nsGNOMEShellService.h
|
||||||
|
+++ b/browser/components/shell/src/nsGNOMEShellService.h
|
||||||
|
@@ -38,26 +38,29 @@
|
||||||
|
#define nsgnomeshellservice_h____
|
||||||
|
|
||||||
|
#include "nsIShellService.h"
|
||||||
|
#include "nsStringAPI.h"
|
||||||
|
|
||||||
|
class nsGNOMEShellService : public nsIShellService
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
- nsGNOMEShellService() : mCheckedThisSession(PR_FALSE) { }
|
||||||
|
+ nsGNOMEShellService() : mCheckedThisSession(PR_FALSE), mAppIsInPath(PR_FALSE) { }
|
||||||
|
|
||||||
|
NS_DECL_ISUPPORTS
|
||||||
|
NS_DECL_NSISHELLSERVICE
|
||||||
|
|
||||||
|
nsresult Init() NS_HIDDEN;
|
||||||
|
|
||||||
|
private:
|
||||||
|
~nsGNOMEShellService() {}
|
||||||
|
|
||||||
|
NS_HIDDEN_(PRBool) KeyMatchesAppName(const char *aKeyValue) const;
|
||||||
|
+ NS_HIDDEN_(PRBool) CheckHandlerMatchesAppName(const nsACString& handler) const;
|
||||||
|
|
||||||
|
+ NS_HIDDEN_(PRBool) GetAppPathFromLauncher();
|
||||||
|
PRPackedBool mCheckedThisSession;
|
||||||
|
PRPackedBool mUseLocaleFilenames;
|
||||||
|
nsCString mAppPath;
|
||||||
|
+ PRPackedBool mAppIsInPath;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // nsgnomeshellservice_h____
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:8c47f90b7b1236f1bd7914a2a3028b89dc6f71b26658ff789b1ca421ad7dc6dc
|
|
||||||
size 36318691
|
|
3
l10n-4.0b9.tar.bz2
Normal file
3
l10n-4.0b9.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:bec7fa71fa6b7458407bc7c78b98518e3b5d432baa4dc2754ce95682b45c2215
|
||||||
|
size 39499839
|
File diff suppressed because it is too large
Load Diff
@ -59,7 +59,16 @@ MOZ_DIST_LIB="%PROGDIR"
|
|||||||
MOZ_APPNAME="%APPNAME"
|
MOZ_APPNAME="%APPNAME"
|
||||||
MOZ_PROGRAM="$MOZ_DIST_LIB/$MOZ_APPNAME"
|
MOZ_PROGRAM="$MOZ_DIST_LIB/$MOZ_APPNAME"
|
||||||
|
|
||||||
export MOZ_APP_LAUNCHER="$MOZ_DIST_LIB/$MOZ_APPNAME.sh"
|
MOZ_APP_LAUNCHER="$MOZ_DIST_LIB/$MOZ_APPNAME.sh"
|
||||||
|
if [ "$0" = "$MOZ_APP_LAUNCHER" ]; then
|
||||||
|
[ -h "/usr/bin/$MOZ_APPNAME" ] && \
|
||||||
|
_link=$(readlink -f "/usr/bin/$MOZ_APPNAME")
|
||||||
|
if [ "$_link" = "$MOZ_APP_LAUNCHER" ]; then
|
||||||
|
export MOZ_APP_LAUNCHER="/usr/bin/$MOZ_APPNAME"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
export MOZ_APP_LAUNCHER="/usr/bin/$MOZ_APPNAME"
|
||||||
|
fi
|
||||||
|
|
||||||
mozilla_lib=`file $MOZ_PROGRAM`
|
mozilla_lib=`file $MOZ_PROGRAM`
|
||||||
LIB=lib
|
LIB=lib
|
||||||
|
Loading…
Reference in New Issue
Block a user