[PATCH] www/firefox: main merge from debian

Jose M Rodriguez (freebsd) josemi at freebsd.jazztel.es
Tue Dec 28 08:29:16 PST 2004


>Submitter-Id:	current-users
>Originator:	Jose M Rodriguez (freebsd)
>Organization:	Redes JM
>Confidential:	no 
>Synopsis:	[PATCH] www/firefox: main merge from debian
>Severity:	non-critical
>Priority:	low
>Category:	ports 
>Class:		update
>Release:	FreeBSD 5.3-STABLE i386
>Environment:
System: FreeBSD orion.redesjm.local 5.3-STABLE FreeBSD 5.3-STABLE #0: Mon Dec 27 17:00:42 CET 2004
>Description:
n this patchset:

files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp
  - reprocopy fixes from mozilla (same code and use).

files/patch-browser_app_mozilla.in
  - fix for non posix expr (RELENG_4_9?)
  - protect against missleave as test options

files/patch-browser_app_Makefile.in
  - small fix from debian

files/patch-browser_app_profile_extensions_classic_install.rdf.in
  - small fix from debian

files/patch-browser_app_profile_firefox.js
  - disable default browser check
  - disable app update, from debian
  - disable autoUpdate, from debian
  - Use LANG environment variable to choose locale, from debian
  - enable negotiate extension

files/patch-browser_base_content_aboutDialog.css
  - use MACOSX defaults, from debian

files/patch-browser_components_prefwindow_content_pref-advanced.xul
  - disable app autoUpdate in XUL, from debian

files/patch-content_events_src_nsEventStateManager.cpp
  - mouse extended events, from debian (please, review)

files/patch-gfx_src_gtk_fontEncoding.properties
  - correct ttf symbol font encodings

files/patch-htmlparser_src_nsParser.cpp
  - from debian (please, review)

files/patch-layout_html_document_src_html.css
  - from debian (please, review)

files/patch-modules_libpref_src_init_all.js
  - chrome://global, from debian
    (better import using reimplace in the works)
  - mouse extended events, from debian

files/patch-netwerk_protocol_ftp_src_nsFtpConnectionThread.cpp
  - ftp conn fixes, from debian (please test)

files/patch-toolkit_mozapps_extensions_content_extensions.js
  - new debian extension manager (please, test)
  (initial import, before full support of extensions/themes from ports)

files/patch-toolkit_mozapps_extensions_src_nsExtensionManager.js.in
  - new debian extension manager (please, test)
  (initial import, before full support of extensions/themes from ports)

files/patch-toolkit_mozapps_update_src_nsUpdateService.js.in
  - disable app updates, from debian

files/patch-widget_public_nsGUIEvent.h
  - extended mouse events, from debian

files/patch-widget_src_gtk2_nsWindow.cpp
  - extended mouse events, from debian

files/patch-xpcom_io_nsAppDirectoryServiceDefs.h
  - support for user search dir, from debian
    doubt if of interest, but seems don't hurt

files/patch-xpcom_io_nsAppFileLocationProvider.cpp
  - support for user search dir, from debian
    doubt if of interest, but seems don't hurt

files/patch-xpfe_components_search_src_nsInternetSearchService.cpp
  - support for user search dir, from debian
    doubt if of interest, but seems don't hurt

files/patch-xpinstall_packager_unix_browser.jst
  - chrome://global, from debian

files/firefox.desktop.in
  - i18n


Added file(s):
- files/patch-browser_app_Makefile.in
- files/patch-browser_app_profile_extensions_classic_install.rdf.in
- files/patch-browser_app_profile_firefox.js
- files/patch-browser_base_content_aboutDialog.css
- files/patch-browser_components_prefwindow_content_pref-advanced.xul
- files/patch-content_events_src_nsEventStateManager.cpp
- files/patch-gfx_src_gtk_fontEncoding.properties
- files/patch-htmlparser_src_nsParser.cpp
- files/patch-layout_html_document_src_html.css
- files/patch-modules_libpref_src_init_all.js
- files/patch-netwerk_protocol_ftp_src_nsFtpConnectionThread.cpp
- files/patch-toolkit_mozapps_extensions_content_extensions.js
- files/patch-toolkit_mozapps_extensions_src_nsExtensionManager.js.in
- files/patch-toolkit_mozapps_update_src_nsUpdateService.js.in
- files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp
- files/patch-widget_public_nsGUIEvent.h
- files/patch-widget_src_gtk2_nsWindow.cpp
- files/patch-xpcom_io_nsAppDirectoryServiceDefs.h
- files/patch-xpcom_io_nsAppFileLocationProvider.cpp
- files/patch-xpfe_components_search_src_nsInternetSearchService.cpp
- files/patch-xpinstall_packager_unix_browser.jst

Port maintainer (gnome at FreeBSD.org) is cc'd.

Generated with FreeBSD Port Tools 0.63
>How-To-Repeat:
>Fix:

--- firefox-1.0_6,1.patch begins here ---
diff -ruN --exclude=CVS /usr/HEAD/ports/www/firefox/files/firefox.desktop.in /junk/wk/www/firefox/files/firefox.desktop.in
--- /usr/HEAD/ports/www/firefox/files/firefox.desktop.in	Mon Dec 13 01:04:25 2004
+++ /junk/wk/www/firefox/files/firefox.desktop.in	Tue Dec 28 11:48:47 2004
@@ -1,9 +1,191 @@
 [Desktop Entry]
