patches/firefox3-07-fix-mimetype-for-helper-app.diff
author Jon Tibble <meths@btinternet.com>
Sat, 06 Oct 2012 16:11:50 +0100
branchs11express-2010-11
changeset 22109 db10202d5f6d
parent 17060 7620508144e5
permissions -rw-r--r--
Added tag oi_151a_prestable7 for changeset 25dee50cecca
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
17060
7620508144e5 2009-12-01 Ginn Chen <[email protected]>
ginnchen
parents:
diff changeset
     1
diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exthandler/unix/nsOSHelperAppService.cpp
7620508144e5 2009-12-01 Ginn Chen <[email protected]>
ginnchen
parents:
diff changeset
     2
--- a/uriloader/exthandler/unix/nsOSHelperAppService.cpp
7620508144e5 2009-12-01 Ginn Chen <[email protected]>
ginnchen
parents:
diff changeset
     3
+++ b/uriloader/exthandler/unix/nsOSHelperAppService.cpp
7620508144e5 2009-12-01 Ginn Chen <[email protected]>
ginnchen
parents:
diff changeset
     4
@@ -1620,23 +1620,19 @@ nsOSHelperAppService::GetMIMEInfoFromOS(
7620508144e5 2009-12-01 Ginn Chen <[email protected]>
ginnchen
parents:
diff changeset
     5
   PRBool hasDefault = PR_FALSE;
7620508144e5 2009-12-01 Ginn Chen <[email protected]>
ginnchen
parents:
diff changeset
     6
   if (retval)
7620508144e5 2009-12-01 Ginn Chen <[email protected]>
ginnchen
parents:
diff changeset
     7
     retval->GetHasDefaultHandler(&hasDefault);
7620508144e5 2009-12-01 Ginn Chen <[email protected]>
ginnchen
parents:
diff changeset
     8
   if (!retval || !hasDefault) {
7620508144e5 2009-12-01 Ginn Chen <[email protected]>
ginnchen
parents:
diff changeset
     9
     nsRefPtr<nsMIMEInfoBase> miByExt = GetFromExtension(PromiseFlatCString(aFileExt));
7620508144e5 2009-12-01 Ginn Chen <[email protected]>
ginnchen
parents:
diff changeset
    10
     // If we had no extension match, but a type match, use that
7620508144e5 2009-12-01 Ginn Chen <[email protected]>
ginnchen
parents:
diff changeset
    11
     if (!miByExt && retval)
7620508144e5 2009-12-01 Ginn Chen <[email protected]>
ginnchen
parents:
diff changeset
    12
       return retval;
7620508144e5 2009-12-01 Ginn Chen <[email protected]>
ginnchen
parents:
diff changeset
    13
-    // If we had an extension match but no type match, set the mimetype and use
7620508144e5 2009-12-01 Ginn Chen <[email protected]>
ginnchen
parents:
diff changeset
    14
-    // it
7620508144e5 2009-12-01 Ginn Chen <[email protected]>
ginnchen
parents:
diff changeset
    15
+    // If we had an extension match but no type match, use it
7620508144e5 2009-12-01 Ginn Chen <[email protected]>
ginnchen
parents:
diff changeset
    16
     if (!retval && miByExt) {
7620508144e5 2009-12-01 Ginn Chen <[email protected]>
ginnchen
parents:
diff changeset
    17
-      if (!aType.IsEmpty())
7620508144e5 2009-12-01 Ginn Chen <[email protected]>
ginnchen
parents:
diff changeset
    18
-        miByExt->SetMIMEType(aType);
7620508144e5 2009-12-01 Ginn Chen <[email protected]>
ginnchen
parents:
diff changeset
    19
       miByExt.swap(retval);
7620508144e5 2009-12-01 Ginn Chen <[email protected]>
ginnchen
parents:
diff changeset
    20
-
7620508144e5 2009-12-01 Ginn Chen <[email protected]>
ginnchen
parents:
diff changeset
    21
       return retval;
7620508144e5 2009-12-01 Ginn Chen <[email protected]>
ginnchen
parents:
diff changeset
    22
     }
7620508144e5 2009-12-01 Ginn Chen <[email protected]>
ginnchen
parents:
diff changeset
    23
     // If we got nothing, make a new mimeinfo
7620508144e5 2009-12-01 Ginn Chen <[email protected]>
ginnchen
parents:
diff changeset
    24
     if (!retval) {
7620508144e5 2009-12-01 Ginn Chen <[email protected]>
ginnchen
parents:
diff changeset
    25
       *aFound = PR_FALSE;
7620508144e5 2009-12-01 Ginn Chen <[email protected]>
ginnchen
parents:
diff changeset
    26
       retval = new nsMIMEInfoUnix(aType);
7620508144e5 2009-12-01 Ginn Chen <[email protected]>
ginnchen
parents:
diff changeset
    27
       if (retval) {
7620508144e5 2009-12-01 Ginn Chen <[email protected]>
ginnchen
parents:
diff changeset
    28
         NS_ADDREF(retval);