# HG changeset patch # User Wolfgang Rosenauer # Date 1259500226 -3600 # Node ID 523b1d92948c7d3d2e355ca4a7ef58dbab826084 # Parent 59d55eb6eecbd946cce016f561242d796db6f572 Add mozilla-xulrunner192 package diff -r 59d55eb6eecb -r 523b1d92948c TODO/mozilla-kde.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/TODO/mozilla-kde.patch Sun Nov 29 14:10:26 2009 +0100 @@ -0,0 +1,1787 @@ +--- mozilla/chrome/src/Makefile.in.sav 2009-09-14 10:00:21.000000000 +0200 ++++ mozilla/chrome/src/Makefile.in 2009-09-14 10:04:14.000000000 +0200 +@@ -86,6 +86,7 @@ EXTRA_DSO_LDOPTS = \ + + ifneq (,$(filter gtk2,$(MOZ_WIDGET_TOOLKIT))) + EXTRA_DSO_LDOPTS += $(MOZ_GTK2_LIBS) ++LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/xre + endif + + ifneq (,$(filter mac cocoa,$(MOZ_WIDGET_TOOLKIT))) +--- mozilla/chrome/src/nsChromeRegistry.cpp.sav 2009-09-14 10:00:21.000000000 +0200 ++++ mozilla/chrome/src/nsChromeRegistry.cpp 2009-09-14 10:04:14.000000000 +0200 +@@ -114,6 +114,7 @@ + #include "nsIXULAppInfo.h" + #include "nsIXULRuntime.h" + #include "nsPresShellIterator.h" ++#include "nsKDEUtils.h" + + #ifdef MOZ_XUL + // keep all the RDF stuff together, in case we can remove it in the far future +@@ -2208,6 +2209,7 @@ nsChromeRegistry::ProcessManifestBuffer( + NS_NAMED_LITERAL_STRING(kAppVersion, "appversion"); + NS_NAMED_LITERAL_STRING(kOs, "os"); + NS_NAMED_LITERAL_STRING(kOsVersion, "osversion"); ++ NS_NAMED_LITERAL_STRING(kDesktop, "desktop"); + + nsCOMPtr io (do_GetIOService()); + if (!io) return NS_ERROR_FAILURE; +@@ -2251,6 +2253,7 @@ nsChromeRegistry::ProcessManifestBuffer( + } + + nsAutoString osVersion; ++ nsAutoString desktop; + #if defined(XP_WIN) + OSVERSIONINFO info = { sizeof(OSVERSIONINFO) }; + if (GetVersionEx(&info)) { +@@ -2258,6 +2261,7 @@ nsChromeRegistry::ProcessManifestBuffer( + info.dwMajorVersion, + info.dwMinorVersion); + } ++ desktop = NS_LITERAL_STRING("win"); + #elif defined(XP_MACOSX) + long majorVersion, minorVersion; + if ((Gestalt(gestaltSystemVersionMajor, &majorVersion) == noErr) && +@@ -2266,10 +2270,12 @@ nsChromeRegistry::ProcessManifestBuffer( + majorVersion, + minorVersion); + } ++ desktop = NS_LITERAL_STRING("macosx"); + #elif defined(MOZ_WIDGET_GTK2) + nsTextFormatter::ssprintf(osVersion, NS_LITERAL_STRING("%ld.%ld").get(), + gtk_major_version, + gtk_minor_version); ++ desktop = nsKDEUtils::kdeSession() ? NS_LITERAL_STRING("kde") : NS_LITERAL_STRING("gnome"); // TODO others? + #endif + + char *token; +@@ -2313,6 +2319,7 @@ nsChromeRegistry::ProcessManifestBuffer( + TriState stApp = eUnspecified; + TriState stOsVersion = eUnspecified; + TriState stOs = eUnspecified; ++ TriState stDesktop = eUnspecified; + + PRBool badFlag = PR_FALSE; + +@@ -2326,6 +2333,7 @@ nsChromeRegistry::ProcessManifestBuffer( + CheckFlag(kContentAccessible, wtoken, contentAccessible) || + CheckStringFlag(kApplication, wtoken, appID, stApp) || + CheckStringFlag(kOs, wtoken, osTarget, stOs) || ++ CheckStringFlag(kDesktop, wtoken, desktop, stDesktop) || + CheckVersionFlag(kOsVersion, wtoken, osVersion, vc, stOsVersion) || + CheckVersionFlag(kAppVersion, wtoken, appVersion, vc, stAppVersion)) + continue; +@@ -2337,7 +2345,7 @@ nsChromeRegistry::ProcessManifestBuffer( + } + + if (badFlag || stApp == eBad || stAppVersion == eBad || +- stOs == eBad || stOsVersion == eBad) ++ stOs == eBad || stOsVersion == eBad || stDesktop == eBad) + continue; + + nsCOMPtr resolved; +@@ -2398,6 +2406,7 @@ nsChromeRegistry::ProcessManifestBuffer( + TriState stApp = eUnspecified; + TriState stOs = eUnspecified; + TriState stOsVersion = eUnspecified; ++ TriState stDesktop = eUnspecified; + + PRBool badFlag = PR_FALSE; + +@@ -2408,6 +2417,7 @@ nsChromeRegistry::ProcessManifestBuffer( + + if (CheckStringFlag(kApplication, wtoken, appID, stApp) || + CheckStringFlag(kOs, wtoken, osTarget, stOs) || ++ CheckStringFlag(kDesktop, wtoken, desktop, stDesktop) || + CheckVersionFlag(kOsVersion, wtoken, osVersion, vc, stOsVersion) || + CheckVersionFlag(kAppVersion, wtoken, appVersion, vc, stAppVersion)) + continue; +@@ -2419,7 +2429,7 @@ nsChromeRegistry::ProcessManifestBuffer( + } + + if (badFlag || stApp == eBad || stAppVersion == eBad || +- stOs == eBad || stOsVersion == eBad) ++ stOs == eBad || stOsVersion == eBad || stDesktop == eBad) + continue; + + nsCOMPtr resolved; +@@ -2460,6 +2470,7 @@ nsChromeRegistry::ProcessManifestBuffer( + TriState stApp = eUnspecified; + TriState stOs = eUnspecified; + TriState stOsVersion = eUnspecified; ++ TriState stDesktop = eUnspecified; + + PRBool badFlag = PR_FALSE; + +@@ -2470,6 +2481,7 @@ nsChromeRegistry::ProcessManifestBuffer( + + if (CheckStringFlag(kApplication, wtoken, appID, stApp) || + CheckStringFlag(kOs, wtoken, osTarget, stOs) || ++ CheckStringFlag(kDesktop, wtoken, desktop, stDesktop) || + CheckVersionFlag(kOsVersion, wtoken, osVersion, vc, stOsVersion) || + CheckVersionFlag(kAppVersion, wtoken, appVersion, vc, stAppVersion)) + continue; +@@ -2481,7 +2493,7 @@ nsChromeRegistry::ProcessManifestBuffer( + } + + if (badFlag || stApp == eBad || stAppVersion == eBad || +- stOs == eBad || stOsVersion == eBad) ++ stOs == eBad || stOsVersion == eBad || stDesktop == eBad) + continue; + + nsCOMPtr resolved; +@@ -2524,6 +2536,7 @@ nsChromeRegistry::ProcessManifestBuffer( + TriState stApp = eUnspecified; + TriState stOs = eUnspecified; + TriState stOsVersion = eUnspecified; ++ TriState stDesktop = eUnspecified; + + PRBool badFlag = PR_FALSE; + +@@ -2534,6 +2547,7 @@ nsChromeRegistry::ProcessManifestBuffer( + + if (CheckStringFlag(kApplication, wtoken, appID, stApp) || + CheckStringFlag(kOs, wtoken, osTarget, stOs) || ++ CheckStringFlag(kDesktop, wtoken, desktop, stDesktop) || + CheckVersionFlag(kOsVersion, wtoken, osVersion, vc, stOsVersion) || + CheckVersionFlag(kAppVersion, wtoken, appVersion, vc, stAppVersion)) + continue; +@@ -2545,7 +2559,7 @@ nsChromeRegistry::ProcessManifestBuffer( + } + + if (badFlag || stApp == eBad || stAppVersion == eBad || +- stOs == eBad || stOsVersion == eBad) ++ stOs == eBad || stOsVersion == eBad || stDesktop == eBad) + continue; + + nsCOMPtr baseuri, overlayuri; +@@ -2580,6 +2594,7 @@ nsChromeRegistry::ProcessManifestBuffer( + TriState stApp = eUnspecified; + TriState stOs = eUnspecified; + TriState stOsVersion = eUnspecified; ++ TriState stDesktop = eUnspecified; + + PRBool badFlag = PR_FALSE; + +@@ -2590,6 +2605,7 @@ nsChromeRegistry::ProcessManifestBuffer( + + if (CheckStringFlag(kApplication, wtoken, appID, stApp) || + CheckStringFlag(kOs, wtoken, osTarget, stOs) || ++ CheckStringFlag(kDesktop, wtoken, desktop, stDesktop) || + CheckVersionFlag(kOsVersion, wtoken, osVersion, vc, stOsVersion) || + CheckVersionFlag(kAppVersion, wtoken, appVersion, vc, stAppVersion)) + continue; +@@ -2601,7 +2617,7 @@ nsChromeRegistry::ProcessManifestBuffer( + } + + if (badFlag || stApp == eBad || stAppVersion == eBad || +- stOs == eBad || stOsVersion == eBad) ++ stOs == eBad || stOsVersion == eBad || stDesktop == eBad) + continue; + + nsCOMPtr baseuri, overlayuri; +@@ -2640,6 +2656,7 @@ nsChromeRegistry::ProcessManifestBuffer( + TriState stApp = eUnspecified; + TriState stOs = eUnspecified; + TriState stOsVersion = eUnspecified; ++ TriState stDesktop = eUnspecified; + + PRBool badFlag = PR_FALSE; + +@@ -2650,6 +2667,7 @@ nsChromeRegistry::ProcessManifestBuffer( + + if (CheckStringFlag(kApplication, wtoken, appID, stApp) || + CheckStringFlag(kOs, wtoken, osTarget, stOs) || ++ CheckStringFlag(kDesktop, wtoken, desktop, stDesktop) || + CheckVersionFlag(kOsVersion, wtoken, osVersion, vc, stOsVersion) || + CheckVersionFlag(kAppVersion, wtoken, appVersion, vc, stAppVersion)) + continue; +@@ -2661,7 +2679,7 @@ nsChromeRegistry::ProcessManifestBuffer( + } + + if (badFlag || stApp == eBad || stAppVersion == eBad || +- stOs == eBad || stOsVersion == eBad) ++ stOs == eBad || stOsVersion == eBad || stDesktop == eBad) + continue; + + nsCOMPtr chromeuri, resolveduri; +@@ -2702,6 +2720,7 @@ nsChromeRegistry::ProcessManifestBuffer( + TriState stApp = eUnspecified; + TriState stOsVersion = eUnspecified; + TriState stOs = eUnspecified; ++ TriState stDesktop = eUnspecified; + + PRBool badFlag = PR_FALSE; + +@@ -2712,6 +2731,7 @@ nsChromeRegistry::ProcessManifestBuffer( + + if (CheckStringFlag(kApplication, wtoken, appID, stApp) || + CheckStringFlag(kOs, wtoken, osTarget, stOs) || ++ CheckStringFlag(kDesktop, wtoken, desktop, stDesktop) || + CheckVersionFlag(kOsVersion, wtoken, osVersion, vc, stOsVersion) || + CheckVersionFlag(kAppVersion, wtoken, appVersion, vc, stAppVersion)) + continue; +@@ -2723,7 +2743,7 @@ nsChromeRegistry::ProcessManifestBuffer( + } + + if (badFlag || stApp == eBad || stAppVersion == eBad || +- stOs == eBad || stOsVersion == eBad) ++ stOs == eBad || stOsVersion == eBad || stDesktop == eBad) + continue; + + nsDependentCString host(package); +--- mozilla/modules/libpref/src/Makefile.in.sav 2009-09-14 10:00:21.000000000 +0200 ++++ mozilla/modules/libpref/src/Makefile.in 2009-09-14 10:04:14.000000000 +0200 +@@ -97,3 +97,5 @@ nsPrefService.$(OBJ_SUFFIX): nsPrefServi + @$(MAKE_DEPS_AUTO_CXX) + $(ELOG) $(CCC) $(OUTOPTION)$@ -c $(COMPILE_CXXFLAGS:-O2=-O1) $(_VPATH_SRCS) + endif ++ ++LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/xre +--- mozilla/modules/libpref/src/nsPrefService.cpp.sav 2009-09-14 10:00:21.000000000 +0200 ++++ mozilla/modules/libpref/src/nsPrefService.cpp 2009-09-14 10:04:14.000000000 +0200 +@@ -51,6 +51,7 @@ + #include "nsCOMArray.h" + #include "nsXPCOMCID.h" + #include "nsAutoPtr.h" ++#include "nsKDEUtils.h" + + #include "nsQuickSort.h" + #include "prmem.h" +@@ -606,7 +607,8 @@ pref_LoadPrefsInDir(nsIFile* aDir, char + return rv; + } + +-static nsresult pref_LoadPrefsInDirList(const char *listId) ++static nsresult pref_LoadPrefsInDirList(const char *listId, ++ char const *const *aSpecialFiles = NULL, PRUint32 aSpecialFilesCount = 0) + { + nsresult rv; + nsCOMPtr dirSvc(do_GetService(NS_DIRECTORY_SERVICE_CONTRACTID, &rv)); +@@ -625,7 +627,7 @@ static nsresult pref_LoadPrefsInDirList( + nsCOMPtr dir = do_QueryInterface(elem); + if (dir) { + // Do we care if a file provided by this process fails to load? +- pref_LoadPrefsInDir(dir, nsnull, 0); ++ pref_LoadPrefsInDir(dir, aSpecialFiles, aSpecialFilesCount); + } + } + } +@@ -676,6 +678,7 @@ static nsresult pref_InitInitialObjects( + #if defined(MOZ_WIDGET_PHOTON) + , "photon.js" + #endif ++ , "" // placeholder for KDE (empty is otherwise harmless) + #elif defined(XP_OS2) + "os2pref.js" + #elif defined(XP_BEOS) +@@ -683,12 +686,23 @@ static nsresult pref_InitInitialObjects( + #endif + }; + ++ if( nsKDEUtils::kdeSession()) { // TODO what if some setup actually requires the helper? ++ for( int i = 0; ++ i < NS_ARRAY_LENGTH(specialFiles); ++ ++i ) { ++ if( *specialFiles[ i ] == '\0' ) { ++ specialFiles[ i ] = "kde.js"; ++ break; ++ } ++ } ++ } ++ + rv = pref_LoadPrefsInDir(defaultPrefDir, specialFiles, NS_ARRAY_LENGTH(specialFiles)); + if (NS_FAILED(rv)) { + NS_WARNING("Error parsing application default preferences."); + } + +- rv = pref_LoadPrefsInDirList(NS_APP_PREFS_DEFAULTS_DIR_LIST); ++ rv = pref_LoadPrefsInDirList(NS_APP_PREFS_DEFAULTS_DIR_LIST, specialFiles, NS_ARRAY_LENGTH(specialFiles)); + NS_ENSURE_SUCCESS(rv, rv); + + NS_CreateServicesFromCategory(NS_PREFSERVICE_APPDEFAULTS_TOPIC_ID, +--- mozilla/toolkit/components/downloads/src/Makefile.in.sav 2009-09-14 10:00:21.000000000 +0200 ++++ mozilla/toolkit/components/downloads/src/Makefile.in 2009-09-14 10:04:14.000000000 +0200 +@@ -100,3 +100,4 @@ include $(topsrcdir)/config/rules.mk + + EXTRA_DSO_LDOPTS += $(MOZ_COMPONENT_LIBS) + ++LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/xre +--- mozilla/toolkit/components/downloads/src/nsDownloadManager.cpp.sav 2009-09-14 10:00:21.000000000 +0200 ++++ mozilla/toolkit/components/downloads/src/nsDownloadManager.cpp 2009-09-14 10:04:14.000000000 +0200 +@@ -85,6 +85,7 @@ + #include "nsDocShellCID.h" + #include "nsIPrivateBrowsingService.h" + #include "nsNetCID.h" ++#include "nsKDEUtils.h" + + #if defined(XP_WIN) && !defined(WINCE) + #include +@@ -2299,6 +2300,15 @@ nsDownload::SetState(DownloadState aStat + pref->GetBoolPref(PREF_BDM_SHOWALERTONCOMPLETE, &showTaskbarAlert); + + if (showTaskbarAlert) { ++ if( nsKDEUtils::kdeSupport()) { ++ nsCStringArray command; ++ command.AppendCString( NS_LITERAL_CSTRING( "DOWNLOADFINISHED" )); ++ nsAutoString displayName; ++ GetDisplayName( displayName ); ++ command.AppendCString( nsCAutoString( ToNewUTF8String( displayName ))); ++ nsKDEUtils::command( command ); ++ } else { ++ // begin non-KDE block + PRInt32 alertInterval = 2000; + if (pref) + pref->GetIntPref(PREF_BDM_SHOWALERTINTERVAL, &alertInterval); +@@ -2334,6 +2344,7 @@ nsDownload::SetState(DownloadState aStat + EmptyString()); + } + } ++ } // end non-KDE block + } + #if defined(XP_WIN) && !defined(WINCE) + nsCOMPtr fileURL = do_QueryInterface(mTarget); +--- mozilla/toolkit/content/jar.mn.sav 2009-09-14 10:00:21.000000000 +0200 ++++ mozilla/toolkit/content/jar.mn 2009-09-14 10:04:14.000000000 +0200 +@@ -43,6 +43,8 @@ toolkit.jar: + *+ content/global/bindings/colorpicker.xml (widgets/colorpicker.xml) + *+ content/global/bindings/datetimepicker.xml (widgets/datetimepicker.xml) + *+ content/global/bindings/dialog.xml (widgets/dialog.xml) ++*+ content/global/bindings/dialog-kde.xml (widgets/dialog-kde.xml) ++% override chrome://global/content/bindings/dialog.xml chrome://global/content/bindings/dialog-kde.xml desktop=kde + *+ content/global/bindings/editor.xml (widgets/editor.xml) + * content/global/bindings/expander.xml (widgets/expander.xml) + * content/global/bindings/filefield.xml (widgets/filefield.xml) +@@ -56,6 +58,8 @@ toolkit.jar: + *+ content/global/bindings/numberbox.xml (widgets/numberbox.xml) + *+ content/global/bindings/popup.xml (widgets/popup.xml) + *+ content/global/bindings/preferences.xml (widgets/preferences.xml) ++*+ content/global/bindings/preferences-kde.xml (widgets/preferences-kde.xml) ++% override chrome://global/content/bindings/preferences.xml chrome://global/content/bindings/preferences-kde.xml desktop=kde + *+ content/global/bindings/progressmeter.xml (widgets/progressmeter.xml) + *+ content/global/bindings/radio.xml (widgets/radio.xml) + *+ content/global/bindings/resizer.xml (widgets/resizer.xml) +--- mozilla/toolkit/content/widgets/dialog-kde.xml.sav 2009-09-14 10:00:21.000000000 +0200 ++++ mozilla/toolkit/content/widgets/dialog-kde.xml 2009-09-14 10:04:14.000000000 +0200 +@@ -19,7 +19,7 @@ + + + + +