-Name=Firefox
-Comment=Firefox Web Browser
+Encoding=UTF-8
+Name=Firefox Web Browser
+Name[am]=
+Name[ar]=
+Name[az]=Firefox Veb Səyyahı
+Name[be]=
+Name[bg]=Интернет браузър Firefox
+Name[bn]=এপিফানি ওয়েব ব্রাউজার
+Name[bs]=Firefox web preglednik
+Name[ca]=Navegador web Firefox
+Name[cs]=Prohlížeč WWW Firefox
+Name[cy]=Y Porwr Gwe Firefox
+Name[da]=Firefox - internetsurfning
+Name[de]=Firefox Webbrowser
+Name[el]=Περιηγητής Διαδικτύου Firefox
+Name[en_CA]=Firefox Web Browser
+Name[en_GB]=Firefox Web Browser
+Name[es]=Navegador Web Firefox
+Name[et]=Firefox veebibrauser
+Name[eu]=Firefox web arakatzailea
+Name[fi]=Firefox, WWW-selain
+Name[fr]=Navigateur Web Firefox
+Name[ga]=Brabhsálaí Lín Firefox
+Name[gu]=એપીફની વૅબ બ્રાઉઝર
+Name[he]=דפדפן Firefox
+Name[hi]=
+Name[hr]=Firefox Web preglednik
+Name[hu]=Firefox webböngésző
+Name[id]=Web Browser Firefox
+Name[it]=Browser web Firefox
+Name[ja]=Firefox ウェブ・ブラウザ
+Name[ko]=Firefox 웹 브라우저
+Name[li]=Firefox Web Browser
+Name[lt]=Firefox web naršyklė
+Name[mk]=Firefox веб прелистувач
+Name[ml]=എപ്പിഫാനി വെബ്ബ് ബ്രൌസ‌ര്
+Name[mn]=Firefox веб хөтөч
+Name[ms]=Pelungsur Web Firefox
+Name[nb]=Firefox nettleser
+Name[nl]=Firefox Webbrowser
+Name[nn]=Firefox nettlesar
+Name[no]=Firefox nettleser
+Name[pa]=ਏਪੀਫਾਨੀ ਵੈੱਬ ਬਰਾਊਜ਼ਰ
+Name[pl]=PrzeglÄ…darka WWW Firefox
+Name[pt]=Navegador Web Firefox
+Name[pt_BR]=Navegador Web Firefox
+Name[ro]=Navigatorul Firefox
+Name[ru]=Веб-браузер Firefox
+Name[sk]=WWW prehliadač Zjavenie
+Name[sl]=Spletni brskalnik Firefox
+Name[sq]=Firefox - Shfletuesi Web
+Name[sr]=Веб читач Спознаја
+Name[sr at Latn]=Veb čitač Spoznaja
+Name[sv]=Webbläsaren Firefox
+Name[ta]=எபிபனி வலை உலாவி
+Name[tk]=Firefox Web Ahtarçisi
+Name[tr]=Firefox Web Tarayıcı
+Name[uk]=Переглядач web Firefox
+Name[vi]=Trình Duyệt Web Firefox
+Name[wa]=Betchteu waibe epiphany
+Name[zh_CN]=Firefox Web 浏览器
+Name[zh_TW]=Firefox 網頁瀏覽器
+GenericName=Web Browser
+GenericName[ar]=متصفّح الانترنت
+GenericName[az]=Veb Səyyahı
+GenericName[be]=Вандроўнік па павуціньню
+GenericName[bg]=Браузър
+GenericName[bn]=ওয়েব ব্রাউজার
+GenericName[bs]=Web preglednik
+GenericName[ca]=Navegador web
+GenericName[cs]=Prohlížeč WWW
+GenericName[cy]=Porwr Gwe
+GenericName[da]=Internetsurfning
+GenericName[de]=Webbrowser
+GenericName[el]=Περιηγητής Ιστοσελίδων
+GenericName[en_CA]=Web Browser
+GenericName[en_GB]=Web Browser
+GenericName[es]=Navegador web
+GenericName[et]=Veebilehitseja
+GenericName[eu]=Web arakatzailea
+GenericName[fi]=WWW-selain
+GenericName[fr]=Navigateur Web Firefox
+GenericName[ga]=Brabhsálaí Lín
+GenericName[gu]=વેબ બ્રાઉઝર
+GenericName[he]=דפדפן אינטרנט
+GenericName[hi]=वेब ब्राउज़र
+GenericName[hr]=Web preglednik
+GenericName[hu]=Webböngésző
+GenericName[id]=Browser Web
+GenericName[it]=Browser web
+GenericName[ja]=GNOME ウェブ・ブラウザ
+GenericName[ko]=웹 브라우저
+GenericName[li]=Wèb Browser
+GenericName[lt]=Web naršyklė
+GenericName[mk]=Веб прелистувач
+GenericName[mn]=Веб хөтөч
+GenericName[ms]=Pelungsur Web
+GenericName[nb]=Nettleser
+GenericName[nl]=Web-browser
+GenericName[nn]=Nettlesar
+GenericName[no]=Nettleser
+GenericName[pa]=ਵੈਬ ਬਰਾਊਜ਼
+GenericName[pl]=PrzeglÄ…darka WWW
+GenericName[pt]=Navegador Web
+GenericName[pt_BR]=Navegador Web
+GenericName[ro]=Navigator Internet
+GenericName[ru]=Веб-браузер
+GenericName[sk]=WWW prehliadač
+GenericName[sl]=Spletni brskalnik
+GenericName[sq]=Shfletuesi Web
+GenericName[sr]=Веб читач
+GenericName[sr at Latn]=Veb čitač
+GenericName[sv]=Webbläsare
+GenericName[ta]=வலை உலாவி
+GenericName[th]=เว็บบราวเซอร์
+GenericName[tk]=Web Ahtarçysy
+GenericName[tr]=Web Tarayıcı
+GenericName[uk]=Переглядач web-сторінок
+GenericName[vi]=Trình duyệt Web
+GenericName[wa]=Betchteu waibe
+GenericName[zh_CN]=Web 浏览器
+GenericName[zh_TW]=網頁瀏覽器
+Comment=Browse the web
+Comment[ar]=تصفح الانترنت
+Comment[az]=Vebi gəzin
+Comment[be]=Вандраваць па павуціньню
+Comment[bg]=Сърфиране в интернет
+Comment[bn]=ওয়েব ব্রাউজ করুন
+Comment[bs]=Pregledaj na internetu
+Comment[ca]=Navegueu per la web
+Comment[cs]=Prohlížet WWW
+Comment[cy]=Pori'r we
+Comment[da]=Surf på internettet
+Comment[de]=Im Web surfen
+Comment[el]=Περιήγηση στον παγκόσμιο ιστό
+Comment[en_CA]=Browse the web
+Comment[en_GB]=Browse the web
+Comment[es]=Navegar por la web
+Comment[et]=Sirvi veebi
+Comment[eu]=Arakatu web-a
+Comment[fi]=Selaa WWW:tä
+Comment[fr]=Naviguer sur Internet
+Comment[ga]=Brabhsáil an Líon
+Comment[gu]=વેબમાં શોધો
+Comment[he]=גלוש ברשת
+Comment[hi]=वेब ब्राउज़ करें
+Comment[hr]=Pregledaj Web
+Comment[hu]=A világháló böngészése
+Comment[id]=Jelajah web
+Comment[it]=Esplora il web
+Comment[ja]=ウェブを閲覧します
+Comment[ko]=웹을 돌아 다닙니다
+Comment[li]=Blajere op internet
+Comment[lt]=Naršyti internete
+Comment[mk]=Прелистувајте на веб
+Comment[ml]=വലക്കെട്ട് തിരയുക
+Comment[mn]=Веб броузе хийх
+Comment[ms]=Layari web
+Comment[nb]=Surf på nettet
+Comment[nl]=Websurfen
+Comment[nn]=Surf på nettet
+Comment[no]=Surf på nettet
+Comment[pa]=ਵੈਬ ਬਰਾਊਜ਼
+Comment[pl]=PrzeglÄ…danie stron WWW
+Comment[pt]=Navegar na web
+Comment[pt_BR]=Navegar na web
+Comment[ro]=Navigare Internet
+Comment[ru]=Веб-браузер
+Comment[sk]=Prehliadať internet
+Comment[sl]=Brskaj po spletu
+Comment[sq]=Eksploro web-in
+Comment[sr]=Прегледај веб
+Comment[sr at Latn]=Pregledaj veb
+Comment[sv]=Surfa på nätet
+Comment[ta]=வலையில் உலாவு
+Comment[th]=ใช้งานเว็บบราวเซอร์ Firefox
+Comment[tk]=Webi Ahtar
+Comment[tr]=Web'e Gözat
+Comment[uk]=Програма перегляду web-сторінок
+Comment[vi]=Duyệt web
+Comment[wa]=Naivyî avå les waibes
+Comment[zh_CN]=浏览 Web
+Comment[zh_TW]=瀏覽網頁
 Exec=firefox %U
-Icon=@FIREFOX_ICON@
+StartupNotify=true
 Terminal=false
 Type=Application
+Icon=@FIREFOX_ICON@
 Categories=Application;Network;
-Encoding=UTF-8
+MimeType=text/html;text/xml;application/xhtml+xml;
diff -ruN --exclude=CVS /usr/HEAD/ports/www/firefox/files/patch-browser_app_Makefile.in /junk/wk/www/firefox/files/patch-browser_app_Makefile.in
--- /usr/HEAD/ports/www/firefox/files/patch-browser_app_Makefile.in	Thu Jan  1 01:00:00 1970
+++ /junk/wk/www/firefox/files/patch-browser_app_Makefile.in	Tue Dec 28 10:00:40 2004
@@ -0,0 +1,8 @@
+--- browser/app/Makefile.in.orig	Sun Nov  7 01:33:34 2004
++++ browser/app/Makefile.in	Tue Dec 28 08:59:01 2004
+@@ -320,4 +320,4 @@
+ 	$(INSTALL) $^ $(DIST)/bin/defaults/profile
+ 
+ install:: $(srcdir)/profile/prefs.js
+-	$(SYSINSTALL) $(IFLAGS1) $^ $(destdir)$(bindir)/defaults/profile
++	$(SYSINSTALL) $(IFLAGS1) $^ $(DESTDIR)$(bindir)/defaults/profile
diff -ruN --exclude=CVS /usr/HEAD/ports/www/firefox/files/patch-browser_app_mozilla.in /junk/wk/www/firefox/files/patch-browser_app_mozilla.in
--- /usr/HEAD/ports/www/firefox/files/patch-browser_app_mozilla.in	Tue Dec 28 07:49:46 2004
+++ /junk/wk/www/firefox/files/patch-browser_app_mozilla.in	Tue Dec 28 09:56:19 2004
@@ -1,5 +1,5 @@
---- browser/app/mozilla.in.orig	Tue Oct 26 05:26:11 2004
-+++ browser/app/mozilla.in	Mon Dec 27 19:15:52 2004
+--- browser/app/mozilla.in.orig	Tue Oct 26 11:26:11 2004
++++ browser/app/mozilla.in	Tue Dec 28 09:54:30 2004
 @@ -110,6 +110,7 @@
    # Check default compile-time libdir
    if [ -x "$moz_libdir/run-mozilla.sh" ]; then
@@ -13,12 +13,12 @@
  done #last arg
  
 -if [ `expr "${_optLast}" : '.*:/.*'` -eq 0 -a \( -f "${_optLast}" -o -d "${_optLast}" \) ]; then
-+if [ `expr -- "${_optLast}" : '.*:/.*'` -eq 0 -a \( -f "${_optLast}" -o -d "${_optLast}" \) ]; then
++if [ `expr "X${_optLast}" : '.*:/.*'` -eq 0 -a \( -f "${_optLast}" -o -d "${_optLast}" \) ]; then
  	# Last argument seems to be a local file/directory
  	# Check, if it is absolutely specified (ie. /home/foo/file vs. ./file)
  	# If it is just "relatively" (./file) specified, make it absolutely
 -	[ `expr "${_optLast}" : '/.*'` -eq 0 ] && _optLast="file://`pwd`/${_optLast}"
-+	[ `expr -- "${_optLast}" : '/.*'` -eq 0 ] && _optLast="file://`pwd`/${_optLast}"
++	[ `expr "X${_optLast}" : 'X/.*'` -eq 0 ] && _optLast="file://`pwd`/${_optLast}"
  fi
  ################################################################ Parse Arguments
  
