87 } |
87 } |
88 return NS_OK; |
88 return NS_OK; |
89 } |
89 } |
90 |
90 |
91 static nsresult pref_ReadPrefFromJar(nsZipArchive* jarReader, const char *name) |
91 static nsresult pref_ReadPrefFromJar(nsZipArchive* jarReader, const char *name) |
92 @@ -1082,28 +1101,40 @@ static nsresult pref_InitInitialObjects( |
92 @@ -1072,28 +1091,40 @@ static nsresult pref_InitInitialObjects( |
93 /* these pref file names should not be used: we process them after all other application pref files for backwards compatibility */ |
93 /* these pref file names should not be used: we process them after all other application pref files for backwards compatibility */ |
94 static const char* specialFiles[] = { |
94 static const char* specialFiles[] = { |
95 #if defined(XP_MACOSX) |
95 #if defined(XP_MACOSX) |
96 "macprefs.js" |
96 "macprefs.js" |
97 #elif defined(XP_WIN) |
97 #elif defined(XP_WIN) |
98 "winpref.js" |
98 "winpref.js" |
99 #elif defined(XP_UNIX) |
99 #elif defined(XP_UNIX) |
100 "unix.js" |
100 "unix.js" |
101 + , "" // placeholder for KDE (empty is otherwise harmless) |
101 + , "" // placeholder for KDE (empty is otherwise harmless) |
102 #if defined(VMS) |
102 #if defined(VMS) |
103 , "openvms.js" |
103 , "openvms.js" |
104 #elif defined(_AIX) |
104 #elif defined(_AIX) |
105 , "aix.js" |
105 , "aix.js" |
106 #endif |
106 #endif |
107 #elif defined(XP_OS2) |
107 #elif defined(XP_OS2) |
108 "os2pref.js" |
108 "os2pref.js" |
109 #elif defined(XP_BEOS) |
109 #elif defined(XP_BEOS) |
110 "beos.js" |
110 "beos.js" |
111 #endif |
111 #endif |
112 }; |
112 }; |
113 |
113 |
114 + if(nsKDEUtils::kdeSession()) { // TODO what if some setup actually requires the helper? |
114 + if(nsKDEUtils::kdeSession()) { // TODO what if some setup actually requires the helper? |
115 + for( int i = 0; |
115 + for( int i = 0; |
116 + i < NS_ARRAY_LENGTH(specialFiles); |
116 + i < NS_ARRAY_LENGTH(specialFiles); |
117 + ++i ) { |
117 + ++i ) { |
118 + if( *specialFiles[ i ] == '\0' ) { |
118 + if( *specialFiles[ i ] == '\0' ) { |
119 + specialFiles[ i ] = "kde.js"; |
119 + specialFiles[ i ] = "kde.js"; |
120 + break; |
120 + break; |
121 + } |
|
122 + } |
121 + } |
123 + } |
122 + } |
124 + |
123 + } |
125 rv = pref_LoadPrefsInDir(defaultPrefDir, specialFiles, NS_ARRAY_LENGTH(specialFiles)); |
124 + |
126 if (NS_FAILED(rv)) |
125 rv = pref_LoadPrefsInDir(defaultPrefDir, specialFiles, NS_ARRAY_LENGTH(specialFiles)); |
127 NS_WARNING("Error parsing application default preferences."); |
126 if (NS_FAILED(rv)) |
128 } |
127 NS_WARNING("Error parsing application default preferences."); |
129 |
128 |
130 // Load jar:$app/omni.jar!/defaults/preferences/*.js |
129 // Load jar:$app/omni.jar!/defaults/preferences/*.js |
131 nsZipArchive *appJarReader = mozilla::Omnijar::GetReader(mozilla::Omnijar::APP); |
130 nsZipArchive *appJarReader = mozilla::Omnijar::GetReader(mozilla::Omnijar::APP); |
132 if (appJarReader) { |
131 if (appJarReader) { |
|
132 rv = appJarReader->FindInit("defaults/preferences/*.js$", &findPtr); |
133 diff --git a/toolkit/components/downloads/Makefile.in b/toolkit/components/downloads/Makefile.in |
133 diff --git a/toolkit/components/downloads/Makefile.in b/toolkit/components/downloads/Makefile.in |
134 --- a/toolkit/components/downloads/Makefile.in |
134 --- a/toolkit/components/downloads/Makefile.in |
135 +++ b/toolkit/components/downloads/Makefile.in |
135 +++ b/toolkit/components/downloads/Makefile.in |
136 @@ -77,8 +77,10 @@ EXTRA_COMPONENTS = \ |
136 @@ -75,8 +75,10 @@ EXTRA_COMPONENTS = \ |
137 $(NULL) |
137 $(NULL) |
138 endif |
138 endif |
139 |
139 |
140 ifdef ENABLE_TESTS |
140 ifdef ENABLE_TESTS |
141 DIRS += test |
141 DIRS += test |
2176 +} |
2176 +} |
2177 + |
2177 + |
2178 diff --git a/toolkit/xre/Makefile.in b/toolkit/xre/Makefile.in |
2178 diff --git a/toolkit/xre/Makefile.in b/toolkit/xre/Makefile.in |
2179 --- a/toolkit/xre/Makefile.in |
2179 --- a/toolkit/xre/Makefile.in |
2180 +++ b/toolkit/xre/Makefile.in |
2180 +++ b/toolkit/xre/Makefile.in |
2181 @@ -98,17 +98,18 @@ EXPORTS = nsWindowsDllInterceptor.h |
2181 @@ -94,17 +94,18 @@ EXPORTS = nsWindowsDllInterceptor.h |
2182 else |
2182 else |
2183 ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa) |
2183 ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa) |
2184 CMMSRCS = nsNativeAppSupportCocoa.mm |
2184 CMMSRCS = nsNativeAppSupportCocoa.mm |
2185 else |
2185 else |
2186 ifeq ($(MOZ_WIDGET_TOOLKIT),os2) |
2186 ifeq ($(MOZ_WIDGET_TOOLKIT),os2) |
3190 |
3190 |
3191 // Now look up our extensions |
3191 // Now look up our extensions |
3192 diff --git a/widget/src/gtk2/Makefile.in b/widget/src/gtk2/Makefile.in |
3192 diff --git a/widget/src/gtk2/Makefile.in b/widget/src/gtk2/Makefile.in |
3193 --- a/widget/src/gtk2/Makefile.in |
3193 --- a/widget/src/gtk2/Makefile.in |
3194 +++ b/widget/src/gtk2/Makefile.in |
3194 +++ b/widget/src/gtk2/Makefile.in |
3195 @@ -134,11 +134,14 @@ endif |
3195 @@ -135,11 +135,14 @@ DEFINES += -DCAIRO_GFX |
3196 |
|
3197 DEFINES += -DCAIRO_GFX |
|
3198 |
3196 |
3199 INCLUDES += \ |
3197 INCLUDES += \ |
3200 -I$(srcdir)/../xpwidgets \ |
3198 -I$(srcdir)/../xpwidgets \ |
3201 -I$(srcdir)/../shared \ |
3199 -I$(srcdir)/../shared \ |
|
3200 -I$(topsrcdir)/layout/generic \ |
|
3201 -I$(topsrcdir)/layout/xul/base/src \ |
3202 -I$(topsrcdir)/other-licenses/atk-1.0 \ |
3202 -I$(topsrcdir)/other-licenses/atk-1.0 \ |
3203 $(NULL) |
3203 $(NULL) |
3204 + |
3204 + |
3205 +LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/xre |
3205 +LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/xre |
3206 + |
3206 + |
3226 #include "nsIWidget.h" |
3226 #include "nsIWidget.h" |
3227 #include "nsILocalFile.h" |
3227 #include "nsILocalFile.h" |
3228 #include "nsIStringBundle.h" |
3228 #include "nsIStringBundle.h" |
3229 |
3229 |
3230 #include "nsArrayEnumerator.h" |
3230 #include "nsArrayEnumerator.h" |
3231 @@ -50,16 +51,17 @@ |
3231 @@ -49,16 +50,17 @@ |
|
3232 #include "nsNetUtil.h" |
3232 #include "nsReadableUtils.h" |
3233 #include "nsReadableUtils.h" |
3233 #include "mozcontainer.h" |
3234 #include "mozcontainer.h" |
3234 |
3235 |
3235 #include "prmem.h" |
3236 #include "prmem.h" |
3236 #include "prlink.h" |
3237 #include "prlink.h" |
3237 |
3238 |
3238 #include "nsFilePicker.h" |
3239 #include "nsFilePicker.h" |
3239 #include "nsAccessibilityHelper.h" |
|
3240 +#include "nsKDEUtils.h" |
3240 +#include "nsKDEUtils.h" |
3241 |
3241 |
3242 #if (MOZ_PLATFORM_MAEMO == 5) |
3242 #if (MOZ_PLATFORM_MAEMO == 5) |
3243 #include <hildon-fm-2/hildon/hildon-file-chooser-dialog.h> |
3243 #include <hildon-fm-2/hildon/hildon-file-chooser-dialog.h> |
3244 #endif |
3244 #endif |
3245 |
3245 |
3246 #define MAX_PREVIEW_SIZE 180 |
3246 #define MAX_PREVIEW_SIZE 180 |
3247 |
3247 |
3248 nsILocalFile *nsFilePicker::mPrevDisplayDirectory = nsnull; |
3248 nsILocalFile *nsFilePicker::mPrevDisplayDirectory = nsnull; |
3249 @@ -282,17 +284,19 @@ nsFilePicker::AppendFilters(PRInt32 aFil |
3249 @@ -281,17 +283,19 @@ nsFilePicker::AppendFilters(PRInt32 aFil |
3250 return nsBaseFilePicker::AppendFilters(aFilterMask); |
3250 return nsBaseFilePicker::AppendFilters(aFilterMask); |
3251 } |
3251 } |
3252 |
3252 |
3253 NS_IMETHODIMP |
3253 NS_IMETHODIMP |
3254 nsFilePicker::AppendFilter(const nsAString& aTitle, const nsAString& aFilter) |
3254 nsFilePicker::AppendFilter(const nsAString& aTitle, const nsAString& aFilter) |
3265 CopyUTF16toUTF8(aFilter, filter); |
3265 CopyUTF16toUTF8(aFilter, filter); |
3266 CopyUTF16toUTF8(aTitle, name); |
3266 CopyUTF16toUTF8(aTitle, name); |
3267 |
3267 |
3268 mFilters.AppendElement(filter); |
3268 mFilters.AppendElement(filter); |
3269 mFilterNames.AppendElement(name); |
3269 mFilterNames.AppendElement(name); |
3270 @@ -430,16 +434,19 @@ confirm_overwrite_file(GtkWidget *parent |
3270 @@ -429,16 +433,19 @@ confirm_overwrite_file(GtkWidget *parent |
3271 gtk_widget_destroy(dialog); |
3271 gtk_widget_destroy(dialog); |
3272 |
3272 |
3273 return result; |
3273 return result; |
3274 } |
3274 } |
3275 |
3275 |
3285 title.Adopt(ToNewUTF8String(mTitle)); |
3285 title.Adopt(ToNewUTF8String(mTitle)); |
3286 |
3286 |
3287 GtkWindow *parent_widget = get_gtk_window_for_nsiwidget(mParentWidget); |
3287 GtkWindow *parent_widget = get_gtk_window_for_nsiwidget(mParentWidget); |
3288 |
3288 |
3289 GtkFileChooserAction action = GetGtkFileChooserAction(mMode); |
3289 GtkFileChooserAction action = GetGtkFileChooserAction(mMode); |
3290 @@ -580,8 +587,234 @@ nsFilePicker::Show(PRInt16 *aReturn) |
3290 @@ -579,8 +586,234 @@ nsFilePicker::Show(PRInt16 *aReturn) |
3291 *aReturn = nsIFilePicker::returnCancel; |
3291 *aReturn = nsIFilePicker::returnCancel; |
3292 break; |
3292 break; |
3293 } |
3293 } |
3294 |
3294 |
3295 gtk_widget_destroy(file_chooser); |
3295 gtk_widget_destroy(file_chooser); |
3559 CXXFLAGS += $(MOZ_GTK2_CFLAGS) |
3559 CXXFLAGS += $(MOZ_GTK2_CFLAGS) |
3560 endif |
3560 endif |
3561 diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestParser.cpp |
3561 diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestParser.cpp |
3562 --- a/xpcom/components/ManifestParser.cpp |
3562 --- a/xpcom/components/ManifestParser.cpp |
3563 +++ b/xpcom/components/ManifestParser.cpp |
3563 +++ b/xpcom/components/ManifestParser.cpp |
3564 @@ -59,16 +59,17 @@ |
3564 @@ -60,16 +60,17 @@ |
3565 #include "nsTextFormatter.h" |
3565 #include "nsTextFormatter.h" |
3566 #include "nsVersionComparator.h" |
3566 #include "nsVersionComparator.h" |
3567 #include "nsXPCOMCIDInternal.h" |
3567 #include "nsXPCOMCIDInternal.h" |
3568 |
3568 |
3569 #include "nsIConsoleService.h" |
3569 #include "nsIConsoleService.h" |
3577 const char* directive; |
3577 const char* directive; |
3578 int argc; |
3578 int argc; |
3579 |
3579 |
3580 // Some directives should only be delivered for NS_COMPONENT_LOCATION |
3580 // Some directives should only be delivered for NS_COMPONENT_LOCATION |
3581 // manifests. |
3581 // manifests. |
3582 @@ -426,16 +427,17 @@ ParseManifestCommon(NSLocationType aType |
3582 @@ -430,16 +431,17 @@ ParseManifestCommon(NSLocationType aType |
3583 |
|
3584 NS_NAMED_LITERAL_STRING(kPlatform, "platform"); |
3583 NS_NAMED_LITERAL_STRING(kPlatform, "platform"); |
3585 NS_NAMED_LITERAL_STRING(kContentAccessible, "contentaccessible"); |
3584 NS_NAMED_LITERAL_STRING(kContentAccessible, "contentaccessible"); |
3586 NS_NAMED_LITERAL_STRING(kApplication, "application"); |
3585 NS_NAMED_LITERAL_STRING(kApplication, "application"); |
3587 NS_NAMED_LITERAL_STRING(kAppVersion, "appversion"); |
3586 NS_NAMED_LITERAL_STRING(kAppVersion, "appversion"); |
|
3587 NS_NAMED_LITERAL_STRING(kGeckoVersion, "platformversion"); |
3588 NS_NAMED_LITERAL_STRING(kOs, "os"); |
3588 NS_NAMED_LITERAL_STRING(kOs, "os"); |
3589 NS_NAMED_LITERAL_STRING(kOsVersion, "osversion"); |
3589 NS_NAMED_LITERAL_STRING(kOsVersion, "osversion"); |
3590 NS_NAMED_LITERAL_STRING(kABI, "abi"); |
3590 NS_NAMED_LITERAL_STRING(kABI, "abi"); |
3591 + NS_NAMED_LITERAL_STRING(kDesktop, "desktop"); |
3591 + NS_NAMED_LITERAL_STRING(kDesktop, "desktop"); |
3592 |
3592 |
3593 // Obsolete |
3593 // Obsolete |
3594 NS_NAMED_LITERAL_STRING(kXPCNativeWrappers, "xpcnativewrappers"); |
3594 NS_NAMED_LITERAL_STRING(kXPCNativeWrappers, "xpcnativewrappers"); |
3595 |
3595 |
3596 nsAutoString appID; |
3596 nsAutoString appID; |
3597 nsAutoString appVersion; |
3597 nsAutoString appVersion; |
|
3598 nsAutoString geckoVersion; |
3598 nsAutoString osTarget; |
3599 nsAutoString osTarget; |
3599 nsAutoString abi; |
3600 @@ -474,39 +476,44 @@ ParseManifestCommon(NSLocationType aType |
3600 @@ -465,39 +467,44 @@ ParseManifestCommon(NSLocationType aType |
|
3601 CopyUTF8toUTF16(s, abi); |
3601 CopyUTF8toUTF16(s, abi); |
3602 abi.Insert(PRUnichar('_'), 0); |
3602 abi.Insert(PRUnichar('_'), 0); |
3603 abi.Insert(osTarget, 0); |
3603 abi.Insert(osTarget, 0); |
3604 } |
3604 } |
3605 } |
3605 } |
3640 // at the end. |
3640 // at the end. |
3641 nsTArray<CachedDirective> contracts; |
3641 nsTArray<CachedDirective> contracts; |
3642 |
3642 |
3643 char *token; |
3643 char *token; |
3644 char *newline = buf; |
3644 char *newline = buf; |
3645 @@ -566,24 +573,26 @@ ParseManifestCommon(NSLocationType aType |
3645 @@ -585,24 +592,26 @@ ParseManifestCommon(NSLocationType aType |
3646 bool ok = true; |
|
3647 TriState stAppVersion = eUnspecified; |
3646 TriState stAppVersion = eUnspecified; |
|
3647 TriState stGeckoVersion = eUnspecified; |
3648 TriState stApp = eUnspecified; |
3648 TriState stApp = eUnspecified; |
3649 TriState stOsVersion = eUnspecified; |
3649 TriState stOsVersion = eUnspecified; |
3650 TriState stOs = eUnspecified; |
3650 TriState stOs = eUnspecified; |
3651 TriState stABI = eUnspecified; |
3651 TriState stABI = eUnspecified; |
3652 bool platform = false; |
3652 bool platform = false; |
3660 if (CheckStringFlag(kApplication, wtoken, appID, stApp) || |
3660 if (CheckStringFlag(kApplication, wtoken, appID, stApp) || |
3661 CheckStringFlag(kOs, wtoken, osTarget, stOs) || |
3661 CheckStringFlag(kOs, wtoken, osTarget, stOs) || |
3662 CheckStringFlag(kABI, wtoken, abi, stABI) || |
3662 CheckStringFlag(kABI, wtoken, abi, stABI) || |
3663 + CheckStringFlag(kDesktop, wtoken, desktop, stDesktop) || |
3663 + CheckStringFlag(kDesktop, wtoken, desktop, stDesktop) || |
3664 CheckVersionFlag(kOsVersion, wtoken, osVersion, stOsVersion) || |
3664 CheckVersionFlag(kOsVersion, wtoken, osVersion, stOsVersion) || |
3665 CheckVersionFlag(kAppVersion, wtoken, appVersion, stAppVersion)) |
3665 CheckVersionFlag(kAppVersion, wtoken, appVersion, stAppVersion) || |
|
3666 CheckVersionFlag(kGeckoVersion, wtoken, geckoVersion, stGeckoVersion)) |
3666 continue; |
3667 continue; |
3667 |
3668 |
3668 if (directive->contentflags && |
3669 if (directive->contentflags && |
3669 (CheckFlag(kPlatform, wtoken, platform) || |
3670 (CheckFlag(kPlatform, wtoken, platform) || |
3670 CheckFlag(kContentAccessible, wtoken, contentAccessible))) |
3671 CheckFlag(kContentAccessible, wtoken, contentAccessible))) |
3671 continue; |
3672 @@ -623,16 +632,17 @@ ParseManifestCommon(NSLocationType aType |
3672 @@ -602,16 +611,17 @@ ParseManifestCommon(NSLocationType aType |
|
3673 ok = false; |
|
3674 } |
3673 } |
3675 |
3674 |
3676 if (!ok || |
3675 if (!ok || |
3677 stApp == eBad || |
3676 stApp == eBad || |
3678 stAppVersion == eBad || |
3677 stAppVersion == eBad || |
|
3678 stGeckoVersion == eBad || |
3679 stOs == eBad || |
3679 stOs == eBad || |
3680 stOsVersion == eBad || |
3680 stOsVersion == eBad || |
3681 + stDesktop == eBad || |
3681 + stDesktop == eBad || |
3682 stABI == eBad) |
3682 stABI == eBad) |
3683 continue; |
3683 continue; |
3710 ifdef MOZ_PLATFORM_MAEMO |
3710 ifdef MOZ_PLATFORM_MAEMO |
3711 CFLAGS += $(MOZ_PLATFORM_MAEMO_CFLAGS) $(MOZ_QT_CFLAGS) |
3711 CFLAGS += $(MOZ_PLATFORM_MAEMO_CFLAGS) $(MOZ_QT_CFLAGS) |
3712 diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp |
3712 diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp |
3713 --- a/xpcom/io/nsLocalFileUnix.cpp |
3713 --- a/xpcom/io/nsLocalFileUnix.cpp |
3714 +++ b/xpcom/io/nsLocalFileUnix.cpp |
3714 +++ b/xpcom/io/nsLocalFileUnix.cpp |
3715 @@ -88,16 +88,17 @@ |
3715 @@ -87,16 +87,17 @@ |
|
3716 #include "nsXPIDLString.h" |
3716 #include "prproces.h" |
3717 #include "prproces.h" |
3717 #include "nsIDirectoryEnumerator.h" |
3718 #include "nsIDirectoryEnumerator.h" |
3718 #include "nsISimpleEnumerator.h" |
3719 #include "nsISimpleEnumerator.h" |
3719 #include "nsITimelineService.h" |
|
3720 |
3720 |
3721 #ifdef MOZ_WIDGET_GTK2 |
3721 #ifdef MOZ_WIDGET_GTK2 |
3722 #include "nsIGIOService.h" |
3722 #include "nsIGIOService.h" |
3723 #include "nsIGnomeVFSService.h" |
3723 #include "nsIGnomeVFSService.h" |
3724 +#include "nsKDEUtils.h" |
3724 +#include "nsKDEUtils.h" |
3728 #include <Carbon/Carbon.h> |
3728 #include <Carbon/Carbon.h> |
3729 #include "CocoaFileUtils.h" |
3729 #include "CocoaFileUtils.h" |
3730 #include "prmem.h" |
3730 #include "prmem.h" |
3731 #include "plbase64.h" |
3731 #include "plbase64.h" |
3732 |
3732 |
3733 @@ -1769,44 +1770,50 @@ nsLocalFile::SetPersistentDescriptor(con |
3733 @@ -1785,44 +1786,50 @@ nsLocalFile::SetPersistentDescriptor(con |
3734 return InitWithNativePath(aPersistentDescriptor); |
3734 return InitWithNativePath(aPersistentDescriptor); |
3735 #endif |
3735 #endif |
3736 } |
3736 } |
3737 |
3737 |
3738 NS_IMETHODIMP |
3738 NS_IMETHODIMP |
3793 nsresult rv = CocoaFileUtils::RevealFileInFinder(url); |
3793 nsresult rv = CocoaFileUtils::RevealFileInFinder(url); |
3794 ::CFRelease(url); |
3794 ::CFRelease(url); |
3795 return rv; |
3795 return rv; |
3796 } |
3796 } |
3797 return NS_ERROR_FAILURE; |
3797 return NS_ERROR_FAILURE; |
3798 @@ -1832,16 +1839,23 @@ nsLocalFile::Launch() |
3798 @@ -1848,16 +1855,23 @@ nsLocalFile::Launch() |
3799 |
3799 |
3800 if (nsnull == connection) |
3800 if (nsnull == connection) |
3801 return NS_ERROR_FAILURE; |
3801 return NS_ERROR_FAILURE; |
3802 |
3802 |
3803 if (hildon_mime_open_file(connection, mPath.get()) != kHILDON_SUCCESS) |
3803 if (hildon_mime_open_file(connection, mPath.get()) != kHILDON_SUCCESS) |