Annotation of /trunk/mozilla-firefox/patches/mozilla-firefox-1.0.7-uriloader.patch
Parent Directory | Revision Log
Revision 153 -
(hide annotations)
(download)
Tue May 8 20:52:56 2007 UTC (17 years, 4 months ago) by niro
File size: 15096 byte(s)
Tue May 8 20:52:56 2007 UTC (17 years, 4 months ago) by niro
File size: 15096 byte(s)
-import
1 | niro | 153 | Index: uriloader/exthandler/unix/nsGNOMERegistry.cpp |
2 | =================================================================== | ||
3 | RCS file: /cvsroot/mozilla/uriloader/exthandler/unix/nsGNOMERegistry.cpp,v | ||
4 | retrieving revision 1.8 | ||
5 | diff -d -u -p -r1.8 nsGNOMERegistry.cpp | ||
6 | --- uriloader/exthandler/unix/nsGNOMERegistry.cpp 6 Mar 2004 14:41:00 -0000 1.8 | ||
7 | +++ uriloader/exthandler/unix/nsGNOMERegistry.cpp 3 May 2005 19:09:20 -0000 | ||
8 | @@ -42,7 +42,7 @@ | ||
9 | #include "nsString.h" | ||
10 | #include "nsIComponentManager.h" | ||
11 | #include "nsILocalFile.h" | ||
12 | -#include "nsMIMEInfoImpl.h" | ||
13 | +#include "nsMIMEInfoUnix.h" | ||
14 | #include "nsAutoPtr.h" | ||
15 | |||
16 | #include <glib.h> | ||
17 | @@ -56,12 +56,12 @@ typedef struct _GConfClient GConfClient; | ||
18 | typedef struct _GnomeProgram GnomeProgram; | ||
19 | typedef struct _GnomeModuleInfo GnomeModuleInfo; | ||
20 | |||
21 | -typedef struct { | ||
22 | +struct GnomeVFSMimeApplication { | ||
23 | char *id; | ||
24 | char *name; | ||
25 | char *command; | ||
26 | /* there is more here, but we don't need it */ | ||
27 | -} GnomeVFSMimeApplication; | ||
28 | +}; | ||
29 | |||
30 | typedef GConfClient * (*_gconf_client_get_default_fn)(); | ||
31 | typedef gchar * (*_gconf_client_get_string_fn)(GConfClient *, | ||
32 | @@ -231,7 +231,7 @@ nsGNOMERegistry::LoadURL(nsIURI *aURL) | ||
33 | return NS_ERROR_FAILURE; | ||
34 | } | ||
35 | |||
36 | -/* static */ already_AddRefed<nsMIMEInfoBase> | ||
37 | +/* static */ already_AddRefed<nsMIMEInfoUnix> | ||
38 | nsGNOMERegistry::GetFromExtension(const char *aFileExt) | ||
39 | { | ||
40 | if (!gconfLib) | ||
41 | @@ -253,7 +253,7 @@ nsGNOMERegistry::GetFromExtension(const | ||
42 | return GetFromType(mimeType); | ||
43 | } | ||
44 | |||
45 | -/* static */ already_AddRefed<nsMIMEInfoBase> | ||
46 | +/* static */ already_AddRefed<nsMIMEInfoUnix> | ||
47 | nsGNOMERegistry::GetFromType(const char *aMIMEType) | ||
48 | { | ||
49 | if (!gconfLib) | ||
50 | @@ -263,10 +263,11 @@ nsGNOMERegistry::GetFromType(const char | ||
51 | if (!handlerApp) | ||
52 | return nsnull; | ||
53 | |||
54 | - nsRefPtr<nsMIMEInfoImpl> mimeInfo = new nsMIMEInfoImpl(); | ||
55 | + nsRefPtr<nsMIMEInfoUnix> mimeInfo = new nsMIMEInfoUnix(); | ||
56 | NS_ENSURE_TRUE(mimeInfo, nsnull); | ||
57 | |||
58 | mimeInfo->SetMIMEType(aMIMEType); | ||
59 | + mimeInfo->SetDefaultGnomeVFSMimeApplication(handlerApp); | ||
60 | |||
61 | // Get the list of extensions and append then to the mimeInfo. | ||
62 | GList *extensions = _gnome_vfs_mime_get_extensions_list(aMIMEType); | ||
63 | @@ -289,11 +290,21 @@ nsGNOMERegistry::GetFromType(const char | ||
64 | return nsnull; | ||
65 | } | ||
66 | |||
67 | - gchar *commandPath = g_find_program_in_path(nativeCommand); | ||
68 | + gchar **argv; | ||
69 | + gboolean res = g_shell_parse_argv(nativeCommand, NULL, &argv, NULL); | ||
70 | + if (!res) { | ||
71 | + NS_ERROR("Could not convert helper app command to filesystem encoding"); | ||
72 | + _gnome_vfs_mime_application_free(handlerApp); | ||
73 | + return nsnull; | ||
74 | + } | ||
75 | + | ||
76 | + gchar *commandPath = g_find_program_in_path(argv[0]); | ||
77 | |||
78 | g_free(nativeCommand); | ||
79 | + g_strfreev(argv); | ||
80 | |||
81 | if (!commandPath) { | ||
82 | + NS_WARNING("could not find command in path"); | ||
83 | _gnome_vfs_mime_application_free(handlerApp); | ||
84 | return nsnull; | ||
85 | } | ||
86 | @@ -311,7 +322,7 @@ nsGNOMERegistry::GetFromType(const char | ||
87 | |||
88 | _gnome_vfs_mime_application_free(handlerApp); | ||
89 | |||
90 | - nsMIMEInfoBase* retval; | ||
91 | + nsMIMEInfoUnix* retval; | ||
92 | NS_ADDREF((retval = mimeInfo)); | ||
93 | return retval; | ||
94 | } | ||
95 | Index: uriloader/exthandler/unix/nsGNOMERegistry.h | ||
96 | =================================================================== | ||
97 | RCS file: /cvsroot/mozilla/uriloader/exthandler/unix/nsGNOMERegistry.h,v | ||
98 | retrieving revision 1.2 | ||
99 | diff -d -u -p -r1.2 nsGNOMERegistry.h | ||
100 | --- uriloader/exthandler/unix/nsGNOMERegistry.h 23 Feb 2004 22:49:27 -0000 1.2 | ||
101 | +++ uriloader/exthandler/unix/nsGNOMERegistry.h 3 May 2005 18:21:35 -0000 | ||
102 | @@ -35,10 +35,13 @@ | ||
103 | * | ||
104 | * ***** END LICENSE BLOCK ***** */ | ||
105 | |||
106 | +#ifndef nsGNOMERegistry_h__ | ||
107 | +#define nsGNOMERegistry_h__ | ||
108 | + | ||
109 | #include "nsIURI.h" | ||
110 | #include "nsCOMPtr.h" | ||
111 | |||
112 | -class nsMIMEInfoBase; | ||
113 | +class nsMIMEInfoUnix; | ||
114 | |||
115 | class nsGNOMERegistry | ||
116 | { | ||
117 | @@ -49,7 +52,9 @@ class nsGNOMERegistry | ||
118 | |||
119 | static nsresult LoadURL(nsIURI *aURL); | ||
120 | |||
121 | - static already_AddRefed<nsMIMEInfoBase> GetFromExtension(const char *aFileExt); | ||
122 | + static already_AddRefed<nsMIMEInfoUnix> GetFromExtension(const char *aFileExt); | ||
123 | |||
124 | - static already_AddRefed<nsMIMEInfoBase> GetFromType(const char *aMIMEType); | ||
125 | + static already_AddRefed<nsMIMEInfoUnix> GetFromType(const char *aMIMEType); | ||
126 | }; | ||
127 | + | ||
128 | +#endif // nsGNOMERegistry_h__ | ||
129 | Index: uriloader/exthandler/unix/nsMIMEInfoUnix.cpp | ||
130 | =================================================================== | ||
131 | RCS file: uriloader/exthandler/unix/nsMIMEInfoUnix.cpp | ||
132 | diff -N uriloader/exthandler/unix/nsMIMEInfoUnix.cpp | ||
133 | --- /dev/null 1 Jan 1970 00:00:00 -0000 | ||
134 | +++ uriloader/exthandler/unix/nsMIMEInfoUnix.cpp 3 May 2005 18:21:35 -0000 | ||
135 | @@ -0,0 +1,196 @@ | ||
136 | +/* ***** BEGIN LICENSE BLOCK ***** | ||
137 | + * Version: MPL 1.1 | ||
138 | + * | ||
139 | + * The contents of this file are subject to the Mozilla Public License Version | ||
140 | + * 1.1 (the "License"); you may not use this file except in compliance with | ||
141 | + * the License. You may obtain a copy of the License at | ||
142 | + * http://www.mozilla.org/MPL/ | ||
143 | + * | ||
144 | + * Software distributed under the License is distributed on an "AS IS" basis, | ||
145 | + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License | ||
146 | + * for the specific language governing rights and limitations under the | ||
147 | + * License. | ||
148 | + * | ||
149 | + * The Original Code is mozilla.org Code. | ||
150 | + * | ||
151 | + * The Initial Developer of the Original Code is | ||
152 | + * Red Hat, Inc. | ||
153 | + * Portions created by the Initial Developer are Copyright (C) 2005 | ||
154 | + * the Initial Developer. All Rights Reserved. | ||
155 | + * | ||
156 | + * Contributor(s): | ||
157 | + * Christopher Aillon <caillon@redhat.com> (Original author) | ||
158 | + * | ||
159 | + * | ||
160 | + * ***** END LICENSE BLOCK ***** */ | ||
161 | + | ||
162 | +#include "nsMIMEInfoUnix.h" | ||
163 | +#include "prlink.h" | ||
164 | +#include "prmem.h" | ||
165 | +#include <glib.h> | ||
166 | +#include <glib-object.h> | ||
167 | + | ||
168 | +static PRLibrary *gnomeLib; | ||
169 | +static PRLibrary *vfsLib; | ||
170 | + | ||
171 | +typedef struct _GnomeProgram GnomeProgram; | ||
172 | +typedef struct _GnomeModuleInfo GnomeModuleInfo; | ||
173 | + | ||
174 | +typedef enum { | ||
175 | + GNOME_VFS_OK // there's more but we don't care about them. | ||
176 | +} GnomeVFSResult; | ||
177 | + | ||
178 | +typedef GnomeVFSResult (*_gnome_vfs_mime_application_launch_fn) | ||
179 | + (GnomeVFSMimeApplication *app, | ||
180 | + GList *uris); | ||
181 | +typedef void (*_gnome_vfs_mime_application_free_fn)(GnomeVFSMimeApplication *); | ||
182 | +typedef GnomeVFSMimeApplication * (*_gnome_vfs_mime_application_copy_fn)(GnomeVFSMimeApplication *); | ||
183 | +typedef GnomeProgram * (*_gnome_program_init_fn)(const char *, const char *, | ||
184 | + const GnomeModuleInfo *, int, | ||
185 | + char **, const char *, ...); | ||
186 | +typedef const char * (*_gnome_vfs_mime_application_get_name_fn)(GnomeVFSMimeApplication *); | ||
187 | +typedef const GnomeModuleInfo * (*_libgnome_module_info_get_fn)(); | ||
188 | +typedef GnomeProgram * (*_gnome_program_get_fn)(); | ||
189 | +typedef char * (*_gnome_vfs_make_uri_from_input_fn)(const char *); | ||
190 | + | ||
191 | +#define DECL_FUNC_PTR(func) static _##func##_fn _##func | ||
192 | + | ||
193 | +DECL_FUNC_PTR(gnome_vfs_mime_application_launch); | ||
194 | +DECL_FUNC_PTR(gnome_vfs_mime_application_free); | ||
195 | +DECL_FUNC_PTR(gnome_vfs_mime_application_copy); | ||
196 | +DECL_FUNC_PTR(gnome_vfs_mime_application_get_name); | ||
197 | +DECL_FUNC_PTR(gnome_program_init); | ||
198 | +DECL_FUNC_PTR(gnome_program_get); | ||
199 | +DECL_FUNC_PTR(libgnome_module_info_get); | ||
200 | +DECL_FUNC_PTR(gnome_vfs_make_uri_from_input); | ||
201 | + | ||
202 | +static PRLibrary * | ||
203 | +LoadVersionedLibrary(const char* libName, const char* libVersion) | ||
204 | +{ | ||
205 | + char *platformLibName = PR_GetLibraryName(nsnull, libName); | ||
206 | + nsCAutoString versionLibName(platformLibName); | ||
207 | + versionLibName.Append(libVersion); | ||
208 | + PR_Free(platformLibName); | ||
209 | + return PR_LoadLibrary(versionLibName.get()); | ||
210 | +} | ||
211 | + | ||
212 | +static void | ||
213 | +Cleanup() | ||
214 | +{ | ||
215 | + // Unload all libraries | ||
216 | + if (gnomeLib) | ||
217 | + PR_UnloadLibrary(gnomeLib); | ||
218 | + if (vfsLib) | ||
219 | + PR_UnloadLibrary(vfsLib); | ||
220 | + | ||
221 | + gnomeLib = vfsLib = nsnull; | ||
222 | +} | ||
223 | + | ||
224 | +static void | ||
225 | +InitGnomeVFS() | ||
226 | +{ | ||
227 | + static PRBool initialized = PR_FALSE; | ||
228 | + | ||
229 | + if (initialized) | ||
230 | + return; | ||
231 | + | ||
232 | + #define ENSURE_LIB(lib) \ | ||
233 | + PR_BEGIN_MACRO \ | ||
234 | + if (!lib) { \ | ||
235 | + Cleanup(); \ | ||
236 | + return; \ | ||
237 | + } \ | ||
238 | + PR_END_MACRO | ||
239 | + | ||
240 | + #define GET_LIB_FUNCTION(lib, func, failure) \ | ||
241 | + PR_BEGIN_MACRO \ | ||
242 | + _##func = (_##func##_fn) PR_FindFunctionSymbol(lib##Lib, #func); \ | ||
243 | + if (!_##func) { \ | ||
244 | + failure; \ | ||
245 | + } \ | ||
246 | + PR_END_MACRO | ||
247 | + | ||
248 | + // Attempt to open libgnome | ||
249 | + gnomeLib = LoadVersionedLibrary("gnome-2", ".0"); | ||
250 | + ENSURE_LIB(gnomeLib); | ||
251 | + | ||
252 | + GET_LIB_FUNCTION(gnome, gnome_program_init, return Cleanup()); | ||
253 | + GET_LIB_FUNCTION(gnome, libgnome_module_info_get, return Cleanup()); | ||
254 | + GET_LIB_FUNCTION(gnome, gnome_program_get, return Cleanup()); | ||
255 | + | ||
256 | + // Attempt to open libgnomevfs | ||
257 | + vfsLib = LoadVersionedLibrary("gnomevfs-2", ".0"); | ||
258 | + ENSURE_LIB(vfsLib); | ||
259 | + | ||
260 | + GET_LIB_FUNCTION(vfs, gnome_vfs_mime_application_launch, /* do nothing */); | ||
261 | + GET_LIB_FUNCTION(vfs, gnome_vfs_make_uri_from_input, return Cleanup()); | ||
262 | + GET_LIB_FUNCTION(vfs, gnome_vfs_mime_application_get_name, return Cleanup()); | ||
263 | + GET_LIB_FUNCTION(vfs, gnome_vfs_mime_application_free, return Cleanup()); | ||
264 | + GET_LIB_FUNCTION(vfs, gnome_vfs_mime_application_copy, return Cleanup()); | ||
265 | + | ||
266 | + // Initialize GNOME, if it's not already initialized. It's not | ||
267 | + // necessary to tell GNOME about our actual command line arguments. | ||
268 | + | ||
269 | + if (!_gnome_program_get()) { | ||
270 | + char *argv[1] = { "gecko" }; | ||
271 | + _gnome_program_init("Gecko", "1.0", _libgnome_module_info_get(), | ||
272 | + 1, argv, NULL); | ||
273 | + } | ||
274 | + | ||
275 | + // Note: after GNOME has been initialized, do not ever unload these | ||
276 | + // libraries. They register atexit handlers, so if they are unloaded, we'll | ||
277 | + // crash on exit. | ||
278 | +} | ||
279 | + | ||
280 | +void | ||
281 | +nsMIMEInfoUnix::SetDefaultGnomeVFSMimeApplication(GnomeVFSMimeApplication* app) | ||
282 | +{ | ||
283 | + if (_gnome_vfs_mime_application_copy && _gnome_vfs_mime_application_free) { | ||
284 | + mDefaultVFSApplication = _gnome_vfs_mime_application_copy(app); | ||
285 | + | ||
286 | + mPreferredAction = nsIMIMEInfo::useSystemDefault; | ||
287 | + | ||
288 | + const gchar * name = _gnome_vfs_mime_application_get_name(mDefaultVFSApplication); | ||
289 | + if (name) | ||
290 | + mDefaultAppDescription = NS_ConvertUTF8toUCS2(name); | ||
291 | + } | ||
292 | +} | ||
293 | + | ||
294 | +nsMIMEInfoUnix::~nsMIMEInfoUnix() | ||
295 | +{ | ||
296 | + if (mDefaultVFSApplication) | ||
297 | + _gnome_vfs_mime_application_free(mDefaultVFSApplication); | ||
298 | +} | ||
299 | + | ||
300 | +nsresult | ||
301 | +nsMIMEInfoUnix::LaunchDefaultWithFile(nsIFile* aFile) | ||
302 | +{ | ||
303 | + NS_ENSURE_ARG_POINTER(aFile); | ||
304 | + | ||
305 | + InitGnomeVFS(); | ||
306 | + | ||
307 | + if (_gnome_vfs_mime_application_launch && mDefaultVFSApplication) { | ||
308 | + nsCAutoString nativePath; | ||
309 | + aFile->GetNativePath(nativePath); | ||
310 | + | ||
311 | + gchar *uri = _gnome_vfs_make_uri_from_input(nativePath.get()); | ||
312 | + | ||
313 | + GList *uris = NULL; | ||
314 | + uris = g_list_append(uris, uri); | ||
315 | + | ||
316 | + GnomeVFSResult result = _gnome_vfs_mime_application_launch(mDefaultVFSApplication, uris); | ||
317 | + | ||
318 | + g_free(uri); | ||
319 | + g_list_free(uris); | ||
320 | + | ||
321 | + if (result != GNOME_VFS_OK) | ||
322 | + return NS_ERROR_FAILURE; | ||
323 | + | ||
324 | + return NS_OK; | ||
325 | + } | ||
326 | + | ||
327 | + if (!mDefaultApplication) | ||
328 | + return NS_ERROR_FILE_NOT_FOUND; | ||
329 | + | ||
330 | + return LaunchWithIProcess(mDefaultApplication, aFile); | ||
331 | +} | ||
332 | Index: uriloader/exthandler/unix/nsMIMEInfoUnix.h | ||
333 | =================================================================== | ||
334 | RCS file: uriloader/exthandler/unix/nsMIMEInfoUnix.h | ||
335 | diff -N uriloader/exthandler/unix/nsMIMEInfoUnix.h | ||
336 | --- /dev/null 1 Jan 1970 00:00:00 -0000 | ||
337 | +++ uriloader/exthandler/unix/nsMIMEInfoUnix.h 3 May 2005 18:21:35 -0000 | ||
338 | @@ -0,0 +1,48 @@ | ||
339 | +/* ***** BEGIN LICENSE BLOCK ***** | ||
340 | + * Version: MPL 1.1 | ||
341 | + * | ||
342 | + * The contents of this file are subject to the Mozilla Public License Version | ||
343 | + * 1.1 (the "License"); you may not use this file except in compliance with | ||
344 | + * the License. You may obtain a copy of the License at | ||
345 | + * http://www.mozilla.org/MPL/ | ||
346 | + * | ||
347 | + * Software distributed under the License is distributed on an "AS IS" basis, | ||
348 | + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License | ||
349 | + * for the specific language governing rights and limitations under the | ||
350 | + * License. | ||
351 | + * | ||
352 | + * The Original Code is mozilla.org Code. | ||
353 | + * | ||
354 | + * The Initial Developer of the Original Code is | ||
355 | + * Red Hat, Inc. | ||
356 | + * Portions created by the Initial Developer are Copyright (C) 2005 | ||
357 | + * the Initial Developer. All Rights Reserved. | ||
358 | + * | ||
359 | + * Contributor(s): | ||
360 | + * Christopher Aillon <caillon@redhat.com> (Original author) | ||
361 | + * | ||
362 | + * | ||
363 | + * ***** END LICENSE BLOCK ***** */ | ||
364 | + | ||
365 | +#ifndef nsMimeInfoUnix_h__ | ||
366 | +#define nsMimeInfoUnix_h__ | ||
367 | + | ||
368 | +#include "nsMIMEInfoImpl.h" | ||
369 | + | ||
370 | +struct GnomeVFSMimeApplication; | ||
371 | + | ||
372 | +class nsMIMEInfoUnix : public nsMIMEInfoImpl | ||
373 | +{ | ||
374 | +public: | ||
375 | + nsMIMEInfoUnix(const char* aType = "") : nsMIMEInfoImpl(aType), mDefaultVFSApplication(nsnull) {} | ||
376 | + virtual ~nsMIMEInfoUnix(); | ||
377 | + | ||
378 | + void SetDefaultGnomeVFSMimeApplication(GnomeVFSMimeApplication *app); | ||
379 | + | ||
380 | +protected: | ||
381 | + virtual NS_HIDDEN_(nsresult) LaunchDefaultWithFile(nsIFile* aFile); | ||
382 | + | ||
383 | + GnomeVFSMimeApplication *mDefaultVFSApplication; | ||
384 | +}; | ||
385 | + | ||
386 | +#endif // nsMimeInfoUnix_h__ | ||
387 | Index: uriloader/exthandler/unix/nsOSHelperAppService.cpp | ||
388 | =================================================================== | ||
389 | RCS file: /cvsroot/mozilla/uriloader/exthandler/unix/nsOSHelperAppService.cpp,v | ||
390 | retrieving revision 1.50.6.2 | ||
391 | diff -d -u -p -r1.50.6.2 nsOSHelperAppService.cpp | ||
392 | --- uriloader/exthandler/unix/nsOSHelperAppService.cpp 20 Oct 2004 13:32:38 -0000 1.50.6.2 | ||
393 | +++ uriloader/exthandler/unix/nsOSHelperAppService.cpp 3 May 2005 18:21:35 -0000 | ||
394 | @@ -27,6 +27,7 @@ | ||
395 | #include "nsOSHelperAppService.h" | ||
396 | #ifdef MOZ_WIDGET_GTK2 | ||
397 | #include "nsGNOMERegistry.h" | ||
398 | +#include "nsMIMEInfoUnix.h" | ||
399 | #endif | ||
400 | #include "nsISupports.h" | ||
401 | #include "nsString.h" | ||
402 | @@ -1453,6 +1454,17 @@ nsOSHelperAppService::GetFromType(const | ||
403 | |||
404 | LOG(("Here we do a mimetype lookup for '%s'\n", aMIMEType)); | ||
405 | |||
406 | +#ifdef MOZ_WIDGET_GTK2 | ||
407 | + // Look in GNOME registry first since it is the preferred method in GNOME, | ||
408 | + // should trump the mailcap entry | ||
409 | + LOG(("Looking in GNOME registry\n")); | ||
410 | + nsMIMEInfoBase *gnomeInfo = nsGNOMERegistry::GetFromType(aMIMEType).get(); | ||
411 | + if (gnomeInfo) { | ||
412 | + LOG(("Got MIMEInfo from GNOME registry\n")); | ||
413 | + return gnomeInfo; | ||
414 | + } | ||
415 | +#endif | ||
416 | + | ||
417 | // extract the major and minor types | ||
418 | NS_ConvertASCIItoUTF16 mimeType(aMIMEType); | ||
419 | nsAString::const_iterator start_iter, end_iter, | ||
420 | @@ -1489,21 +1501,6 @@ nsOSHelperAppService::GetFromType(const | ||
421 | mozillaFlags, | ||
422 | PR_TRUE); | ||
423 | |||
424 | - | ||
425 | - if (handler.IsEmpty() && extensions.IsEmpty() && | ||
426 | - mailcap_description.IsEmpty() && mime_types_description.IsEmpty()) { | ||
427 | - // No useful data yet | ||
428 | - | ||
429 | -#ifdef MOZ_WIDGET_GTK2 | ||
430 | - LOG(("Looking in GNOME registry\n")); | ||
431 | - nsMIMEInfoBase *gnomeInfo = nsGNOMERegistry::GetFromType(aMIMEType).get(); | ||
432 | - if (gnomeInfo) { | ||
433 | - LOG(("Got MIMEInfo from GNOME registry\n")); | ||
434 | - return gnomeInfo; | ||
435 | - } | ||
436 | -#endif | ||
437 | - } | ||
438 | - | ||
439 | if (handler.IsEmpty() && mailcap_description.IsEmpty()) { | ||
440 | DoLookUpHandlerAndDescription(majorType, | ||
441 | minorType, | ||
442 | Index: uriloader/exthandler/Makefile.in | ||
443 | =================================================================== | ||
444 | RCS file: /cvsroot/mozilla/uriloader/exthandler/Makefile.in,v | ||
445 | retrieving revision 1.60 | ||
446 | diff -d -u -p -r1.60 Makefile.in | ||
447 | --- uriloader/exthandler/Makefile.in 2 May 2005 16:30:03 -0000 1.60 | ||
448 | +++ uriloader/exthandler/Makefile.in 4 May 2005 05:49:19 -0000 | ||
449 | @@ -102,7 +102,7 @@ endif | ||
450 | LOCAL_INCLUDES = -I$(srcdir) | ||
451 | |||
452 | ifeq ($(MOZ_WIDGET_TOOLKIT),gtk2) | ||
453 | -OSHELPER += nsGNOMERegistry.cpp | ||
454 | +OSHELPER += nsMIMEInfoUnix.cpp nsGNOMERegistry.cpp | ||
455 | endif | ||
456 | |||
457 | ifeq ($(MOZ_WIDGET_TOOLKIT),beos) |