diff -ruN --exclude=CVS /usr/HEAD/ports/www/firefox/files/patch-browser_app_profile_extensions_classic_install.rdf.in /junk/wk/www/firefox/files/patch-browser_app_profile_extensions_classic_install.rdf.in
--- /usr/HEAD/ports/www/firefox/files/patch-browser_app_profile_extensions_classic_install.rdf.in	Thu Jan  1 01:00:00 1970
+++ /junk/wk/www/firefox/files/patch-browser_app_profile_extensions_classic_install.rdf.in	Tue Dec 28 10:04:19 2004
@@ -0,0 +1,18 @@
+--- browser/app/profile/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/install.rdf.in.orig	Sat Oct 16 02:04:14 2004
++++ browser/app/profile/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/install.rdf.in	Tue Dec 28 08:59:01 2004
+@@ -29,6 +29,15 @@
+     <em:contributor>Mozilla Contributors</em:contributor>
+ 
+     <em:internalName>classic/1.0</em:internalName>
++
++    <em:file>
++      <Description about="urn:mozilla:extension:file:classic.jar">
++        <em:skin>skin/classic/browser/</em:skin>
++	<em:skin>skin/classic/global/</em:skin>
++	<em:skin>skin/classic/communicator/</em:skin>
++	<em:skin>skin/classic/mozapps/</em:skin>
++      </Description>
++    </em:file>
+   </Description>      
+ 
+ </RDF>
diff -ruN --exclude=CVS /usr/HEAD/ports/www/firefox/files/patch-browser_app_profile_firefox.js /junk/wk/www/firefox/files/patch-browser_app_profile_firefox.js
--- /usr/HEAD/ports/www/firefox/files/patch-browser_app_profile_firefox.js	Thu Jan  1 01:00:00 1970
+++ /junk/wk/www/firefox/files/patch-browser_app_profile_firefox.js	Tue Dec 28 10:12:55 2004
@@ -0,0 +1,48 @@
+--- browser/app/profile/firefox.js.orig	Fri Nov  5 10:10:05 2004
++++ browser/app/profile/firefox.js	Tue Dec 28 10:12:06 2004
+@@ -62,8 +62,8 @@
+ );
+ 
+ // App-specific update preferences
+-pref("app.update.enabled", true);               // Whether or not app updates are enabled
+-pref("app.update.autoUpdateEnabled", true);     // Whether or not background app updates 
++pref("app.update.enabled", false);               // Whether or not app updates are enabled
++pref("app.update.autoUpdateEnabled", false);     // Whether or not background app updates 
+                                                 // are enabled
+ pref("app.update.url", "chrome://mozapps/locale/update/update.properties");
+ pref("app.update.updatesAvailable", false);
+@@ -81,7 +81,7 @@
+ //  .. etc ..
+ //
+ pref("extensions.update.enabled", true);
+-pref("extensions.update.autoUpdateEnabled", true);
++pref("extensions.update.autoUpdateEnabled", false);
+ pref("extensions.update.url", "chrome://mozapps/locale/extensions/extensions.properties");
+ pref("extensions.update.autoUpdate", false);    // Automatically download and install 
+                                                 // updates to themes and extensions. 
+@@ -136,7 +136,7 @@
+ 
+ // Whether or not the application should check at startup each time if it 
+ // is the default browser.
+-pref("browser.shell.checkDefaultBrowser", true);
++pref("browser.shell.checkDefaultBrowser", false);
+ 
+ // 0 = blank, 1 = home (browser.startup.homepage), 2 = last
+ // XXXBlake Remove this stupid pref
+@@ -236,6 +236,9 @@
+ pref("network.cookie.cookieBehavior",       0); // cookies enabled
+ pref("network.cookie.enableForCurrentSessionOnly", false);
+ 
++// Use LANG environment variable to choose locale
++pref("intl.locale.matchOS", true);
++
+ // l12n and i18n
+ pref("intl.accept_languages", "chrome://global/locale/intl.properties");
+ // collationOption is only set on linux for japanese. see bug 18338 and 62015
+@@ -326,3 +329,6 @@
+ 
+ // plugin finder service
+ pref("pfs.datasource.url", "chrome://mozapps/locale/plugins/plugins.properties");
++
++// enable negotiate extension
++pref("network.negotiate-auth.trusted-uris", "https://");
diff -ruN --exclude=CVS /usr/HEAD/ports/www/firefox/files/patch-browser_base_content_aboutDialog.css /junk/wk/www/firefox/files/patch-browser_base_content_aboutDialog.css
--- /usr/HEAD/ports/www/firefox/files/patch-browser_base_content_aboutDialog.css	Thu Jan  1 01:00:00 1970
+++ /junk/wk/www/firefox/files/patch-browser_base_content_aboutDialog.css	Tue Dec 28 10:18:33 2004
@@ -0,0 +1,14 @@
+--- browser/base/content/aboutDialog.css.orig	Sat Mar 13 02:49:59 2004
++++ browser/base/content/aboutDialog.css	Tue Dec 28 08:59:01 2004
+@@ -26,11 +26,7 @@
+    -moz-appearance: none;
+    overflow: hidden;
+ 
+-#ifdef XP_MACOSX
+    height: 3.8em;
+-#else
+-   height: 2.4em;
+-#endif
+ 
+    border: none;
+  }
diff -ruN --exclude=CVS /usr/HEAD/ports/www/firefox/files/patch-browser_components_prefwindow_content_pref-advanced.xul /junk/wk/www/firefox/files/patch-browser_components_prefwindow_content_pref-advanced.xul
--- /usr/HEAD/ports/www/firefox/files/patch-browser_components_prefwindow_content_pref-advanced.xul	Thu Jan  1 01:00:00 1970
+++ /junk/wk/www/firefox/files/patch-browser_components_prefwindow_content_pref-advanced.xul	Tue Dec 28 10:21:54 2004
@@ -0,0 +1,14 @@
+--- browser/components/prefwindow/content/pref-advanced.xul.orig	Sat Oct 30 06:27:23 2004
++++ browser/components/prefwindow/content/pref-advanced.xul	Tue Dec 28 08:59:01 2004
+@@ -72,9 +72,9 @@
+               open="true" persist="open" clearhidden="true" align="left">
+       <label>&softwareupdateinfo.label;</label>
+       <vbox class="indent" align="left">
+-        <checkbox id="enableSmartUpdate"
++        <!-- checkbox id="enableSmartUpdate"
+                   label="&enableSmartUpdate.label;" accesskey="&enableSmartUpdate.accesskey;"
+-                  prefstring="app.update.autoUpdateEnabled"/>
++                  prefstring="app.update.autoUpdateEnabled"/ -->
+         <checkbox id="enableExtensionUpdate"
+                   label="&enableExtensionUpdate.label;" accesskey="&enableExtensionUpdate.accesskey;"
+                   prefstring="extensions.update.autoUpdateEnabled"/>      
diff -ruN --exclude=CVS /usr/HEAD/ports/www/firefox/files/patch-content_events_src_nsEventStateManager.cpp /junk/wk/www/firefox/files/patch-content_events_src_nsEventStateManager.cpp
--- /usr/HEAD/ports/www/firefox/files/patch-content_events_src_nsEventStateManager.cpp	Thu Jan  1 01:00:00 1970
+++ /junk/wk/www/firefox/files/patch-content_events_src_nsEventStateManager.cpp	Tue Dec 28 10:25:50 2004
@@ -0,0 +1,122 @@
+--- content/events/src/nsEventStateManager.cpp.orig	Wed Oct 27 00:39:33 2004
++++ content/events/src/nsEventStateManager.cpp	Tue Dec 28 08:59:02 2004
+@@ -22,6 +22,9 @@
+  * Contributor(s):
+  *   Makoto Kato  <m_kato at ga2.so-net.ne.jp>
+  *   Dean Tessman <dean_tessman at hotmail.com>
++ *   Andrew Wellington <proton at wiretapped.net>
++ *   Graham Dennis <u3952328 at anu.edu.au>
++ *   Thomas Kleffel <thomas.kleffel at maintech.de>
+  *
+  * Alternatively, the contents of this file may be used under the terms of
+  * either the GNU General Public License Version 2 or later (the "GPL"), or
+@@ -1979,6 +1982,109 @@
+             frameSel->SetMouseDownState(PR_FALSE);
+         }
+       }
++    }
++    break;
++  case NS_USER_DEFINED_EVENT: // In reality an extended mouse event
++    {
++      nsExtendedMouseEventStatus *eMEStatus;
++      nsMouseEvent *mEvent = (nsMouseEvent* )aEvent;
++      eMEStatus = (nsExtendedMouseEventStatus *)&mEvent->clickCount;
++      nsresult rv;
++      char ourbutton=0;
++      char *string, *suffix, *straction, *strnumlines;
++      PRInt32 action;
++      PRInt32 numLines;
++
++      rv = getPrefBranch();
++      if (NS_FAILED(rv)) return rv;
++      
++      // adding 2 below so the maximum number of mouse buttons we can
++      // support is 99 but to represent the buttons in buttonlist
++      // we're going to map 10->35 onto 'a'->'z'
++      // the storage actually supports 256
++      if(eMEStatus->button > 35) break;
++      if(eMEStatus->button > 9)
++        ourbutton = 'a' + eMEStatus->button -9;
++      else
++        ourbutton = '0' + eMEStatus->button;
++      mPrefBranch->GetCharPref("mousebuttonsextended.buttonlist", &string);
++      if(!string) break;
++      if(!strchr(string, ourbutton)) {
++          free(string);
++          break;
++      }
++      free(string);
++      switch(eMEStatus->event)
++        {
++        case nsExtendedMouseEventStatus_up:
++          suffix=strdup(".up");
++          break;
++
++        case nsExtendedMouseEventStatus_down:
++          suffix=strdup(".down");
++          break;
++        default:
++          return NS_OK;
++        }
++      straction= (char *)memset(malloc(100), 0, 100);
++      strnumlines=(char *)memset(malloc(100), 0, 100);
++
++      strcpy(straction, "mousebuttonsextended.buttons.X.action");
++      strcpy(strnumlines, "mousebuttonsextended.buttons.X.numlines");
++      strcpy(straction+strlen(straction), suffix);
++      strcpy(strnumlines+strlen(strnumlines), suffix); 
++
++      string = strchr(straction, 'X');  *string = ourbutton;
++      string = strchr(strnumlines, 'X'); *string = ourbutton;
++
++      mPrefBranch->GetIntPref(straction, &action);
++      mPrefBranch->GetIntPref(strnumlines, &numLines);
++
++      switch (action) {
++
++#if 0   // Because we would have to create a msEvent
++      case MOUSE_SCROLL_N_LINES:
++      case MOUSE_SCROLL_PAGE:
++        {
++          DoWheelScroll(aPresContext, aTargetFrame, msEvent, numLines,
++                        (msEvent->scrollFlags & nsMouseScrollEvent::kIsHorizontal),
++                        (action == MOUSE_SCROLL_PAGE), PR_FALSE);
++
++        }
++        break;
++#endif 
++      case MOUSE_SCROLL_HISTORY:
++        {
++          nsCOMPtr<nsISupports> pcContainer;
++          pcContainer = mPresContext->GetContainer();
++          if (pcContainer) {
++            nsCOMPtr<nsIWebNavigation> webNav(do_QueryInterface(pcContainer));
++            if (webNav) {
++              if (numLines < 0)
++                 webNav->GoBack();
++              else
++                 webNav->GoForward();
++            }
++          }
++        }
++        break;
++
++      case MOUSE_SCROLL_TEXTSIZE:
++        {
++          // Exclude form controls and XUL content.
++          nsIContent* content = aTargetFrame->GetContent();
++          if (content &&
++              !content->IsContentOfType(nsIContent::eHTML_FORM_CONTROL) &&
++              !content->IsContentOfType(nsIContent::eXUL))
++            {
++              ChangeTextSize((numLines > 0) ? 1 : -1);
++            }
++        }
++        break;
++
++      default:  // Including -1 (do nothing)
++        break;
++      }          
+     }
+     break;
+   case NS_MOUSE_SCROLL:
diff -ruN --exclude=CVS /usr/HEAD/ports/www/firefox/files/patch-gfx_src_gtk_fontEncoding.properties /junk/wk/www/firefox/files/patch-gfx_src_gtk_fontEncoding.properties
--- /usr/HEAD/ports/www/firefox/files/patch-gfx_src_gtk_fontEncoding.properties	Thu Jan  1 01:00:00 1970
+++ /junk/wk/www/firefox/files/patch-gfx_src_gtk_fontEncoding.properties	Tue Dec 28 10:33:02 2004
@@ -0,0 +1,13 @@
+--- gfx/src/gtk/fontEncoding.properties.orig	Wed Jun 25 08:00:14 2003
++++ gfx/src/gtk/fontEncoding.properties	Tue Dec 28 08:59:02 2004
+@@ -54,8 +54,8 @@
+ # font,  you do need them. 
+ 
+ # Symbol font
+-#encoding.symbol.ttf = Adobe-Symbol-Encoding
+-#encoding.symbol.ftcmap = mac_roman
++encoding.symbol.ttf = Adobe-Symbol-Encoding
++encoding.symbol.ftcmap = mac_roman
+ 
+ # TeX's Computer Modern fonts (Roman, Math Italic, Symbol and Extension)
+ 
diff -ruN --exclude=CVS /usr/HEAD/ports/www/firefox/files/patch-htmlparser_src_nsParser.cpp /junk/wk/www/firefox/files/patch-htmlparser_src_nsParser.cpp
--- /usr/HEAD/ports/www/firefox/files/patch-htmlparser_src_nsParser.cpp	Thu Jan  1 01:00:00 1970
+++ /junk/wk/www/firefox/files/patch-htmlparser_src_nsParser.cpp	Tue Dec 28 10:36:30 2004
@@ -0,0 +1,25 @@
+--- htmlparser/src/nsParser.cpp.orig	Fri Nov  5 07:40:55 2004
++++ htmlparser/src/nsParser.cpp	Tue Dec 28 08:59:02 2004
+@@ -2565,21 +2565,7 @@
+   nsresult rv = NS_OK;
+   
+   if(eOnStart==mParserContext->mStreamListenerState) {
+-    nsAutoString temp;
+-
+-    //If you're here, then OnDataAvailable() never got called. 
+-    //Prior to necko, we never dealt with this case, but the problem may have existed.
+-    //What we'll do (for now at least) is construct a blank HTML document.
+-    if (!mParserContext->mMimeType.Equals(NS_LITERAL_CSTRING(kPlainTextContentType)))
+-    {
+-      temp.Assign(NS_LITERAL_STRING("<html><body></body></html>"));
+-    }
+-    // XXX: until bug #108067 has been fixed we must ensure that *something*
+-    //      is in the scanner!  so, for now just put in a single space.
+-    else {
+-      temp.Assign(NS_LITERAL_STRING(" "));
+-    }
+-    mParserContext->mScanner->Append(temp);
++    //Everybody can live with an empty input stream, so just resume parsing.
+     rv = ResumeParse(PR_TRUE,PR_TRUE);    
+   }
+ 
diff -ruN --exclude=CVS /usr/HEAD/ports/www/firefox/files/patch-layout_html_document_src_html.css /junk/wk/www/firefox/files/patch-layout_html_document_src_html.css
--- /usr/HEAD/ports/www/firefox/files/patch-layout_html_document_src_html.css	Thu Jan  1 01:00:00 1970
+++ /junk/wk/www/firefox/files/patch-layout_html_document_src_html.css	Tue Dec 28 10:39:12 2004
@@ -0,0 +1,16 @@
+--- layout/html/document/src/html.css.orig	Fri Mar 19 02:34:47 2004
++++ layout/html/document/src/html.css	Tue Dec 28 08:59:02 2004
+@@ -441,6 +441,13 @@
+ /* PRINT ONLY rules follow */
+ @media print {
+ 
++  body {
++    font-family: times, serif;
++  }
++  tt, pre {
++    font-family: courier, monospace;
++  }
++
+   marquee { -moz-binding: none; }
+  
+   *|*:-moz-any-link img, img[usemap], object[usemap],
diff -ruN --exclude=CVS /usr/HEAD/ports/www/firefox/files/patch-modules_libpref_src_init_all.js /junk/wk/www/firefox/files/patch-modules_libpref_src_init_all.js
--- /usr/HEAD/ports/www/firefox/files/patch-modules_libpref_src_init_all.js	Thu Jan  1 01:00:00 1970
+++ /junk/wk/www/firefox/files/patch-modules_libpref_src_init_all.js	Tue Dec 28 10:46:34 2004
@@ -0,0 +1,76 @@
+--- modules/libpref/src/init/all.js.orig	Fri Nov  5 00:39:57 2004
++++ modules/libpref/src/init/all.js	Tue Dec 28 08:59:01 2004
+@@ -49,8 +49,8 @@
+ 
+ pref("keyword.URL", "http://www.google.com/search?ie=UTF-8&oe=utf-8&q=");
+ pref("keyword.enabled", false);
+-pref("general.useragent.locale", "chrome://navigator/locale/navigator.properties");
+-pref("general.useragent.contentlocale", "chrome://navigator-region/locale/region.properties");
++pref("general.useragent.locale", "chrome://global/locale/intl.properties");
++pref("general.useragent.contentlocale", "chrome://browser-region/locale/region.properties");
+ 
+ pref("general.config.obscure_value", 13); // for MCD .cfg files
+ 
+@@ -640,31 +640,30 @@
+ pref("converter.html2txt.structs",          true); // Output structured phrases (strong, em, code, sub, sup, b, i, u)
+ pref("converter.html2txt.header_strategy",  1); // 0 = no indention; 1 = indention, increased with header level; 2 = numbering and slight indention
+ 
+-pref("intl.accept_languages",               "chrome://navigator/locale/navigator.properties");
++pref("intl.accept_languages",               "chrome://global/locale/intl.properties");
+ pref("intl.accept_charsets",                "iso-8859-1,*,utf-8");
+-pref("intl.collationOption",                "chrome://navigator-platform/locale/navigator.properties");
+-pref("intl.menuitems.alwaysappendaccesskeys","chrome://navigator/locale/navigator.properties");
+-pref("intl.charsetmenu.browser.static",     "chrome://navigator/locale/navigator.properties");
+-pref("intl.charsetmenu.browser.more1",      "chrome://navigator/locale/navigator.properties");
+-pref("intl.charsetmenu.browser.more2",      "chrome://navigator/locale/navigator.properties");
+-pref("intl.charsetmenu.browser.more3",      "chrome://navigator/locale/navigator.properties");
+-pref("intl.charsetmenu.browser.more4",      "chrome://navigator/locale/navigator.properties");
+-pref("intl.charsetmenu.browser.more5",      "chrome://navigator/locale/navigator.properties");
+-pref("intl.charsetmenu.browser.unicode",    "chrome://navigator/locale/navigator.properties");
+-pref("intl.charsetmenu.mailedit",           "chrome://navigator/locale/navigator.properties");
++pref("intl.collationOption",                "chrome://global-platform/locale/intl.properties");
++pref("intl.menuitems.alwaysappendaccesskeys","chrome://global/locale/intl.properties");
++pref("intl.charsetmenu.browser.static",     "chrome://global/locale/intl.properties");
++pref("intl.charsetmenu.browser.more1",      "chrome://global/locale/intl.properties");
++pref("intl.charsetmenu.browser.more2",      "chrome://global/locale/intl.properties");
++pref("intl.charsetmenu.browser.more3",      "chrome://global/locale/intl.properties");
++pref("intl.charsetmenu.browser.more4",      "chrome://global/locale/intl.properties");
++pref("intl.charsetmenu.browser.more5",      "chrome://global/locale/intl.properties");
++pref("intl.charsetmenu.browser.unicode",    "chrome://global/locale/intl.properties");
++pref("intl.charsetmenu.mailedit",           "chrome://global/locale/intl.properties");
+ pref("intl.charsetmenu.browser.cache",      "");
+ pref("intl.charsetmenu.mailview.cache",     "");
+ pref("intl.charsetmenu.composer.cache",     "");
+ pref("intl.charsetmenu.browser.cache.size", 5);
+-pref("intl.charset.detector",               "chrome://navigator/locale/navigator.properties");
+-pref("intl.charset.default",                "chrome://navigator-platform/locale/navigator.properties");
+-pref("intl.content.langcode",               "chrome://communicator-region/locale/region.properties");
++pref("intl.charset.detector",               "chrome://global/locale/intl.properties");
++pref("intl.charset.default",                "chrome://global-platform/locale/intl.properties");
+ pref("intl.locale.matchOS",                 false);
+ // fallback charset list for Unicode conversion (converting from Unicode)
+ // currently used for mail send only to handle symbol characters (e.g Euro, trademark, smartquotes)
+ // for ISO-8859-1
+ pref("intl.fallbackCharsetList.ISO-8859-1", "windows-1252");
+-pref("font.language.group",                 "chrome://navigator/locale/navigator.properties");
++pref("font.language.group",                 "chrome://global/locale/intl.properties");
+ 
+ pref("images.dither", "auto");
+ pref("security.directory",              "");
+@@ -719,6 +718,16 @@
+ pref("mousewheel.horizscroll.withaltkey.action",2);
+ pref("mousewheel.horizscroll.withaltkey.numlines",-1);
+ pref("mousewheel.horizscroll.withaltkey.sysnumlines",false);
++
++pref("mousebuttonsextended.buttonlist", "67");
++pref("mousebuttonsextended.buttons.6.action.up", 2);
++pref("mousebuttonsextended.buttons.6.numlines.up", -1);
++pref("mousebuttonsextended.buttons.6.action.down", -1);
++pref("mousebuttonsextended.buttons.6.numlines.down", -1);
++pref("mousebuttonsextended.buttons.7.action.up", 2);
++pref("mousebuttonsextended.buttons.7.numlines.up", 1);
++pref("mousebuttonsextended.buttons.7.action.down", -1);
++pref("mousebuttonsextended.buttons.7.numlines.down", -1);
+ 
+ pref("profile.confirm_automigration",true);
+ // profile.migration_behavior determines how the profiles root is set
diff -ruN --exclude=CVS /usr/HEAD/ports/www/firefox/files/patch-netwerk_protocol_ftp_src_nsFtpConnectionThread.cpp /junk/wk/www/firefox/files/patch-netwerk_protocol_ftp_src_nsFtpConnectionThread.cpp
--- /usr/HEAD/ports/www/firefox/files/patch-netwerk_protocol_ftp_src_nsFtpConnectionThread.cpp	Thu Jan  1 01:00:00 1970
+++ /junk/wk/www/firefox/files/patch-netwerk_protocol_ftp_src_nsFtpConnectionThread.cpp	Tue Dec 28 10:47:35 2004
@@ -0,0 +1,57 @@
+--- netwerk/protocol/ftp/src/nsFtpConnectionThread.cpp.orig	Fri Jul 30 05:16:41 2004
++++ netwerk/protocol/ftp/src/nsFtpConnectionThread.cpp	Tue Dec 28 08:59:02 2004
+@@ -1051,22 +1051,25 @@
+     mResponseMsg = "";
+ 
+     if (mAnonymous) {
+-        char* anonPassword = nsnull;
+-        PRBool useRealEmail = PR_FALSE;
+-        nsCOMPtr<nsIPrefBranch> prefs = do_GetService(NS_PREFSERVICE_CONTRACTID);
+-        if (prefs) {
+-            rv = prefs->GetBoolPref("advanced.mailftp", &useRealEmail);
+-            if (NS_SUCCEEDED(rv) && useRealEmail)
+-                prefs->GetCharPref("network.ftp.anonymous_password", &anonPassword);
+-        }
+-        if (useRealEmail && anonPassword && *anonPassword != '\0') {
+-            passwordStr.Append(anonPassword);
+-            nsMemory::Free(anonPassword);
+-        }
+-        else {
+-            // We need to default to a valid email address - bug 101027
+-            // example.com is reserved (rfc2606), so use that
+-            passwordStr.Append("mozilla at example.com");
++        if (!mPassword.IsEmpty()) {
++            // XXX Is UTF-8 the best choice?
++            AppendUTF16toUTF8(mPassword, passwordStr);
++        } else {
++            nsXPIDLCString anonPassword;
++            PRBool useRealEmail = PR_FALSE;
++            nsCOMPtr<nsIPrefBranch> prefs = do_GetService(NS_PREFSERVICE_CONTRACTID);
++            if (prefs) {
++                rv = prefs->GetBoolPref("advanced.mailftp", &useRealEmail);
++                if (NS_SUCCEEDED(rv) && useRealEmail)
++                    prefs->GetCharPref("network.ftp.anonymous_password", getter_Copies(anonPassword));
++            }
++            if (!anonPassword.IsEmpty()) {
++                passwordStr.Append(anonPassword);
++            } else {
++                // We need to default to a valid email address - bug 101027
++                // example.com is reserved (rfc2606), so use that
++                passwordStr.Append("mozilla at example.com");
++            }
+         }
+     } else {
+         if (mPassword.IsEmpty() || mRetryPass) {
+@@ -1144,6 +1147,12 @@
+                     pm->RemoveUser(prePath, EmptyString());
+                 }
+             }
++        }
++
++        // If the login was anonymous, and it failed, try again with a username
++        if (mAnonymous) {
++            mAnonymous = PR_FALSE;
++            return FTP_S_USER;
+         }
+ 
+         mRetryPass = PR_TRUE;
diff -ruN --exclude=CVS /usr/HEAD/ports/www/firefox/files/patch-toolkit_mozapps_extensions_content_extensions.js /junk/wk/www/firefox/files/patch-toolkit_mozapps_extensions_content_extensions.js
--- /usr/HEAD/ports/www/firefox/files/patch-toolkit_mozapps_extensions_content_extensions.js	Thu Jan  1 01:00:00 1970
+++ /junk/wk/www/firefox/files/patch-toolkit_mozapps_extensions_content_extensions.js	Tue Dec 28 10:51:15 2004
@@ -0,0 +1,22 @@
+--- toolkit/mozapps/extensions/content/extensions.js.orig	Fri Oct  8 10:53:27 2004
++++ toolkit/mozapps/extensions/content/extensions.js	Tue Dec 28 08:59:02 2004
+@@ -678,7 +678,8 @@
+       return !selectedItem ||
+              (selectedItem &&
+               selectedItem.getAttribute("toBeUninstalled") != "true" &&
+-              selectedItem.getAttribute("toBeInstalled") != "true");
++              selectedItem.getAttribute("toBeInstalled") != "true" &&
++	      selectedItem.getAttribute("locked") != "true");
+     case "cmd_reallyEnable":
+     // controls whether to show Enable or Disable in extensions' context menu
+       return selectedItem && 
+@@ -694,8 +695,7 @@
+     case "cmd_disable":
+       return selectedItem &&
+              !selectedItem.disabled &&
+-             selectedItem.getAttribute("toBeUninstalled") != "true" &&
+-             selectedItem.getAttribute("locked") != "true";
++             selectedItem.getAttribute("toBeUninstalled") != "true";
+     case "cmd_movetop":
+       return selectedItem && (gExtensionsView.children[0] != selectedItem);
+     case "cmd_moveup":
diff -ruN --exclude=CVS /usr/HEAD/ports/www/firefox/files/patch-toolkit_mozapps_extensions_src_nsExtensionManager.js.in /junk/wk/www/firefox/files/patch-toolkit_mozapps_extensions_src_nsExtensionManager.js.in
--- /usr/HEAD/ports/www/firefox/files/patch-toolkit_mozapps_extensions_src_nsExtensionManager.js.in	Thu Jan  1 01:00:00 1970
+++ /junk/wk/www/firefox/files/patch-toolkit_mozapps_extensions_src_nsExtensionManager.js.in	Tue Dec 28 10:51:15 2004
@@ -0,0 +1,298 @@
+--- toolkit/mozapps/extensions/src/nsExtensionManager.js.in.orig	Tue Oct 12 08:19:47 2004
++++ toolkit/mozapps/extensions/src/nsExtensionManager.js.in	Tue Dec 28 08:59:02 2004
+@@ -20,6 +20,7 @@
+  *
+  * Contributor(s):
+  *  Ben Goodger <ben at bengoodger.com>
++ *  Mike Hommey <mh at glandium.org>
+  *
+  * Alternatively, the contents of this file may be used under the terms of
+  * either the GNU General Public License Version 2 or later (the "GPL"), or
+@@ -144,6 +145,19 @@
+ }
+ 
+ // Returns the file at the appropriate point in a directory hierarchy under
++// the specified key. Does NOT create the file NOR the directories along the
++// way.
++function getFileNoCreateDir(aKey, aPathToFile)
++{
++  var subdirs = [];
++  for (var i = 0; i < aPathToFile.length - 1; ++i)
++    subdirs.push(aPathToFile[i]);
++  var file = getDirNoCreate(aKey, subdirs);
++  file.append(aPathToFile[aPathToFile.length - 1]);
++  return file;
++}
++
++// Returns the file at the appropriate point in a directory hierarchy under
+ // the specified key, creating directories along the way if necessary. Does
+ // NOT create the file.
+ function getFile(aKey, aPathToFile)
+@@ -675,9 +689,17 @@
+ function nsInstallLogReader(aExtensionID, aIsProfile, aListener)
+ {
+   this._isProfile = aIsProfile;
+-  this.uninstallLog = getFile(getDirKey(aIsProfile),
++  this.uninstallLog = getFileNoCreateDir(getDirKey(aIsProfile),
+                               [DIR_EXTENSIONS, aExtensionID, 
+                                DIR_UNINSTALL, FILE_UNINSTALL_LOG]);
++  // If the uninstall Log doesn't exist in profile, let's give a try in
++  // global extension pool.
++  if (aIsProfile && !this.uninstallLog.exists()) {
++    this._isProfile = false;
++    this.uninstallLog = getFileNoCreateDir(getDirKey(false),
++                                           [DIR_EXTENSIONS, aExtensionID,
++                                            DIR_UNINSTALL, FILE_UNINSTALL_LOG]);
++  }
+   this._listener = aListener
+ }
+ 
+@@ -829,26 +851,20 @@
+   {
+     // extension,{GUID} or theme,{GUID}
+     var parts = aLine.split(",");
+-    var manifest = getFile(KEY_APPDIR, 
++    var manifest = getFileNoCreateDir(KEY_APPDIR, 
+                            [DIR_EXTENSIONS, parts[1], FILE_INSTALL_MANIFEST]);
+     if (parts.length != 2)
+       return;
+       
+-    if (!manifest.exists()) {
+-      defaultManifest = defaultFile = getFile(KEY_DEFAULTS, 
+-                                              [DIR_DEFAULTS_EXTENSIONS, parts[1], FILE_INSTALL_MANIFEST]);
+-      var extensionDir = getDir(KEY_APPDIR, [DIR_EXTENSIONS, parts[1]]);
+-      defaultManifest.copyTo(extensionDir, FILE_INSTALL_MANIFEST);
+-      manifest = getFile(KEY_APPDIR, 
+-                         [DIR_EXTENSIONS, parts[1], FILE_INSTALL_MANIFEST]);
+-    }
+-    switch (parts[0]) {
+-    case this.TOKEN_EXTENSION:
+-      this._manager.ensurePreConfiguredItem(parts[1], nsIUpdateItem.TYPE_EXTENSION, manifest);
+-      break;
+-    case this.TOKEN_THEME:
+-      this._manager.ensurePreConfiguredItem(parts[1], nsIUpdateItem.TYPE_THEME, manifest);
+-      break;
++    if (manifest.exists()) {
++      switch (parts[0]) {
++      case this.TOKEN_EXTENSION:
++        this._manager.ensurePreConfiguredItem(parts[1], nsIUpdateItem.TYPE_EXTENSION, manifest);
++        break;
++      case this.TOKEN_THEME:
++        this._manager.ensurePreConfiguredItem(parts[1], nsIUpdateItem.TYPE_THEME, manifest);
++        break;
++      }
+     }
+   }
+ };
+@@ -929,7 +945,7 @@
+     this._installExtensionFiles();
+     
+     // Load the metadata datasource
+-    var metadataFile = getFile(this._extDirKey, 
++    var metadataFile = getFileNoCreateDir(this._extDirKey, 
+                                [DIR_EXTENSIONS, aExtensionID, FILE_INSTALL_MANIFEST]);
+     
+     this._metadataDS = getInstallManifest(metadataFile);
+@@ -969,10 +985,12 @@
+   
+   _installExtensionFiles: function nsExtensionInstaller__installExtensionFiles ()
+   {
+-    var sourceXPI = getFile(this._extDirKey, 
++    var sourceXPI = getFileNoCreateDir(this._extDirKey, 
+                             [DIR_EXTENSIONS, DIR_TEMP, 
+                              this._extensionID, 
+                              this._extensionID + ".xpi"]);
++    if (!sourceXPI.exists())
++      return;
+     var zipReader = Components.classes["@mozilla.org/libjar/zip-reader;1"]
+                               .createInstance(Components.interfaces.nsIZipReader);
+     zipReader.init(sourceXPI);
+@@ -1752,6 +1770,9 @@
+       // Write bin/components.ini
+       var manifest = getFile(KEY_APPDIR, [FILE_COMPONENT_MANIFEST]);
+       this._writeProfileFile(manifest, this._getComponentsDir, false);
++
++      // Update the Defaults Manifest
++      this._writeDefaults(false);
+     }
+   },
+ 
+@@ -1823,7 +1844,7 @@
+         cr.selectSkin(KEY_DEFAULT_THEME, true);
+       }
+       catch (e) {
+-        dump("*** nsExtensionManager::_disableObsoleteExtensions - failure, catching exception so finalize window can close\n");
++//        dump("*** nsExtensionManager::_disableObsoleteExtensions - failure, catching exception so finalize window can close\n");
+       }
+       win.close();
+       
+@@ -2002,6 +2023,34 @@
+     this._ds.insertForthcomingItem(aItemID, aItemType, false);
+     var metadataDS = getInstallManifest(aManifest);
+     this._ds.addItemMetadata(aItemID, aItemType, metadataDS, false);
++
++    // Check whether the extension is installable (firefox_version fitting between
++    // em:MaxVersion and em:MinVersion)
++    var extensionID = this.canInstallItem(metadataDS);
++    // |extensionID| must be a GUID string, not a number - a number means failure.
++    if (isNaN(parseInt(extensionID))) {
++      // Do install the extension, meaning we register its chrome and components
++      if (!this._extInstaller)
++          this._extInstaller = new nsExtensionInstaller(this._ds);
++      try {
++          this._extInstaller.install(aItemID, false);
++      }
++      catch (e) {
++          // If the installation failed, we disable the extension in addition
++	  // to _not_ uninstalling it (which would fail anyway because it
++	  // would be done at launch time... as a user).
++	  this._ds.setItemProperty(aItemID, this._ds._emR("toBeUninstalled"),
++	                           null, false, aItemType);
++          this._ds.setItemProperty(aItemID, this._ds._emR("disabled"),
++                                   this._ds._emL("true"), false, aItemType);
++      }
++    } else {
++      // disable extensions that aren't installable
++      this._ds.setItemProperty(aItemID, this._ds._emR("disabled"),
++                              this._ds._emL("true"), false, aItemType);
++    }
++    // Force locking pre-configured items.
++    this._ds.lockUnlockItem(aItemID, true);
+   },
+   
+   checkForMismatches: function nsExtensionManager_checkForMismatches () 
+@@ -2028,22 +2077,31 @@
+       if (items.length > 0) {
+         for (var i = 0; i < items.length; ++i) {
+           // Now disable the extension so it won't hurt anything. 
++	  var alreadyDisabled = this._ds.getItemProperty(items[i].id, "disabled");
+           var itemType = getItemType(this._ds._getResourceForItem(items[i].id).Value);
+           if (itemType != -1 && itemType & nsIUpdateItem.TYPE_EXTENSION)
+-            this.disableExtension(items[i].id);
++            if (!alreadyDisabled) this.disableExtension(items[i].id);
+           else if (itemType & nsIUpdateItem.TYPE_THEME) {
+             if (gPref.prefHasUserValue(PREF_GENERAL_SKINS_SELECTEDSKIN))
+               gPref.clearUserPref(PREF_GENERAL_SKINS_SELECTEDSKIN);
+-            this._ds.disableTheme(items[i].id);
++            if (!alreadyDisabled) this._ds.disableTheme(items[i].id);
+           }
+         }
+-        var updates = Components.classes["@mozilla.org/updates/update-service;1"]
+-                                .getService(Components.interfaces.nsIUpdateService);
+-        updates.checkForUpdates(items, items.length, nsIUpdateItem.TYPE_ADDON, 
+-                                nsIUpdateService.SOURCE_EVENT_MISMATCH,
+-                                null);
++	// We want to eliminate locked extensions
++	newitems = [];
++	for (var i = 0; i < items.length; ++i) {
++	  if (!this._ds.getItemProperty(items[i].id, "locked"))
++	    newitems.push(items[i]);
++	}
++	if (newitems.length > 0) {
++          var updates = Components.classes["@mozilla.org/updates/update-service;1"]
++                                  .getService(Components.interfaces.nsIUpdateService);
++          updates.checkForUpdates(newitems, newitems.length, nsIUpdateItem.TYPE_ADDON, 
++                                  nsIUpdateService.SOURCE_EVENT_MISMATCH,
++                                  null);
+         
+-        needsRestart = true;
++          needsRestart = true;
++	}
+       }
+     }
+     
+@@ -2087,7 +2145,7 @@
+       this._writeDefaults(false);
+     }
+     catch (e) { 
+-      dump("*** ExtensionManager:_updateManifests: no access privileges to application directory, skipping.\n"); 
++//      dump("*** ExtensionManager:_updateManifests: no access privileges to application directory, skipping.\n"); 
+     };
+     this._writeComponentManifest(true);
+     this._writeDefaults(true);
+@@ -2133,6 +2191,11 @@
+         validExtensions.push({ sourceDir: sourceDir, isProfile: isProfile });
+     }
+     
++    // Debian hook to insert defaults/syspref into defaults.ini
++    if ((aFile.leafName == FILE_DEFAULTS) && aIsProfile == false) {
++      validExtensions.push({ sourceDir: getDirNoCreate(getDirKey(false), [DIR_DEFAULTS, "syspref"]), isProfile: false });
++    }
++
+     var lines = ["[Extra Files]\r\n",
+                  "Count=" + validExtensions.length + "\r\n"];
+     for (i = 0; i < lines.length; ++i)
+@@ -2545,16 +2608,16 @@
+       this._extEnabler = new nsExtensionEnabler(this._ds);
+       
+     var isProfile = this._ds.isProfileItem(aExtensionID);
+-    this._extEnabler.enable(aExtensionID, isProfile, aDisable);
++    this._extEnabler.enable(aExtensionID, true, aDisable);
+ 
+     // clear temporary flags
+     this._ds.setItemProperty(aExtensionID, 
+                              this._ds._emR("toBeEnabled"),
+-                             null, isProfile,
++                             null, true,
+                              nsIUpdateItem.TYPE_EXTENSION);
+     this._ds.setItemProperty(aExtensionID, 
+                              this._ds._emR("toBeDisabled"),
+-                             null, isProfile,
++                             null, true,
+                              nsIUpdateItem.TYPE_EXTENSION);
+   },
+   
+@@ -3090,8 +3153,10 @@
+   checkForUpdates: function (aItem, aVersionUpdateOnly)
+   {
+     // A preference setting can disable updating for this item
++    // We'll also skip locked items.
+     try {
+-      if (!gPref.getBoolPref(PREF_EM_ITEM_UPDATE_ENABLED.replace(/%UUID%/, aItem.id))) {
++      if (this._updater._emDS.getItemProperty(aItem.id, "locked") ||
++          !gPref.getBoolPref(PREF_EM_ITEM_UPDATE_ENABLED.replace(/%UUID%/, aItem.id))) {
+         gOS.notifyObservers(null, "Update:Extension:Item-Ended", "");
+         this._updater._checkForDone();
+         return;
+@@ -3557,7 +3622,7 @@
+   
+   isProfileItem: function nsExtensionsDataSource_isProfileItem (aItemID)
+   {
+-    return this.getItemProperty(aItemID, "installLocation") != "global";
++    return this.getItemProperty(aItemID, "installLocation") == "profile";
+   },
+   
+   _setProperty: function nsExtensionsDataSource__setProperty (aDS, aSource, aProperty, aNewValue)
+@@ -3845,26 +3910,26 @@
+   enableExtension: function nsExtensionsDataSource_enableExtension (aExtensionID)
+   {
+     this.setItemProperty(aExtensionID, this._emR("toBeEnabled"), 
+-                         this._emL("true"), this.isProfileItem(aExtensionID), 
++                         this._emL("true"), true,
+                          nsIUpdateItem.TYPE_EXTENSION);
+     this.setItemProperty(aExtensionID, this._emR("toBeDisabled"), 
+-                         null, this.isProfileItem(aExtensionID), 
++                         null, true,
+                          nsIUpdateItem.TYPE_EXTENSION);
+     this.setItemProperty(aExtensionID, this._emR("disabled"), 
+-                         null, this.isProfileItem(aExtensionID), 
++                         null, true,
+                          nsIUpdateItem.TYPE_EXTENSION);
+   },
+   
+   disableExtension: function nsExtensionsDataSource_disableExtension (aExtensionID)
+   {
+     this.setItemProperty(aExtensionID, this._emR("toBeDisabled"), 
+-                         this._emL("true"), this.isProfileItem(aExtensionID), 
++                         this._emL("true"), true,
+                          nsIUpdateItem.TYPE_EXTENSION);
+     this.setItemProperty(aExtensionID, this._emR("toBeEnabled"), 
+-                         null, this.isProfileItem(aExtensionID), 
++                         null, true,
+                          nsIUpdateItem.TYPE_EXTENSION);
+     this.setItemProperty(aExtensionID, this._emR("disabled"), 
+-                         this._emL("true"), this.isProfileItem(aExtensionID), 
++                         this._emL("true"), true, 
+                          nsIUpdateItem.TYPE_EXTENSION);
+   },
+   
diff -ruN --exclude=CVS /usr/HEAD/ports/www/firefox/files/patch-toolkit_mozapps_update_src_nsUpdateService.js.in /junk/wk/www/firefox/files/patch-toolkit_mozapps_update_src_nsUpdateService.js.in
--- /usr/HEAD/ports/www/firefox/files/patch-toolkit_mozapps_update_src_nsUpdateService.js.in	Thu Jan  1 01:00:00 1970
+++ /junk/wk/www/firefox/files/patch-toolkit_mozapps_update_src_nsUpdateService.js.in	Tue Dec 28 10:51:15 2004
@@ -0,0 +1,16 @@
+--- toolkit/mozapps/update/src/nsUpdateService.js.in.orig	Sun Oct  3 23:06:30 2004
++++ toolkit/mozapps/update/src/nsUpdateService.js.in	Tue Dec 28 08:59:02 2004
+@@ -178,9 +178,10 @@
+       if (aRequestedTypes & nsIUpdateItem.TYPE_THEME)
+         types |= nsIUpdateItem.TYPE_THEME;
+     }
+-    if (appUpdateEnabled && 
+-        (aRequestedTypes & nsIUpdateItem.TYPE_APP))
+-      types |= nsIUpdateItem.TYPE_APP;
++    // Disable application updates
++    //if (appUpdateEnabled && 
++    //    (aRequestedTypes & nsIUpdateItem.TYPE_APP))
++    //  types |= nsIUpdateItem.TYPE_APP;
+ 
+     return types;
+   },
diff -ruN --exclude=CVS /usr/HEAD/ports/www/firefox/files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp /junk/wk/www/firefox/files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp
--- /usr/HEAD/ports/www/firefox/files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp	Thu Jan  1 01:00:00 1970
+++ /junk/wk/www/firefox/files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp	Tue Dec 28 09:47:26 2004
@@ -0,0 +1,29 @@
+--- uriloader/exthandler/unix/nsGNOMERegistry.cpp.orig	Fri Dec 24 04:30:00 2004
++++ uriloader/exthandler/unix/nsGNOMERegistry.cpp	Fri Dec 24 04:34:05 2004
+@@ -143,7 +143,7 @@
+     PR_END_MACRO
+ 
+   // Attempt to open libgconf
+-  gconfLib = LoadVersionedLibrary("gconf-2", ".4");
++  gconfLib = PR_LoadLibrary("libgconf-2.so");
+   ENSURE_LIB(gconfLib);
+ 
+   GET_LIB_FUNCTION(gconf, gconf_client_get_default);
+@@ -151,7 +151,7 @@
+   GET_LIB_FUNCTION(gconf, gconf_client_get_bool);
+ 
+   // Attempt to open libgnome
+-  gnomeLib = LoadVersionedLibrary("gnome-2", ".0");
++  gnomeLib = PR_LoadLibrary("libgnome-2.so");
+   ENSURE_LIB(gnomeLib);
+ 
+   GET_LIB_FUNCTION(gnome, gnome_url_show);
+@@ -160,7 +160,7 @@
+   GET_LIB_FUNCTION(gnome, gnome_program_get);
+ 
+   // Attempt to open libgnomevfs
+-  vfsLib = LoadVersionedLibrary("gnomevfs-2", ".0");
++  vfsLib = PR_LoadLibrary("libgnomevfs-2.so");
+   ENSURE_LIB(vfsLib);
+ 
+   GET_LIB_FUNCTION(vfs, gnome_vfs_mime_type_from_name);
diff -ruN --exclude=CVS /usr/HEAD/ports/www/firefox/files/patch-widget_public_nsGUIEvent.h /junk/wk/www/firefox/files/patch-widget_public_nsGUIEvent.h
--- /usr/HEAD/ports/www/firefox/files/patch-widget_public_nsGUIEvent.h	Thu Jan  1 01:00:00 1970
+++ /junk/wk/www/firefox/files/patch-widget_public_nsGUIEvent.h	Tue Dec 28 10:58:47 2004
@@ -0,0 +1,34 @@
+--- widget/public/nsGUIEvent.h.orig	Wed Sep  8 00:57:48 2004
++++ widget/public/nsGUIEvent.h	Tue Dec 28 08:59:02 2004
+@@ -22,6 +22,8 @@
+  * Contributor(s):
+  *   Makoto Kato  <m_kato at ga2.so-net.ne.jp>
+  *   Dean Tessman <dean_tessman at hotmail.com>
++ *   Andrew Wellington <proton at wiretapped.net>
++ *   Graham Dennis <u3952328 at anu.edu.au>
+  *
+  * Alternatively, the contents of this file may be used under the terms of
+  * either the GNU General Public License Version 2 or later (the "GPL"), or 
+@@ -818,6 +820,22 @@
+   nsDragDropEventStatus_eDrop  
+ };
+ 
++/**
++ * Event status for an extended mouse button event
++ * The event (called clickCount) is type PRUint32:
++ * hence this struct will be of the same size
++ */
++typedef struct {
++  PRUint16 realClickCount;
++  PRUint8  button;
++  PRUint8  event;  // eg button went up / down
++} nsExtendedMouseEventStatus;
++
++enum {
++  /// different types of events
++  nsExtendedMouseEventStatus_up,
++  nsExtendedMouseEventStatus_down
++};
+ 
+ #define NS_IS_MOUSE_EVENT(evnt) \
+        (((evnt)->message == NS_MOUSE_LEFT_BUTTON_DOWN) || \
diff -ruN --exclude=CVS /usr/HEAD/ports/www/firefox/files/patch-widget_src_gtk2_nsWindow.cpp /junk/wk/www/firefox/files/patch-widget_src_gtk2_nsWindow.cpp
--- /usr/HEAD/ports/www/firefox/files/patch-widget_src_gtk2_nsWindow.cpp	Thu Jan  1 01:00:00 1970
+++ /junk/wk/www/firefox/files/patch-widget_src_gtk2_nsWindow.cpp	Tue Dec 28 10:58:47 2004
@@ -0,0 +1,20 @@
+--- widget/src/gtk2/nsWindow.cpp.orig	Fri Jun 18 05:02:07 2004
++++ widget/src/gtk2/nsWindow.cpp	Tue Dec 28 08:59:02 2004
+@@ -1395,6 +1395,9 @@
+         return;
+ 
+     switch (aEvent->button) {
++    case 1:
++        eventType = NS_MOUSE_LEFT_BUTTON_DOWN;
++        break;
+     case 2:
+         eventType = NS_MOUSE_MIDDLE_BUTTON_DOWN;
+         break;
+@@ -1402,7 +1405,6 @@
+         eventType = NS_MOUSE_RIGHT_BUTTON_DOWN;
+         break;
+     default:
+-        eventType = NS_MOUSE_LEFT_BUTTON_DOWN;
+         break;
+     }
+ 
diff -ruN --exclude=CVS /usr/HEAD/ports/www/firefox/files/patch-xpcom_io_nsAppDirectoryServiceDefs.h /junk/wk/www/firefox/files/patch-xpcom_io_nsAppDirectoryServiceDefs.h
--- /usr/HEAD/ports/www/firefox/files/patch-xpcom_io_nsAppDirectoryServiceDefs.h	Thu Jan  1 01:00:00 1970
+++ /junk/wk/www/firefox/files/patch-xpcom_io_nsAppDirectoryServiceDefs.h	Tue Dec 28 11:01:30 2004
@@ -0,0 +1,13 @@
+--- xpcom/io/nsAppDirectoryServiceDefs.h.orig	Wed May 19 20:57:50 2004
++++ xpcom/io/nsAppDirectoryServiceDefs.h	Tue Dec 28 08:59:02 2004
+@@ -75,8 +75,10 @@
+ #define NS_APP_CHROME_DIR                       "AChrom"
+ #define NS_APP_PLUGINS_DIR                      "APlugns"       // Deprecated - use NS_APP_PLUGINS_DIR_LIST
+ #define NS_APP_SEARCH_DIR                       "SrchPlugns"
++#define NS_USER_SEARCH_DIR                      "UsrSrchPlugns"
+ 
+ #define NS_APP_PLUGINS_DIR_LIST                 "APluginsDL"
++#define NS_APP_SEARCH_DIR_LIST                  "ASearchDL"
+ 
+ // --------------------------------------------------------------------------------------
+ // Files and directories which exist on a per-profile basis
diff -ruN --exclude=CVS /usr/HEAD/ports/www/firefox/files/patch-xpcom_io_nsAppFileLocationProvider.cpp /junk/wk/www/firefox/files/patch-xpcom_io_nsAppFileLocationProvider.cpp
--- /usr/HEAD/ports/www/firefox/files/patch-xpcom_io_nsAppFileLocationProvider.cpp	Thu Jan  1 01:00:00 1970
+++ /junk/wk/www/firefox/files/patch-xpcom_io_nsAppFileLocationProvider.cpp	Tue Dec 28 11:01:30 2004
@@ -0,0 +1,33 @@
+--- xpcom/io/nsAppFileLocationProvider.cpp.orig	Thu Jan 22 02:01:19 2004
++++ xpcom/io/nsAppFileLocationProvider.cpp	Tue Dec 28 08:59:02 2004
+@@ -252,6 +252,12 @@
+         if (NS_SUCCEEDED(rv))
+             rv = localFile->AppendRelativeNativePath(SEARCH_DIR_NAME);
+     }
++    else if (nsCRT::strcmp(prop, NS_USER_SEARCH_DIR) == 0)
++    {
++        rv = GetProductDirectory(getter_AddRefs(localFile));
++        if (NS_SUCCEEDED(rv))
++            rv = localFile->AppendRelativeNativePath(SEARCH_DIR_NAME);
++    }
+     else if (nsCRT::strcmp(prop, NS_APP_INSTALL_CLEANUP_DIR) == 0)
+     {   
+         // This is cloned so that embeddors will have a hook to override
+@@ -586,6 +592,17 @@
+         }
+         *_retval = new nsPathsDirectoryEnumerator(this, keys);
+ #endif
++        NS_IF_ADDREF(*_retval);
++        rv = *_retval ? NS_OK : NS_ERROR_OUT_OF_MEMORY;        
++    }
++    if (!nsCRT::strcmp(prop, NS_APP_SEARCH_DIR_LIST))
++    {
++        static const char* keys[] = { nsnull, NS_USER_SEARCH_DIR, NS_APP_SEARCH_DIR, nsnull };
++        if (!keys[0] && !(keys[0] = PR_GetEnv("MOZ_SEARCH_ENGINE_PATH"))) {
++            static const char nullstr = 0;
++            keys[0] = &nullstr;
++        }
++        *_retval = new nsPathsDirectoryEnumerator(this, keys);
+         NS_IF_ADDREF(*_retval);
+         rv = *_retval ? NS_OK : NS_ERROR_OUT_OF_MEMORY;        
+     }
diff -ruN --exclude=CVS /usr/HEAD/ports/www/firefox/files/patch-xpfe_components_search_src_nsInternetSearchService.cpp /junk/wk/www/firefox/files/patch-xpfe_components_search_src_nsInternetSearchService.cpp
--- /usr/HEAD/ports/www/firefox/files/patch-xpfe_components_search_src_nsInternetSearchService.cpp	Thu Jan  1 01:00:00 1970
+++ /junk/wk/www/firefox/files/patch-xpfe_components_search_src_nsInternetSearchService.cpp	Tue Dec 28 11:09:11 2004
@@ -0,0 +1,55 @@
+--- xpfe/components/search/src/nsInternetSearchService.cpp.orig	Thu Oct 14 08:22:12 2004
++++ xpfe/components/search/src/nsInternetSearchService.cpp	Tue Dec 28 08:59:02 2004
+@@ -997,8 +997,25 @@
+ 
+ 		// get available search engines
+ 		nsCOMPtr<nsIFile>			nativeDir;
+-		if (NS_SUCCEEDED(rv = GetSearchFolder(getter_AddRefs(nativeDir))))
+-		{
++
++		nsCOMPtr<nsIProperties> dirService(do_GetService("@mozilla.org/file/directory_service;1", &rv));
++		if (NS_FAILED(rv))	return rv;
++
++		nsCOMPtr<nsISimpleEnumerator> dirList;
++		rv = dirService->Get(NS_APP_SEARCH_DIR_LIST, NS_GET_IID(nsISimpleEnumerator), getter_AddRefs(dirList));
++		if (NS_FAILED(rv))	return rv;
++
++		PRBool hasMore;
++		while (NS_SUCCEEDED(dirList->HasMoreElements(&hasMore)) && hasMore)   
++                {
++			nsCOMPtr<nsISupports> supports;
++			rv = dirList->GetNext(getter_AddRefs(supports));
++			if (NS_FAILED(rv))
++				continue;
++			nativeDir = do_QueryInterface(supports, &rv);
++			if (NS_FAILED(rv))
++				continue;
++
+ 			rv = GetSearchEngineList(nativeDir, PR_FALSE, PR_FALSE);
+ 			
+ 			// read in category list
+@@ -2560,6 +2577,15 @@
+ 	nsCOMPtr<nsIFile>	outFile;
+ 	if (NS_FAILED(rv = GetSearchFolder(getter_AddRefs(outFile))))		return(rv);
+ 
++	PRBool exists; 
++	rv = outFile->Exists(&exists); 
++	if (NS_FAILED(rv)) return(rv);
++	if (!exists)
++	{
++		rv = outFile->Create(nsIFile::DIRECTORY_TYPE, 0755);
++		if (NS_FAILED(rv)) return(rv);
++	}
++
+ 	const PRUnichar	*dataBuf = nsnull;
+ 	if (NS_FAILED(rv = context->GetBufferConst(&dataBuf)))	return(rv);
+ 
+@@ -4100,7 +4126,7 @@
+   *searchDir = nsnull;
+ 	
+   nsCOMPtr<nsIFile> aDir;
+-  nsresult rv = NS_GetSpecialDirectory(NS_APP_SEARCH_DIR, getter_AddRefs(aDir));
++  nsresult rv = NS_GetSpecialDirectory(NS_USER_SEARCH_DIR, getter_AddRefs(aDir));
+   if (NS_FAILED(rv)) return rv;
+   
+   *searchDir = aDir;
diff -ruN --exclude=CVS /usr/HEAD/ports/www/firefox/files/patch-xpinstall_packager_unix_browser.jst /junk/wk/www/firefox/files/patch-xpinstall_packager_unix_browser.jst
--- /usr/HEAD/ports/www/firefox/files/patch-xpinstall_packager_unix_browser.jst	Thu Jan  1 01:00:00 1970
+++ /junk/wk/www/firefox/files/patch-xpinstall_packager_unix_browser.jst	Tue Dec 28 11:09:11 2004
@@ -0,0 +1,38 @@
+--- xpinstall/packager/unix/browser.jst.orig	Tue Feb 24 04:22:34 2004
++++ xpinstall/packager/unix/browser.jst	Tue Dec 28 08:59:02 2004
+@@ -77,35 +77,18 @@
+     logComment("dirCreate() returned: " + ignoreErr);
+ 
+     var cf = getFolder("Chrome");
+-    registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf,"toolkit.jar"),"content/global-platform/");
+-    registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf,"comm.jar"),"content/communicator-platform/");
+-    registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf,"comm.jar"),"content/navigator-platform/");
+-
+-    registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf,"toolkit.jar"),"content/global-region/");
+-    registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf,"comm.jar"),"content/communicator-region/");
+-    registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf,"comm.jar"),"content/editor-region/");
+-    registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf,"comm.jar"),"content/navigator-region/");
+-
+     registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf,"toolkit.jar"),"content/global/");
+     registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf,"comm.jar"),"content/autoconfig/");
+     registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf,"comm.jar"),"content/cookie/");
+     registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf,"comm.jar"),"content/wallet/");
+     registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf,"content-packs.jar"),"content/content-packs/");
+     registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf,"comm.jar"),"content/communicator/");
+-    registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf,"comm.jar"),"content/editor/");
+     registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf,"comm.jar"),"content/navigator/");
+     registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf,"comm.jar"),"content/necko/");
+     registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf,"comm.jar"),"content/mozldap/");
+     registerChrome(SKIN | DELAYED_CHROME, getFolder(cf,"classic.jar"),"skin/classic/communicator/");
+-    registerChrome(SKIN | DELAYED_CHROME, getFolder(cf,"classic.jar"),"skin/classic/editor/");
+     registerChrome(SKIN | DELAYED_CHROME, getFolder(cf,"classic.jar"),"skin/classic/global/");
+-    registerChrome(SKIN | DELAYED_CHROME, getFolder(cf,"classic.jar"),"skin/classic/messenger/");
+     registerChrome(SKIN | DELAYED_CHROME, getFolder(cf,"classic.jar"),"skin/classic/navigator/");
+-    registerChrome(SKIN | DELAYED_CHROME, getFolder(cf,"modern.jar"),"skin/modern/communicator/");
+-    registerChrome(SKIN | DELAYED_CHROME, getFolder(cf,"modern.jar"),"skin/modern/editor/");
+-    registerChrome(SKIN | DELAYED_CHROME, getFolder(cf,"modern.jar"),"skin/modern/global/");
+-    registerChrome(SKIN | DELAYED_CHROME, getFolder(cf,"modern.jar"),"skin/modern/messenger/");
+-    registerChrome(SKIN | DELAYED_CHROME, getFolder(cf,"modern.jar"),"skin/modern/navigator/");
+     registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf,"help.jar"),"content/help/");
+     registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf,"comm.jar"),"content/xbl-marquee/");
+     registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf,"comm.jar"),"content/p3p/");
--- firefox-1.0_6,1.patch ends here ---



More information about the freebsd-gnome mailing list